You are on page 1of 33

10/14/2020

CHƯƠNG 6

GV: Huỳnh Tuyết Vy

Chương 6. Mã Hóa Kênh Truyền


6.1. Tổng Quan:
Mã hóa kênh (channel encodding) hay mã hóa điều khiển lỗi
được sử dụng để phát hiện và sửa các ký tự hay các bit thu bị
lỗi, nhằm giảm tỉ lệ lỗi trong hệ thống khi tỉ lệ này lớn quá
mức cho phép
6.1.1. Các PP Điều Khiển Lỗi:
 Tăng công suất phát
 Phân tập
 Truyền song công
 Yêu cầu lặp lại tự động ARQ
 Mã hóa sửa lỗi không phản hồi FECC

1
10/14/2020

Chương 6. Mã Hóa Kênh Truyền


6.1. Tổng Quan:
6.1.2. Phân Loại:

Chương 6. Mã Hóa Kênh Truyền


6.1.2. Phân Loại:
a. Mã khối:
Được đặc trưng bởi 2 số
nguyên n và k và ma trận
hay đa thức sinh
b. Mã chập:
Cũng được đặc trưng bởi 2 số nguyên là n và k như mã khối
nhưng n bit ra khỏi bộ mã hóa không chỉ phụ thuộc vào k bit
vào mà còn phụ thuộc K-1 bộ k bit vào trước đó. K được gọi
là độ dài ràng buộc. Mã chập (n,k,K) là mã có nhớ

2
10/14/2020

Chương 6. Mã Hóa Kênh Truyền


6.1.3. Khả Năng Phát Hiện Và Sửa Lỗi Của Mã Khối:
a. Mối quan hệ giữa khoảng cách Hamming và khả năng
phát hiện và sửa lỗi
Khoảng cách Hamming giữa 2 từ mã bất kỳ có cùng độ dài
được định nghĩa là số vị trí mà chúng khác nhau
Công thức cho phép xác định số bit lỗi mã cho phép phát
hiện và sửa:
Khả năng phát hiện lỗi: d = r+1
Khả năng sửa lỗi: d ≥ 2s+1
Với: d: khoảng cách Hamming
r: số lỗi phát hiện được
s: số lỗi sửa được

Chương 6. Mã Hóa Kênh Truyền


a. Mối quan hệ giữa khoảng cách Hamming và khả năng
phát hiện và sửa lỗi
Ví dụ: Nếu khoảng cách Hamming là 2 thì có khả năng phát
hiện được 1 lỗi, nếu khoảng cách Hamming là 3 thì có khả
năng phát hiện được 1 lỗi và sửa được 1 lỗi
b. Mối quan hệ giữa độ dài tổng cộng của từ mã và số bit
tin

Với: n: độ dài tổng cộng của từ mã


k: số bit tin có trong từ mã

3
10/14/2020

Chương 6. Mã Hóa Kênh Truyền


6.2. Mã Khối:
6.2.1. Mã Kiểm Tra Chẵn Lẽ (Parity):
Mỗi ký tự trước khi truyền đi được thêm vào 1 bit P (bit
Parity). Bit P được tính toán dựa vào tổng số bit 1 trong ký
(kể cả bit P). P là 0 hay 1 sao cho tổng số bit 1 (N+P) luôn là
một số chẵn (lẻ) tùy theo phương pháp parity chẵn hay lẻ
tương ứng

Chương 6. Mã Hóa Kênh Truyền


6.2.1. Mã Kiểm Tra Chẵn Lẽ (Parity):
 Khi nhận ký tự, bên thu
sẽ thực hiện tính toán bit
Parity tương tự như bên
phát và so sánh. Nếu bằng
nhau thì kết luận không có
lỗi, nếu khác nhau thì có lỗi
 Mạch tính toán bit Parity
cho cả bên phát và bên thu
đơn giản là tập các cổng XOR

4
10/14/2020

Chương 6. Mã Hóa Kênh Truyền


6.2.1. Mã Kiểm Tra Chẵn Lẽ (Parity):
Đặc điểm:
Chỉ dò được lỗi sai một số lẻ bit, không dò được lỗi sai
một số chẵn bit
Không sửa được lỗi
Hiệu suất truyền thông tin kém, do số bit thêm vào để dò
tìm lỗi chiếm tỷ lệ lớn so với dữ liệu truyền đi.

Chương 6. Mã Hóa Kênh Truyền


6.2. Mã Khối:
6.2.2. Mã Kiểm Tra Tổng Khối BCC (Block sum Check
Character):
 Mỗi ký tự trong khối được thêm vào một bit P, gọi là bit
parity hàng (row parity), mỗi vị trí của bit trong khối được
thêm vào một bit P gọi là bit parity cột (colum parity).
 Tập các bit parity
cột tạo thành ký tự
kiểm tra tổng khối
BCC

5
10/14/2020

Chương 6. Mã Hóa Kênh Truyền


6.2. Mã Khối:
6.2.2. Mã Kiểm Tra Tổng Khối BCC (Block sum Check
Character):
 Nếu có 2 bit lỗi trong cùng ký tự thì không được phát hiện
nhờ bit parity hàng nhưng phát hiện nhờ bit parity cột.
 Mã không phát hiện được lỗi sai một số chẵn bit xảy ra
đồng thời trên cả hàng và cột
 Sửa được sai khi số bit sai trong dữ liệu là một

Chương 6. Mã Hóa Kênh Truyền


6.2. Mã Khối:
6.2.3. Mã Khối Tuyến Tính:
 Luồng thông tin được
hia thành các khối có độ
dài bằng nhau k bit
 Từ mã: các bit nhận
được ở đầu ra bộ mã hóa
 Bit kiểm tra: bit dư được bổ sung vào các khối bản tin theo
thuật toán nào đó tùy thuộc loại mã sử dụng, có độ dài (n-
k) bit
 Thông số xác định bộ mã hóa: độ dài khối bản tin k bit, độ
dài từ mã n bit, khoảng cách Hamming d

6
10/14/2020

Chương 6. Mã Hóa Kênh Truyền


6.2.3. Mã Khối Tuyến Tính:
Hoạt động của bộ mã hóa có thể được biểu diễn toán học ở
dạng ma trận hay đa thức. Các ma trận hay các đa thức này
được gọi là ma trận tạo mã hay đa thức tạo mã
6.2.3.1 Ma Trận Tạo Mã
Gồm: Ma trận tạo mã: xác định từ mã đầu ra
Ma trận kiểm tra chẵn lẻ: kiểm tra từ mã nhận được
ở đầu thu
Quy ước:

Chương 6. Mã Hóa Kênh Truyền


6.2.3.1 Ma Trận Tạo Mã
Ma trận tạo mã: xác định từ mã đầu ra theo công thức:
= .
Với: t: từ mã đầu ra (n bit)
u: thông tin cần mã hóa (k bit)
G(k,n): ma trận tạo mã (ma trận sinh)

, , … ,

, = = …

… … … …
, , ,

, ,
… ,

7
10/14/2020

Chương 6. Mã Hóa Kênh Truyền


6.2.3.1 Ma Trận Tạo Mã
Ví dụ: Cho ma trận sinh của một mã tuyến tính (7,4) như

1101000
sau:

4,7 = 1 0 1 1 1 0 0
0100011
1 0 1 0 00 1
Nếu u=(1101) là thông tin cần mã hóa thì từ mã tương ứng là
t=(1100101)

Chương 6. Mã Hóa Kênh Truyền


6.2.3.1 Ma Trận Tạo Mã
Cách Giải Mã:
Lấy lại mã trận sinh ở ví dụ trên
Bản tin: u=( , , , )
Từ mã: t=( , , , , , , )
Có hệ phương trình liên hệ giữa u và t như sau:
= + + = = +
= + = + =
= + =
= + = +
=

8
10/14/2020

Chương 6. Mã Hóa Kênh Truyền


6.2.3.2 Mã Tuyến Tính Hệ Thống, Ma Trận Sinh Hệ
Thống
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ã gồm phần thông tin k bit đi trước và phần
kiểm tra (n-k) bit đi sau

Dạng 2: ngược lại với dạng 1

Cần xác định lại ma trận sinh tương ứng

Chương 6. Mã Hóa Kênh Truyền


6.2.3.2 Mã Tuyến Tính Hệ Thống, Ma Trận Sinh Hệ Thống
Đối với dạng 1, ma trận sinh có dạng như sau:

, , … ,
, = | … … … … =
, , … ,
Dạng 2, ma trận sinh có dạng:
, … , ,
G , = … … … … | =
, , … ,
I: là ma trận đơn vị (k, k)
Ma trận G(k,n) là ma trận chính tắc được tạo thành từ ma trận G
ban đầu

9
10/14/2020

Chương 6. Mã Hóa Kênh Truyền


6.2.3.2 Mã Tuyến Tính Hệ Thống, Ma Trận Sinh Hệ
Thống
Ví dụ: Biến đổi ma trận sinh ở ví dụ trên thành ma trận
tuyến tính hệ thống như sau:
1000110
G 4,7 = 0 1 0 0 0 1 1
0010111
0 0 0 1 10 1

Nếu u=(1101) là thông tin cần mã hóa thì từ mã tương ứng là


(1101000)

Chương 6. Mã Hóa Kênh Truyền


6.2.3.2 Mã Tuyến Tính Hệ Thống, Ma Trận Sinh Hệ
Thống
Ví dụ: Cho ma trận sinh sau, xác định ma trận sinh tuyến
1110010
tính:

G 4,7 = 1 0 0 1 1 1 0
0001101
1 0 1 0 10 1

10
10/14/2020

Chương 6. Mã Hóa Kênh Truyền


6.2.3.3 Ma Trận Kiểm Tra
Ma trận kiểm tra của bộ mã có ma trận sinh là G(k,n) là ma
trận H(n-k,n) sao cho: G x ! =0
Ví dụ: Tìm ma trận kiểm tra H của ma trận sinh G ở vị dụ
trên

1101000
4,7 = 1 0 1 1 1 0 0
0100011
1 0 1 0 00 1

Chương 6. Mã Hóa Kênh Truyền


6.2.3.3 Ma Trận Kiểm Tra
Nếu ma trận sinh có dạng 1:

, = | ( )

Thì: H − , = ( )
!
| ( )( )

Nếu ma trận sinh có dạng 2:


, = ( ) |
Thì:

H − , = ( )( )| ( )
!

11
10/14/2020

Chương 6. Mã Hóa Kênh Truyền


6.2.3.4 Syndrome
Syndrome là 1 từ mã độc lập với từ mã phát và chỉ phụ thuộc
vào dãy thu bị lỗi, S=r.%& , r là từ mã nhận được
Từ mã nhận t đúng khi S=0
Cách giải mã:
 Bước 1: tính Syndrome ' = (. !
 Bước 2: tìm xem S trùng với cột nào của ma trận H thì có
sai ở vị trí tương ứng
 Bước 3: sửa sai để thu lại thông điệp ban đầu

Chương 6. Mã Hóa Kênh Truyền


6.2.3.4 Syndrome
Ví dụ:

) = 1011 ⇒ + = 1001011
1101000 1001011
= 0 1 1 0 1 0 0 ⇒ = 0101110
1110010
0010111
1 0 1 0 00 1
Nhận được ( = 1001001 → sai ở bit thứ 6
Tính Syndrome: ' = (. ! = 1 1 1
→ trùng cột 6 của ma trận H
→ sai ở vị trí bit thứ 6

12
10/14/2020

Chương 6. Mã Hóa Kênh Truyền


6.2. Mã Khối:
6.2.3. Mã Hamming:
 Với - ≥ 3, tồn tại mã Hamming với các thông số:
• = 21 − 1: chiều dài từ mã
• = 21 − - − 1: chiều dài phần mang tin tức
• - = − : chiều dài phần kiểm tra
• Khả năng sửa sai: 1 lỗi

=
1 2
Dạng cấu trúc hệ thống của ma trận kiểm tra H:

21 − - − 1 cột với mỗi cột là vector m chiều có trọng số


Trong đó Im là ma trận đơn vị (m x m) và Q là ma trận có

lớn hơn 2

→ các bit kiểm tra sẽ xen kẽ các bit mang tin→mất tính chất
Thực tế, người ta thường đổi vị trí các cột của ma trận H.

khối

+ !=0
Để tạo mã, ta sử dụng công thức:

Với t: từ mã và ! là ma trận chuyển vị của H (chuyển

Các bit kiểm tra thường được chọn ở các vị trí 23 với
hàng thành cột)

4 = 0,1, …

13
10/14/2020

Ví dụ: ma trận H có cấu trúc:

100 1011
3,7 = 010 1110
001 0111

I Q
Ví dụ: xáo trộn các cột của ma trận H:

0001111
3,7 = 0110011
1010101

Ví dụ: ) = ) ) ) ) = (1 0 1 1)
0001111
3,7 = 0110011
1010101

→ + = (5 6 ) 7 ) ) ) )

Các bit kiểm tra ở vị


trí 1,2,4

14
10/14/2020

0 0 1
0 1 0
0 1 1
+ !
= 0 ⇔ (5 6 ) 7 ) ) ) ) 1 0 0 = 0
1 0 1
1 1 0
1 1 1
5. 0 + 6. 0+ ) . 0 + 7. 1 + ) . 1 + ) . 1 + ) . 1 = 0
⇔ 95. 0 + 6. 1+ ) . 1 + 7. 0 + ) . 0 + ) . 1 + ) . 1 = 0
5. 1 + 6. 0+ ) . 1 + 7. 0 + ) . 1 + ) . 0 + ) . 1 = 0
7 =) +) +) =0+1+1=0
⇔ 96 = ) + ) + ) = 1 + 1 + 1 = 1 → + = 0 1 1 0 0 1 1
5 = ) +) +) = 1+0+1 =0

Cách giải mã Hamming tương tự như mã khối tuyến tính:


Bước 1: tính Syndrome ' = (. !

Bước 2: tìm xem S trùng với cột nào của ma trận H thì có sai
ở vị trí tương ứng (với ma trận H được xáo trộn thì chỉ cần
xem S có giá trị bằng bao nhiêu thì sẽ sai ở bit tương ứng)
Bước 3: sửa sai để thu lại thông điệp ban đầu

15
10/14/2020

Truyền: + = 0 1 1 0 0 1 1
Nhận: r = 0 1 1 0 0 0 1 →sai ở bit thứ 6

0 0 1
Tính

0 1 0
0 1 1
Syndrome: S = ( !
= 0110001 1 0 0 =
1 0 1
1 1 0
1 1 1
110 = 6 ≠ 0
→có lỗi sai và sai ở bit thứ 6

Chương 6. Mã Hóa Kênh Truyền


6.2. Mã Khối:
6.2.4. Mã Vòng:
Thuộc họ mã khối tuyến tính, được sử dụng rộng rãi nhờ 2
ưu điểm nổi bật:
• Việc mã hóa và giải mã thực hiện dễ dàng qua các thanh
ghi dịch có vòng hồi tiếp.
• Cấu trúc đại số của mã vòng cho phép sử dụng nhiều
phương pháp để mã hóa

16
10/14/2020

Chương 6. Mã Hóa Kênh Truyền


6.2.4. Mã Vòng:
 Mã tuyến tính C(n,k) là mã vòng nếu dịch vòng một vector
mã thuộc C thì vector mới cũng là vector mã trong C.
 ) = () ) … ) ): thông tin→ )(5) = ) + ) 5 + ⋯ +
) 5
 + = (+ + … + ): từ mã→ + 5 = ) 5 . 5
 Đa thức sinh g(x) là một thừa số của 5 + 1 (bậc của đa
thức sinh là n-k)
→một mã vòng có nhiều đa thức sinh

Chương 6. Mã Hóa Kênh Truyền


6.2.4. Mã Vòng:
Thiết lập mã vòng dạng chính tắc:
Bước 1: tính A(5) = 5 )(5)
Bước 2: chia A(5) cho (5) thu được a(5) và số dư b(5)
A 5 =5 ) 5 = 5 5 + (5)
Bước 3: tính từ mã truyền đi
+ 5 =5 ) 5 + 5 = 5 5

Ví dụ:mã vòng C(7,4) có 5 = 5 + 5 + 1


) = 1001 → ) 5 = 1 + 5
Bước 1: Tính A 5 = 5 ) 5 = 5 + 5

17
10/14/2020

Chương 6. Mã Hóa Kênh Truyền


6.2.4. Mã Vòng:
Bước 2: chia A(5) cho (5)
5 +5 5 +5+1
5 +5 +5 5 +5 a(x)
5
5 +5 +5
b(x) 5 +5

+ 5 = 5 5 = (5 +5) 5 + 5 + 1 = 5 +5 +5 + 5
Bước 3: tính từ mã

Hoặc + 5 = A 5 + 5 = 5 + 5 + 5 + 5
→ + = 0 1 1 1 0 0 1 → có dạng khối tuyến tính

Bit kiểm tra u

Chương 6. Mã Hóa Kênh Truyền


6.2.4. Mã Vòng:
Ma trận sinh G: tạo thành từ đa thức sinh g(x) bằng cách dịch vòng.

5 =5 +5+1→ = 1101
1101000
Ví dụ: mã vòng C(7,4) với

⇒ (4,7) = 0 1 1 0 1 0 0
0011010
0001101

1101000
Dạng chính tắc:
1001011
4,7 = 0 1 1 0 1 0 0 → 4,7 = 0 1 0 1 1 1 0
1110010
0010111
1010001
B I I BT

18
10/14/2020

Chương 6. Mã Hóa Kênh Truyền


6.2.4. Mã Vòng:

Giải mã mã vòng

' = (. !
Bước 1: Tính Syndrome

Bước 2: Dò tìm và sửa sai, nếu S trùng với cột nào của ma
trận kiểm tra H thì xảy ra sai ở vị trí đó.

Chương 6. Mã Hóa Kênh Truyền


6.2.4. Mã Vòng:
Truyền: + = 0 1 1 1 0 0 1
Nhận: r = 0 1 1 1 1 0 1 →sai ở bit thứ 5

1 0 0
Tính Syndrome:

0 1 0
0 0 1
S=( !
= 0111101 1 1 0 = 011 ≠ 0
0 1 1
1 1 1
1 0 1
→có lỗi sai và sai ở bit thứ 5

19
10/14/2020

Chương 6. Mã Hóa Kênh Truyền


6.3. Mã Chập:
6.3.1. Mã Hóa Mã Chập:
 Từ mã tạo ra không chỉ phụ thuộc vào bit đưa vào mà còn
phụ thuộc vào các bit trước đó.
 Mã chập có 3 thông số:
 k: số tầng của bộ mã hóa
 K: số thanh ghi dịch trong một tầng
 n: số bit đầu ra (số lượng bộ cộng module 2)
 Tốc độ mã: C =

Chương 6. Mã Hóa Kênh Truyền


6.3. Mã Chập:
6.3.1. Mã Hóa Mã Chập:

Chuỗi bit đầu vào m gồm các bit m1


m2 m3…được đưa vào kK thanh ghi
dịch.
Các giá trị trong thanh ghi dịch được
tổng hợp qua n bộ cộng modulo 2.
Một khóa sẽ lấy lần lượt các bit từ mã
ở đầu ra.

20
10/14/2020

Chương 6. Mã Hóa Kênh Truyền


6.3. Mã Chập:
6.3.1. Mã Hóa Mã Chập:
Ví dụ: bộ mã hóa chập với k=1, K=3, n=2
Chuỗi bit vào: 100
Chuỗi bit ra: 11 10 11

Chương 6. Mã Hóa Kênh Truyền


a. Tính mã chập bằng đáp ứng xung:
Đáp ứng xung : là đáp ứng của bộ mã hóa khi bit 1 đi qua
Ví dụ: chuỗi bit vào m=101

Ta thấy với 3 bit đầu vào ta có 10 bit đầu ra.


⇒ tốc độ mã là D (tốc độ thực của mã) (do bit cuối cùng mất thời
gian để đi hết các thanh ghi dịch)
Khi số lượng bit đầu vào lớn thì tốc độ mã E

21
10/14/2020

Chương 6. Mã Hóa Kênh Truyền


b. Tính mã chập bằng đa thức sinh:

F =1+F+F
Dưới dạng đa thức ta có thể tính toán như sau:

F =1+F
Hàm của bộ cộng 1:

Chuỗi đầu vào: - = 101 → G F = 1 + F


Hàm của bộ cộng 2:

H F =G F F = 1+F 1+F+F
= 1 + X + 0F + F + F
H F =G F F = 1+F 1+F
= 1 + 0X + 0F + 0F + F
⇒H F = H F ,H F
= (1,1) + (1,0)X + (0,0)F + (1,0)F +(1,1)F
⇒ ) = 11 10 00 10 11

Chương 6. Mã Hóa Kênh Truyền


c. Tính mã chập bằng giản đồ trạng thái:
 Các hình vuông để biểu hiện
trạng thái của mã. Các trạng
thái là tất cả các giá trị có thể
của K-1 thanh ghi (không tính
thanh ghi đầu tiên bên trái).
 Các đường mũi tên ngược
chiều kim đồng hồ biểu diễn
sự thay đổi trạng thái. Nét liền
tương ứng với bit 0 được đưa
vào, nét đứt ứng với bit 1.
 Trên các mũi tên ghi các bit ra
ứng với sự thay đổi trạng thái
đó.

22
10/14/2020

Chương 6. Mã Hóa Kênh Truyền


c. Tính mã chập bằng giản đồ trạng thái:
Chuỗi đầu vào: - = 101

Bit Trạng thái Trạng thái Trạng u1 u2


vào thanh ghi hiện tại thái kế
tiếp
1 100 00 10 1 1
0 010 10 01 1 0
1 101 01 10 0 0
0 010 10 01 1 0
0 001 01 00 1 1
Từ mã đầu ra: u = 11 10 00 10 11

Chương 6. Mã Hóa Kênh Truyền


d. Tính mã chập bằng giản đồ cây:
 Giản đồ cây tạo ra bằng cách thêm trục thời gian vào giản đồ trạng
thái.
 Mỗi bit vào sẽ phân cây thành 2 nhánh mới: bit 0 ứng với nhánh trên
và bit 1 ứng với nhánh dưới.
 Trên mỗi nhánh là từ mã tạo thành ở đầu ra.

23
10/14/2020

Chương 6. Mã Hóa Kênh Truyền


e. Tính mã chập bằng giản đồ Trellis:
 Số hàng là số trạng thái của K-1 thanh ghi (không tính thanh ghi
đầu tiên bên trái). Mỗi trạng thái ứng với 1 hàng.
 Đường mũi tên nét liền ứng với sự thay đổi trạng thái khi bit vào là
bit 0, nét đứt ứng với bit 1.
 Trên các đường mũi tên là từ mã tạo ra ở đầu ra.

Chương 6. Mã Hóa Kênh Truyền


e. Tính mã chập bằng giản đồ Trellis:

24
10/14/2020

Chương 6. Mã Hóa Kênh Truyền


6.3. Mã Chập:
6.3.2. Giải mã mã chập bằng thuật toán Viterbi:
 Dựa vào giản đồ Trellis.
 Khoảng cách Hamming: là số bit khác nhau giữa 2 số nhị
phân.
 Tính khoảng cách Hamming giữa từ mã nhận được với từ mã
trên giản đồ Trellis.
 Nếu có nhiều đường cùng đến 1 điểm thì sẽ loại trừ bằng cách
chọn đường có tổng khoảng cách Hamming nhỏ nhất.

Chương 6. Mã Hóa Kênh Truyền


6.3.2. Giải mã mã chập bằng thuật toán Viterbi:
-=1 1 0 1 1
) = 11 01 01 00 01
Chuỗi đầu vào:

Từ mã nhận được: 7 = 11 01 01 10 01
Từ mã tạo ra:

Tính khoảng cách Hamming từ giản đồ Trellis:

25
10/14/2020

Chương 6. Mã Hóa Kênh Truyền


6.3.2. Giải mã mã chập bằng thuật toán Viterbi:

Tại t2 ta có 2 Tổng khoảng


cách Hamming
đường:
ứng với mỗi
đường

Tại t3 ta có 4
đường:

Chương 6. Mã Hóa Kênh Truyền


6.3.2. Giải mã mã chập bằng thuật toán Viterbi:
Tại t4 ta có 8 đường:
trong đó tại mỗi điểm có
2 đường đi tới nên ta cần
loại bớt.

Tại điểm số 1 có 2 đường đến có


khoảng cách Hamming lần lượt
là 4 và 3.
Ta giữ lại đường có khoảng cách
Hamming bằng 3.Tương tự với
các điểm khác

26
10/14/2020

Chương 6. Mã Hóa Kênh Truyền


6.3.2. Giải mã mã chập bằng thuật toán Viterbi:

Tại t5: làm tương tự ta có kết quả như hình vẽ

Chương 6. Mã Hóa Kênh Truyền


6.3.2. Giải mã mã chập bằng thuật toán Viterbi:
Tại t6: làm tương tự ta có kết quả như hình vẽ

Ta lựa chọn đường có khoảng cách Hamming nhỏ nhất là 1.


Tương ứng với từ mã truyền đi là 11 01 01 00 01
Từ đó chuỗi bit truyền đi là 11011

27
10/14/2020

Chương 6. Mã Hóa Kênh Truyền


6.4. Mã Reed Solomon:
 Là mã vòng với các kí tự tạo thành từ chuỗi m bit (- ≥ 2)

 Kí hiệu: R-S(n,k) với 0 D D D 21K

 Mã RS thường dùng , = 21 − 1, 21 − 1 − 2t

 Trong đó t là khả năng sửa lỗi của bộ mã, 2t là số lượng kí tự kiểm


tra.

 Khoảng cách tối thiểu M13 = − + 1 = 2+ + 1

NOPQ
 Số lỗi tối đa mà mã sửa được: + = =

Chương 6. Mã Hóa Kênh Truyền


6.4. Mã Reed Solomon:
Mã RS có tất cả 21 giá trị LSB MSB
đầu vào:
0, R , R , R , … , R 3 , … , R 1
Ví dụ: mã RS với m=3

28
10/14/2020

Chương 6. Mã Hóa Kênh Truyền


6.4. Mã Reed Solomon:
Hàm sinh của mã RS có dạng:
g X = + F + F + ⋯+ T F T
+ +F T

Các bước mã hóa RS tương tự như mã vòng:


Bước 1: Tính F G(F) với G(F) là chuỗi kí tự vào
Bước 2: Tính U(F) và V F
F G F =U F F +V F
Bước 3: Tính từ mã tạo ra:
H F =F G F +V F =U F F

Chương 6. Mã Hóa Kênh Truyền


6.4. Mã Reed Solomon:

Ví dụ với mã RS(7,3)→ 2+ = − = 7 − 3 = 4 hàm sinh

F = F−R F−R F−R F−R


có thể tính như sau:

= F − R + R F + R F − R + R F + RW
= F −R F+R F −R F+R
= F − R + R F − R + R + R F − R + RX F
+R
= F −R F +R F −R F+R
= F +R F +R F +R F+R

29
10/14/2020

Chương 6. Mã Hóa Kênh Truyền


6.4. Mã Reed Solomon: Bảng cộng

Bảng nhân

Chương 6. Mã Hóa Kênh Truyền


6.4. Mã Reed Solomon:
Ví dụ: mã RS(7,3). Chuỗi đầu vào: m = 010 110 111
R R R
→G F =R +R F+R F

F = F +R F +R F +R F+R
Tính: F G F =F R +R F+R F =R F +R F +
R F
Chia cho F ta được số dư V F = R + R F + R F + R F

H F =F G F +V F
Từ mã tạo ra:

=R +R F+R F +R F +R F +R F +R F
) = 100 001 011 101 010 110 111

30
10/14/2020

Chương 6. Mã Hóa Kênh Truyền


6.4. Mã Reed Solomon:
Sơ đồ mã hóa của mã RS (7,3) dùng các thanh ghi dịch

Chương 6. Mã Hóa Kênh Truyền


6.4. Mã Reed Solomon – Giải Mã RS

'3 = ( F |Z[\P 4 = 1,2, … , −


Bước 1: tính Syndrome

Nếu '3 ≠ 0 thì có lỗi xảy ra

Ví dụ: Truyền đi ) = 100 001 011 101 010 110 111

( = 100 001 011 100 101 110 111 → ( F = R +


Nhận được

R F+R F +R F +R F +R F +R F
' =( R =R ≠0
' = ( R = R ≠ 0 → có lỗi
' =( R =R ≠0
' =( R =0

31
10/14/2020

Chương 6. Mã Hóa Kênh Truyền


6.4. Mã Reed Solomon – Giải Mã RS
Bước 2: Tìm vị trí sai

' ' ]
' R ] = R
] ⇔ R =
' ' ' R R ] 0
] R = R R R = R
⇔ ] = R R
R R 0 R R 0 R
⇒] F = R + R F + R F

Chương 6. Mã Hóa Kênh Truyền


6.4. Mã Reed Solomon – Giải Mã RS
] R =R +R +R =R ≠0
] R =R + RW + R = R ≠ 0
] R =R + R^ + R = R ≠ 0
] R =R + R X + R = 0 → _ỗ4
] R =R + R + R ^ = 0 → _ỗ4
] R =R +R +R =R ≠0
] R =R +R +R =R ≠0
Vị trí lỗi:
= R ⇔ c = R → sai ở vị trí F
ab
1
= R ⇔ c = R → sai ở vị trí F
c

32
10/14/2020

Chương 6. Mã Hóa Kênh Truyền


6.4. Mã Reed Solomon – Giải Mã RS

Bước 3: Tính vector sai d F


' =( R =d c +d c
e
' =( R =d c +d c
⇔ R R d = R
R R^ d R
d
⇔ d = R R R = R R R = R
R R ^
R R R R R
⇒d F = R F + R F

Chương 6. Mã Hóa Kênh Truyền


6.4. Mã Reed Solomon – Giải Mã RS

H F =( F +d F
Bước 4: Sửa lỗi

=R +R F+R F +R F +R F +R F +R F
+R F +R F
=R +R F+R F +R F +R F +R F +R F

→ m = 010 110 111


Do thông điệp là k=3 vị trí bên phải của từ mã

33

You might also like