You are on page 1of 89

CHƯƠNG 4

MÃ HOÁ KÊNH
MÃ HOÁ CHỐNG NHIỄU
 Trọng số Hamming
- Trọng số Hamming của một dãy kí hiệu v = a1a2...an ,
trong đó mỗi ai ∈ {0, 1, ..., m–1}, là số kí hiệu khác 0
của dãy, và thường được kí hiệu là w(v).

 Khoảng cách Hamming


- Khoảng cách Hamming của hai dãy ký hiệu x và y với
chiều dài bằng nhau là số vị trí khác nhau của hai dãy,
và thường được kí hiệu d(x,y).
MÃ HOÁ CHỐNG NHIỄU
 Khoảng cách Hamming của bộ mã A
- Ký hiệu là d(A), là khoảng cách Hamming nhỏ nhất
trong tất cả các khoảng cách giữa hai từ mã bất kỳ của
A.
Ví dụ:
a) w(10100) = 2, w(01120) = 3.
b) d(10100, 10001) = 2, d(011010, 101101) = 5.
c) A={00, 01, 10, 11}  d(A) = 1.
MÃ HOÁ CHỐNG NHIỄU
 Phép cộng cơ số m
- Xét ( a, b ) ∈ {0,1, 2,..., m − 1} thì

a ⊕ b = a + b mod m

- Nếu v1 = a1a2 a3 ...an và v2 = b1b2b3 ...bn thì


v1 ⊕ v2 =
c1c2 ...cn
với

ai ⊕ bi ( i =
ci = 1, 2,..., n )
MÃ HOÁ CHỐNG NHIỄU
 Phép cộng cơ số m
Ví dụ:
- Với m = 2 thì 1011 ⊕ 1101 = 0110.
- Với m = 3 thì 1021 ⊕ 2120 = 0111.
 Định lý
Bộ mã nhị phân có khoảng cách Hamming d thì có thể
phát hiện sai được t bit (d>=t+1) và sửa sai được v bit
(d>=2v+1).
MÃ HOÁ CHỐNG NHIỄU
 Phép cộng cơ số m
Ví dụ:
- Với m = 2 thì 1011 ⊕ 1101 = 0110.
- Với m = 3 thì 1021 ⊕ 2120 = 0111.
 Định lý
Bộ mã nhị phân có khoảng cách Hamming d thì có thể
phát hiện sai được t bit (d>=t+1) và sửa sai được v bit
(d>=2v+1).
MÃ HOÁ CHỐNG NHIỄU
 Trường Galois GF(2)
- Trường GF(2) bao gồm hai phần tử {0, 1} với hai phép
cộng + và nhân * như sau:
MÃ HOÁ CHỐNG NHIỄU
 Đa thức trên trường Galois GF(2)
- Một đa thức trên trường GF(2), chẳng hạn kí hiệu là
f(x), là đa thức có dạng:
f ( x ) = a0 + a1 x + a2 x 2 + ... + an x n
- Bậc của đa thức: bậc lớn nhất của đa thức.
- Ví dụ:
 Đa thức f(x) = 1 + x + x3 có bậc 3
 Đa thức g(x) = x + x2 + x5 có bậc 5.
MÃ HOÁ CHỐNG NHIỄU
 Phép cộng và nhân đa thức trên trường Galois
GF(2)
Ví dụ:

Cho f(x) = 1 + x + x3, g(x) = x + x2 thì

 f(x) + g(x) = (1 + x + x3) + (x + x2) = 1 + x2 + x3


 f(x) * g(x) = (1 + x + x3) * (x + x2) = x + x3 + x4 + x5
MÃ HOÁ CHỐNG NHIỄU
 Phép chia đa thức trên trường Galois GF(2)
- Nếu g(x) có bậc khác 0 ta có thể chia f(x) cho g(x)
như sau: f(x) = q(x)*g(x) + r(x), trong đó q(x) là đa
thức thương còn r(x) là đa thức dư có bậc nhỏ hơn đa
thức chia g(x).
Ví dụ: f(x) = 1 + x + x4 + x5 + x6 chia cho g(x) = 1 + x +
x3, ta có:
1 + x + x4 + x5 + x6 = (x2 + x3) * (1 + x + x3)
+ (1 + x + x2)
MÃ HOÁ CHỐNG NHIỄU
 Phân tích đa thức thành nhân tử trên trường Galois
GF(2)
Ví dụ
- 1 + x + x3 + x5 = (1 + x)(1 + x3 + x4)
- 1 + x7 = (1 + x)(1 + x + x3)(1 + x2 + x3)
MÃ HOÁ CHỐNG NHIỄU
 Phân tích đa thức thành nhân tử trên trường Galois
GF(2)

- Một đa thức trên GF(2) được gọi là tối giản nếu nó


không phân tích được thành tích của hai đa thức có
bậc nhỏ hơn.
MÃ HOÁ CHỐNG NHIỄU
 Phân tích đa thức thành nhân tử trên trường Galois
GF(2)
MÃ HOÁ CHỐNG NHIỄU
 Mã hoá chống nhiễu (Mã hoá kênh )
• Mã hoá kênh (channel coding)
 Phát hiện và sửa các ký tự hay bit thu được bị lỗi
 Đưa thêm các dữ liệu dư vào dữ liệu phát
 Bên thu có thể phát hiện lỗi và sửa lỗi
MÃ HOÁ CHỐNG NHIỄU
 Các phương pháp điều khiển lỗi
- Tăng công suất phát
- Phân tập: phát, thu
- Truyền song công (kiểm tra echo)
- Yêu cầu lặp lại tự động ARQ (Automatic repeat request)
- Mã hóa sửa lỗi không phản hồi FECC(Forward Error
Correction Coding)
MÃ HOÁ CHỐNG NHIỄU
 Phân loại mã điều khiển lỗi
Mã Hóa Kênh
 Mã khối
- Mã kiểm tra tổng khối
- Ký tự trong khối bị lỗi xem như cả khối bị lỗi
- Thêm bit P cho từng khối: Parity hàng và parity cột
Mã Hóa Kênh
 Phân loại mã điều khiển lỗi
- Mã khối:
MÃ HOÁ CHỐNG NHIỄU
 Phân loại mã điều khiển lỗi
- Mã kiểm tra chẵn lẻ (Parity)
- Dùng phổ biến trong truyền số liệu dạng ASCII
- Thêm vào các Bit parity (P)
- Even Parity và Odd Parity
Mã Hóa Kênh
 Mã khối
- Mã kiểm tra tổng khối
Mã Hóa Kênh
 Mã khối
- Mã khối tuyến tính
- Ma trận sinh
Mã Hóa Kênh
 Mã khối
- Mã khối tuyến tính
- Từ mã đạt được bằng cách nhân dãy tin với ma trận sinh
Mã Hóa Kênh
 Mã khối tuyến tính
- Một mã khối tuyến tính C(n,k) là một không gian con k
chiều của vector không gian V.
- Một mã gọi là tuyến tính nếu C là không gian con có
tính chất sau:

ci , c j ∈ C ⇒ ci + c j ∈ C
ci ∈ C , a ∈ F ⇒ aci ∈ C
Mã Hóa Kênh
 Mã khối tuyến tính
- Cơ hệ bộ mã tuyến tính thõa mãn 2 tính chất
- ∀c ∈ C tồn tại các λi ∈ F, sao cho:

c= λ1c1 + λ2 c2 + ... + λk ck

k

∑λ c
i =1
i i =0 ⇔ λ1 =λ2 =... =λk =0
Mã Hóa Kênh
 Mã khối tuyến tính
- Ví dụ: Cho bộ mã nhị phân sau:

c = {00000,00011,10101,11000,01110}
- Kiểm tra bộ mã phải là mã tuyến tính không?
- Nếu không phải là mã tuyến tính hãy thêm một số từ
mã để thành mã tuyến tính
- Xác định cơ hệ của bộ mã trên
Mã Hóa Kênh
 Mã khối tuyến tính
- Ví dụ: Cho bộ mã nhị phân sau:

c = {000000, 001111,110011,111100,101010}

- Kiểm tra bộ mã phải là mã tuyến tính không?


- Nếu không phải là mã tuyến tính hãy thêm một số từ
mã để thành mã tuyến tính
- Xác định cơ hệ của bộ mã trên
Mã Hóa Kênh
 Mã khối tuyến tính
- Ma trận sinh: Ma trận sinh của một mã tuyến tính
C(n,k) là một ma trận kxn với tất cả các hàng là độc
lập tuyến tính

 g0   g 00 g 01  g 0( n −1) 
 g   
 g10 g11  g1( n −1) 
= 
Gkxn = 1 

    
      
 g k −1   g k −1 0 g( k −1)1  g( k −1)( n −1) 
 ( ) 
Mã Hóa Kênh
 Mã khối tuyến tính
- Bất kỳ k từ mã độc lập tuyến tính đều có thể dùng làm
ma trận sinh. Nghĩa là một bộ mã tuyến tính có thể có
nhiều ma trận sinh khác nhau và ngược lại.
- Nếu u = (a0 , a1 ,…, ak-1) là thông tin cần được mã hóa,
thì từ mã c tương ứng với u sẽ được mã hóa như sau
 g0 
 g 
= = ( a0 , a1 ,..., ak −1 )
c uG  1 

  
 
 g k −1 
Mã Hóa Kênh
 Mã khối tuyến tính
- Tìm các từ mã có thể có của các ma trận sinh sau:
0 1 1 0 
G2x 4 = 
 1 1 0 1  1 1 0 1 0 0 0
1 0 1 1 1 0 0 
G4x7 =
1 1 0 0 0  0 1 0 0 0 1 1
 
G3x5 = 1 0 1 0 1  1 0 1 0 0 0 1
0 0 0 1 1 
Mã Hóa Kênh
 Mã khối tuyến tính
- Một mã tuyến tính C(n,k) được gọi là mã tuyến tính
hệ thống nếu mỗi từ mã có một trong hai dạng sau:
- Dạng 1: Từ mã bao gồm phần thông tin k bit đi trước
và phần còn lại (n-k) bit kiểm tra theo sau.
- Dạng 2: Ngược lại với dạng 1.
Mã Hóa Kênh
 Mã khối tuyến tính
- Ma trận sinh hệ thống dạng 1 có dạng
1 0  0 p00 p01  p0( n − k −1) 
 
0 1  0 p10 p11  p1( n − k −1) 
Gkxn =  
0 0  0    
0 0  1 p( k −1)0 p( k −1)1  p( k −1)( n − k −1) 
 
= [ I , P]

- Ikxk là ma trận vuông đơn vị, Pkx(n-k) là ma trận bất kỳ.


Mã Hóa Kênh
 Mã khối tuyến tính
- Ma trận sinh hệ thống dạng 1 có dạng
1 0  0 p00 p01  p0( n − k −1) 
 
0 1  0 p10 p11  p1( n − k −1) 
Gkxn =  
0 0  0    
0 0  1 p( k −1)0 p( k −1)1  p( k −1)( n − k −1) 
 
= [ I , P]

- Ikxk là ma trận vuông đơn vị, Pkx(n-k) là ma trận bất kỳ.


Mã Hóa Kênh
 Mã khối tuyến tính
- Phép toán sơ cấp trên hàng
- Biến đổi sơ cấp trên hàng của một ma trận nhị phân có
được bằng cách cộng hàng đó với một hàng bất kì của
ma trận sinh.
- Nhân một hàng với một hệ số khác không.
- Phép hoán vị cột của ma trận sinh.
Mã Hóa Kênh
 Mã khối tuyến tính
- Biến đổi các ma trận sinh dưới đây về dạng ma trận
sinh hệ thống
0 0 1 1
G3 x 4 = 0 1 1 0 
1 1 0 0 
0 0 0 0 1
G3 x 5 = 0 0 1 1 1
1 1 1 1 1
Mã Hóa Kênh
 Mã khối tuyến tính
- Ma trận kiểm tra chẵn lẻ H của một bộ mã tuyến tính
C(n,k) có ma trận sinh là G thì thõa mãn điều kiện sau

GH = 0
T

- Ở đây HT là ma trận chuyển vị của ma trận H và 0 ký


hiệu là ma trận 0.
Mã Hóa Kênh
 Mã khối tuyến tính

- Nếu G là ma trận sinh hệ thống thì H dễ dàng xác định


được bởi:

H =  P , I 
T
Mã Hóa Kênh
 Mã khối tuyến tính
- Nếu w là một từ mã được sinh ra từ ma trận sinh G và
ma trận kiểm tra chẵn lẻ H thì

wH = 0 T
Mã Hóa Kênh
 Mã khối tuyến tính
- Cho ma trận sinh sau
0 1 1
G= 
 1 0 1
- Tìm các từ mã sinh ra bởi ma trận sinh trên
- Biến đổi ma trận G về dạng ma trận sinh hệ thống
- Xác định ma trận kiểm tra chẵn lẻ H
- Nhân giá trị {000, 001, 010, 011,100,101,110,111}
với HT
Mã Hóa Kênh
 Mã khối tuyến tính

- Nếu W là một mã tuyến tính với ma trận sinh G và ma


trận kiểm tra chẵn lẻ H thì syndrome của r sẽ được
tính như sau

s ( r ) = rH T
Mã Hóa Kênh
 Mã khối tuyến tính
- Với c = {c0 ,c1 ,…,cn-1} là một từ mã được truyền qua
kênh truyền có nhiễu.
- Với r = {r0 ,r1 ,…,rn-1} là từ mã nhận được tại ngõ ra
của kênh truyền.
- e = r + c = (e0 , e1 , …, en-1) và được gọi là vector lỗi
(mẫu lỗi)

ei =1 ⇔ ri ≠ ci
ei = 0 ⇔ ri = ci
Mã Hóa Kênh
 Giải mã bằng Syndrome
Mã Hóa Kênh
 Mã khối tuyến tính
Cho bộ mã tuyến tính có ma trận sinh như sau

1 0 0 1 0 1 
G3x 6 
= 0 1 0 1 1 0  
0 0 1 1 1 1 

Với từ mã thu được bên phía máy thu là r = 110111.


Hãy xác định từ mã đã được truyền đi bằng giải mã bằng
phương pháp syndrome
Mã Hóa Kênh
 Mã khối tuyến tính
- Thực hiện mạch bằng phần cứng:

 Mạch mã hóa
 Mạch thực hiện syndrome
 Mạch giải mã
Mã Hóa Kênh
 Mã khối tuyến tính
- Thực hiện mạch bằng phần cứng:

 Mạch mã hóa
 Mạch thực hiện syndrome
 Mạch giải mã
Mã Hóa Kênh
 Mã khối tuyến tính
- Mạch mã hoá:
Mã Hóa Kênh
 Mã khối tuyến tính
- Mạch mã hoá:
- Thanh ghi dịch (flip-flop)
- Kết nối pij = 1 và không kết nối pij = 0

- Bộ cộng modulo của 2


Mã Hóa Kênh
 Mã khối tuyến tính
- Mạch mã hoá:
Ví dụ: Cho ma trận sinh hệ thống như sau:

1 0 0 0 1 1 0
0 1 0 0 0 1 1 
G=
0 0 1 0 1 1 1
 
0 0 0 1 1 0 1

Vẽ sơ đồ mạch mã hóa bằng phần cứng


Mã Hóa Kênh
 Mã khối tuyến tính
- Mạch mã hoá:
Các bit của từ mã c như sau
c0 = u0, c1 = u1, c2 = u2, c3 = u3
c4 = u0 + u2 + u3
c5 = u0 + u1 + u2
c6 = u1 + u2 + u3
Mã Hóa Kênh
 Mã khối tuyến tính
- Mạch mã hoá:
Mã Hóa Kênh
 Mã khối tuyến tính
- Mạch thực hiện syndrome: s = rHT
Mã Hóa Kênh
 Mã khối tuyến tính
- Syndrome: s = rHT
1 1 0
0 1 1 

1 1 1  s0 = r0 + r2 + r3 + r4
  
s = ( r0 , r1 , r2 , r3 , r4 , r5 , r6 ) 1 0 1 =  s1 = r0 + r1 + r2 + r5
1 0 0 s = r + r + r + r
 2 1 2 3 6
 
0 1 0
0 0 1 

Mã Hóa Kênh
 Mã khối tuyến tính
Mã Hóa Kênh
 Mã khối tuyến tính
- Mạch giải mã:

 Từ mạch thực hiện syndrome và bảng giải mã


 Ta xây dựng bảng chân trị
 Thực hiện mạch bằng các cổng logic (AND, OR,
INV)
Mã Hóa Kênh
 Mã khối tuyến tính
- Mạch giải mã:
Mã Hóa Kênh
 Mã vòng
- Đặc điểm của mã vòng
 Khả năng sửa lỗi cao
 Thực hiện dễ dàng bằng phần cứng, bằng các thanh
ghi dịch và tổng XOR
 Dịch vòng một từ mã sẽ được một từ mã thuộc cùng
bộ mã
 Biểu diễn mã vòng bằng đa thức
Mã Hóa Kênh
 Mã vòng
- Một mã tuyến tính C(n,k) được gọi là mã vòng nếu
a0a1…an-1 là một từ mã thì an-1a0 a1 …an-2 cũng là
một từ mã
- Mã vòng có tính chất vòng, dịch phải 1 bit tương
đương dịch trái (n-1) bit.
- c = a0a1…an-1 là một từ mã thì c(x) = a0 xn-1 + a1 xn-2 +
…. an-2x + an-1 là đa thức mã tương ứng với từ mã c.
Mã Hóa Kênh
 Mã vòng
- Định lý 1: Đa thức mã khác không bậc nhỏ nhất của
một bộ mã vòng là duy nhất.
g(x) = g0xn-k + g1xn-k-1 +….+ gn-k-1 x + gn-k
- Định lý 2: Hệ số g0 = gn-k = 1.
- Định lý 3: Đa thức mã khác không bậc nhỏ nhất của
một bộ mã vòng là đa thức sinh của bộ mã.
- Định lý 4: Đa thức sinh của một mã vòng C(n,k) có
bậc r = n – k và là ước số của xn + 1.
Mã Hóa Kênh
 Mã vòng
- Cho bộ mã sau
c={0000000,1011100,0101110,0010111,1001011,110
0101,1110010,0111001}
a) Kiểm tra bộ mã có phải là tuyến tính và là mã vòng
không ?
b) Xác định đa thức mã khác không bậc nhỏ nhất của bộ
mã ?
c) Xác định đa thức sinh của bộ mã ?
Mã Hóa Kênh
 Mã vòng
- Ma trận sinh của bộ mã vòng

 g   g0 g1  g n − k 0 0  0 
 xg  0 g 0  g n − k −1 g n−k 0  0 
   
G = x2 g          
   
   0  0 g0 g1  gn−k 0 
 x k −1 g   0  0 0 g0 g1  g n − k 
Mã Hóa Kênh
 Mã vòng
- Ma trận sinh hệ thống:
 Ma trận sinh hệ thống của mã vòng có dạng tương tự
như ma trận sinh hệ thống của mã tuyến tính.
 Ta có thể biến đổi ma trận sinh hệ thống dạng 1 sang
dạng 2 và ngược lại bằng cách dịch vòng.
 Lưu ý: Mã vòng chỉ sử dụng các phép biến đổi sơ cấp
trên hàng.
Mã Hóa Kênh
 Mã vòng
- Ma trận kiểm tra chẵn lẻ
- Cách 1: Áp dụng phương pháp như mã tuyến tính
- Cách 2: Áp dụng định lý xn +1 = g(x)h(x)

 hk hk −1  h0 0 0  0
 h  
 Xh   0 hk  h1 h0 0  0 
H ( n − k ) xn =
=         
    
 n − k −1   0  0 hk hk −1  h0 0 
X h
 0  0 0 hk hk −1  h0 
Mã Hóa Kênh
 Mã vòng
- Giả sử thông điệp c có đa thức c(x)
- Từ mã w sẽ có đa thức là w(x)
- Chia c(x)*xr cho g(x) được đa thức dư q(x)
- Đa thức từ mã là w(x) = c(x)*xr + q(x)  tìm từ mã
w tương ứng.
Mã Hóa Kênh
 Mã vòng
- Ví dụ: mã hoá chuỗi bit thông điệp 1110 0110 bằng
mã vòng C(12, 8) với g = 11001
 từ mã là 1110 0110 0110.
Mã Hóa Kênh
 Mã vòng
- Đa thức syndrome được tính như sau:
s(x) = r(x)h(x) =c(x)h(x)+e(x)h(x) = e(x)h(x)
ở đây r(x) là đa thức nhận được, e(x) là đa thức lỗi
- Đa thức syndrome là phần dư của phép chia đa thức
nhận được r(x) cho đa thức sinh g(x)
- Đa thức syndrome là phần dư của phép chia vector lỗi
e(x) cho đa thức sinh g(x)
Mã Hóa Kênh
 Mã vòng
- Bộ mã vòng có đa thức sinh g(x)= 1 + x + x3
- Bảng syndrome tương ứng với mẫu lỗi
Vector lỗi Vector syndrome
e6(x) = x6 (1000000) s6(x) = 1 + x2 (101)
e1(x) = x5 (0100000) s5(x) = 1 + x + x2 (111)
e2(x) = x4 (0010000) s4(x) = x + x2 (110)
e3(x) = x3 (0001000) s3(x) = 1 + x (011)
e4(x) = x2 (0000100) s4(x) = x2 (100)
e5(x) = x (0000010) s5(x) = x (010)
e6(x) = 1 (0000001) s6(x) = 1 (001)
Mã Hóa Kênh
 Mã vòng
- Định lý Meggitt

 Nếu s(x) là syndrome của r(x) thì xs(x) = s(1)(x) là


syndrome của r(1)(x)
 s(1)(x) = xs(x) mod g(x)
Mã Hóa Kênh
 Mã vòng
Giải mã bằng phương
pháp bẫy lỗi
Mã Hóa Kênh
 Mã vòng
Ví dụ: mã hoá 4 bit 1100 với g = 1101 ta được w = 1100
101. Giả sử phía thu thu được từ mã r= 1110101
- Lấy r(x) chia cho g(x)  phát hiện sai và kết luận
dịch vòng trái.
- Dịch vòng trái lần 1 (DEM =1), r = 1101011, rồi chia
r(x) mới cho g(x) được đa thức symdrome mới s =
011, w(s) = 2 > 1  tiếp tục dịch vòng
- Dịch vòng trái lần 2 (DEM =2), r = 1010111, rồi chia
r(x) mới cho g(x) được s = 110 (w(s)=2 > 1)  tiếp
tục dịch vòng
Mã Hóa Kênh
 Mã vòng
- Dịch vòng trái lần 3 (DEM =3), r = 0101111, rồi chia
r(x) mới cho g(x) được s = 001. Bởi vì w(s) = 1 
tiến hành cập nhật.
- r’ = r + s = 0101111 + 001 = 0101110.
- Tiến hành dịch vòng phải r’ 03 lần, ta được từ mã
chính xác 1100101
Mã Hóa Kênh
 Mã vòng
- Giải mã
 Xác định syndrome của đa thức nhận được
 Nếu s(x) bằng không thì từ mã nhận được là từ mã
phát đi.
 Nếu s(x) khác không thì đa thức mã truyền đi được
tính bằng cách:
 c’(x) = e(x) + r(x)
Mã Hóa Kênh
 Mã vòng
- Cho bộ mã vòng C(6,4) có đa thức sinh: g(x) = 1 + x +
x2
a) Tìm đa thức kiểm tra chẵn lẻ h(x)
b) Viết ma trận sinh, ma trận sinh hệ thống, ma trận kiểm
tra chẵn lẻ
c) Tìm từ mã c hệ thống và đa thức của nó với thông tin
ngõ vào u = {1100,1001,1010}
d) Tìm syndrome của từ mã nhận được r = 101110
e) Tìm từ mã c đã truyền đi của câu d
Mã Hóa Kênh
 Mã vòng – Thực hiện bằng phần cứng

- Mạch mã hóa theo đa thức sinh


- Mạch mã hóa theo đa thức sinh hệ thống
- Mạch tính syndrome
- Mạch giải mã bằng phương pháp Meggitt
Mã Hóa Kênh
 Mã vòng – Thực hiện bằng phần cứng
- Áp dụng nguyên tắc: c(x) = m(x)g(x)
- Trọng số lớn nhất của m(x) mã hóa đầu tiên
Mã Hóa Kênh
 Mã vòng – Thực hiện bằng phần cứng
- Cho mã vòng C(7,4) đa thức sinh: g(x) = 1 + x + x3
- Thông điệp cần mã hóa: m(x) = 1 +x2 + x3
Mã Hóa Kênh
 Mã vòng – Thực hiện bằng phần cứng
- Theo thứ tự bit có trọng số nhỏ nhất trước
Mã Hóa Kênh
 Mã vòng – Thực hiện bằng phần cứng
- Cho đa thức sinh: g(x) = 1 + x + x3
- Thông điệp cần mã hóa: m(x) = 1 +x2 + x3
Mã Hóa Kênh
 Mã vòng – Mạch tính Syndrome
- Syndrome là phần dư của phép chia r(x) cho g(x):
r(x) = q(x)g(x) + s(x).
- Kiến trúc trọng số lớn nhất.
- Thực hiện:
- Reset tất cả thanh ghi về 0
- n-k bit đầu vào thanh ghi
- k bit còn lại để tính q(x)
- Phần còn lại của thanh ghi sẽ là s(x)
Mã Hóa Kênh
 Mã vòng – Mạch tính Syndrome
Mã Hóa Kênh
 Mã vòng – Mạch tính Syndrome
- Cho đa thức sinh: g(x) = 1 + x + x3
- Vector nhận được tại phía thu: r(x) = 1 + x2 + x5 + x6 .
Mã Hóa Kênh
 Mã vòng – Mạch giải mã Meggitt
Mã Hóa Kênh
 Mã vòng – Mạch tính Syndrome
Mã Hóa Kênh
 Mã Hamming
Mã Hamming là một trường hợp riêng đơn giản của mã
vòng. Mã Hamming có khoảng cách Hamming d=3, có
khả năng sửa được 1 lỗi.
Từ mã Hamming được biểu diễn dưới dạng tổng quát c
c i c i i i c i …. , i là các bit tin và c là các bit kiểm tra.
Các bit c chính là kết quả của phép XOR giá trị chỉ vị
trí của các bit 1 với nhau. Quá trình kiểm tra lỗi bên
thu diễn ra tương tự như bên phát.
Nếu kết quả của phép XOR khác 0 thì đó là vị trí của
bit lỗi.
Mã Hóa Kênh
 Mã Hamming

 Ví dụ: Từ mã phát đi: 00100110101


Mã Hóa Kênh
 Mã Hamming

- Từ mã phát nhận: 00000110101

- Lỗi ở vị trí thứ 3


Mã Hóa Kênh
 Mã Chập

• Mã chập được đặc trưng bởi 3 số nguyên n,k, K. Mã


chập (n,k,K) được xây dựng từ các thanh ghi dịch kK
bit. Bộ mã hóa là thanh ghi dịch K bit. Đầu ra của các
vị trí trong thanh ghi được lựa chọn để cộng modulo-2
với nhau. Số lượng bộ cộng modulo-2 chính là n.
Mã Hóa Kênh
 Mã Chập
Mã Hóa Kênh
 Mã Chập
• Biểu diễn mã chập bằng đa thức sinh
• Biểu diễn mã chập bằng sơ đồ cây
• Biểu diễn mã chập bằng sơ đồ lưới
• Giải mã chập bằng thuật toán Viterbi
Mã Hóa Kênh
 Thuật toán Viterbi
- Cơ sở giải mã lân cận gần nhất (nearest neighbor)
- Chọn đường có khoảng cách Hamming ngắn hơn
(đường sống)
Mã Hóa Kênh
 Thuật toán Viterbi
• Ví dụ: 1010001010

You might also like