Khối mã hóa Reed solomon

Một phần của tài liệu tìm hiểu kỹ thuật ofdm và ứng dụng trong hệ thống wimax (Trang 78 - 80)

Hình 5.7: Khối mã hóa RS

Mã Reed-solomon là một mã sửa lỗi thuộc loại mã khối tuyến tính, có rất nhiều ứng dụng trong thông tin số. Mã RS đƣợc sử dụng để sửa các lỗi trong nhiều hệ thống. Bộ mã hoá RS nhận một khối thông tin rồi thêm vào các bit dƣ. Lỗi xuất hiện trong khi truyền dẫn có thể do nhiều nguyên nhân, bộ giải mã RS sẽ xử lý từng khối dữ liệu và cố gắng sửa lỗi để khôi phục lại dữ liệu ban đầu. Số lƣợng và kiểu lỗi có thể sửa đƣợc phụ thuộc vào các đặc tính của mã RS đó.

Một mã RS thƣờng đƣợc kí hiệu là RS(n,k) với các symbol m bit, trong đó n là tổng số symbol sau khi mã hóa và k là số lƣợng thông tin hay số symbol dữ liệu. Bộ mã hoá lấy k symbol dữ liệu, mỗi symbol m bit, rồi thêm và (n-k) symbol kiểm tra để tạo thành một từ mã n symbol. Số lƣợng lỗi tối đa trong một khối mà mã RS(n,k) có thể đảm bảo sửa đƣợc là t=(n-k)/2. Thông thƣờng thì số symbol mã hóa đƣợc là n=2m-1. Nếu n nhỏ hơn số này thì mã đƣợc gọi là mã rút gọn. Tất cả các thuật toán mã hoá RS đều sử dụng mã RS trong trƣờng Galois GF(2m

Chương 5: Mô phỏng hệ thống WiMAX

Một mã RS đƣợc đặc trƣng bởi hai đa thức: đa thức trƣờng và đa thức sinh. Đa thức trƣờng xác định trƣờng Galois mà các symbol là thành phần của trƣờng đó. Đa thức sinh định nghĩa các symbol kiểm tra đƣợc sinh ra nhƣ thế nào. Cả hai đa thức này đều đƣợc định nghĩa cho mã RS.

- Đa thức trƣờng: đa thức này dùng để tạo ra trƣờng Galois của mã. Nó đƣợc nhập vào dƣới dạng số thập phân mà các bit ở dạng nhị phân tƣơng ứng với các hệ số của đa thức.

Ví dụ: p x( )    x8 x4 x3 x2 1  1000111012 28510 - Đa thức sinh: một từ mã RS đƣợc tạo ra nhờ một đa thức đặc biệt gọi là đa thức sinh. Tất cả các từ mã hợp lệ đều chia hết cho đa thức sinh. Dạng tổng quát của một đa thức sinh của một mã RS gốc sửa sai t lỗi có chiều dài 2m-1 là:

g(x) = (x + λ0)(x + λ1)(x + λ2) ... (x + λ2m-1), λ = 02HEX Với λ là một phần tử cơ bản của trƣờng GF(2m).

Sau đó, từ mã RS sẽ đƣợc tạo ra theo công thức: C(x) = g(x).i(x) Trong đó: g(x) là đa thức sinh.

i(x) là khối thông tin. C(x) là một từ mã hợp lệ.

Ví dụ: Một mã RS thƣờng gặp là RS(255,223) với các symbol 8 bit. Mỗi từ mã chứa 255 bytes, trong số đó có 223 bytes là dữ liệu, còn lại 32 bytes kiểm tra. Với mã này n=255, k=223, m=8, 2t = 32.

Bộ giải điều chế có thể sửa bất kỳ một lỗi 16 symbol nào trong từ mã, có nghĩa là có thể tự động sửa đƣợc lỗi tối đa 16 byte ở bất kỳ đâu trong từ mã cho một symbol cỡ là m, chiều dài tối đa cho một từ mã RS là n=2m

–1. Ví dụ, chiều dài tối đa cho một từ mã có các symbol dài 8 bit (m=8) là 255 byte.

Trong chuẩn IEEE 802.16d, Mã hoá Reed-Solomon sử dụng các cặp (n,k) tƣơng ứng với các dạng điều chế sau:

Chương 5: Mô phỏng hệ thống WiMAX

Bảng 5.1 Thông số của mã hóa RS Dạng điều chế Byte trƣớc khi mã

hóa (k)

Byte sau khi mã hóa(n) Mã hóa RS (n,k) QPSK ½ 24 32 (32, 24) QPSK ¾ 36 40 (40, 36) 16 QAM ½ 48 64 (64, 48) 16 QAM ¾ 72 80 (80, 72) 64 QAM 2/3 96 108 (108, 96) 64 QAM ¾ 108 120 (120, 108)

Độ phức tạp và sức mạnh xử lý để mã hoá và giải mã các mã RS phụ thuộc vào số lƣợng symbol kiểm tra trong một từ mã. Nếu t có giá trị lớn có nghĩa là có thể sửa đƣợc nhiều lỗi nhƣng lại đòi hỏi phải sử dụng số phép tính toán lớn hơn so với khi t có giá trị nhỏ.

Mã Reed-Solomon có khả năng sửa đƣợc nhiều lỗi. Một mã RS(n,k) có khả năng sửa sai tối đa (n-k)/2 lỗi. Sở dĩ nhƣ vậy vì ngƣời ta chứng minh đƣợc khoảng cách Hamming của một mã RS nhƣ vậy là (n-k+1). Ngoài sửa lỗi mã RS còn có khả năng sửa sai khi xảy ra hiện tƣợng mất symbol, các thủ tục mã hoá và giải mã RS(n,k) có thể đảm bảo sửa đƣợc tối đa (n-k) lỗi mất dữ liệu. Mã RS đặc biệt rất thích hợp cho sửa các lỗi cụm, đây là trƣờng hợp một dãy các bit lỗi xuất hiện liên tiếp ở máy thu.

Một phần của tài liệu tìm hiểu kỹ thuật ofdm và ứng dụng trong hệ thống wimax (Trang 78 - 80)

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

(107 trang)