Phép toán cộng: Tập hợp F là đóng trên trường toán cộng, có nghĩa là a,b thuộc F thì a +b thuộc F •Việc mã hoá và giải mã thực hiện các phép toán cộng và nhân số học trên các từ mã..
Trang 1Mã hóa kênh
Khái niệm cơ bản
Mã khối:
• Từ mã: biểu diễn như một vecto có độ dài cố định n
Độ dài từ mã: là số ký hiệu có trong từ mã
Mỗi ký hiệu nhận một giá trị nhị phân 0 hay 1(m = 2) gọi là mã nhị phân
Khi m >1 thì không còn là mã nhị phân, có thể là mã tam phân, bát phân, thập phân… tuỳ vào mỗi ký hiệu nhận các giá trị trong hệ đếm nào đó
Trang 2• Mã khối : Là tập hợp các vecto có độ dài cố
Trang 3• Trọng lượng của từ mã: số lượng các ký hiệu khác 0 trong một từ mã (wr)
Ví dụ: a = 10010011 có trọng lượng wa = 4.
• Một bộ mã với các từ mã có cùng trọng lượng gọi là bộ mã có trọng lượng cố định.
• Khoảng cách hamming dij: sự khác nhau của các ký hiệu tương ứng (cùng vị trí) giữa hai từ
mã, với i#j thì
0 < dij < n.
Trang 4• Khoảng cách hamming của hai từ mã u,v bằng trọng lượng hamming của tổng u và v.
d(u,v) = W(u+v)
ví dụ: u = 1001011, v = 1110010 có khoảng
cách hamming du,v = 4
Mà: u+v = 0111001 có W(u+v) = 4
Trang 5• Khoảng cách hamming tối thiểu dmin
Dmin = min {W(c), c = u+v, c#0}= Wmin
• Wmin = min{W(X),x thuộc mã tuyến tính, x#0} là trọng lượng hamming tối thiểu
• Gọi C là từ mã tuyến tính có matran kiểm tra H Trọng lượng hamming tối thiểu của C
là số cột nhỏ nhất của H mà tổng mỗi cột này bằng 0
1 0
0
0 1
1 1
0 1
0
1 1 0 1
0 0
1
H
Từ matran H có 3 cột có tổng bằng 0 nên W = 3
Trang 6 Phép toán cộng:
Tập hợp F là đóng trên trường toán cộng, có nghĩa
là a,b thuộc F thì a +b thuộc F
•Việc mã hoá và giải mã thực hiện các phép toán cộng
và nhân số học trên các từ mã Với bộ mã nhị phân thì các phép toán trên bộ mã là phép toán modul 2
Trang 7 Quy tắc thực hiện phép cộng modul:
• Cho tập hợp các số nguyên: G(m)
={0,1…m-1) với phép toán cộng modul được thực hiện như sau:
Trong đó r là số dư của (i + j ) /m, r thuộc G
Phép cộng trên gọi là phép cộng modul-m.
r j
• Với hai số nguyên i,j bất kỳ trong G thì :
Trang 8Ví dụ: thực hiện phép cộng modul – 5:G(5) = {0,1,2,3,4)
Trang 9 Phép toán nhân:
Trong tập F là đóng trên trường toán nhân: a,b
thuộc F thì a.b thuộc F
Có tính kết hợp: a(bc) = (ab)c
Tính giao hoán: a.b = b.a
Tính phân phối với phép cộng: (a + b)c = ac + bc
Phần tử đơn vị: a 1 = 1a =a
Phần tử nghịch đảo: b thuộc F thì b#0 thuộc F, phần
tử nghịch đảo của b là b-1 và b.b-1= 1
Trang 10 Quy tắc thực hiện phép nhân modul –m.
Xác định tập hợp các số nguyên trong tập
G(m) = (1…m-1) Trong đó m là một số nguyên tố.phép nhân modul – m được thực hiện như
sau:
Với i, j bất kì thuộc G thì : i (.) j = r với r =
(i.j)/m và r phải thuộc G.
Trang 11• Ví dụ: thực hiện phép nhân modul-5:
Trang 12 Trường toán học nhị phân GF(2): là thực hiện phép toán với hệ nhị phân.
• Xét đa thức trên trường nhị phân GF(2) như sau:
Trang 14Thực hiện phép nhân với hai đa thức trên GF(2):C(x) = f(x).g(x) = c0+c1x+c2x2+…+ cn+mxn+m
x
c
x x
x x
g x
x x
x
f
)
(
1 ,
1 )
Trang 15Trong đó:f0 = 1, f1=1,f2= 0,f3=1,f4=0,f5 = 1
g0 = 1, g1=0, g2=1,g3=0,g4=1,g5=1
0 5
1 4
2 3
3 2
4 1
5 0
5
0 4
1 3
2 2
3 1
4 0
4
0 3
1 2
2 1
3 0
3
0 2
1 1
2 0
2
0 1
1 0
1
0 0
0
1
0
1
01
.10
.01
.10
.1
11
.00
.11
.1
11
0
11
.1
x x
x
c
g f
g f
g f
g f
g f
g f
c
g f
g f
g f
g f
g f
c
g f
g f
g f
g f
c
g f
g f
g f
c
g f
g f
c
g f
Trang 16Phép chia hai đa thức trên trường GF(2):
ví dụ: a(x) = x6+x5+x4+x+1, b(x) = x3+x+1A(x) :b(x) = x3+x2 dư x2+x+1
Trang 17• Mã tuyến tính:mã tuyến tính có độ dài n là mã với các từ mã có các ký hiệu là tuyến tính.
• Mã tuyến tính (k,n) với tốc độ mã hoá R = k/n, k số bit thông tin đưa vào mã hoá, n độ dài của mã tuyến tính
• Ma trân sinh và ma trân kiểm tra:
Xét k bit thông tin đưa vào mã hoá ký hiệu là :
Xm = {xm1,xm2…xmk}
đầu ra bộ mã hoá:
C = {c ,c …c }
Trang 18Quá trình thực hiện của bộ mã hoá như sau:
k
g g
g
g g
g
g g
g
g
g
g G
2 22
21
1 12
11
2 1
Trang 19Vậy từ mã là tổ hợp tuyến tính của các vecto {gi} của G.
k
k n
k n
K
p p
p
p p
p
p p
p
P I
G
2 1
2 22
21
1 12
11
1 0
0
0 1
0
0 0
1
Ik là matran đơn vị, P là ma trân [k,(n-k)] dùng để
xác định (n-k) bit kiểm tra parity
Trang 20Với matran hệ thống tạo ra mã khối tuyến tính thì k bit đầu tiên là các bit thông tin, n-k bit còn lại là các bit
kiểm tra
Xét ví dụ:mã (7,4) có ma trân sinh
] ,
[ 1
1 0 1 0 0 0
0 1 1 0 1 0 0
1 1 1 0 0 1 0
1 0 1 0 0 0 1
P I
Trang 21Các bit kiểm tra được xác định bởi:
Cm5 = xm1+xm2+xm3, Cm6 = xm2+xm3+xm4Cm7 = xm1+xm2+xm4
- Mỗi từ mã Cm đều trực giao với mỗi hàng của H nên:
Cm.HT = 0 hay G.HT= 0
Trang 220 1 1 0 1 0 0
1 1 1 0 0 1 0
1 0 1 0 0 0 1
4P I G
Cho tuyến tính (7,4) có ma trân G sau:
Ta có thể thành lập ma trận kiểm tra H sau:
0 1
0 1
1
0 1
0 1
1 1
0
0 0
1 0
1 1
1 , I3
Trang 23•Ma trận H dùng để kiểm tra từ mã nhận được là chẵn hay lẻ.
- Nếu chẵn thì số bit 1 trong môt từ mã là chẵn
- Nếu lẻ thì số bit 1 trong từ mã là lẻ
Ma trận H gọi là ma tran kiểm tra chẵn lẻ của mã (n,k)
Trang 24Khả năng phát hiện sai và sửa sai của mã khối.
Một mã khối có khoảng cách tối thiểu dmin có khả năng phát hiện được cực đại (dmin – 1) lỗi
Mã khối có khoảng cách tối thiểu dmin có khả năng sửa lỗi ngẫu nhiên t = (dmin- 1)/2 (có thể sủa được những từ mã sai có số lỗi ít hơn hay bằng t
Trang 25 Dãy tiêu chuẩn và giải mã Syndrome.
• Giải mã sử dụng ma tran kiểm tra H
Giả sử Cm là từ mã truyền đi,Y là từ mã nhân được
Y = cm+e, e là vecto lỗi
- Các syndrome của mẫu lỗi được xác định bởi:
Y.HT = (cm+e)HT= cmHT+eHT = eHT = S (cm trực giao với mọi hàng của H nên cm.HT = 0)
S là vecto có (n-k) phần tử
- Mỗi từ mã có n phần tử nên có thể có 2n mẫu lỗi và chỉ có 2n-k syndrom nên các mẫu lỗi khác nhau có thể tạo ra cùng syndrome
Trang 26-Cột 2 lấy mẫu lỗi ei tương ứng của cột 1 cộng với từ mã tương ứng của cột ở hàng đầu tiên Tương tự với các cột còn lại
Trang 27Thuật toán giải mã bằng syndrome:
B1: Tính syndrome S = r.HT (r là vecto nhận được bị lỗi)
B2: Do tìm mẫu lỗi ei có syndrome bằng s
B3: Giải mã vec tơ nhận được bị lỗi thành vecto
cm = r + ei
Trang 291 0 1 0
Trang 301 0
1 0
0
0 1
1 1
0 1
0
1 1
0 1
0 0
1
H
- Có 2n-k vec tơ lỗi nên có 8 mẫu lỗi bao gồm
mẫu lỗi 0, khoảng cách tối thiểu dmin = 3.
- Có thể sửa được những mẫu lỗi có trọng lượng
là 1 hay 0 (n = 7) nên cột đầu tiên của bảng giải
mã chứa đủ các mẫu lỗi có trọng lượng =1 hay 0
Trang 31Syndrom e
•Các mẫu lỗi có thể sửa được với syndrome ở bảng sau:
- Có 2n-k vec tơ lỗi nên có 8
mẫu lỗi bao gồm mẫu lỗi 0,
khoảng cách tối thiểu dmin = 3
- Có thể sửa được những mẫu
lỗi có trọng lượng là 1 hay 0,
cột đầu tiên của bảng giải mã
chứa đủ các mẫu lỗi có trọng
lượng =1 hay 0 với mẫu lỗi
toàn 0 thì syndrome tương
ứng toàn 0, chỉ xét với mẫu
lỗi có trọng lượng # 0
Trang 32ví dụ 2: xét mã (7,4) có H ở ví dụ trên Nếu từ mã
truyền đi cm = 1001011 trên kênh có nhiễu thì từ mã nhận được r = 1001111 hãy giải mã bằng syndrome:Giải: -Tìm HT
- tính s = r.HT
-Bảng mẫu lỗi với syndrome
- so sánh với mẫu lỗi tìm syndrom s tìm được
-Giải mã:
Trang 331 1 1
1 1 0
0 1 1
1 0 0
0 1 0
0 0 1
1 1 1
1 1 0
0 1 1
1 0 0
0 1 0
0 0 1