Tải bản đầy đủ (.ppt) (33 trang)

Lý thuyết thông tin (Mã hóa kênh)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (122.79 KB, 33 trang )


Mã hóa kênh

Khái niệm cơ bản

Mã khối:

Từ mã: biểu diễn như một vecto có độ dài cố định n.

Độ dài từ mã: là số ký hiệu có trong từ mã.

Mỗi ký hiệu nhận một giá trị nhị phân 0 hay 1(m =
2) gọi là mã nhị phân.

Khi m >1 thì không còn là mã nhị phân, có thể là mã
tam phân, bát phân, thập phân… tuỳ vào mỗi ký hiệu
nhận các giá trị trong hệ đếm nào đó.


Mã khối : Là tập hợp các vecto có độ dài cố
định.

Với mỗi từ mã có độ dài cố định n thì có thể
xác định được 2
n
từ mã có độ dài n.

Từ 2
n
tổ hợp có thể chọn ra 2
k


từ mã (k < n)
tạo ra bộ mã, trong đó k là các bit thông tin được
mã hoá.

Khối k bit thông tin được ánh xạ thành một từ
mã có độ dài n. Tập hợp các từ mã đó gọi là mã
khối (k,n) với tốc độ mã hoá R = k/n


Trọng lượng của từ mã: số lượng các ký hiệu
khác 0 trong một từ mã (w
r
)

Ví dụ: a = 10010011 có trọng lượng w
a
= 4.

Một bộ mã với các từ mã có cùng trọng lượng
gọi là bộ mã có trọng lượng cố định.

Khoảng cách hamming d
ij
: sự khác nhau của
các ký hiệu tương ứng (cùng vị trí) giữa hai từ
mã, với i#j thì
0 < d
ij
< n.



Khoảng cách hamming của hai từ mã u,v bằng
trọng lượng hamming của tổng u và v.
d
(u,v)
= W
(u+v)
ví dụ: u = 1001011, v = 1110010 có khoảng
cách hamming d
u,v
= 4
Mà: u+v = 0111001 có W
(u+v)
= 4


Khoảng cách hamming tối thiểu dmin
Dmin = min {W(c), c = u+v, c#0}= Wmin

Wmin = min{W(X),x thuộc mã tuyến tính,
x#0} là trọng lượng hamming tối thiểu

Gọi C là từ mã tuyến tính có matran kiểm
tra H. Trọng lượng hamming tối thiểu của C
là số cột nhỏ nhất của H mà tổng mỗi cột này
bằng 0

ví dụ:











=
1110100
0111010
1101001
H
Từ matran H có 3 cột có tổng bằng 0 nên W
min
= 3


Phép toán cộng:

Tập hợp F là đóng trên trường toán cộng, có nghĩa
là a,b thuộc F thì a +b thuộc F

Có tính kết hợp: (a + b) + c = a + (b + c)

Tính giao hoán: a + b = b + a

Phần tử không: a + 0 = 0 + a = a.

Phần tử đối: là phần tử thực hiện phép toán sao cho:

a – b = a + ( - b) thì - b là đối với b:

Việc mã hoá và giải mã thực hiện các phép toán cộng
và nhân số học trên các từ mã. Với bộ mã nhị phân thì
các phép toán trên bộ mã là phép toán modul 2.


Quy tắc thực hiện phép cộng modul:

Cho tập hợp các số nguyên: G(m) ={0,1…m-
1) với phép toán cộng modul được thực hiện như
sau:
Trong đó r là số dư của (i + j ) /m, r thuộc G .
Phép cộng trên gọi là phép cộng

modul-m.
rji =⊕

Với hai số nguyên i,j bất kỳ trong G thì :

Ví dụ: thực hiện phép cộng modul – 5:
G(5) = {0,1,2,3,4)
Bảng cộng modul-5
0 1 2 3 4
0 0 1 2 3 4
1 1 2 3 4 0
2 2 3 4 0 1
3 3 4 0 1 2
4 4 0 1 2 3




Phép toán nhân:

Trong tập F là đóng trên trường toán nhân: a,b
thuộc F thì a.b thuộc F.

Có tính kết hợp: a(bc) = (ab)c

Tính giao hoán: a.b = b.a

Tính phân phối với phép cộng: (a + b)c = ac + bc.

Phần tử đơn vị: a 1 = 1a =a

Phần tử nghịch đảo: b thuộc F thì b#0 thuộc F, phần
tử nghịch đảo của b là b
-1
và b.b
-1
= 1.


Quy tắc thực hiện phép nhân modul –m.

Xác định tập hợp các số nguyên trong tập
G(m) = (1…m-1). Trong đó m là một số nguyên
tố.phép nhân modul – m được thực hiện như
sau:


Với i, j bất kì thuộc G thì : i (.) j = r. với r =
(i.j)/m và r phải thuộc G.


Ví dụ: thực hiện phép nhân modul-5:

Xác định các số nguyên trong tập G(5) = (1,2,3,4}

M = 5 là một số nguyên tố.
(.) 1 2 3 4
1 1 2 3 4
2 2 4 1 3
3 3 1 4 2
4 4 3 2 1


Trường toán học nhị phân GF(2): là thực hiện phép
toán với hệ nhị phân.

Xét đa thức trên trường nhị phân GF(2) như sau:
F(x) = f
0
+ f
1
.x

+ f
2
.x
2

+…f
n
.x
n

với f
i
= 0 hay 1 (0 ≤ i ≤ n)
-
Nếu f
n
= 1 thì f(x) có bậc n
-
Nếu f
n
= 0 thì f(x) có bậc nhỏ hơn n.
-
Nếu f(x) = f
0
thì bậc của f(x) là 0.

Vậy đa thức trên GF(2) là đa thức có các hệ số thuộc
GF(2) ví dụ: x
2
+x+1, 1+x
2
, x+x
2
.



Phép toán cộng trên GF(2):

Thực hiện phép toán cộng của g(x) + f(x) với:
F(x) = f
0
+ f
1
x+f
2
x
2
…f
n
x
n
và g(x) = g
0
+g
1
x+g
2
x
2
…+g
m
x
m
Thì:
f(x) + g(x) = (f

0
+g
0
)+(f
1
+g
1
)x +(f
2
+g
2
)x
2
+…(f
m
+g
m
)x
m
Phép cộng trên thực hiện phép cộng modul 2.
Ví dụ: a(x) = 1 + x + x
3
+x
5
, b(x) = 1+x
2
+x
4
+x
5

+x
7
:
a(x) +b(x) = (1+1) +x+x
2
+x
3
+x
4
+(1+1)x
5
+x
7
= x+x
2
+x
3
+x
4
+x
7

Thực hiện phép nhân với hai đa thức trên GF(2):
C(x) = f(x).g(x) = c
0
+c
1
x+c
2
x

2
+…+ c
n+m
x
n+m
Với c
0
= f
0
g
0
, c
1
= f
0
g
1
+f
1
g
0
, c
2
= f
0
g
2
+f
1
g

1
+f
2
g
0

C
i
= f
0
g
i
+f
1
g
i-1
+f
2
g
i-2
+…+f
i
g
0
C
n+m
= f
n
g
m

Phép cộng và nhân các hệ số là phép toán modul-2
( )
( ) ( )
xgxfxc
xxxxgxxxxf
.)(
1,1)(
54253
=
+++=+++=
Ví dụ:

Trong đó:f
0
= 1, f
1
=1,f
2
= 0,f
3
=1,f
4
=0,f
5
= 1
g
0
= 1, g
1
=0, g

2
=1,g
3
=0,g
4
=1,g
5
=1
( )
42
0514233241505
04132231404
031221303
0211202
01101
000
1
0
1
01.10.01.10.1
11.00.11.1
110
11.1.
xxxc
gfgfgfgfgfgfc
gfgfgfgfgfc
gfgfgfgfc
gfgfgfc
gfgfc
gfc

++=
=+++++=
=++++=
=+++=+++=
=++=++=
=+=+=
===
Trong đó:

Phép chia hai đa thức trên trường GF(2):
ví dụ: a(x) = x
6
+x
5
+x
4
+x+1, b(x) = x
3
+x+1
A(x) :b(x) = x
3
+x
2
dư x
2
+x+1


Mã tuyến tính:mã tuyến tính có độ dài n là mã với
các từ mã có các ký hiệu là tuyến tính.


Mã tuyến tính (k,n) với tốc độ mã hoá R = k/n, k số
bit thông tin đưa vào mã hoá, n độ dài của mã tuyến
tính.

Ma trân sinh và ma trân kiểm tra:
Xét k bit thông tin đưa vào mã hoá ký hiệu là :
X
m
= {x
m1
,x
m2
…x
mk
}
đầu ra bộ mã hoá:
C
m
= {c
m1
,c
m2
…c
mn
}

Quá trình thực hiện của bộ mã hoá như sau:
c
mj

= x
m1
g
1j
+x
m2
g
2j
+…+x
mk
g
kj
với j = 1,2…n.
g
ịj
nhận các giá trị 0 hay 1. Phương trình C
mj
được biểu
diễn bởi:
C
m
= X
m
G
G là ma trân sinh của từ mã:

















=












=
knkk
n
n
k
ggg

ggg
ggg
g
g
g
G
21
22221
11211
2
1

Vậy từ mã là tổ hợp tuyến tính của các vecto {g
i
} của
G.
C
m
= x
m1
g
1
+x
m2
g
2
+…x
mk
g
k

Ma trân sinh G chuyển về dạng hệ thống sau:
[ ]
















==



kknkk
kn
kn
K
ppp
ppp
ppp
PIG

21
22221
11211
100
010
001
I
k
là matran đơn vị, P là ma trân [k,(n-k)] dùng để
xác định (n-k) bit kiểm tra parity

Với matran hệ thống tạo ra mã khối tuyến tính thì k bit
đầu tiên là các bit thông tin, n-k bit còn lại là các bit
kiểm tra.
Xét ví dụ:mã (7,4) có ma trân sinh
],[
1101000
0110100
1110010
1010001
PIG =

















=
Một từ mã được biểu diễn:
C
m
= {x
m1
,x
m2
,x
m3
,x
m4
,c
m5
,c
m6
,c
m7
}
{x
mi
} là các bit thông tin, {c
mi

}là các bit kiểm tra.

Các bit kiểm tra được xác định bởi:
Cm5 = xm1+xm2+xm3,
Cm6 = xm2+xm3+xm4
Cm7 = xm1+xm2+xm4

Ma trận kiểm tra H:
- Với mã tuyến tính có ma trân sinh G luôn tồn tại một
ma trận kiểm tra H
n-k,n
Trong đó: P
T
là matran chuyển vị của P và G.H
T
=0
[ ]
kn
T
nkn
IpH
−−
= .
,
- Mỗi từ mã C
m
đều trực giao với mỗi hàng của H nên:
C
m
.H

T
= 0 hay G.H
T
= 0

[ ]












==
1101000
0110100
1110010
1010001
4
PIG
Cho tuyến tính (7,4) có ma trân G sau:
Ta có thể thành lập ma trận kiểm tra H

sau:
[ ]











==
1001011
0101110
0010111
,
3
IPH
T
Từ ma trận H ta có thể thấy:
X
m1
+x
m2
+x
m3
+c
5
= 0, x
m2
+x

m3
+x
m4
+c
6
= 0
X
m1
+x
m2
+x
m4
+c
7
= 0


Ma trận H dùng để kiểm tra từ mã nhận được là
chẵn hay lẻ.
- Nếu chẵn thì số bit 1 trong môt từ mã là chẵn
- Nếu lẻ thì số bit 1 trong từ mã là lẻ.
Ma trận H gọi là ma tran kiểm tra chẵn lẻ của mã
(n,k)


Khả năng phát hiện sai và sửa sai của mã khối.

Một mã khối có khoảng cách tối thiểu d
min
có khả

năng phát hiện được cực đại (d
min
– 1) lỗi.

Mã khối có khoảng cách tối thiểu d
min
có khả năng
sửa lỗi ngẫu nhiên t = (d
min
- 1)/2 (có thể sủa được
những từ mã sai có số lỗi ít hơn hay bằng t.


Dãy tiêu chuẩn và giải mã Syndrome.

Giải mã sử dụng ma tran kiểm tra H.
Giả sử C
m
là từ mã truyền đi,Y là từ mã nhân được
Y = c
m
+e, e là vecto lỗi
- Các syndrome của mẫu lỗi được xác định bởi:
Y.H
T
= (c
m
+e)H
T
= c

m
H
T
+eH
T
= eH
T


= S

(c
m
trực giao
với mọi hàng của H nên c
m
.H
T
= 0)
S là vecto có (n-k) phần tử.
- Mỗi từ mã có n phần tử nên có thể có 2
n
mẫu lỗi và
chỉ có 2
n-k
syndrom. nên các mẫu lỗi khác nhau có thể
tạo ra cùng syndrome

×