Nội dung
Trường Đại học Khoa Học Tự Nhiên
Khoa Điện tử - viễn thơng
Bài 7:
MÃ HĨA KÊNH
Nội dung:
1. Giới thiệu
2. Các giải pháp kiểm soát lỗi
3. Mã lặp
4. Mã kiểm tra chẵn lẻ
5. Mã khối
6. Mã chập
1
Giới thiệu
Trường Đại học Khoa Học Tự Nhiên
Khoa Điện tử - viễn thông
GiỚI THIỆU
Tài nguyên thông tin:
Công suất, tốc độ & băng thông
Định lý dung lượng kênh (Shannon-Hartley):
C B log 2 (1 S / N ) (bps )
-> tồn tại phương pháp mã hóa kiểm sốt lỗi
Các phương pháp mã hóa kiểm sốt lỗi:
-ARQ (Automatic Repeat Request): phát hiện lỗi và tự động
yêu cầu truyền lại
-FECC (Forward Error Correction Coding): phát hiện lỗi và
sửa lỗi
2
Types of Error Control
Các loại kết nối đầu cuối
Faculty of Electronics & Telecommunications. HCMUS
[3]
Automatic repeat request (ARQ)
Faculty of Electronics & Telecommunications. HCMUS
[4]
Một số loại mã hóa sửa sai
Mã lặp (Repetition Code)
Mã khối tuyến tính (Linear Block Code), mã Hamming
Mã vịng (Cyclic Code)
Mã chập (Convolutional Code)
5
MÃ LẶP
Faculty of Electronics & Telecommunications. HCMUS
[6]
Mã lặp
Trong trường hợp truyền bit “0” và bit “1”, ta có thể thực hiện
như sau:
Bit truyền
Từ mã
0
000
1
111
Việc khơi phục dữ liệu dự vào số bit nào nhận được nhiều hơn
Chuỗi bit nhận
Khôi phục từ mã
Bit nhận
000
000
0
001
000
0
010
000
0
100
000
0
011
111
1
101
111
1
110
111
1
111
Faculty111
of Electronics & Telecommunications. HCMUS
1
[7]
MÃ KIỂM TRA CHẴN LẺ
(PARITY CHECK)
Faculty of Electronics & Telecommunications. HCMUS
[8]
Kiểm tra chẵn lẻ (Parity Check)
Thêm 1 bit, sau cho tổng số bit “1” là một số chẵn (parity chẵn,
kết quả xor bằng 0), hoặc lẻ (parity lẻ)
– Kiểm tra dữ liệu truyền, không thể sửa lỗi
Gửi kèm dữ liệu và một bit parity để báo hiệu tổng số bit ‘1’
trong từ mã là một số chẵn hay là số lẻ
- Phương pháp parity chẵn: tổng số bit 1 là một số chẵn
- Phương pháp parity lẻ: tổng số bit 1 là một số lẻ
Ví dụ: Một từ mã có 8 bit dữ liệu và 1 bit parity
+ Parity chẵn: P = 0
+ Parity lẻ: P =1
9
Kiểm tra chẵn lẻ (Parity Check)
Thêm 1 bit, sau cho tổng số bit “1” là một số chẵn (parity chẵn,
kết quả xor bằng 0), hoặc lẻ (parity lẻ)
– Kiểm tra dữ liệu truyền, không thể sửa lỗi
10
MÃ KHỐI TUYẾN TÍNH
(LINEAR BLOCK CODES)
Faculty of Electronics & Telecommunications. HCMUS
[11]
Mã khối tuyến tính – Định nghĩa
Trường Đại học Khoa Học Tự Nhiên
Khoa Điện tử - viễn thông
MÃ KHỐI TUYẾN TÍNH
Định nghĩa:
k bits
tin
Bộ mã hóa khối
n bits
Bit kiểm tra
(n-k) bits
n bits
từ mã
Bit thông tin
k bits
12
Mã khối tuyến tính – Mã hóa
Trường Đại học Khoa Học Tự Nhiên
Khoa Điện tử - viễn thông
MÃ KHỐI TUYẾN TÍNH
Phương pháp mã hóa:
Gọi vectơ m chứa k bits thơng tin cần mã hóa: m = [m0, m1,….mk-1 ]
và vectơ c chứa m = n – k bits kiểm tra:
c = [c0, c1,….cm-1 ]
-> Vectơ từ mã của mã khối tuyến tính (n,k):
U = [t0, t1,….tn-1 ] = [ c / m ] = [ c0, c1,….cm-1 / m0, m1,….mk-1 ]
Quy luật tạo từ mã:
U
[1 n ]
m [1 k ] G
Trong đó G là ma trận sinh có cấu trúc:
G[ k n ]
p 01 ...
V0 p 00
V p
p11 ...
10
1
... ...
... ...
V
k 1 p k 1,0 p k 1,1 ...
[kn]
G [ k n ] [ Pk m | I k k ]
p 0, m 1
p1, m 1
...
p k 1, m 1
0 ... 0
0 1 ... 0
... ... ... ...
0 0 ... 1
1
13
Mã khối tuyến tính – Bits kiểm tra
Trường Đại học Khoa Học Tự Nhiên
Khoa Điện tử - viễn thông
MÃ KHỐI TUYẾN TÍNH
Xác định các bits kiểm tra:
p01 ... p0,m1
p00
p10
p11 ... p1,m1
U[1n ] m[1,k ]G[ k ,n ] [m0 , m1 ,..., mk 1 ]
...
... ... ...
pk 1,0 pk 1,1 ... pk 1,m1
U[1n ] (u1 , u 2 ,....., u n ) [c0 , c1 ,..., cm1 / m0 , m1 ,..., mk 1 ]
c j m0 p0 j m1 p1 j ... mk 1 pk 1, j ,
1 0 ... 0
0 1 ... 0
... ... ... ...
0 0 ... 1
j 0,1,..., m 1
14
Mã khối tuyến tính – Ví dụ
Trường Đại học Khoa Học Tự Nhiên
Khoa Điện tử - viễn thông
MÃ KHỐI TUYẾN TÍNH
Ví dụ: cho tin cần mã hóa, m = [m0, m1, m2, m3 ] = [1 0 1 1]
Ma trận sinh G[4,7]: G
[ 4 ,7 ]
[ P4 , 3
1
0
/ I 4 ,4 ]
1
1
1 0 0 0
1 1 0 1 0 0
1 1 0 0 1 0
0 1 0 0 0 1
1 0
Xác định từ mã :
U
[1 , 7 ]
= m [1 , 4 ] G
[ 4 ,7 ]
1
0
[1 0 1 1 ]
1
1
1
1
1
0
0
1
1
1
1
0
0
0
0
1
0
0
0 0
0 0
1 0
0 1
-> Từ mã : u = [c0, c1, c2, m0, m1 , m2 , m3] = [1 0 0 1 0 1 1]
15
Mã khối tuyến tính – Ma trận kiểm tra H
Trường Đại học Khoa Học Tự Nhiên
Khoa Điện tử - viễn thơng
MÃ KHỐI TUYẾN TÍNH
Ma trận kiểm tra H:
1
0
T
H[ m,n ] [I[ m,m ]Pk ,m ]
...
0
0 ... 0
p00
p10 ...
1 ... 0
p01
p11 ...
... ... ...
...
...
...
0 ... 1 p0,m1 p1,m1 ...
pk 1,0
pk 1,1
...
pk 1,m1
GH T 0
uH T 0
u [c0 , c1 ,..., cm 1 / m 0 , m1 ,..., m k 1 ]
u j m0 p0 j m1 p1 j ... mk 1 pk 1, j 0 ,
j 0,1,..., m 1
16
Ví dụ
Trường Đại học Khoa Học Tự Nhiên
Khoa Điện tử - viễn thơng
MÃ KHỐI TUYẾN TÍNH
Ví dụ: Từ ma trận sinh G trên, xác định ma trận kiểm tra H
Ma trận sinh G[4,7]:
Xác định ma trận
kiểm tra H :
H [ 3 , 7 ] [ I 3 ,3
G
[ 4 ,7 ]
[ P4 , 3
1
0
/ I 4 ,4 ]
1
1
1 0 0 0
1 1 0 1 0 0
1 1 0 0 1 0
0 1 0 0 0 1
1 0
1 0 0 1 0 1 1
/ P4T,3 ] 0 1 0 1 1 1 0 H T [ 3 , 7 ]
0 0 1 0 1 1 1
1
0
0
1
0
1
1
0 0
1 0
0 1
1 0
1 1
1 1
0 1
17
Mã khối tuyến tính – Giải mã
Trường Đại học Khoa Học Tự Nhiên
Khoa Điện tử - viễn thông
MÃ KHỐI TUYẾN TÍNH
Phương pháp giải mã:
Gọi từ mã phát đi:
u = [c0 , c1,….cm-1 / m0 , m1,….mk-1 ]
Gọi từ mã thu được:
r = [r0 r1,….rn-1 ]
Vectơ sai:
e = [e0 e1,….en-1 ]
trong đó:
ei =1 nếu ti ≠ ri
và
ei =0 nếu ti = ri
Thuật toán giải mã Syndrome (đặc trưng):
s r H T e H T ( s 0 s1 .... s m 1 )
s 0 e 0
s 0 e 1
18
Giải mã Syndrome
Trường Đại học Khoa Học Tự Nhiên
Khoa Điện tử - viễn thơng
MÃ KHỐI TUYẾN TÍNH
Thuật tốn giải mã Syndrome:
Bước 1:
Tính Syndrome s = rHT
Bước 2:
Tìm ei = rHT -> Vectơ sai gây bởi kênh truyền
Bước 3:
Giải mã tín hiệu thứ r -> u = r +e
19
Ví dụ
Trường Đại học Khoa Học Tự Nhiên
Khoa Điện tử - viễn thơng
MÃ KHỐI TUYẾN TÍNH
Ví dụ: Cho từ mã u = [c0, c1, c2, m0, m1 , m2 , m3] = [1 0 0 1 0 1 1]
Giải mã theo thuật tốn Syndrome có ma trận H đã cho với
vectơ mã thu được :
r = [r0 r1 r2 r3 r4 r5 r6] = [1 0 0 1 0 0 1]
Tính vectơ Syndrome :
s r H
T
1 0
0 1
0 0
( r 0 r1 r 2 r 3 r 4 r 5 r 6 ) 1 1
0 1
1 1
1 0
0
0
1
0
1
1
1
( s 0 s1 s 2 )
20