Bài giảng Lý thuyết thông tin - Chương 6: Mã vòng

pptx 30 trang huongle 13600
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lý thuyết thông tin - Chương 6: Mã vòng", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptxbai_giang_ly_thuyet_thong_tin_chuong_6_ma_vong.pptx

Nội dung text: Bài giảng Lý thuyết thông tin - Chương 6: Mã vòng

  1. BÀI GIẢNG MÔN HỌC LÝ THUYẾT THÔNG TIN
  2. Mã vòng 13.1 Giới thiệu 13.2 Các tính chất của mã vòng 13.3 Ma trận sinh và ma trận kiểm tra của mã 13.4 Mã BCH Trang 2
  3. Giới thiệu ◼ Định nghĩa ◼ Một mã tuyến tính C(n, k) được gọi là mã vòng nếu w = a0a1 an–2an–1 là một từ mã thì v = an–1a0a1 an–2 cũng là một từ mã. ◼ Nghĩa là dịch vòng (sang trái hay phải) một từ mã thì kết quả cũng là một từ mã. Ở đây qui ước dịch phải. ◼ Đa thức mã ◼ Nếu w = a0a1 an–2an–1 là một từ mã thì w(x) = a0 + a1x + + n - 2 n - 1 an–2x + an–1x là đa thức mã tương ứng với từ mã w. ◼ Ví dụ ◼ Bảng sau đây trình bày một mã vòng C(7, 4). Trang 3
  4. Ví dụ m w w(x) m w w(x) 0000 0000000 0 0001 0001101 x3 + x4 + x6 1000 1101000 1 + x + x3 1001 1100101 1 + x + x4 + x6 0100 0110100 x + x2 + x4 0101 0111001 x + x2 + x3 + x6 1100 1011100 1 + x2 + x3 + x4 1101 1010001 1 + x2 + x6 0010 0011010 x2 + x3 + x5 0011 0010111 x2 + x4 + x5 + x6 1010 1110010 1 + x + x2 + x5 1011 1111111 1 + x + x2 + x3 + x4 + x5 + x6 0110 0101110 x + x3 + x4 + x5 0111 0100011 x + x5 + x6 1110 1000110 1 + x4 + x5 1111 1001011 1 + x3 + x5 + x6 Trang 4
  5. Giới thiệu (tt) (i) (i) ◼ w , w (x) (i) (i) ◼ w là từ mã do dịch từ mã w i bit, và w (x) là đa thức mã tương ứng của w(i). w(0) chính là w. i w(i) w(i)(x) 0 1101000 1 + x + x3 1 0110100 x + x2 + x4 = x * (1 + x + x3) = x * w(x) 2 0011010 x2 + x3 + x5 = x2 (1 + x + x3) = x2 * w(x) 3 0001101 x3 + x4 + x6 = x3 (1 + x + x3) = x3 * w(x) 4 1000110 1 + x4 + x5 = x4 + x5 + x7 mod 7 5 0100011 x + x5 + x6 = x5 + x6 + x8 mod 7 6 1010001 1 + x2 + x6 = x6 + x7 mod 7 + x9 mod 7 Trang 5
  6. Giới thiệu (tt) (i) i (i) p p ◼ w (x) = x * w(x) tuy nhiên nếu w (x) có x với p ≥ n thì x được thay bằng xp mod n. ◼ Mặc khác trên trường GF(2) chúng ta có xn + j = xj * (xn + 1) + xj hay xn + j mod (xn + 1) = xj ◼ Bổ đề 13.1 w(i)(x) = [xi * w(x)] mod (xn + 1) Trang 6
  7. Các tính chất của mã vòng ◼ Định lý 13.1 ◼ Đa thức mã khác 0 có bậc nhỏ nhất là duy nhất. Hay nói cách khác không tồn tại hai đa thức mã khác 0, khác nhau và cùng có bậc nhỏ nhất. ◼ Chứng minh ◼ Giả sử  hai đa thức mã khác nhau, cùng có bậc nhỏ nhất là r, 0 < r < n. r - 1 r g(x) = g0 + g1x + + gr–1x + x r - 1 r f(x) = f0 + f1x + + fr–1x + x ◼ Từ đây suy ra đa thức mã g(x) + f(x) có bậc nhỏ hơn r, mâu thuẫn. Chứng minh hoàn tất. Trang 7
  8. Các tính chất của mã vòng (tt) ◼ Kí hiệu đa thức mã có bậc nhỏ nhất là g(x) r - 1 r g(x) = g0 + g1x + + gr–1x + x ◼ Định lý 13.2 ◼ Hệ số tự do g0 của g(x) phải bằng 1. ◼ Chứng minh ◼ Giả sử g0 = 0. Suy ra r - 2 r - 1 g(x) = x * (g1 + + gr–1x + x ) r - 2 r - 1 ◼ Đặt f(x) = (g1 + + gr–1x + x ), suy ra f(x) cũng là một đa thức mã. Vì f(x) tương ứng với từ mã được dịch trái 1 bit hay dịch phải (n – 1) bit từ từ mã ứng với g(x). ◼ Mà bậc của f(x) bằng r – 1 < r mâu thuẫn với định nghĩa của g(x). Trang 8
  9. Các tính chất của mã vòng (tt) ◼ Định lý 13.3 ◼ Một đa thức v(x) trên trường GF(2) có bậc ≤ n – 1 là đa thức mã nếu và chỉ nếu nó là một bội số của g(x). Tức là nó có thể viết v(x) = q(x) * g(x). ◼ Chứng minh ◼ Chiều thuận ◼ Nếu v(x) = q(x) * g(x) và có bậc ≤ n – 1 thì v(x) là đa thức mã. p p v(x) = q(x)* g(x) = q xi * g(x) = q xi * g(x)  i  i ( ) i=0 i=0 với p là bậc của q(x) và p + r ≤ n – 1. Do xi * g(x) với 0 ≤ i ≤ p là đa thức mã, nên v(x) là đa thức mã vì nó là một tổ hợp tuyến tính của các đa thức mã. Trang 9
  10. Các tính chất của mã vòng (tt) ◼ Chiều ngược ◼ Nếu v(x) là đa thức mã thì chia v(x) cho g(x) v(x) = q(x) * g(x) + r(x) trong đó r(x) là đa thức dư và có bậc nhỏ hơn bậc của g(x). Đối với các đa thức trên trường GF(2) chúng ta có thể suy ra r(x) = q(x) * g(x) + v(x) Nên r(x) là một đa thức mã. Theo định nghĩa của g(x) suy ra r(x) = 0. Chứng minh hoàn tất. ◼ Từ định lý này chúng ta gọi g(x) là đa thức sinh, vì từ g(x) có thể sinh ra tất cả các đa thức mã khác. Trang 10
  11. Các tính chất của mã vòng (tt) ◼ Định lý 13.4 ◼ Đa thức sinh của một mã vòng C(n, k) có bậc r = n – k. ◼ Chứng minh ◼ Mỗi đa thức mã w(x) là một bội số của g(x) w(x) = q(x) * g(x) k k ◼ Có 2 từ mã nên có 2 đa thức q(x). Suy ra bậc của q(x) là k – 1. Suy ra bậc của g(x) là n – k. ◼ Từ định lý này đa thức sinh g(x) có thể được biểu diễn như sau n – k g(x) = g0 + g1x + + gn – kx trong đó g0 = gn – k = 1. Trang 11
  12. Các tính chất của mã vòng (tt) ◼ Định lý 13.5 n ◼ Đa thức sinh của mã vòng C(n, k) là một ước số của x + 1. ◼ Chứng minh ◼ Bổ đề 13.1 suy ra g(i)(x) = [xi * g(x)] mod (xn + 1) xi * g(x) = q(x) * (xn + 1) + g(i)(x) Chọn i = k q(x) = 1 tức xk * g(x) = (xn + 1) + g(i)(x) xn + 1 = xk * g(x) + g(i)(x) Do g(i)(x) là một đa thức mã nên g(i)(x) là một bội của g(x), xn + 1 là một bội của g(x). Chứng minh hoàn tất. Trang 12
  13. Các tính chất của mã vòng (tt) ◼ Định lý 13.6 n ◼ Nếu g(x) là một đa thức có bậc (n – k) và là ước số của (x + 1) thì g(x) sinh ra mã vòng C(n, k), hay nói cách khác g(x) là đa thức sinh của một mã vòng C(n, k) nào đó. ◼ Chứng minh k – 1 ◼ Xét k đa thức g(x), x * g(x), , x * g(x). Các đa thức này đều có bậc ≤ n – 1. Gọi v(x) là một tổ hợp tuyến tính của k đa thức này với các hệ số ai GF(2). k – 1 v(x) = a0g(x) + a1x * g(x) + + ak – 1x * g(x) v(x) là một đa thức có bậc ≤ n – 1 và là bội số của g(x). Trang 13
  14. Các tính chất của mã vòng (tt) k ◼ Có tất cả 2 tổ hợp tuyến tính v(x) khác nhau và tạo nên một không gian tuyến tính của các đa thức mã với g(x), x * g(x), , xk – 1 * g(x) là các đa thức làm cơ sở. Chúng ta chứng minh rằng bộ mã tương ứng với không gian này là mã vòng. Gọi n – 1 w(x) = b0 + b1x + + bn – 1x là một đa thức của không gian. Chúng ta chứng minh (1) 2 n – 1 w (x) = bn – 1 + b0x + b1x + + bn – 2x cũng là một đa thức của không gian. Trang 14
  15. Các tính chất của mã vòng (tt) ◼ Theo Bổ đề 13.1 chúng ta có w(1)(x) = [x * w(x)] mod (xn + 1) Dựa vào biểu diễn của v(x) và w(1)(x) chúng ta suy ra n (1) x * w(x) = bn – 1(x + 1) + w (x) Do v(x) và (xn + 1) đều là bội của g(x) nên w(1)(x) cũng là bội của g(x). Suy ra w(1)(x) cũng là đa thức mã. Hoàn tất chứng minh. Trang 15
  16. Ma trận sinh n−k +1 k−1  g g g  g 0 0  0 0 1 2 n−k 0 g 0 g1  g n−k −1 g n−k 0  0 G = 0 0 g  g g g  0 k n 0 n−k −2 n−k −1 n−k          0 0  0 g 0 g1 g 2  g n−k ◼ Ví dụ ◼ Tìm một mã vòng C(7, 4). ◼ Theo các tính chất của mã vòng suy ra đa thức sinh của mã có bậc bằng 3 và là một ước số của x7 + 1. Phân tích đa thức này ra thừa số chúng ta được Trang 16
  17. Ví dụ x7 + 1 = (1 + x)(1 + x + x3)(1 + x2 + x3) ◼ Chọn chẳng hạn g(x) = (1 + x + x3) 1 1 0 1 0 0 0 0 1 1 0 1 0 0 G = 4 7 0 0 1 1 0 1 0 0 0 0 1 1 0 1 Trang 17
  18. Mã vòng dạng hệ thống ◼ Từ dạng hệ thống loại 1 chúng ta có thể dịch vòng k bit để biến đổi sang dạng hệ thống loại 2 và ngược lại. 1 1 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 0 1 1 G = G = 4 7 0 0 1 1 0 1 0 ht(4 7) 0 0 1 0 1 1 1 0 0 0 1 1 0 1 0 0 0 1 1 0 1 ◼ Mã hóa thành từ mã hệ thống ◼ u(x) là thông báo, w(x) là từ mã hệ thống loại 2 tương ứng. xn–k * u(x) = q(x) * g(x) + a(x) w(x) = xn–k * u(x) + a(x) = q(x) * g(x) Trang 18
  19. Ví dụ 3 ◼ Cho mã vòng C(7, 4) có ma trận sinh là g(x) = (1 + x + x ). Hãy mã hoá thông báo u = 1010 thành từ mã hệ thống dạng 2. u(x) = 1 + x2. Nhân u(x) với xn–k = x3 rồi chia cho g(x) chúng ta được. x3 * (1 + x2) = x3 + x5 = x2 * (1 + x + x3) + x2 ◼ Từ đây suy ra w(x) = x2 + x3 + x5 w = 0011010 là từ mã hệ thống dạng 2 tương ứng với u. Trang 19
  20. Ma trận kiểm tra của mã vòng ◼ Có một cách khác để tìm ma trận kiểm tra của mã vòng xn + 1 = g(x) * h(x) ◼ h(x) được gọi là đa thức đối ngẫu của g(x). h(x) có bậc k k h(x) = h0 + h1x + + hkx ◼ Ma trận sau là một ma trận kiểm tra của mã vòng k+1 n−k −1 h h h  h 0 0  0 k k −1 k −2 0 0 hk hk −1  h1 h0 0  0 H = 0 0 h  h h h  0 (n−k ) n k 2 1 0          0 0  0 hk hk −1 hk −2  h0 Trang 20
  21. Ví dụ 3 ◼ Cho mã vòng C(7, 4) có ma trận sinh là g(x) = (1 + x + x ). Từ đây suy ra h(x) = (1 + x + x2 + x4) ◼ Ma trận kiểm tra của bộ mã là 1 0 1 1 1 0 0 H = 0 1 0 1 1 1 0 3 7 0 0 1 0 1 1 1 Trang 21
  22. Ứng dụng trường GF(2m) để xây dựng mã vòng ◼ Định lý 13.7 m ◼ Cho a là một phần tử khác 0 của trường GF(2 ) có chu kỳ là n, đa thức tối thiểu f(x) của a có bậc là m. Thì mã có ma trận sau làm ma trận kiểm tra là một mã vòng C(n, n – m), trong đó mỗi phần tử trong ma trận bên dưới được thay thế bằng vectơ m thành phần tương ứng của nó. 2 n – 2 n–1 Hm n = [1 a a a a ] Hơn nữa mã vòng này có đa thức sinh chính là f(x). ◼ Ví dụ 4 ◼ Xét trường GF(2 ) và a có đa thức tối thiểu là f(x) = 1 + x + x4 Trang 22
  23. Ứng dụng trường GF(2m) để xây dựng mã vòng (tt) ◼ Từ đây suy ra ma trận kiểm tra của mã vòng (15, 11). 1 0 0 0 1 0 0 1 1 0 1 0 1 1 1 0 1 0 0 1 1 0 1 0 1 1 1 1 0 0 H = 4 15 0 0 1 0 0 1 1 0 1 0 1 1 1 1 0 0 0 0 1 0 0 1 1 0 1 0 1 1 1 1 2 3 4 ◼ Nếu đa thức tối thiểu của a là f(x) = 1 + x + x + x + x thì a có chu kỳ là 5 và các phần tử 1, a, , a4 được biểu diễn như sau. 1 = (1000) a3 = (0001) a = (0100) a4 = (1111) a2 = (0010) Trang 23
  24. Ứng dụng trường GF(2m) để xây dựng mã vòng (tt) ◼ Từ đây suy ra ma trận kiểm tra của mã vòng (5, 1) 1 0 0 0 1 0 1 0 0 1 H = 4 5 0 0 1 0 1 0 0 0 1 1 Trang 24
  25. Mã BCH nhị phân ◼ Do Bose, Chaudhuri và Hocquenghem sáng lập ra. ◼ Là mã vòng có khả năng sửa được nhiều lỗi. ◼ Đối với các số nguyên dương m và t bất kỳ chúng ta sẽ xây dựng một mã BCH nhị phân có các thông số sau: Độ dài từ mã: n = 2m – 1 Số bit kiểm tra: n – k ≤ mt Khoảng cách Hamming: dmin ≥ 2t + 1 Trang 25
  26. Định lý ◼ Định lý 13.8 m ◼ Cho a là một phần tử của trường GF(2 ) có đa thức tối thiểu là một đa thức căn bản bậc m. Thì mã có ma trận sau làm ma trận kiểm tra là một mã vòng có khoảng cách Hamming ≥ 2t + 1, trong đó mỗi phần tử trong ma trận bên dưới được thay thế bằng vectơ m thành phần tương ứng của nó. 1 a a 2  a n−2 a n−1 3 6 3(n−2) 3(n−1) 1 a a  a a H = 1 a 5 a10  a 5(n−2) a 5(n−1)       2t−1 2(2t−1) (2t−1)((n−2) (2t−1)((n−1) 1 a a  a a Trang 26
  27. Định lý (tt) ◼ Hơn nữa đa thức sinh g(x) của bộ mã là đa thức bội số chung nhỏ nhất của các đa thức tối thiểu của các phần tử a, a3, a5, , a2t–1. ◼ Bổ đề 13.2 (y − y ) ◼ Ma trận A sau có định thức bằng  i j i j với i, j {1, 2, , r}. Định thức này được gọi là định thức Vandermonde. 1 1  1 y y  y 1 2 r 2 2 2 A = y1 y2  yr     r−1 r−1 r−1 y1 y2  yr Trang 27
  28. Ví dụ ◼ Cho m = 4, t = 2 chúng ta sẽ xây dựng một mã vòng có chiều dài từ mã là 24 – 1 = 15 và có khoảng cách Hamming d ≥ 5. Việc xây dựng sẽ dựa vào trường GF(24). ◼ Gọi a là phần tử có đa thức tối thiểu là đa thức căn bản bậc 4 4 sau f1(x) = 1 + x + x 4 ◼ Đây chính là trường GF(2 ) trong ví dụ ở slide 250. m ◼ a có chu kỳ n = 2 – 1 = 15. Chúng ta có ma trận kiểm tra của bộ mã như sau. 1 a a 2 a3 a 4 a5 a6 a7 a8 a9 a10 a11 a12 a12 a14 H = 3 6 9 12 15 18 21 24 27 30 33 36 39 42 1 a a a a a a a a a a a a a a i ◼ Thay mỗi phần tử a bằng vectơ 4 thành phần tương ứng Trang 28
  29. Ví dụ (tt) 1 0 0 0 1 0 0 1 1 0 1 0 1 1 1 0 1 0 0 1 1 0 1 0 1 1 1 1 0 0 0 0 1 0 0 1 1 0 1 0 1 1 1 1 0 0 0 0 1 0 0 1 1 0 1 0 1 1 1 1 H = 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 Trang 29
  30. Ví dụ (tt) ◼ Đa thức sinh g(x) là bội số của hai đa thức tối thiểu tương ứng với phần tử a và a3. 3 ◼ Theo ví dụ ở slide 250, đa thức tối thiểu của a là 2 3 4 f3(x) = 1 + x + x + x + x . ◼ Từ đây suy ra g(x) = f1(x) * f3(x) = (1 + x + x4) * (1 + x + x2 + x3 + x4) = 1 + x4 + x6 + x7 + x8 ◼ Chú ý ◼ Trong trường hợp đa thức tối thiểu của a không phải là đa thức căn bản, chúng ta sẽ tìm được mã vòng có chiều dài n 2m + 1, với n là chu kỳ của a. Trang 30