Chương 4 :Mã Vòng-Cyclic Code
4.2 Ma trận sinh và ma trận kiểm tra của
Gọi g(x) là đa thức sinh bậc n-k của C(n,k). Một khối dữ liệu k phần tử (m0,
m1,... mk-1) có thể được xem là một đa thức thơng tin: m(x) = m 0 + m 1x + ... + mk-
1xk-1. Việc mã hố thơng qua việc nhân đa thức thơng tin với đa thức sinh. Kết quả ta có:
Cm = (c0, c1, ... cn-1)
Cm(x) = m(x).g(x) = c0 + c1.x + ... + cn-1.xn-1
Tích đa thức trên được biểu diễn dưới dạng tích ma trận như: Cm(x) = m(x).g(x) = (m0 + m1.x + ... + mk-1.xk-1).g(x)
= m0.g(x) + m1.x.g(x) + ... + mk-1.xk-1.g(x)
= [m0 + m1.x + ... + mk-1.xk-1].
Dạng tổng quát của ma trận sinh G của C(n,k) là:
g 0
0
G= 0
[ 0
( với g0 = gn-k = 1)
Trường hợp tổng quát G khơng có dạng hệ thống. Tuy nhiên có thể chuyển G về dạng
hệ thống bằng phép biến đổi hàng của ma trận.
Ví dụ: Xét C(7, 4) cho ở bảng 1 với đa thức sinh g(x) = 1 + x + x3 có ma trận như sau:
G=[ 1
0 00
Nhưng nếu dùng phép biến đổi hàng: h3 = h3 + h1 và h4 = h4 + h1 + h2 ta thu được Ma trận G’ có dạng hệ thống như sau:
=[
1 1
' 0 1
G 11 01
Với đa thức h(x) có bậc là k được biểu diễn như sau: h(x) = h0 + h1.x + ... + hk.xk, (với h0 = hk = 1)
Cho v = (v0, v1,... vn-1) là véc tơ mã của C. Khi đó v(x) = m(x).g(x). Nhân v(x) với h(x)
Ta được:
v(x).h(x) = a(x).g(x).h(x)
= a(x).(xn + 1)
= a(x) + xn.a(x)
Do bậc của v(x) nhỏ hơn hoặc bằng k-1 nên các giá trị của xk, xk+1, ...xn-1
khơng có trong biểu thức m(x) + xk.m(x). Nếu khai triển kết quả v(x).h(x) thì hệ số xk, xk+1,... xn phải bằng 0. Do đó nhận được n-k phương trình sau:
hivn-i-j = 0, với i j n-k
Hàm số ngược của h(x) là:
x k.h(x-1) = hk + hk-1x + hk-2x2 + ... + h0xk
Dễ dàng nhận thấy rằng xkh(x-1) cũng là thừa số của (xn + 1). Vậy đa thức sinh xkh(x-1) sinh ra (n,n-k) với ma trận H(n-k) x n là ma trận sinh:
H=¿
Bất kỳ véc tơ mã nào của C đều trực giao với mỗi hàng của H. Do đó H là ma trận kiểm tra chẵn lẻ của C. Do H nhận được tù đa thức h(x) nên h(x) được gọi là đa thức kiểm tra của C.
Định lý 7: Gọi C là (n,k) với đa thức sinh g(x). Mã đối ngẫu của C cũng là
và được sinh ra bởi đa thức: xk.h(x-1) với h(x) = (xn + 1)/g(x).