Tải bản đầy đủ (.pdf) (16 trang)

Đồ án thiết kế hệ thống nhúng, học viện công nghệ bưu chính viễn thông (2)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (481.26 KB, 16 trang )

BỘ THÔNG TIN VÀ TRUYỀN THÔNG
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG
-----



-----

CƠNG NGHỆ PHÁT THANH VÀ TRUYỀN HÌNH SỐ
ĐỀ TÀI: Mã sửa sai lỗi trước (FEC) trong truyền dẫn truyền hình số
Giảng viên hướng dẫn :

NGUYỄN THỊ HƯƠNG THẢO

Thành viên

Trần văn Thanh – B17DCDT170

:

Nguyễn Đình Phát– B17DCDT139
Bùi Ngọc Anh - B17DCDT003
Hồng Ngọc Đạt - B17DCDT031
Hệ đào tạo

:

ĐẠI HỌC CHÍNH QUY

Hà Nội - 2021



LỜI CẢM ƠN
Đầu tiên, xin được gửi lời cảm ơn đến Ban Giám đốc Học viện Cơng nghệ Bưu
chính Viễn thông đã tạo ra môi trường rèn luyện, trau dồi kiến thức, kinh nghiệm tốt
và hiệu quả để nhóm có cơ hội phát triển và được cung cấp các hành trang q giá
cho chun mơn nói riêng và cuộc sống nói chung.

Xin trân trọng cảm ơn cơ Nguyễn Thị Hương Thảo đã tận tâm giúp đỡ nhóm thực
hiện đề tài với những kiến thức và sự hướng dẫn tận tình, chi tiết của cơ đã giúp đỡ nhóm
đề tài rất nhiều điều từ phong cách làm việc chuyên nghiệp đến những kiến thức chuyên
môn từ cơ bản đến chuyên sâu.

Do nghiên cứu phần kiến thức mới cùng với đó là sự hạn chế về kinh nghiệm
nghiên cứu, nên đề tài của nhóm khơng thể tránh khỏi những sai sót, rất mong nhận
được những ý kiến đóng góp của thầy để đề tài được hồn thiện hơn.

Cuối cùng xin kính chúc cơ và gia đình ln thành cơng và hạnh phúc.

Trân trọng !

Hà Nội, tháng 5 năm 2021.

Nhóm đề tài.
Nhóm:6

Mục lục


LỜI CẢM ƠN.........................................................................................................2
Chương I: Tổng quan về mã sửa lỗi FEC.........................................................3

1.1

Định nghĩa:.......................................................................................................3

1.2

Lịch sử phát triển:.............................................................................................4

Chương II: Các loại mã FEC phổ biến..............................................................5
2.1

Mã Hammming................................................................................................6

2.1.1 Sơ lược về mã Hamming..................................................................................6
2.1.2 Quá trình mã hóa...............................................................................................7
2.2 Mã chuyển đổi nhị phân.......................................................................................9
2.2.1 Ưu điểm của mã nhị phân.................................................................................9
2.2.2 Phân loại mã nhị phân.......................................................................................9
2.2.2.1 Mã trọng số....................................................................................................9
2.2.2.2 Mã không trọng số.......................................................................................10
2.2.2.3 Mã số thập phân được mã hóa nhị phân (BCD)...........................................11
2.2.2.4

Mã chữ và số............................................................................................12

2.3 Mã Reed – Solomon...........................................................................................12
2.3.1 Các thông số của mã Reed – Solomon............................................................13
2.3.2 Đa thức nguyên thủy của mã Reed - Solomon................................................13
2.3.3 Mã hóa bằng mã Reed – Solomon..................................................................14
2.3.4 Giải mã bằng mã Reed – Solomon..................................................................14

2.4 Mã kiểm tra chẵn lẻ mật độ thấp........................................................................14
2.4.1 Mã hóa bằng mã kiểm tra chẵn lẻ mật độ thấp................................................14
2.4.2 Giải mã bằng mã kiểm tra chẵn lẻ mật độ thấp...............................................15


Chương I: Tổng quan về mã sửa lỗi FEC
1.1 Định nghĩa:
Mã sửa lỗi trước FEC (Forward Error Coreection) là một kỹ thuật sửa lỗi để phát
hiện và sửa một số lỗi giới hạn trong dữ liệu được truyền mà không cần truyền lại.
Trong phương pháp này, người gửi sẽ gửi một mã sửa lỗi dư thừa cùng với
khung dữ liệu. Máy thu thực hiện các kiểm tra cần thiết dựa trên các bit dư thừa bổ
sung. Nếu nó nhận thấy rằng dữ liệu có lỗi, nó sẽ thực thi mã sửa lỗi tạo ra khung sữ
liệu thực tế. Sau đó, nó sẽ loại bỏ các bit dư thừa trước khi chuyển dữ liệu đến các lớp
trên.
Ví dụ, trong mã khối, dòng bit được truyền đi được chia thành các khối k bit. Mỗi
khối sau đó được nối với r bit chẵn lẻ để tạo thành một từ mã n -bit. Đây được gọi là
mã ( n , k ).

1.2 Lịch sử phát triển:
Mã FEC đầu tiên, được gọi là mã Hamming, được giới thiệu vào đầu những năm
1950. Đây là một phương pháp được áp dụng để kiểm soát lỗi trong quá trình truyền
dữ liệu mà máy phát sẽ gửi dữ liệu dự phòng. Người nhận chỉ nhận một phần dữ liệu
khơng có lỗi rõ ràng. Điều này cho phép dữ liệu phát sóng được gửi đến nhiều đích từ
một nguồn duy nhất.
Năm 1963, mã kiểm tra chẵn lẻ mật độ thấp được Gallager phát triển lần đầu
tiên. Tuy nhiên, đến năm 1996 nó mới được sử dụng rơng dãi.
FEC bổ sung dự phịng cho thơng tin được truyền bằng cách sử dụng một thuật
toán định trước. Các bit dư thừa là các chức năng phức tạp của các bit thơng tin ban
đầu. Các bit được gửi nhiều lần, vì lỗi có thể xuất hiện trong bất kỳ mẫu nào được
truyền. Các mã FEC thường phát hiện tập hợp các bit cuối cùng để xác định việc giải

mã một số ít các bit.
Với FEC, mỗi ký tự được gửi hai hoặc ba lần và người nhận sẽ kiểm tra các
phiên bản của mỗi ký tự. Nó chỉ được chấp nhận nếu sự phù hợp xảy ra trong cả hai
trường hợp. Nếu sự phù hợp được đáp ứng cho một ví dụ, ký tự phù hợp với giao thức
được chấp nhận. Nếu khơng có ký tự nào phù hợp với giao thức, ký tự sẽ bị từ chối và
dấu gạch dưới hoặc khoảng trống được hiển thị ở vị trí của nó.
Mã FEC có khả năng tạo ra các tín hiệu tỷ lệ lỗi bit, được sử dụng làm phản hồi
để tinh chỉnh thiết bị điện tử nhận tương tự. Số lượng bit bị thiếu tối đa có thể được
sửa chữa được xác định bởi thiết kế mã FEC. Hai loại mã FEC quan trọng là mã chập
và mã khối. Các mã khối hoạt động trên các gói bit có kích thước cố định trong đó các


khối mã một phần được giải mã theo thời gian đa thức theo chiều dài khối. Một mã
khối được sử dụng rộng rãi là mã hóa Reed-Solomon. Mã hợp lệ xử lý các luồng có độ
dài tùy ý và được giải mã bằng thuật toán Viterbi. Một đặc điểm quan trọng của mã
chập là bất kỳ mã hóa bit nào cũng bị ảnh hưởng bởi các bit trước đó.
 Ưu điểm:
- Vì FEC khơng u cầu bắt tay giữa nguồn và đích nên nó có thể được sử dụng để
phát dữ liệu đến nhiều đích đồng thời từ một nguồn duy nhất.
- FEC tiết kiệm băng thông cần thiết để truyền lại. Vì vậy, nó được sử dụng trong các
hệ thống thời gian thực.
 Nhược điểm:
- Hạn chế chính của nó là nếu có quá nhiều lỗi, các khung cần được truyền lại.
Mã sửa lỗi FEC có thể được phân loại thành hai loại, đó là mã khối và mã chập.
 Mã khối: Dữ liệu được chia thành các khối bit có kích thước cố định mà các bit
dư thừa được thêm vào để sửa lỗi. Mã hoá khối bao gồm mã hố ReedSolomon, BCH, vịng, Hamming, và mã hố khối tuyến tính generic.
 Mã chập: Dữ liệu bao gồm các luồng dữ liệu có độ dài tùy ý và các ký hiệu
chẵn lẻ được tạo ra bằng một hàm Boolean vào luồng dữ liệu. Mã chập bao
gồm mã hoá tích chập và giải mã Viterbi.


Chương II: Các loại mã FEC phổ biến.


Có bốn loại mã sửa lỗi được sử dụng phổ biến.

 Mã Hamming - Đây là một mã khối có khả năng phát hiện đến hai lỗi bit đồng
thời và sửa lỗi một bit.
 Mã chuyển đổi nhị phân - Ở đây, một bộ mã hóa xử lý một chuỗi đầu vào
gồm các bit có độ dài tùy ý và tạo ra một chuỗi các bit đầu ra.
 Mã Reed - Solomon - Chúng là những mã khối có khả năng sửa chữa lỗi bùng
phát trong khối dữ liệu nhận được.
 Mã kiểm tra chẵn lẻ mật độ thấp - Đây là mã khối được chỉ định bởi ma trận
kiểm tra chẵn lẻ chứa mật độ thấp 1s. Chúng phù hợp với kích thước khối lớn
trong các kênh rất ồn.

2.1 Mã Hammming
2.1.1 Sơ lược về mã Hamming
Mã Hamming là một họ mã sửa lỗi tuyến tính, có thể phát hiện đến lỗi hai bit
hoặc sửa lỗi một bit. Trong phương pháp mã hóa này, nguồn mã hóa thơng tin bằng
cách chèn các bit dư thừa trong từ mã. Các bit dư thừa này là các bit phụ được tạo ra
và chèn vào các vị trí cụ thể trong chính bản tin để cho phép phát hiện và sửa lỗi. Khi
đích nhận được thơng báo này, nó sẽ thực hiện các phép tính lại để phát hiện lỗi và tìm
vị trí bit có lỗi.
Richard W. Hamming phát minh ra mã Hamming vào năm 1950 như một cách
tự động sửa lỗi được giới thiệu bởi đầu đọc thẻ đục lỗ. Hamming đã nghiên cứu các sơ
đồ mã hóa hiện cóvà khái quát hóa các khái niệm của chúng. Để bắt đầu, ơng đã phát
triển một danh pháp để mô tả hệ thống, bao gồm số lượng các bit dữ liệu và các bit sửa
lỗi trong một khối. Ví dụ: tính chẵn lẻ bao gồm một bit duy nhất cho bất kỳ từ dữ liệu



nào, vì vậy giả sử các từ mã ASCII có bảy bit, Hamming đã mô tả đây là mã (8,7) , với
tổng số là tám bit, trong đó có bảy là dữ liệu.
Hamming cũng nhận thấy các vấn đề với việc lật hai bit trở lên, và mô tả đây là
"khoảng cách" gọi là khoảng cách Hamming. Chẵn lẻ có khoảng cách là 2, vì vậy có
thể phát hiện một lần lật bit, nhưng không được sửa và bất kỳ lần lật hai bit nào sẽ
khơng thể nhìn thấy. Sự lặp lại (3,1) có khoảng cách là 3, vì ba bit cần được lật trong
cùng một bộ ba để thu được một từ mã khác mà khơng có lỗi nhìn thấy được. Nó có
thể sửa lỗi một bit hoặc có thể phát hiện - nhưng không sửa được - lỗi hai bit. Lặp lại
A (4,1) (mỗi bit được lặp lại bốn lần) có khoảng cách là 4, vì vậy việc lật ba bit có thể
được phát hiện, nhưng khơng được sửa. Khi ba bit lật trong cùng một nhóm, có thể xảy
ra tình huống cố gắng sửa sẽ tạo ra từ mã sai. Nói chung, một mã có khoảng cách k có
thể phát hiện nhưng khơng sửa được k - 1 lỗi.
Hamming quan tâm đến hai vấn đề cùng một lúc: tăng khoảng cách càng nhiều
càng tốt, đồng thời tăng tốc độ mã càng nhiều càng tốt. Trong suốt những năm 1940,
ông đã phát triển một số phương án mã hóa là những cải tiến đáng kể trên các mã hiện
có. Chìa khóa cho tất cả các hệ thống của ông là có các bit chẵn lẻ chồng lên nhau, để
chúng có thể kiểm tra lẫn nhau cũng như dữ liệu.

2.1.2 Q trình mã hóa
Chúng ta cần hiểu một số định nghĩa và khái niệm cơ bản. Đầu tiên là khoảng
cách mã Hamming. Khoảng cách Hamming giữa 2 từ mã c1 và c2 là tổng số vị trí
tương ứng trong 2 từ mã mà dấu mã khác nhau.
Thứ hai là khả năng phát hiện lỗi của bộ mã. Một bộ mã có khoảng cách mã tối
thiểu dmin có khả năng phát hiện tất cả các cấu trúc lỗi có trọng số nhở hơn hoặc bằng
(dmin – 1)
dmin

Thứ ba là khả năng sửa lỗi của bộ mã. Một bộ mã có khoảng cách mã tối thiểu
có khả năng sửa được tất cả các cấu trúc lỗi có trọng số nhỏ hơn hoặc bằng


dmin−1
.
2

1.1.1.

Quy trình mã hóa

Bước 1 - Tính tốn số lượng bit dư thừa.
Bước 2 - Định vị các bit dư thừa.
Bước 3 - Tính tốn các giá trị của mỗi bit dư thừa.
Các bit dư thừa được chèn trong bản tin và sau đó sẽ gửi bản tin đến phía thu.
Bước 1 - Tính tốn số lượng bit dư thừa.


Nếu thông báo chứa m số bit dữ liệu, r số bit dư thừa được thêm vào nó để có
thể chỉ ra ít nhất ( m + r + 1) trạng thái khác nhau. Ở đây, ( m + r ) cho biết vị trí
của lỗi trong mỗi vị trí bit (𝑚 + 𝑟) và một trạng thái bổ sung cho biết khơng có
lỗi. Vì r 𝑟 bit có thể chỉ ra 2 trạng thái r 𝑟 nên 2 r 𝑟 ít nhất phải bằng
( m + r +1). Do đó, phương trình sau đây có 2 r ≥ m + r + 1.
Bước 2 - Định vị các bit dư thừa.
Các r bit dư thừa được đặt tại các vị trí chút quyền hạn của 2, tức là 1, 2, 4, 8,
16 vv Họ được gọi trong phần còn lại của văn bản này là r 1 (tại vị trí 1), r 2 (tại vị trí
2) , r 3 (ở vị trí 4), r 4 (ở vị trí 8), v.v.
Bước 3 - Tính tốn các giá trị của mỗi bit dư thừa.
Các bit dư thừa là các bit chẵn lẻ. Một bit chẵn lẻ là một bit phụ làm cho số 1 là chẵn
hoặc lẻ. Hai loại chẵn lẻ là :




Chẵn lẻ - Ở đây tổng số bit trong thông báo được tạo thành số chẵn.



Odd Parity - Ở đây tổng số bit trong thông báo được tạo thành số lẻ.
Mỗi bit dư thừa, r i , được tính là chẵn lẻ, thường là chẵn lẻ, dựa trên vị trí bit của
nó. Nó bao gồm tất cả các vị trí bit có biểu diễn nhị phân bao gồm 1 ở vị
trí thứ i ngoại trừ vị trí của r i . Như vậy -



r 1 là bit chẵn lẻ cho tất cả các bit dữ liệu ở các vị trí mà biểu diễn nhị phân bao
gồm số 1 ở vị trí ít quan trọng nhất ngoại trừ 1 (3, 5, 7, 9, 11, v.v.)



r 2 là bit chẵn lẻ cho tất cả các bit dữ liệu ở các vị trí có biểu diễn nhị phân bao
gồm 1 ở vị trí 2 từ bên phải ngoại trừ 2 (3, 6, 7, 10, 11, v.v.)



r 3 là bit chẵn lẻ cho tất cả các bit dữ liệu ở các vị trí có biểu diễn nhị phân bao
gồm 1 ở vị trí 3 từ bên phải ngoại trừ 4 (5-7, 12-15, 20-23, v.v.)
1.1.2. Quy trình giải mã
Khi phía thu nhận được bản tin đến, nó sẽ thực hiện các phép tính lại để
phát hiện lỗi và sửa chúng.
 Bước 1 - Tính toán số lượng bit dư thừa.
 Bước 2 - Định vị các bit dư thừa.
 Bước 3 - Kiểm tra chẵn lẻ.


 Bước 4 - Phát hiện và sửa lỗi
Bước 1 - Tính tốn số lượng bit dư thừa
Sử dụng cơng thức tương tự như trong mã hóa, số lượng bit dư thừa được xác
định chắc chắn.
2 r ≥ m + r + 1 (trong đó m là số bit dữ liệu và r là số bit dư thừa).


Bước 2 - Định vị các bit dư thừa
Các r bit dư thừa được đặt tại các vị trí chút quyền hạn của 2, tức là 1, 2, 4, 8, 16,
vv
Bước 3 - Kiểm tra chẵn lẻ
Các bit chẵn lẻ được tính tốn dựa trên các bit dữ liệu và các bit dư thừa bằng
cách sử dụng quy tắc tương tự như trong quá trình tạo c 1 , c 2 , c 3 , c 4, v.v. Do đó
c 1 = parity (1, 3, 5, 7, 9, 11, v.v.)
c 2 = chẵn lẻ (2, 3, 6, 7, 10, 11, v.v.)
c 3 = chẵn lẻ (4-7, 12-15, 20-23, v.v.)
Bước 4 - Phát hiện và sửa lỗi
Tương đương thập phân của các giá trị nhị phân bit chẵn lẻ được tính tốn. Nếu
nó là 0, khơng có lỗi. Nếu khơng, giá trị thập phân cho vị trí bit có lỗi. Ví dụ: nếu
c 1 c 2 c 3 c 4 = 1001, điều đó ngụ ý rằng bit dữ liệu ở vị trí 9, tương đương thập phân
của 1001, có lỗi. Các bit được lật để có được thơng điệp chính xác.

2.2 Mã chuyển đổi nhị phân
Trong mã hóa, khi số, chữ cái hoặc từ được biểu thị bằng một nhóm ký hiệu cụ
thể, người ta nói rằng số, chữ cái hoặc từ đang được mã hóa. Nhóm ký hiệu được gọi
là mã. Dữ liệu số được biểu diễn, lưu trữ và truyền dưới dạng nhóm các bit nhị
phân. Nhóm này còn được gọi là mã nhị phân . Mã nhị phân được biểu thị bằng số
cũng như ký tự chữ và số.

2.2.1 Ưu điểm của mã nhị phân

 Mã nhị phân phù hợp với các ứng dụng máy tính.
 Mã nhị phân phù hợp với truyền thông kỹ thuật số.
 Mã nhị phân thực hiện việc phân tích và thiết kế các mạch kỹ thuật số nếu
chúng ta sử dụng mã nhị phân.
 Vì chỉ có 0 & 1 đang được sử dụng nên việc triển khai trở nên dễ dàng.

2.2.2 Phân loại mã nhị phân
2.2.2.1 Mã trọng số
Mã nhị phân có trọng số là những mã nhị phân tuân theo nguyên tắc trọng số vị
trí. Mỗi vị trí của con số thể hiện một trọng lượng cụ thể. Một số hệ thống mã được sử


dụng để biểu thị các chữ số thập phân từ 0 đến 9. Trong các mã này, mỗi chữ số thập
phân được biểu thị bằng một nhóm bốn bit.

2.2.2.2 Mã không trọng số
Trong loại mã nhị phân này, trọng số vị trí khơng được ấn định. Các ví dụ về mã
không trọng số là mã Excess-3và mã Gray.
 Mã Excess-3: Cịn được gọi là mã XS-3. Nó là mã khơng trọng số được
sử dụng để thể hiện số thập phân. Các từ mã thừa-3 được lấy từ 8421 từ
mã BCD thêm (0011) 2 hoặc (3) 10 vào mỗi từ mã trong 8421. Các mã
thừa-3 thu được như sau:

Ví dụ:

 Mã Gray: là mã khơng trọng số và nó khơng phải là mã số học. Điều đó
có nghĩa là khơng có trọng số cụ thể nào được gán cho vị trí bit. Nó có
một tính năng rất đặc biệt, chỉ một bit sẽ thay đổi mỗi khi số thập phân
được tăng lên như trong hình. Khi chỉ có một bit thay đổi tại một thời



điểm, mã Gray được gọi là mã khoảng cách đơn vị. Mã Gray là mã tuần
hồn và khơng thể sử dụng mã Gray cho phép toán số học.

Ứng dụng của mã Gray:


Mã Gray được sử dụng phổ biến trong các bộ mã hóa vị trí trục.



Bộ mã hóa vị trí trục tạo ra một từ mã đại diện cho vị trí góc của trục.

2.2.2.3 Mã số thập phân được mã hóa nhị phân (BCD)
Trong mã này, mỗi chữ số thập phân được biểu diễn bằng một số nhị phân 4
bit. BCD là một cách để thể hiện từng chữ số thập phân bằng mã nhị phân. Trong
BCD, với bốn bit, chúng ta có thể biểu diễn mười sáu số (0000 đến 1111). Nhưng
trong mã BCD chỉ có mười số đầu tiên trong số này được sử dụng (0000 đến
1001). Sáu tổ hợp mã còn lại, tức là 1010 đến 1111 khơng hợp lệ trong BCD.

 Ưu điểm của mã BCD:


Nó rất giống với hệ thống thập phân.



Chúng ta chỉ cần nhớ nhị phân tương đương với các số thập phân từ 0 đến 9.

 Nhược điểm của mã BCD:



Phép cộng và phép trừ BCD có các quy tắc khác nhau.



Số học BCD phức tạp hơn một chút.




BCD cần nhiều bit hơn nhị phân để biểu diễn số thập phân. Vì vậy, BCD kém
hiệu quả hơn nhị phân.

2.2.2.4
Mã chữ và số:
Một chữ số hoặc bit nhị phân chỉ có thể đại diện cho hai ký hiệu vì nó chỉ có hai
trạng thái '0' hoặc '1'. Nhưng điều này là không đủ cho giao tiếp giữa hai máy tính vì
chúng ta cần nhiều ký hiệu khác để giao tiếp. Các ký hiệu này được yêu cầu đại diện
cho 26 bảng chữ cái viết hoa và chữ nhỏ, các số từ 0 đến 9, dấu chấm câu và các ký
hiệu khác.
Mã chữ và số là mã đại diện cho số và ký tự chữ cái. Hầu hết các mã như vậy
cũng đại diện cho các ký tự khác như biểu tượng và các chỉ dẫn khác nhau cần thiết để
truyền tải thơng tin. Một mã chữ và số ít nhất phải đại diện cho 10 chữ số và 26 chữ
cái trong bảng chữ cái, tức là tổng số 36 mục. Ba mã chữ và số sau đây rất thường
được sử dụng để biểu diễn dữ liệu:


Mã tiêu chuẩn Hoa Kỳ về trao đổi thông tin (ASCII).




Mã trao đổi thập phân được mã hóa nhị phân mở rộng (EBCDIC).



Mã Baudot năm bit.

Mã ASCII là mã 7 bit trong khi EBCDIC là mã 8 bit. Mã ASCII được sử dụng
phổ biến hơn trên toàn thế giới trong khi EBCDIC được sử dụng chủ yếu trong các
máy tính IBM lớn.

2.3 Mã Reed – Solomon
Trong lý thuyết mã hóa, mã Reed-Solomon (RS) là một mã vịng sửa lỗi tuyến
tính phát minh bởi Irving S. Reed và Gustave Solomon. Bằng cách thêm vào t ký hiệu
kiểm tra, mã RS có thể nhận ra khơng quá t ký hiệu lỗi và sửa không quá ⌊t/2⌋ ký hiệu
lỗi. Dưới dạng mã xóa, nó có thể sửa khơng q t ký hiệu bị xóa ở các vị trí đã biết,
hoặc nhận dạng và sửa cả ký hiệu lỗi và ký hiệu bị xóa. Ngồi ra, mã RS còn hữu hiệu
cho việc sửa nhiều bit lỗi liên tiếp, do một dãy b+1 bit bị lỗi liên tiếp chỉ có thể ảnh
hưởng đến hai ký hiệu có kích thước b. Tham số t có thể được chọn tùy ý tùy theo
người thiết kế mã trong một giới hạn khá rộng. Trong mã hóa Reed-Solomon, các ký
hiệu là các hệ số của một đa thức p(x) trên một trường hữu hạn. Ý tưởng ban đầu của
mã RS là tạo ra n ký hiệu mã từ k ký hiệu nguồn bằng cách tính p(x) tại n>k điểm,
truyền tải n giá trị này, và dùng kĩ thuật nội suy để xây dựng lại các ký hiệu nguồn.
Thay vào đó, mã RS cũng có thể được xem là mã vịng BCH, trong đó các ký hiệu mã
được xây dựng từ hệ số của đa thức tích của p(x) và một đa thức sinh. Cách nhìn này
dẫn đến thuật tốn giải mã hiệu quả do Elwyn Berlekamp và James Massey, được gọi
là thuật toán giải mã Berlekamp-Massey.



Một bộ mã hóa Reed - Solomon chấp nhận một khối dữ liệu và thêm các bit dự
phòng (bit chẵn lẻ) trước khi truyền nó qua các kênh nhiễu. Khi nhận dữ liệu, bộ giải
mã sẽ sửa lỗi tùy thuộc vào đặc điểm mã.

Mã Reed-Solomon có rất nhiều ứng dụng quan trọng, các lĩnh vực ứng dụng nổi bật là:







Các khu vực lưu trữ như CD, DVD, Blu-ray Discs.
Công nghệ truyền dữ liệu tốc độ cao như DSL và WiMAX.
Modem tốc độ cao.
Mã QR.
Hệ thống phát sóng như thơng tin liên lạc vệ tinh.
Hệ thống lưu trữ như RAID 6.

2.3.1 Các thông số của mã Reed – Solomon






Mã Reed-Solomon được chỉ định là RS ( n, k ).
Ở đây, n là chiều dài khối có thể nhận biết được bằng các ký hiệu, giữ mối
quan hệ, n = 2 m - 1 .
Kích thước thơng báo là k bit.

Vì vậy, kích thước kiểm tra chẵn lẻ là ( n - k ) bit
Mã có thể sửa tối đa ( t ) lỗi trong một từ mã, trong đó ( 2t = n - k ).


Sơ đồ từ mã Reed-Solomon

2.3.2 Đa thức nguyên thủy của mã Reed - Solomon
Trong hệ thống mã hóa với mã khối, các từ mã hợp lệ bao gồm các đa thức chia
hết cho một đa thức cố định khác có độ dài ngắn. Đa thức cố định này được gọi là đa
thức sinh. Trong mã Reed Solomon, đa thức sinh với các thừa số được xây dựng trong
đó mỗi căn là một phần tử liên tiếp trong trường Galois. Đa thức có dạng:
g (x) = (x - α) (x - α) (x - α) (x - α 2 ) (x - α) (x - α 3 ) ...... (x - α) (x - α 2t ) trong đó α) (x - α là phần tử nguyên thủy.

2.3.3 Mã hóa bằng mã Reed – Solomon
Phương pháp mã hóa trong mã Reed Solomon có các bước sau:
 Bản tin được biểu diễn dưới dạng đa thức p(x), và sau đó được nhân với đa thức
sinh g(x).
 Vectơ thông báo [x 1 , x 2 , x 3 ..... x k ] được ánh xạ tới đa thức bậc nhỏ
hơn k sao cho p x (α i ) = x i với mọi i = 1, ... k
 Đa thức được đánh giá bằng cách sử dụng các phương pháp nội suy như Nội
suy Lagrange.
 Sử dụng đa thức này, các điểm khác α) (x - α k + 1 .... α) (x - α n , được đánh giá.
 Bản tin được mã hóa được tính bằng s (x) = p (x) * g (x). Người gửi sẽ gửi
thông điệp được mã hóa này cùng với đa thức của trình tạo g (x).

2.3.4 Giải mã bằng mã Reed – Solomon
Khi kết thúc nhận, quy trình giải mã sau được thực hiện:
 Máy thu nhận được thơng điệp r (x) và chia nó cho đa thức sinh g (x).
 Nếu r (x) / g (x) = 0, thì nó có nghĩa là khơng có lỗi.
 Nếu r (x) / g (x) ≠ 0, thì đa thức lỗi được tính bằng biểu thức: r (x) = p (x) * g

(x) + e (x)
 Đa thức lỗi đưa ra các vị trí lỗi.

2.4 Mã kiểm tra chẵn lẻ mật độ thấp
Mã kiểm tra chẵn lẻ mật độ thấp (Low-Density Parity Check) là mã khối sửa lỗi
tuyến tính, thích hợp để sửa lỗi ở các kích thước khối lớn được truyền qua các kênh rất
ồn. LDPC được phát triển bởi Robert G. Gallager, trong luận án tiến sĩ của ông tại
Viện Công nghệ Massachusetts vào năm 1960. Vì vậy, những mã này cịn được gọi là
mã Gallager.

2.4.1 Mã hóa bằng mã kiểm tra chẵn lẻ mật độ thấp


Mã kiểm tra chẵn lẻ mật độ thấp (LFPC) được chỉ định bởi ma trận kiểm tra chẵn
lẻ chứa hầu hết là 0 và mật độ thấp là 1s. Các hàng của ma trận đại diện cho các
phương trình và các cột đại diện cho các bit trong từ mã, tức là các ký hiệu mã.
Mã LDPC được cấu tạo bởi (n, j, k), trong đó n là chiều dài khối, là số 1 trong
mỗi cột và là số 1 trong mỗi hàng, chứa các thuộc tính sau:
 j là số cố định nhỏ của 1 trong mỗi cột, trong đó j> 3
 k là số cố định nhỏ của 1 trong mỗi hàng, trong đó k> j .
Ví dụ 1: Ma trận kiểm tra chẵn lẻ của mã Hamming
Ma trận kiểm tra chẵn lẻ sau đây Mã Hamming có n = 7 , với 4 bit thông tin theo sau
là 3 bit chẵn lẻ. Các chữ số kiểm tra theo đường chéo 1. Các phương trình chẵn lẻ
được đưa ra như sau:

Ví dụ 2 - Ma trận kiểm tra độ chẵn lẻ mật độ thấp
Ví dụ này minh họa một (12, 3, 4) ma trận LDPC, tức là n = 12, j = 3 và k = 4.
Điều này ngụ ý rằng mỗi phương trình hoạt động trên 4 ký hiệu mã và mỗi ký hiệu mã
xuất hiện trong 3 phương trình. Khơng giống như ma trận kiểm tra chẵn lẻ của mã
Hamming, mã này khơng có bất kỳ đường chéo nào trong bit chẵn lẻ.



2.4.2 Giải mã bằng mã kiểm tra chẵn lẻ mật độ thấp
Có hai kỹ thuật giải mã có thể có của mã LDPC:
 Trong kỹ thuật đầu tiên, bộ giải mã thực hiện tất cả các kiểm tra chẵn lẻ theo
các phương trình chẵn lẻ. Nếu bất kỳ bit nào được chứa trong nhiều hơn một số
lượng cố định của phương trình chẵn lẻ khơng thỏa mãn, giá trị của bit đó sẽ bị
đảo ngược. Khi các giá trị mới được thu thập, các phương trình chẵn lẻ được
tính tốn lại bằng cách sử dụng các giá trị mới. Quy trình được lặp lại cho đến
khi tất cả các phương trình chẵn lẻ được thỏa mãn. Quy trình giải mã này đơn
giản và chỉ có thể áp dụng khi bộ kiểm tra chẵn lẻ nhỏ.
 Phương pháp thứ hai thực hiện các thuật toán xác suất trên đồ thị LDPC. Biểu
đồ là một biểu đồ lưỡng phân thưa thớt có chứa hai tập hợp các nút, một tập
hợp đại diện cho các phương trình chẵn lẻ và tập hợp cịn lại đại diện cho các
ký hiệu mã. Một đường kết nối nút trong tập hợp đầu tiên với nút thứ hai nếu có
ký hiệu mã trong phương trình. Việc giải mã được thực hiện bằng cách chuyển
các thông báo dọc theo các đường của biểu đồ. Thông báo được chuyển từ các
nút thông báo đến các nút kiểm tra, và từ các nút kiểm tra trở lại các nút thông
báo và giá trị chẵn lẻ của chúng được tính tốn.
Hai lớp con của các phương pháp này là truyền bá niềm tin và giải mã khả
năng xảy ra tối đa. Mặc dù các thuật toán giải mã này phức tạp, nhưng chúng
mang lại kết quả tốt hơn so với thuật toán trước đây.



×