Tải bản đầy đủ (.pdf) (16 trang)

slide môn học cơ sở thông tin số

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 (251.75 KB, 16 trang )

Linear Block Codes

Ma trận sinh và ma trận kiểm tra parity
Mã Hamming nhị phân
Mã vòng

Một bộ mã khối tuyến tính gồm một tập hợp các vector có độ dài
cố định được gọi là từ mã.
Độ dài của một từ mã là số lượng ký hiệu có trong từ mã, ký hiệu là
n.
Khi bộ ký hiệu chỉ có hai ký hiệu 0 và 1 thì bộ mã gọi là bộ mã nhị
phân.
Với bộ mã nhị phân thì sẽ có 2n dãy có độ dài n. Trong số này,
chúng ta có thể chọn ra 2k từ mã (k < n). Như vậy mỗi khối k bit
mang thông tin sẽ được mã hoá thành một từ mã có độ dài n.
Ký hiệu bộ mã là (n, k) và tốc độ mã là Rc ≡ k/n.
Trọng lượng của một từ mã là số lượng ký hiệu khác 0 có trong từ
mã (ví dụ từ mã 01001 có trọng lượng là 2).


Linear Block Codes

Ma trận sinh và ma trận kiểm tra parity
Mã Hamming nhị phân
Mã vòng

Các hàm mã hoá và giải mã sử dụng các phép toán số học cộng và
nhân trên các từ mã. Các phép toán số học tuân theo các nguyên
tắc của trường đại số (chúng ta xét trường GF (2)).
Phép cộng và nhân trên GF (2):
0 + 0 = 0, 0 + 1 = 1, 1 + 0 = 1, 1 + 1 = 0


0.0 = 0, 0.1 = 0, 1.0 = 0, 1.1 = 1
Tổng quát, trường hữu hạn GF (q) có thể được xây dựng nếu q là số
nguyên tố hoặc là luỹ thừa của một số nguyên tố. Khi q là số nguyên
tố, phép cộng và phép nhân dựa trên phép toán modulo của q.
Khoảng cách Hamming giữa hai từ mã là số lượng ký hiệu tương
ứng khác nhau giữa hai từ mã. Khoảng cách giữa hai từ mã Ci , Cj
ký hiệu là dij (ví dụ khoảng cách giữa hai từ mã 01001 và 10010 là
4).
Giá trị nhỏ nhất của tập hợp {dij } gọi là khoảng cách tối thiểu của
bộ mã và ký hiệu là dmin .


Linear Block Codes

Ma trận sinh và ma trận kiểm tra parity
Mã Hamming nhị phân
Mã vòng

Giả thiết Ci và Cj là hai từ mã trong bộ mã (n, k) và α1 , α2 là hai
giá trị bất kỳ trong bộ ký hiệu. Bộ mã được gọi là tuyến tính nếu và
chỉ nếu α1 Ci + α2 Cj cũng là một từ mã (bộ mã tuyến tính bao giờ
cũng có từ mã toàn các ký hiệu 0).
Ký hiệu các từ mã là Ci , i = 1, . . . , M và C1 = [00 . . . 0] và wr là
trọng lượng của từ mã thứ r
dmin = min {wr }
r ,r =1

Một số khái niệm cơ sở của đại số tuyến tính cũng đúng và hữu ích
với mã khối tuyền tính. Không gian vector S gồm 2n vector và bộ mã
(n, k) gồm 2k vector tạo thành không gian con Sc có cơ sở là k từ

mã. Không gian không của Sc cũng là một bộ mã tuyến tính, gồm
có 2n−k từ mã có n − k bit mang thông tin, và có số chiều là n − k
(tất cả các vector đều trực giao với tất cả các vector trong Sc ).


Linear Block Codes

Ma trận sinh và ma trận kiểm tra parity
Mã Hamming nhị phân
Mã vòng

Layout

1

Linear Block Codes
Ma trận sinh và ma trận kiểm tra parity
Mã Hamming nhị phân
Mã vòng


Linear Block Codes

Ma trận sinh và ma trận kiểm tra parity
Mã Hamming nhị phân
Mã vòng

Ký hiệu vector k bit mang thông tin là
Xm = [xm1 xm2 . . . xmk ]
và đầu ra của bộ mã hoá là từ mã

Cm = [cm1 cm2 . . . cmn ]
Việc mã hoá để tạo ra mã khối tuyến tính (nhị phân) có thể được
biểu diễn qua các phương trình
cmj = xm1 g1j + xm2 g2j + . . . + xmk gkj ,

j = 1, 2, . . . , n

Biểu diễn dưới dạng ma trận với G là ma trận sinh của mã khối



← g1
 ← g2

G=
..

.

C m = Xm G
 

g11 g12
g21 g22
→
 
 =  ..
..
  .
.


← gk →

gk1

gk2


. . . g1n
. . . g2n 

.. 
. 
...

gkn


Linear Block Codes

Ma trận sinh và ma trận kiểm tra parity
Mã Hamming nhị phân
Mã vòng

Mã (n, k) có 2k từ mã và có số chiều là k, nên các hàng của G phải
độc lập tuyến tính, tức là tạo ra không gian con k chiều.
G không phải duy nhất, và

1 0
0 1


G = Ik ...P =  . .
 .. ..
0

mọi G có thể đưa về dạng "hệ thống"

0 . . . 0 p11 p12 . . . p1n−k
0 . . . 0 p21 p22 . . . p2n−k 

..
..
..
..
.. 
.
.
.
.
. 
0 0 . . . 1 pk1 pk2 . . . pkn−k

P xác định n − k bit kiểm tra parity với k bit đầu tiên chính là k bit
mang thông tin. Mã dạng này gọi là mã "hệ thống".
Một ma trận sinh bất kỳ sẽ "tương đương" với một ma trận sinh có
dạng hệ thống bằng các phép biến đổi sơ cấp trên hàng và cột.
Hai mã (n, k) được tạo ra bởi hai ma trận sinh tương đương thì
được gọi là tương đương.



Ma trận sinh và ma trận kiểm tra parity
Mã Hamming nhị phân
Mã vòng

Linear Block Codes

Ví dụ
Xét mã (7, 4) với ma trận sinh

1 0 0
0 1 0
G=
0 0 1
0 0 0

0
0
0
0

1
1
1
0

0
1
1
1



1
1
 = [I4 P]
0
1

Một từ mã sẽ được biểu diễn là
Cm = [xm1 xm2 xm3 xm4 cm5 cm6 cm7 ]

cm5 = xm1 +xm2 +xm3 ,

cm6 = xm2 +xm3 +xm4 ,

cm7 = xm1 +xm2 +xm4


Linear Block Codes

Ma trận sinh và ma trận kiểm tra parity
Mã Hamming nhị phân
Mã vòng

Gắn với mỗi mã khối (n, k) là một mã kép/dual code có số chiều là
n − k. Mã kép tuyến tính (n, n − k) có 2n−k vector, chính là không
gian không của mã (n, k).
Ma trận sinh của mã kép, ký hiệu là H có n − k vector độc lập
tuyến tính của không gian không.
Mỗi từ mã Cm là trực giao với mọi từ mã của mã kép. Như vậy



Cm H = 0,



GH = 0

Nếu mã (n, k) là hệ thống thì
H = −P′ ...In−k
H là ma trận kiểm tra parity của mã (n, k).


Linear Block Codes

Ma trận sinh và ma trận kiểm tra parity
Mã Hamming nhị phân
Mã vòng

Ví dụ
Mã hệ thống (7, 4) được tạo ra
ma trận H là

1 1
H = 0 1
1 1

bởi ma trận G trong ví dụ trước có

1 0 1 0 0
1 1 0 1 0

0 1 0 0 1



Xét Cm H ta có
xm1 + xm2 + xm3 + cm5 = 0
xm2 + xm3 + xm4 + cm6 = 0
xm1 + xm2 + xm4 + cm7 = 0


Như vậy Cm H tương đương với việc thêm các bit kiểm tra parity
vào tổ hợp tuyến tính của các bit mang thông tin.


Linear Block Codes

Ma trận sinh và ma trận kiểm tra parity
Mã Hamming nhị phân
Mã vòng

Layout

1

Linear Block Codes
Ma trận sinh và ma trận kiểm tra parity
Mã Hamming nhị phân
Mã vòng



Linear Block Codes

Ma trận sinh và ma trận kiểm tra parity
Mã Hamming nhị phân
Mã vòng

Mã Hamming nhị phân là lớp mã khối tuyến tính (m là số nguyên
dương):
(n, k) = (2m − 1, 2m − 1 − m)
Với m = 3 ta có mã Hamming (7, 4).
Ma trận H có n = 2m − 1 cột gồm tất cả vector có n − k = m phần
tử, ngoại trừ vector 0.
Với mã Hamming nhị phân, dmin = 3.
Phân bố trọng lượng bộ mã
n

Ai z i =

A(z) =
i =0

1
[(1 + z)n + n(1 + z)(n−1)/2 (1 − z)(n+1)/2 ]
n+1

với Ai là số lượng từ mã có trọng lượng i.
Bộ mã xét ở ví dụ trên là một bộ mã Hamming.


Linear Block Codes


Ma trận sinh và ma trận kiểm tra parity
Mã Hamming nhị phân
Mã vòng

Layout

1

Linear Block Codes
Ma trận sinh và ma trận kiểm tra parity
Mã Hamming nhị phân
Mã vòng


Linear Block Codes

Ma trận sinh và ma trận kiểm tra parity
Mã Hamming nhị phân
Mã vòng

Mã vòng là một lớp mã khối tuyến tính thoả mãn tính dịch vòng:
nếu C = [cn−1 cn−2 . . . c1 c0 ] là một từ mã thì [cn−2 cn−3 . . . c0 cn−1 ]
cũng là một từ mã của cùng bộ mã vòng.
Liên kết từ mã C = [cn−1 cn−2 . . . c1 c0 ] với đa thức C (p) có bậc
không vượt quá n − 1:
C (p) = cn−1 p n−1 + cn−2 p n−2 + . . . + c1 p + c0
với mã nhị phân, các hệ số của đa thức hoặc bằng 0, hoặc bằng 1.
Chia pC (p) cho p n + 1
C1 (p)

pC (p)
= cn−1 + n
n
p +1
p +1
với
C1 (p) = cn−2 p n−1 + cn−3 p n−2 + . . . + c0 p + cn−1
C1 (p) biểu diễn từ mã C1 = [cn−2 . . . c0 cn−1 ] và C1 (p) = pC (p)
mod (p n + 1)


Linear Block Codes

Ma trận sinh và ma trận kiểm tra parity
Mã Hamming nhị phân
Mã vòng

Tổng quát
p i C (p) = Q(p)(p n + 1) + Ci (p)
Chúng ta có thể tạo ra bộ mã vòng dùng một đa thức sinh g (p) có
bậc n − k. Đa thức này là khai triển của p n + 1 và có dạng
g (p) = p n−k + gn−k−1 p n−k−1 + . . . + g1 p + 1
Định nghĩa đa thức mang tin X (p) là
X (p) = xk−1 p k−1 + xk−2 p k−2 + x1 p + x0
Các từ mã của bộ mã vòng là
Cm (p) = Xm (p)g (p),

m = 1, 2, . . . 2k

Dễ dàng chứng minh bộ mã xây dựng từ đa thức g (p) như trên

thoả mãn tính dịch vòng.
Bộ mã vòng sinh ra từ đa thức sinh tạo ra không gian con Sc của
không gian S và có k chiều.


Linear Block Codes

Ma trận sinh và ma trận kiểm tra parity
Mã Hamming nhị phân
Mã vòng

Ví dụ: với n = 7 và p 7 + 1 = (p + 1)(p 3 + p 2 + 1)(p 3 + p + 1), có
thể dùng một trong 2 đa thức sinh bậc 3 ở trên, và hai bộ mã tạo ra
từ 2 đa thức sinh ở trên là tương đương.
Tổng quát, p n + 1 = g (p)h(p). h(p) là ma trận parity có bậc là k.
Định nghĩa đa thức đối/reciprocal polynomial của h(p) là
p k h(p −1 ) = p k (p −k + hk−1 p −k+1 + hk−2 p −k+2 + . . . + h1 p −1 + 1)
= 1 + hk−1 p + hk−2 p 2 + . . . + h1 p k−1 + p k
Đa thức đối này cũng là một thành phần trong khai triển của p n + 1
và p k h(p −1 ) là đa thức sinh của mã vòng (n, n − k). Mã vòng này là
mã đối của mã (n, k) sinh ra từ g (p) và tạo nên không gian không
của mã (n, k).


Linear Block Codes

Ma trận sinh và ma trận kiểm tra parity
Mã Hamming nhị phân
Mã vòng


Ví dụ
Xét mã đối của mã vòng trong ví dụ trên. Mã đối là mã (7, 3) ứng
với đa thức parity
h1 (p) = (p + 1)(p 3 + p + 1) = p 4 + p 3 + p 2 + 1
Đa thức đối là
p 4 h1 (p −1 ) = 1 + p + p 2 + p 4
Xem thêm ví dụ về mã trong tài liệu.



×