2.3 CƠ SỞ KỸ THUẬT ADSL
3.3.4 CÁC KỸ THUẬT KIỂM SOÁT LỖI TRONG ADSL
3.3.4.1 Sửa lỗi trước FEC (Forword Error Correction)
Khối FEC có tác dụng giúp bên thu có thể thu đúng thông tin mà không đòi hỏi phải phát lại các gói tin bị lỗi. Chúng thực hiện bằng cách chèn thêm các byte kiểm tra vào sau phần tải (payload), các byte kiển tra chiếm một phần rất nhỏ trong phần tải được truyền. Các byte này có tác dụng giúp cho bên thu có thể giải mã một cách chính xác các dòng số được nhận, với công suất là 3dB với tỉ lệ lỗi bit là BER = 10-7.
Trong các hệ thống DSL thì thường có hai loại FEC, loại thứ nhất là khối mã vòng hay thường được gọi là mã hóa Reed-Solomon, còn loại thứ hai gọi là mã xoắn (Trellis) hay còn được gọi là phương pháp điều chế và mã hóa kết hợp.
a) Phương pháp mã hóa Reed - Solomon.
Phương pháp này dựa trên nền tảng của phương pháp mã vòng hay nói đúng hơn phương pháp mã hóa Reed-Solomon là tập con của phương pháp mã vòng. Ngoài ra quá trình mã hóa Reed-Solomon cũng là trường hợp đặc biệt của phương pháp mã hóa BCH (Bose and Ray-Chaudhuri and Hoequenghem).
Trong các hệ thống DSL thì phương pháp mã hóa Reed-Solomon sử dụng trường số học galois, đặc biệt là GF(256) có nghĩa là trên mỗi byte của từ mã Reed-Solomon có thể đảm nhận một trong 256 giá trị bắt đầu từ 0 đến 255. Ngoài ra luật này còn định nghĩa các kết quả sẽ có khi chúng ta thực hiện cộng, trừ, nhân, chia các byte.
Các từ mã Reed-Solomon được chia làm hai phần cố định, một mang thông tin, một mang các byte kiểm tra. Trong trường hợp sử dụng GF(256) thì
galois khác nhau cũng mang lại các từ mã khác nhau. Ví dụ như đối với các hệ thống DSL thông thường sử dụng trường galois là GF(256) thì kích thước của từ mã có thể là 240 byte, trong đó 224 byte là data còn 16 byte là byte kiểm tra. Sau đây là cấu trúc của từ mã Reed-Solomon trong GF(256):
DATA PAYLOAD 224 bytes
Check Bytes 16 bytes
Ngoài ra một điểm mạnh khác của phương pháp Reed-Solomon so với CRC là phương pháp này không những phát hiện lỗi mà còn có khả năng sửa lỗi tại bên thu. Tuy nhiên số byte mà bộ giải mã Reed-Solomon có thể sửa được chỉ bằng 1/2 số byte kiểm tra được dùng. Ví dụ đối với trường hợp sử dụng GF(256) thì với độ dài byte kiểm tra là 16 byte thì chỉ có 8 byte lỗi sẽ được sửa nếu tất cả các byte này hoạt động trong 1 hàng (lỗi burst).
b) Phương pháp mã xoắn
Phương pháp mã xoắn có các từ mã không có hai phần riêng biệt giống như mã Reed-Solomon, do vậy sẽ không xảy ra trường hợp tách các byte kiểm tra ở bên thu như trường hợp Reed-Solomon. Quá trình tạo mã ở đây là các dòng bit đầu vào sẽ được tổ hợp theo một quy luật nhất định và thường thì việc tạo mã rất đơn giản, song quá trình giải mã lại gặp rất nhiều khó khăn. Sơ đồ hình 2.7 chỉ ra phương thức tạo mã xoắn.
Hình 2.7 Nguyên lý cơ bản của phương pháp mã xoắn
Sơ đồ này đưa dòng bit dữ liệu vào bộ mã hóa, tại đây ứng với mỗi bit dữ liệu tại đầu vào sau khi được cộng modun 2 sẽ cho ra hai bit dữ liệu đầu ra.
Và đây là phương pháp tạo mã đơn giản nhất với tốc độ bộ tạo mã là 1/2 và độ dài ràng buộc là 2. Tốc độ tạo mã ở đây cho ta biết tỉ lệ giữa số bit đầu vào so với bit đầu ra, còn độ dài ràng buộc cho ta biết số bộ trễ trong khối mã hóa, hai tham số này luôn luôn hiện diện trong quá trình tạo mã và nó quyết định đến độ sâu của từ mã. Ngoài hai tham số trên trong bộ mã hóa chòm sao còn có một tham số nữa và giá trị của tham số này được gọi là trạng thái của quá trình mã hóa. Giá trị của tham số này biểu thị tại hai ô đầu tiên trong sơ đồ, nó quyết định đến trạng thái giới hạn của mã xoắn.
Để bên thu có thể nhận đúng được tín hiệu thì nó phải có bộ giải mã xoắn. Hình 2.8 sẽ đưa ra phương thức giải mã xoắn như sau, với điều kiện giá trị ban đầu của bộ trộn được thiết lập bằng 0.
Dòng bit vào 1 0 1 1 x x2
x2 1
0
1
Bit ra
Hình 2.8 Giá trị đầu vào và ra của phương pháp mã xoắn.
Khi đó, ta có bảng sau, tương ứng của giá trị đầu vào và đầu ra
Input 0 0 1 0 1 0 0 0 1 1
Output 0 0 0 0 1 1 1 0 0 0 1 0 1 1 0 0 1 1 0 1
3.3.4.2 Kỹ thuật yêu cầu trả lời tự động ARQ
Có ba kỹ thuật yêu cầu trả lời tự động cơ bản:
a) Stop and Wait ARQ:
Trong kỹ thuật này, dữ liệu được chia thành các khối hay gói, được đánh số. Tại đầu thu, bên thu kiểm tra số thứ tự các gói nhận được. Nếu đúng thứ tự thì nó gửi trở lại tín hiệu biên nhận ACK và chờ gói được bên gửi phát tiếp theo. Còn nếu bên thu nhận gói tin bị lỗi, nó sẽ gửi tín hiệu NAK báo cho nơi phát biết rằng dữ liệu đã bị lỗi và yêu cầu nơi phát phát lại gói dữ liệu đó.
Nhược điểm của kỹ thuật Stop and Wait là nó phải gửi xác nhận cho mọi gói, nếu cự ly truyền dẫn xa thì làm tăng đáng kể thời gian truyền dẫn.
b) Go back N ARQ:
1100010100 0 0 0
1 x x2
x2 1
Để khắc phục nhược điểm của Stop and Wait người ta đưa ra phương pháp Go back N ARQ. Với phương pháp này nơi phát có thể phát liên tiếp nhiều gói, máy thu có thể gửi tín hiệu xác nhận ACK hoặc NAK cho các gói đó.
Mỗi lần máy thu gửi tín hiệu NAK kèm theo số thứ tự một gói tin nào đó, thì máy phát phát lại tất cả các gói từ gói có số thứ tự được xác định bởi tín hiệu NAK. Ví dụ máy phát gửi các gói từ 1-5, giả sử gói số 2 bị lỗi và bên nhận gửi lại tín hiệu NAK thì bên gửi phải gửi lại các gói từ 2-5.
Nhược điểm của Go back N ARQ là nó phải gửi lại tất cả các gói kể từ gói bị lỗi, điều này làm giảm tính hiệu quả vì khi chỉ có một gói bị lỗi, vẫn phải loại tất cả các gói không bị lỗi nhưng có số thứ tự lớn hơn gói bị lỗi khi đến đích.
c) Continuous ARQ:
Để khắc phục nhược điểm của Go back N ARQ người ta đưa ra phương pháp Continuous ARQ. Trong phương pháp này, các gói tin được truyền nếu bị lỗi thì chỉ phải truyền lại riêng các gói bị lỗi chứ không phải truyền lại tất cả các gói tin từ gói tin lỗi như trong phương pháp Go back N. Phương pháp này cho phép tăng đáng kể tốc độ truyền dẫn nhưng thuật toán phức tạp, cần nhiều bộ nhớ đệm tại bên thu.