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
9/30/2010
2
Huỳnh Văn Kha
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 r
1
, r
2
, , r
n
là các bit của một từ mã, số bit 1
là chẵn được viết là r
1
+ r
2
+ + r
n
= 0 modulo
28 trang |
Chia sẻ: nyanko | Lượt xem: 1441 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài giảng Chương 4: Mã sửa sai, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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ẻ
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
9/30/2010
2
Huỳnh Văn Kha
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 = 0modulo 2
ðịnh nghĩa (mã chẵn lẻ)
Cho hệ phương trình tuyến tính
9/30/2010
3
Huỳnh Văn Kha
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
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
9/30/2010
4
Huỳnh Văn Kha
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ã
Ví dụ 1
• Cho hệ sau
9/30/2010
5
Huỳnh Văn Kha
• 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
Bộ mã kiểm tra chẵn lẻ trong vd1
r1 r2 r3 r4 r5 r6
w1 0 0 0 0 0 0
w2 0 0 1 0 0 1
9/30/2010
6
Huỳnh Văn Kha
w3 1 1 1 0 1 0
w4 1 1 0 0 1 1
w5 1 1 0 1 0 0
w6 1 1 1 1 0 1
w7 0 1 1 1 1 0
w8 0 0 0 1 1 1
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
9/30/2010
7
Huỳnh Văn Kha
• 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
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
9/30/2010
8
Huỳnh Văn Kha
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
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
9/30/2010
9
Huỳnh Văn Kha
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
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
9/30/2010
10
Huỳnh Văn Kha
• 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 = Aw1
T + Aw2
T = 0
• Các tính chất khác được suy ra từ định nghĩa
phép cộng theo mod 2
ðị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
9/30/2010
11
Huỳnh Văn Kha
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
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ụ:
9/30/2010Huỳnh Văn Kha
12
r1 r2 r3 r4 r5 r6
w0 0 0 0 0 0 0
w1 1 0 1 0 0 1
w2 1 1 0 0 1 0
w3 0 1 0 1 0 1
w4 0 1 1 0 1 1
w5 1 1 1 1 0 0
w6 1 0 0 1 1 1
w7 0 0 1 1 1 0
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
9/30/2010Huỳnh Văn Kha
13
• 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ã
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
9/30/2010Huỳnh Văn Kha
14
• Hay
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
9/30/2010Huỳnh Văn Kha
15
tử nên tập nghiệm của AwT = 0 chính là S
• Đây là điều cần chứng minh
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
9/30/2010Huỳnh Văn Kha
16
đ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
Ví dụ
• Ba cột cuối là độc lập tuyến tính, viết ba cột đầu
9/30/2010Huỳnh Văn Kha
17
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
Ví dụ
• Tương tự cho hai cột còn lại
9/30/2010Huỳnh Văn Kha
18
• Suy ra b1 = b2 = 1, b3 = 0 và c1 = c3 = 1, c2 = 0
Ví dụ
• Và như vậy
9/30/2010Huỳnh Văn Kha
19
• Ma trận A là
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 v i z ký hi u là z + S
9/30/2010
20
Huỳnh Văn Kha
ươ ứ ớ ệ
• 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
Bảng các lớp thương
w0 w1 w2 w3
0000 0101 1110 1011
9/30/2010
21
Huỳnh Văn Kha
0110 0011 1000 1101
1111 1010 0001 0100
0010 0111 1100 1001
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)
9/30/2010
22
Huỳnh Văn Kha
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
Chứng minh bổ ñề 4.5
• Dễ dàng kiểm tra được rằng
d(v1 + v3, v2 + v3) = d(v1, v2)
• Do đó
9/30/2010
23
Huỳnh Văn Kha
ðị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
9/30/2010
24
Huỳnh Văn Kha
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
Ví dụ
w0 w1 w2 w3
0000 0101 1110 1011
9/30/2010
25
Huỳnh Văn Kha
1000 1101 0110 0011
0001 0100 1111 1010
0010 0111 1100 1001
ðịnh lý 4.7
Tất cả các dãy trong cùng một lớp thương của bộ
mã nhóm S đều có cùng một vector hiệu chỉnh
Hai dãy trong hai lớp thương khác nhau có các
9/30/2010
26
Huỳnh Văn Kha
vector hiệu chỉnh khác nhau
Dựa vào hai định lý 4.6 và 4.7 ta chứng minh được
định lý 4.8 sau. Định lý 4.8 cho phép việc giải mã
nhanh hơn. Đó là thay vì phải lưu trữ toàn bộ 2n dãy
nhị phân, ta chỉ cần lưu các vector hiệu chỉnh và các
mẫu sai tương ứng là đủ
ðịnh lý 4.8
Việc giải mã theo cách làm cực tiểu khoảng cách có
thể thực hiện theo cách sau
1. Với mỗi dãy v nhận được, ta tính các vector
9/30/2010
27
Huỳnh Văn Kha
hiệu chỉnh c tương ứng
2. Trong tất cả các dãy z thỏa AzT = c, giả sử z0 có
số ký tự 1 ít nhất, ta giảmã v thành v – z0
Ví dụ
Với ma trận kiểm tra chẵn lẻ
9/30/2010
28
Huỳnh Văn Kha
Lập bảng giải mã