Tổng quan về FEC

Một phần của tài liệu Kỹ thuật FPGA áp dụng thực hiện cho bộ mã FEC trong hệ DVB (Trang 65)

Mã hóa FEC thuộc dạng mã hóa kênh, gồm mã khối (block coding) như mã RS (Reed-solomon), BCH, Hamming…và mã chập (convolutional coding), viterbi decoding. RS và CC có nhiệm vụ sửa sai cho tín hiệu thu được. RS vì là thuộc mã khối tốc độ cao cho nên khi kết hợp với mã chập sẽ giúp tăng khả năng sửa sai cho mã chập. RS cũng là mã BCH cho nên các giá trị của các hệ số lấy từ trường Galois field (GF) (ví dụ về GF: chúng ta dùng số thập phân thì ta gọi là GF(10) chỉ gồm các số từ 0 đến 9, số nhị phân thì có GF(2) gồm các số 0,1. RS thì có GF(2^8) nên gọi là GF(2) mở rộng). Cho nên khi sử dụng Matlab để mã hóa RS thì dữ liệu ra sẽ là một dạng ma trận trường GF.

FEC – Forward Error Control - được sử dụng để đảm bảo cho hệ thống hoạt động tối ưu. Việc sửa lỗi này dựa vào mã hoá vòng gọi là mã hoá Reed – Solomon thay cho thiết lập các khối byte và sửa các lỗi khối. Thuật toán mã hoá Reed – Solomon thực hiện theo Galois Field (GF 256) và cho phép tới 16 byte lỗi trong một từ mã 255 bytes được sửa. Khả năng sửa lỗi của thuật toán này có thể tăng lên trong trường hợp các cụm lỗi dạng xung nhờ xen kẽ các lỗi vào các từ mã gần kề. Mã hoá Reed – Solomon được sử dụng vì có độ lợi mã hoá với lỗi ngẫu nhiên (khoảng 3 dB nếu được sử dụng đúng) và sử dụng phương pháp chèn cho phép sửa các cụm lỗi lớn gây ra do tác động xung. Mã hoá RS có các ký hiệu là byte chứ không phải là bit, vì thế nên nó phức tạp hơn mã hoá nhị phân. Chúng là các mã hoá có khả năng sửa lỗi mạnh được biết và có thể ứng dụng với độ phức tạp vừa phải. Mã hoá RS sử dụng một số chẵn byte, 2t cho phép sửa lỗi t byte và phát hiện 2t byte bị lỗi. Khi kênh cung cấp hiển thị là các ký hiệu, kênh đầu ra có thể bị lỗi thì mã hoá RS có thể sửa lỗi cho 2t byte có thể bị lỗi đó.

Mã hoá Reed – Solomon là trường hợp đặc biệt của phương pháp được gọi chung là mã hoá vòng. Trong mã hoá vòng, các từ mã thêm vào có thể được tìm thấy bằng việc trượt vòng (n-1) của bất kỳ từ mã đầu tiên nào được đưa ra. Xét về một góc độ nào đó điều này làm giảm tính phức tạp của không gian từ mã một cách đáng tin cậy cho phép giải mã đơn giản hơn.

---

Tất cả các thuật toán trong mã hoá Reed – Solomon đối với ADSL là kiểu byte nằm trong trường GF256 hữu hạn. GF256 là trường mở rộng của thuật toán nhị phân.

Trong ADSL, Reed – Solomon FEC là bắt buộc, R= 2t và các byte kiểm tra thoả mãn 0≤R≤16 với đa thức 1 R 2 R 2 R 1 1 R 0Z c Z ... c Z c c ) Z ( C         

được thêm vào từ mã gồm có K byte với đa thức (K≤256)

1 K 2 K 2 K 1 1 K 0Z m Z ... m Z c m ) Z ( M         

trong đó m0 là byte được truyền đầu tiên và c0 là byte được truyền đầu tiên của các

bit chẵn lẻ được thêm vào. Một byte dữ liệu gồm 8 bit [d7,...,d1,d0] và được kết hợp với phần tử GF256 d77 ...d1d0 và  là nghiệm của đa thức nhị phân

1 x x x

x 4 3 2

8     . Đa thức byte kiểm tra thoả mãn C(Z)M(Z).ZRG(Z) trong đó

) Z ( ) Z ( G  i

Trong ADSL, phương pháp xoắn được sử dụng khi chọn chiều sâu chèn từ L=0 đến 64. Khi số byte thông tin K là lẻ, độ sâu chèn L=K+2t là đồng nguyên tố và do đó lỗi có thể được phân tán. Khi K chẵn, byte giả được chèn vào phần cuối của từ mã để tạo K lẻ (nhưng không được truyền đi mà chỉ được thêm vào ở máy thu khi giải mã)

Các tiêu chuẩn FEC. Hiện SMPTE đã ban hành tiêu chuẩn SMPTE 2022 cho việc

dùng FEC trên các mạng gói. DVB cũng có một số khuyến cáo trong mô tả FEC. Điều quan trọng là dùng FEC được chuẩn hóa nếu bạn muốn các khả năng sửa lỗi hoạt động đúng khi liên hoạt giữa các nhà sản xuất thiết bị khác nhau.

Một phần của tài liệu Kỹ thuật FPGA áp dụng thực hiện cho bộ mã FEC trong hệ DVB (Trang 65)

Tải bản đầy đủ (PDF)

(89 trang)