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

Bài giảng Lý thuyết thông tin: Chương 4.2 - ThS. Huỳnh Văn Kha

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 (498.65 KB, 28 trang )

Chương 4: Mã sửa sai
4.2 Ứng dụng lý thuyết nhóm cho
mã kiểm tra chẵn lẻ


2
Huỳnh Văn Kha

9/30/2010

Mã chẵn lẻ
• Mã chẵn lẻ ban đầu được xây dựng rất đơn giản
• Cho trước bộ mã gồm các từ mã n bit nhị phân.
Một bit chẵn lẻ được thêm vào mỗi từ mã sao
tổng số bit một mỗi từ mã là chẵn (hoặc lẻ)
• Ví dụ bộ mã ban đầu là {00, 01, 10, 11}, thì bộ mã
chẵn lẻ thu được là {000, 011, 101, 110}
• Dễ dàng thấy rằng mọi sự truyền sai e bit, với e lẻ,
đều phát hiện được
• Gọi r1, r2, …, rn là các bit của một từ mã, số bit 1
là chẵn được viết là r1 + r2 + … + rn = 0 modulo 2


3
Huỳnh Văn Kha

9/30/2010

ðịnh nghĩa (mã chẵn lẻ)
Cho hệ phương trình tuyến tính


Tập nghiệm của hệ trên gọi là một bộ mã kiểm tra
chẵn lẻ (hay bộ mã nhóm)
Chú ý:
Các aij, ri là các số 0, 1. Phép cộng, nhân theo
modulo 2 được định nghĩa như sau:
0 + 0 = 1 + 1 = 0; 0 + 1 = 1 + 0 = 1;
1.1 = 1; 1.0 = 0.1 = 0.0 = 0


4
Huỳnh Văn Kha

9/30/2010

Ma trận chẵn lẻ
• Ma trận A = [aij] gọi là ma trận kiểm tra chẵn lẻ
• Nếu A có hạng t và các cột j1, …, jt là độc lập tuyến
tính thì có n – t = k các rj (j ≠ j1, …, jt) có thể được
chọn tùy ý, và ta gọi là các bit thông tin
• Các bit thứ j1, …, jt gọi là các bit kiểm tra
• Mỗi khi cho giá trị của các bit thông tin ta được
một từ mã duy nhất
• Bộ mã kiểm tra chẵn lẻ có 2k từ mã


5
Huỳnh Văn Kha

9/30/2010


Ví dụ 1
• Cho hệ sau

• Có thể chọn r1, r2, r3 làm bit kiểm tra và r4, r5, r6
làm bit thông tin
• Cho r4 = 0, r5 = 1, r6 = 0. Ta được r1 = 1, r3 = 1, r2
= 1. Và từ mã thu được là 111010
• Cho các giá trị khác cho r4, r5, r6 ta được 23 = 8 từ
mã. Toàn bộ từ mã được cho trong bảng sau


6
Huỳnh Văn Kha

9/30/2010

Bộ mã kiểm tra chẵn lẻ trong vd1
w1
w2
w3
w4
w5
w6
w7
w8

r1
0
0
1

1
1
1
0
0

r2
0
0
1
1
1
1
1
0

r3
0
1
1
0
0
1
1
0

r4
0
0
0

0
1
1
1
1

r5
0
0
1
1
0
0
1
1

r6
0
1
0
1
0
1
0
1


7
Huỳnh Văn Kha


9/30/2010

Vector hiệu chỉnh
• Giả sử dãy bit r1, r2, …, rn được truyền qua kênh nhị
phân đối xứng, dãy nhận được là r1’, r2’, …, rn’
• Ta tính

• Và gọi vector cột c = (c1, c2, …, cm)T là vector hiệu
chỉnh ứng với dãy v = (r1’, r2’, …, rm’)
• Dưới dạng ma trận là c = AvT
• Chú ý vT là ký hiệu cho chuyển vị của v


8
Huỳnh Văn Kha

9/30/2010

Mẫu sai
• Giả sử w = (r1, r2, …, rn) được truyền và dãy nhận
được là v = (r1’, r2’, …, rn’)
• Dãy z = v – w = (r1’ – r1, r2’ – r2, …, rn’ – rn) gọi
là mẫu sai của w và v
• Vector hiệu chỉnh của v là
c = A(zT + wT) = AzT + AwT = AzT
• Nếu z có giá trị 1 tại các bit thứ j1, j2, …, je và 0 tại
các bit còn lại thì vector AzT là tổng các cột thứ j1,
j2, …, je của A



9
Huỳnh Văn Kha

9/30/2010

Nhóm (Group)
Một nhóm là một tập hợp G trên đó có xác định
phép toán gọi là phép “cộng” thỏa mãn tính chất
1. a, b thuộc G thì a + b cũng thuộc G
2. (a + b) + c = a + (b + c) với mọi a, b, c trong G
3. Có phần tử 0 trong G sao cho a + 0 = 0 + a = a
với mọi a trong G
4. Với mỗi a trong G có phần tử -a trong G sao
cho a + (-a) = (-a) + a = 0
Nhóm G gọi là giao hoán nếu a + b = b + a, với mọi
a, b trong G


10
Huỳnh Văn Kha

9/30/2010

Nhóm và mã kiểm tra chẵn lẻ
• Gọi Bn là tập các dãy nhị phân chiều dài n với
phép cộng là cộng từng bit một theo mod 2. Thì
Bn là một nhóm
• Dễ dàng kiểm tra được rằng nếu S là bộ mã kiểm
tra chẵn lẻ thì S là một nhóm, và gọi là nhóm con
của Bn

• Thật vậy, nếu w1, w2 là các từ mã thì
A(w1 + w2)T = Aw1T + Aw2T = 0
• Các tính chất khác được suy ra từ định nghĩa
phép cộng theo mod 2


11
Huỳnh Văn Kha

9/30/2010

ðịnh lý 4.4
Cho S là nhóm con của Bn. Thì S là một bộ mã
kiểm tra chẵn lẻ, nghĩa là tồn tại ma trận kiểm tra
chẵn lẻ A sao cho các tập các từ mã xác định bởi
A là S.
Như vậy một bộ mã kiểm tra chẵn lẻ có thể đồng
nhất với một nhóm con của Bn


12
Huỳnh Văn Kha

9/30/2010

Chứng minh ñịnh lý 4.4
• Sắp các từ mã thành ma trận M gồm s hàng, n
cột. Trong đó s là số từ mã. Ví dụ:
w0
w1

w2
w3
w4
w5
w6
w7

r1
0
1
1
0
0
1
1
0

r2
0
0
1
1
1
1
0
0

r3
0
1

0
0
1
1
0
1

r4
0
0
0
1
0
1
1
1

r5
0
0
1
0
1
0
1
1

r6
0
1

0
1
1
0
1
0


13
Huỳnh Văn Kha

9/30/2010

Chứng minh ñịnh lý 4.4
• Gọi k là hạng của M và m = n – k. Thì k chính là
số hàng tối đa độc lập tuyến tính, cũng là số cột
tối đa độc lập tuyến tính
• Giả sử k hàng đó là w1, w2, …, wk. Thì tất cả các
các từ mã trong S có thể viết dưới dạng
• Ngược lại mỗi từ mã có dạng trên đều thuộc S (do
S là nhóm)
• Mà các wi (i từ 1 đến k) độc lập tuyến tính. Vậy S
có 2k từ mã


14
Huỳnh Văn Kha

9/30/2010


Chứng minh ñịnh lý 4.4
• Giả sử k cột cuối là độc lập tuyến tính. Khi đó m
cột đầu có thể viết dưới dạng tổ hợp tuyến tính
của k cột cuối

• Hay


15
Huỳnh Văn Kha

9/30/2010

Chứng minh ñịnh lý 4.4
• Như vậy mọi từ mã đều thỏa AwT = 0
• Mặc khác, do tập nghiệm của AwT = 0 có 2k phần
tử nên tập nghiệm của AwT = 0 chính là S
• Đây là điều cần chứng minh


16
Huỳnh Văn Kha

9/30/2010

Ví dụ
• Xét ví dụ bên trên, ta sẽ tìm ma trận chẵn lẻ
tương ứng
• Có 8 = 23 từ mã số hàng độc lập tuyến tính tối
đa là 3

• Do w1, w2, w5 là họ độc lập tuyến tính tối đa
trong S nên ta chỉ cần tìm ma trận A thỏa cho ba
từ mã này là đủ
• Xét ma trận Q gồm ba từ mã này như sau


17
Huỳnh Văn Kha

9/30/2010

Ví dụ

• Ba cột cuối là độc lập tuyến tính, viết ba cột đầu
thành tổ hợp tuyến tính của ba cột cuối như sau
• Cột đầu tiên

• Suy ra a1 = a2 = a3 = 1


18
Huỳnh Văn Kha

9/30/2010

Ví dụ
• Tương tự cho hai cột còn lại

• Suy ra b1 = b2 = 1, b3 = 0 và c1 = c3 = 1, c2 = 0



19
Huỳnh Văn Kha

Ví dụ
• Và như vậy

• Ma trận A là

9/30/2010


20
Huỳnh Văn Kha

9/30/2010

Lớp thương (coset)
• Cho S là nhóm con của nhóm G , thì lớp thương
ứng với phần tử z là một tập hợp mà các phần tử
của nó có dạng z + w, với w nằm trong S. Lớp
th ng ứng
thương
ng với
v i z ký hiệu
hi u là z + S
• Ví dụ S = {0000, 0101, 1110, 1011}, thì






0110 + S = {0110, 0011, 1000, 1101}
1000 + S = 0110 + S
1111 + S = {1111, 1010, 0001, 0100}
0000 + S = S

• Các lớp thương hoặc rời nhau hoặc trùng nhau


21
Huỳnh Văn Kha

Bảng các lớp thương
w0
0000
0110
1111
0010

w1
0101
0011
1010
0111

w2
1110
1000
0001

1100

w3
1011
1101
0100
1001

9/30/2010


22
Huỳnh Văn Kha

9/30/2010

Bổ ñề 4.5
Cho bộ mã chẵn lẻ S. Nếu có từ mã wi và mẫu sai z
sao cho
d(wi + z, wi) ≤ d(wi + z, wj)
với mọi từ mã wj.
Thì khi đó
d(w + z, w) ≤ d(w+ z, w’)
với mọi từ mã w, w’
Ta thấy rằng một mẫu sai hoặc là luôn sửa được
hoặc là luôn không sửa được


23
Huỳnh Văn Kha


9/30/2010

Chứng minh bổ ñề 4.5
• Dễ dàng kiểm tra được rằng
d(v1 + v3, v2 + v3) = d(v1, v2)
• Do đó


24
Huỳnh Văn Kha

9/30/2010

ðịnh lý 4.6
Để xây dựng phương án giải mã cực tiểu khoảng
cách, thì trong mỗi lớp thương, ta chỉ cần chọn
các mẫu sai z có số ký tự 1 cực tiểu. Khi đó mỗi
dãy nhận được có dạng z + w (w là từ mã) thì sẽ
được giải mã thành w
Chứng minh:
Ta có
Theo Bổ đề 4.5 ta có điều cần chứng minh


25
Huỳnh Văn Kha

Ví dụ
w0

0000
1000
0001
0010

w1
0101
1101
0100
0111

w2
1110
0110
1111
1100

w3
1011
0011
1010
1001

9/30/2010


×