Trong mã hóa khối, dữ liệu đầu vào đợc chia thành từng khối k bit và đầu ra là các khối n bit (với n > k). ở đây, n - k bit thêm vào gọi là các bit kiểm tra
đợc tính toán từ k bit đầu vào theo một thuật toán nhất định. Phơng thức mã
hóa này làm tăng băng thông lên R lần. Với R = n/k gọi là tỷ số mã, R chính là tốc độ đầu ra trên tốc độ đầu vào bộ lập mã.
Computation
k bits n - k bits
Hình 4-1 Cấu trúc bộ lập mã khối
Với khối n bit đầu ra, chỉ có 2k khả năng hợp lệ trong tổng số 2n khả năng có thể xảy ra. Từ mã đợc chọn với khoảng cách Hamming tối thiểu. Khoảng cách Hamming là số bit khác nhau của hai từ mã X và Y, ký hiệu là d(X, Y).
Nh vậy, từ mã đợc đặc trng bởi bộ tham số [n, k, d].
ở phía thu, khối n bit đợc phục hồi lại với một xác suất lỗi nhất định. Bộ giải mã sẽ tìm một từ mã hợp lệ và có khoảng cách Hamming với khối nhận đ- ợc là nhỏ nhất. Sau đó n - k bit kiểm tra có thể đợc xóa và kết quả thu đợc là bản sao của từ mã k bit đầu vào. Nếu d = 2t + 1 thì mã khối có thể sửa sai với một lợng lỗi cho phép. Trong OFDM, nếu n phù hợp với số bit trong một symbol thì mỗi symbol có thể đợc mã hóa độc lập và không cần nhớ các symbol trớc trong quá trình giải mã.
Error Probability (logarithmic)
Signal to Noise Ratio
uncoded
coded
Hình 4-2 Đặc tính của mã hóa khối trong kênh Gaussian
Đặc tính lỗi của kênh truyền đợc cải thiện khi sử dụng mã hóa khối đợc minh họa ở hình trên. Nh đã thấy ở trên hình vẽ, sử dụng mã hóa khối không chỉ giảm đáng kể xác suất lỗi mà còn có đoạn dốc trên đặc tuyến cho phép giảm xác suất lỗi rất nhanh khi tăng một lợng nhỏ tỷ số tín hiệu trên tạp âm S/N. Khi kích thớc của khối tơng đối lớn, đoạn dốc xảy ra khi ta tăng tỷ số S/N lên chỉ vài dB. Điều này cho phép tạo ra dung lợng lý tởng với cùng tốc
độ bit.
Phơng pháp giải mã nói đến ở trên là phơng pháp dựa trên ‘quyến định cứng’ (hard decision). Với phơng pháp này, bộ giải mã thực hiện với các bit
đầu ra của bộ giải điều chế. Do đó các lỗi xảy ra với tín hiệu analog sẽ bị mất ở bộ điều chế. Sẽ tốt hơn nếu có một sự đánh giá các lỗi đó trong khi giải mã.
Đây là phơng pháp ‘giải mã hóa mềm’ (soft decoding). Trong phơng pháp này, bộ giải điều chế không chỉ giải điều chế cho ra các bit đã mã hóa nh thông thờng, mà còn kiểm tra độ tin cậy khi đa ra các bit đó. Khi mà độ tin cậy thấp hơn ngỡng cho phép, bộ giải điều chế sẽ cho ra một ký tự đặc biệt gọi là ký tự trắng (erasure symbol) thay cho một bit. Nh vậy bộ giải mã sẽ làm việc với 3 mức tín hiệu đầu vào. Bất kỳ tổ hợp của t lỗi và e ký tự trắng có thể
đợc sửa sai nếu d = 2t + e + 1. Phơng pháp giải mã hóa quyến định mềm này có thể cho hiệu quả sửa lỗi cao nếu chọn đợc ngỡng thích hợp cho ký tự trắng.
Mã khối có thể làm việc với các ký tự (tổ hợp các bit) hơn là với các bit nhị phân. Một phơng pháp có hiệu quả và đợc sử dụng nhiều đó là mã Reed- Solomon. Một bộ lập mã Reed-Solomon [n,k,d] sẽ ánh xạ k ký tự m mức thành n ký tự m mức với d là khoảng cách Hamming hiệu dụng (là số các ký tự khác nhau giữa các từ mã). Kích thớc khối n phải nhỏ hơn m - 1 để dễ thực hiện và giảm giá thành.
Ví dụ bộ mã hóa Reed-Solomon làm việc với các ký tự là byte (8 bit).
Khi đó m = 28 = 256, do đó n ≤ 255. Một bộ lập mã [255, 235, 20] sẽ ánh xạ khối 235 byte thành khối 255 byte. Và khi đó bộ giải mã sẽ có thể sửa sai đợc 10 ký tự lỗi hoặc 20 ký tự trắng (erasure).
Mã hóa khối, đặc biệt là mã Reed-Solomon rất hiệu quả trong việc chống lại lỗi chùm. Trong hệ thống đơn sóng mang những lỗi chùm có thể xảy ra do nhiễu xung hoặc do pha đinh. Trong hệ thống đa sóng mang cũng thờng gặp phải lỗi chùm. Nhiễu xung có phổ rộng nên có thể ảnh hởng tới vài sóng mang. Còn pha đinh lựa chọn tần số với dải tần chịu ảnh hởng của nó rộng hơn dải tần của một sóng mang nên cũng có thể ảnh hởng đến một vài sóng mang liền nhau.
Ta còn có thể nâng cao tính chịu lỗi chùm của hệ thống bằng kỹ thuật cài xen (interleaving). ở phía phát các symbol đợc xáo trộn trớc khi truyền đi, ở phía thu các symbol đợc sắp xếp lại trớc khi giải mã. Do đó lỗi cụm xảy ra trên đờng truyền sẽ không tác động đến các symbol liên tiếp nhau.
Một dạng mã khối rất hay đợc sử dụng để phát hiện lỗi (không sửa lỗi) là mã vòng CRC (Cyclic Redundancy Check). ở đây một số cố định các bit kiểm tra đợc thêm vào từ mã. Phía thu sẽ sử dụng các bit này để kiểm tra, nếu phát hiện ra lỗi thì sẽ yêu cầu truyền lại. Nguyên lý tạo mã vòng là chia từ mã
cho đa thức sinh g(x) chọn trớc và thêm phần d vào từ mã ban đầu. Nh vậy từ mã truyền đi sẽ chia hết cho g(x), và phía thu sẽ sử dụng đặc điểm này của từ mã để phát hiện lỗi. Dới đây là một số đa thức sinh hay đợc sử dụng tơng ứng với 8 bit kiểm tra (đa thức đầu) và 16 bit kiểm tra (các đa thức sau):
( )( )
( )( ) 1
1 1
1
4 11 16
5 12 16 16 8
+ + +
=
+ + +
= +
= +
=
x x x x g
x x x x g
x x g
x x g
Mã vòng CRC có u điểm là bộ lập mã và giải mã đơn giản dùng thanh ghi dịch và cộng modul-2. Mã vòng CRC với n bit kiểm tra cho phép phát hiện mọi lỗi có độ dài nhỏ hơn n và với xác suất 1 - 2n cho các lỗi khác.