Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 14 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
14
Dung lượng
389,62 KB
Nội dung
7/2/2010 1 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 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 2 7/2/2010 2 Huỳnh Văn Kha 7/2/2010 2 ðị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 a ij , r i 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 7/2/2010 3 Huỳnh Văn Kha Ma trận chẵn lẻ • Ma trận A = [a ij ] gọi là ma trận kiểm tra chẵn lẻ • Nếu A có hạng t và các cột j 1 , …, j t là độc lập tuyến tính thì có n – t = k các r j (j ≠ j 1 , …, j t ) có thể được chọn tùy ý, và ta gọi là các bit thông tin • Các bit thứ j 1 , …, j t 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ó 2 k từ mã 7/2/2010 4 Huỳnh Văn Kha 7/2/2010 3 Ví dụ 1 • Cho hệ sau • Có thể chọn r 1 , r 2 , r 3 làm bit kiểm tra và r 4 , r 5 , r 6 làm bit thông tin • Cho r 4 = 0, r 5 = 1, r 6 = 0. Ta được r 1 = 1, r 3 = 1, r 2 = 1. Và từ mã thu được là 111010 • Cho các giá trị khác cho r 4 , r 5 , r 6 ta được 2 3 = 8 từ mã. Toàn bộ từ mã được cho trong bảng sau 7/2/2010 5 Huỳnh Văn Kha Bộ mã kiểm tra chẵn lẻ trong vd1 r 1 r 2 r 3 r 4 r 5 r 6 w 1 0 0 0 0 0 0 w 2 0 0 1 0 0 1 w 3 1 1 1 0 1 0 w 4 1 1 0 0 1 1 w 5 1 1 0 1 0 0 w 6 1 1 1 1 0 1 w 7 0 1 1 1 1 0 w 8 0 0 0 1 1 1 7/2/2010 6 Huỳnh Văn Kha 7/2/2010 4 Vector hiệu chỉnh • Giả sử dãy bit r 1 , r 2 , …, r n được truyền qua kênh nhị phân đối xứng, dãy nhận được là r 1 ’, r 2 ’, …, r n ’ • Ta tính • Và gọi vector cột c = (c 1 , c 2 , …, c m ) T là vector hiệu chỉnh ứng với dãy v = (r 1 ’, r 2 ’, …, r m ’) • Dưới dạng ma trận là c = Av T • Chú ý v T là ký hiệu cho chuyển vị của v 7/2/2010 7 Huỳnh Văn Kha Mẫu sai • Giả sử w = (r 1 , r 2 , …, r n ) được truyền và dãy nhận được là v = (r 1 ’, r 2 ’, …, r n ’) • Dãy z = v – w = (r 1 ’ – r 1 , r 2 ’ – r 2 , …, r n ’ – r n ) gọi là mẫu sai của w và v • Vector hiệu chỉnh của v là c = A(z T + w T ) = Az T + Aw T = Az T • Nếu z có giá trị 1 tại các bit thứ j 1 , j 2 , …, j e và 0 tại các bit còn lại thì vector Az T là tổng các cột thứ j 1 , j 2 , …, j e của A 7/2/2010 8 Huỳnh Văn Kha 7/2/2010 5 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 7/2/2010 9 Huỳnh Văn Kha Nhóm và mã kiểm tra chẵn lẻ • Gọi B n 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ì B n 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 B n • Thật vậy, nếu w 1 , w 2 là các từ mã thì A(w 1 + w 2 ) T = Aw 1 T + Aw 2 T = 0 • Các tính chất khác được suy ra từ định nghĩa phép cộng theo mod 2 7/2/2010 10 Huỳnh Văn Kha 7/2/2010 6 ðịnh lý 4.4 Cho S là nhóm con của B n . 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 B n 7/2/2010 11 Huỳnh Văn Kha 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ụ: 7/2/2010Huỳnh Văn Kha 12 r 1 r 2 r 3 r 4 r 5 r 6 w 0 0 0 0 0 0 0 w 1 1 0 1 0 0 1 w 2 1 1 0 0 1 0 w 3 0 1 0 1 0 1 w 4 0 1 1 0 1 1 w 5 1 1 1 1 0 0 w 6 1 0 0 1 1 1 w 7 0 0 1 1 1 0 7/2/2010 7 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à w 1 , w 2 , …, w k . 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 w i (i từ 1 đến k) độc lập tuyến tính. Vậy S có 2 k từ mã 7/2/2010Huỳnh Văn Kha 13 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 7/2/2010Huỳnh Văn Kha 14 7/2/2010 8 Chứng minh ñịnh lý 4.4 • Như vậy mọi từ mã đều thỏa Aw T = 0 • Mặc khác, do tập nghiệm của Aw T = 0 có 2 k phần tử nên tập nghiệm của Aw T = 0 chính là S • Đây là điều cần chứng minh 7/2/2010Huỳnh Văn Kha 15 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 = 2 3 từ mã số hàng độc lập tuyến tính tối đa là 3 • Do w 1 , w 2 , w 5 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 7/2/2010Huỳnh Văn Kha 16 7/2/2010 9 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 a 1 = a 2 = a 3 = 1 7/2/2010Huỳnh Văn Kha 17 Ví dụ • Tương tự cho hai cột còn lại • Suy ra b 1 = b 2 = 1, b 3 = 0 và c 1 = c 3 = 1, c 2 = 0 7/2/2010Huỳnh Văn Kha 18 7/2/2010 10 Ví dụ • Và như vậy • Ma trận A là 7/2/2010Huỳnh Văn Kha 19 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 • 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 7/2/2010 20 Huỳnh Văn Kha [...]...7 /2/ 2010 21 Huỳnh Văn Kha 7 /2/ 2010 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 22 Huỳnh Văn Kha 7 /2/ 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 đư... luôn không s a đư c 11 7 /2/ 2010 23 Huỳnh Văn Kha 7 /2/ 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 7 /2/ 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... 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 12 7 /2/ 2010 25 Huỳnh Văn Kha 7 /2/ 2010 Ví d w0 0000 1000 0001 0010 w1 0101 1101 0100 0111 w2 1110 0110 1111 1100 w3 1011 0011 1010 1001 26 Huỳnh Văn Kha 7 /2/ 2010 ð 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 vector... 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à đ 13 7 /2/ 2010 27 Huỳnh Văn Kha 7 /2/ 2010 ð 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 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ã. .. cách sau 1 V i m i dãy v nh n đư c, ta tính các vector 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 28 Huỳnh Văn Kha 7 /2/ 2010 Ví d V i ma tr n ki m tra ch n l L p b ng gi i mã 14 . luôn sửa được hoặc là luôn không sửa được 7 /2/ 2010 22 Huỳnh Văn Kha 7 /2/ 2010 12 Chứng minh bổ ñề 4.5 • Dễ dàng kiểm tra được rằng d(v 1 + v 3 , v 2 + v 3 ) = d(v 1 , v 2 ) • Do đó 7 /2/ 2010 23 Huỳnh. 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 2 7 /2/ 2010 2 Huỳnh Văn Kha 7 /2/ 2010 2 ðịnh nghĩa (mã chẵn lẻ) Cho hệ phương. 7 /2/ 2010 1 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ị