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

Bài giảng môn học Lý thuyết thông tin - Bùi Văn Thành

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 (691.33 KB, 30 trang )

BÀI GIẢNG MÔN HỌC
LÝ THUYẾT THÔNG TIN


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


Giới thiệu
n

Định nghĩa
n

n

n

Đa thức mã
n

n

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.
Nếu w = a0a1…an–2an–1 là một từ mã thì w(x) = a0 + a1x + 
… + an–2xn ­ 2 + an–1xn ­ 1 là đa thức mã tương ứng với từ 
mã w.

Ví dụ
n

Bảng sau đây trình bày một mã vòng C(7, 4).
Trang 3


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  +  1101
x4

1010001 1 + x2 + x6

0010 0011010 x2 + x3 + x5

0011

0010111 x2  +  x4  +  x5  + 
x6

1010 1110010 1  +  x  +  x2  +  1011
x5

1111111 1 + x + x2 + x3 

+  x4  +  x5  + 
x6

Trang 4
0110 0101110
x  +  x3  +  x4  +  0111

0100011 x + x5 + x6


Giới thiệu (tt)
n

w(i), w(i)(x)
n

w(i) là từ mã do dịch từ mã w i bit, và w(i)(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
Trang 5 1 + x4 + x5 = x4 + x5 + x7 mod 7 



Giới thiệu (tt)
n

n

n

w(i)(x) = xi * w(x) tuy nhiên nếu w(i)(x) có xp với p ≥ n thì xp 
đượ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(x)] mod (xn + 1)

Trang 6

w(i)(x) = [xi 


Các tính chất của mã vòng
n

Định lý 13.1
n

n


Đ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
n

Giả sử   hai đa thức mã khác nhau, cùng có bậc nhỏ nhất là r, 
0 < r < n.
g(x) = g0 + 
g1x + … + gr–1xr ­ 1 + xr
f(x) = f0 + f1x 
+ … + fr–1xr ­ 1 + xr

n

Từ đây suy ra đa th
ức mã g(x) + f(x) có bậc nhỏ hơn r, mâu 
Trang 7
thuẫn. Chứng minh hoàn tất.


Các tính chất của mã vòng (tt)
n

Kí hiệu đa thức mã có bậc nhỏ nhất là g(x)

g(x) = g0 + 


g1x + … + gr–1xr ­ 1 + xr
n

Định lý 13.2
n

n

Hệ số tự do g0 của g(x) phải bằng 1.

Chứng minh
n

Giả sử g0 = 0. Suy ra
+ … + gr–1xr ­ 2 + xr ­ 1)

n

n

g(x) = x * (g1 

Đặt f(x) = (g1 + … + gr–1xr ­ 2 + xr ­ 1), 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).
Trang 8


Các tính chất của mã vòng (tt)

n

Định lý 13.3
n

n

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
n
n

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

v(x)

q ( x) * g (x)
i 0

qi xi * g (x)

p

i 0


qi xi * g (x)

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 
Trang 9


Các tính chất của mã vòng (tt)
n
n

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)
là đa thức dư và có bậc nhỏ hơn bậc của g(x).
đa thức trên trường GF(2) chúng ta có thể suy ra

trong đó r(x) 
Đối với các 
r(x) = q(x) * 

g(x) + v(x)
Nên r(x) là 
Trang 10
một đa th

ức mã. Theo định nghĩa của g(x) suy ra r(x) = 0. 


Các tính chất của mã vòng (tt)
n

Định lý 13.4
n

n

Đa thức sinh của một mã vòng C(n, k) có bậc r = n – k.

Chứng minh
n

Mỗi đa thức mã w(x) là một bội số của g(x)

w(x) = q(x) * 

g(x)
Có 2k từ mã nên có 2k  đ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.
n Từ định lý này đa thức sinh g(x) có thể được biểu diễn như 
sau
g(x) = g0 + g1x + … + gn – kxn – k
n

Trang 11


trong đó g0 = 


Các tính chất của mã vòng (tt)
n

Định lý 13.5
n

n

Đa thức sinh của mã vòng C(n, k) là một ước số của xn + 1.

Chứng minh
n

Bổ đề 13.1 suy ra

g(i)(x) = [xi * 

g(x)] mod (xn + 1)
q(x) * (xn + 1) + g(i)(x)
q(x) = 1 tức
Trang 12
(xn + 1) + g(i)(x)

 xi * g(x) = 
Chọn i = k   
xk * g(x) = 



Các tính chất của mã vòng (tt)
n

Định lý 13.6
n

n

Nếu g(x) là một đa thức có bậc (n – k) và là ước số của (xn + 
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
n

Xét k đa thức g(x), x * g(x), …, xk – 1 * g(x).
này đều có bậc ≤ n – 1.

Các đa thức 

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).
Trang 13

+ a1x * g(x) + … + ak – 1xk – 1 * g(x)

v(x) = a0g(x) 



Các tính chất của mã vòng (tt)
n

Có tất cả 2k 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
w(x) = b0 + 
b1x + … + bn – 1xn – 1
thức của không gian.
Trang 14

là một đa 
Chúng ta 


Các tính chất của mã vòng (tt)
n

Theo Bổ đề 13.1 chúng ta có

w(1)(x) = [x * 

w(x)] mod (xn + 1)
diễn của v(x) và w(1)(x) chúng ta suy ra
– 1(xn + 1) + w(1)(x)


Dựa vào biểu 
x * w(x) = bn 

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


Ma trận sinh

Gk

n

 
g0
0
0

0

n

  n k  1         k 1  
g1 g 2  g n k
0
0 
g 0 g1  g n k 1 g n k

0 
0 g0  gn k 2 gn k 1 gn k 
  




0



0

g0

g1

g2


0
0
0


 gn

k

Ví dụ

n
n

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ó 
Trang 16


Ví dụ
x7 + 1 = (1 + 

x)(1 + x + x3)(1 + x2 + x3)
n

Chọn chẳng hạn

g(x) = (1 + x 

+ x3)

G4

Trang 17

7

1
0
0

0

1
1
0
0

0
1
1
0

1
0
1
1

0
1
0
1

0
0
1
0

0
0
0

1


Mã vòng dạng hệ thống
n

G4

n

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
0
0
0

7

1
1
0
0

0
1
1
0


1
0
1
1

0
1
0
1

0
0
1
0

0
0
0
1

Ght ( 4

1 0 0 0 1 1 0
0 1 0 0 0 1 1
7)

0 0 1 0 1 1 1
0 0 0 1 1 0 1

Mã hóa thành từ mã hệ thống

n

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)
Trang 18


Ví dụ
n

Cho mã vòng C(7, 4) có ma trận sinh là g(x) = (1 + x + x3). 
Hãy mã hoá thông báo u = 1010 thành từ mã hệ thống dạng 2.
u(x) = 1 + x2.
với xn–k = x3 rồi chia cho g(x) chúng ta được.
= x3 + x5 = x2 * (1 + x + x3) + x2

n

Từ đây suy ra

Nhân u(x) 
x3 * (1 + x2) 

w(x) = x2 + 

x3 + x5 
w = 0011010
Trang 19


là từ mã hệ 


Ma trận kiểm tra của mã vòng
n

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)

n

h(x) được gọi là đa thức đối ngẫu của g(x). h(x) có bậc k
h(x) = h0 + 
h1x + … + hkxk
     k 1      n k  1 

n

H (n

hk hk 1 ột ma tr
hk 2 ậ
0 ủa mã vòng
0 
Ma trận sau là m
n kiểhm tra c
0
k) n


 h1

h0

0



0
0

hk


 h2
 

h1


h0





0





0

0

hk

hk

0


0


0

0

Trang 20

1

hk hk

1

hk

2


 h0


Ví dụ
n

Cho mã vòng C(7, 4) có ma trận sinh là g(x) = (1 + x + x3).
Từ đây suy ra
h(x) = (1 + x 
+ x2 + x4)

n

Ma trận kiểm tra c
1 ủ0a bộ1 mã là
1 1 0 0

H3 7

0 1 0 1 1 1 0
0 0 1 0 1 1 1

Trang 21


Ứng dụng trường GF(2m)
để xây dựng mã vòng
n


Định lý 13.7
n

Cho a là một phần tử khác 0 của trường GF(2m) 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ó.
Hm n = [1 a 
a2 … an – 2 an–1]
vòng này có đa thức sinh chính là f(x).

n

Hơn nữa mã 

Ví dụ
n

Xét trường GF(24) và a có đa thức tối thiểu là
Trang 22

f(x) = 1 + x + 


Ứng dụng trường GF(2m)
để xây dựng mã vòng (tt)
n

Từ đây suy ra ma trận kiểm tra của mã vòng (15, 11).


H 4 15

n

1
0
0
0

0
1
0
0

0
0
1
0

0
0
0
1

1
1
0
0


0
1
1
0

0
0
1
1

1
1
0
1

1
0
1
0

0
1
0
1

1
1
1
0


0
1
1
1

1
1
1
1

1
0
1
1

1
0
0
1

Nếu đa thức tối thiểu của a là f(x) = 1 + x + x2 + x3 + x4 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)
Trang 23

a

= (0100)


a4 = (1111)


Ứng dụng trường GF(2m)
để xây dựng mã vòng (tt)
n

Từ đây suy ra ma trận kiểm tra của mã vòng (5, 1)

H4

Trang 24

1 0 0 0 1
0 1 0 0 1
5

0 0 1 0 1
0 0 0 1 1


Mã BCH nhị phân
n
n
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:

k ≤ mt
Hamming:
Trang 25

dmin ≥ 2t + 1

Khoảng cách 

n – 


×