Tổng quan về các thuật toán giải mã

Một phần của tài liệu tìm hiểu về mã turbo (Trang 29)

Ngoài sự kết nối các bộ mã tích chập cùng việc sử dụng một thành phần đặc biệt là các bộ ghép xen, còn một thành phần quan trọng khác trong chất lƣợng Turbo là quy trình giải mã mềm đƣợc thực hiện lặp đi lặp lại và độ phức tạp chỉ tăng tuyến tính theo kích thƣớc khung. Mã PCCC có cấu trúc mã hoá kết nối song song tuy nhiên quá trình giải mã PCCC lại dựa trên sơ đồ giải mã kết nối nối tiếp. Mã Turbo sử dụng bộ giải mã kết nối nối tiếp vì sơ đồ kết nối nối tiếp có khả năng chia sẻ thông tin giữa các bộ giải mã kết nối, trong khi đó các bộ giải mã có sơ đồ kết nối song song chủ yếu giải mã độc lập nhau. Các thông tin này nhờ đặc tính mềm, đƣợc trao đổi, khai thác nhiều lần qua các vòng lặp sẽ làm tăng đáng kể chất lƣợng giải mã.

Trong khi thực hiện một vòng lặp giải mã các thông tin mềm đƣợc trao đổi giữa các bộ giải mã thành phần, Forney đã chứng minh đƣợc rằng đầu ra mềm tối ƣu cho bộ giải mã phải là xác suất hậu nghiệm (APP) là xác suất của một bit nào đó đƣợc truyền dựa trên tín hiệu nhận đƣợc. Vì độ phức tạp của các mã TC chủ yếu là do bộ giải mã lặp nên điều cần thiết trƣớc nhất là tìm hiểu các thuật toán giải mã và tìm ra cách tốt nhất để giải mã mà không làm giảm chất lƣợng.

Phát triển các thuật toán giải mã hiệu quả là mối quan tâm hàng đầu khi cải tiến mã TC. Hình 1.19 trình bày cái nhìn tổng quan về các họ thuật toán giải mã dựa trên sơ đồ trellis.

30

Hình 1.19. Tổng quan các thuật toán giải mã

Họ thứ nhất là họ các thuật toán MAP còn gọi là thuật toán BCJR (Bahl-Cocke- Jelinek-Raviv, tên bốn ngƣời đã tìm ra thuật toán này). Thuật toán này liên quan đến các thuật toán giải mã khả năng xảy ra lớn nhất (ML) nhằm làm giảm tối đa xác suất lỗi bit. Họ này bao gồm các thuật toán symbol-by-symbol MAP, là phƣơng pháp tối ƣu để tính các thông tin APP, đây là thuật toán dạng tích, độ phức tạp rất cao. Trong họ này còn có hai loại thuật toán làm gần đúng thuật toán MAP để trở thành thuật toán dạng tổng, độ phức tạp ít hơn mà chất lƣợng giải mã gần nhƣ tƣơng đƣơng là Log- MAP và phiên bản gần đúng của Log-MAP là Max-log-MAP.

Một họ thuật toán giải mã khác là một họ thuật toán dựa trên việc sửa đổi thuật toán Viterbi (VA) có sử dụng thêm metric bổ sung vì VA truyền thống không tính các thông tin APP, metric bổ sung làm điều đó. Họ thuật toán giải mã này bao gồm thuật toán nổi tiếng là thuật toán Viterbi đầu ra mềm (SOVA) và thuật toán ít đƣợc biết đến hơn là thuật toán Viterbi đầu ra liệt kê nối tiếp (SLVA). Ngoài hai họ thuật toán giải mã này còn có một số kỹ thuật giải mã lặp khác.

Tuy cùng là các thuật toán đầu ra mềm dựa trên sơ đồ trellis nhƣng khác với VA là một thuật toán giải mã trellis ML và giảm thiểu xác suất lỗi từ mã, thuật toán MAP lại nhằm tới giảm tối đa xác suất lỗi bit. MAP là một phƣơng pháp tối ƣu để ƣớc đoán các trạng thái và ngõ ra của các quá trình Markov trong điều kiện nhiễu trắng. Tuy nhiên MAP ít khả năng đƣợc ứng dụng thực tế bởi các khó khăn về số học liên quan đến việc

Các thuật toán giải mã dựa trên Trellis

Viterbi

Max-Log-MAP

SOVA cải tiến SOVA

Log-MAP MAP

31 biểu diễn xác suất, các hàm phi tuyến cùng một số các phép nhân và cộng khi tính toán các giá trị này.

Log-MAP là một biến thể của MAP, chất lƣợng gần nhƣ tƣơng đƣơng mà không gặp trở ngại trong việc ứng dụng trong thực tế. Log-MAP đƣợc thực hiện hoàn toàn trong miền logarit, nhờ đó phép nhân chuyển thành phép cộng và ta có đƣợc một hàm tƣơng đối dễ thực hiện hơn.

Max-Log-MAP và SOVA là thuật toán gần tối ƣu dùng để giảm bớt độ phức tạp tính toán nhƣng trong kênh nhiễu Gauss thì chất lƣợng hai loại này cũng không cao, đặc biệt trong vùng SNR thấp. Max -Log-MAP hầu nhƣ giống với Log-MAP chỉ có duy nhất một điểm khác là sử dụng một hàm đơn giản hơn rất nhiều. Các nghiên cứu cho thấy Max-Log-MAP làm giảm chất lƣợng khoảng 0.5 dB so với MAP/Log-MAP trong kênh nhiễu Gauss.

Các khác biệt trong việc thực hiện giữa các thuật toán giải mã này có thể giúp giải thích đƣợc sự khác biệt về chất lƣợng. Tại mỗi bƣớc thứ k trong một trellis, MAP/Log- MAP chia tất cả các đƣờng ra thành hai tập, một tập các đƣờng khi bit thông tin ngõ vào bằng 1 và một tập các đƣờng khi bit thông tin ngõ vào bằng 0. MAP/Log-MAP sẽ tính tỉ số xác suất log (LLR) của hai tập này theo công thức. Ngƣợc lại Max -Log- MAP sẽ tìm trong tất cả các đƣờng để chọn các đƣờng thích hợp, một đƣờng có khả năng lớn nhất cho bit thông tin ngõ vào bằng 0. Ngõ ra mềm của Max-Log-MAP là LLR của hai đƣờng này.

Còn SOVA thì bổ sung vào VA một số giá trị thực và lƣu giữ . Thuật toán này chỉ tìm đƣờng “tồn tại” và một đƣờng cạnh tranh với đƣờng “tồn tại” đó. Về bản chất, SOVA sử dụng cùng một loại metric và có quyết định cứng nhƣ Max-log- MAP. Mặc dù, SOVA luôn tìm đƣờng có khả năng lớn nhất nhƣng đƣờng cạnh tranh tốt nhất có thể bị loại ra trƣớc khi kết hợp với đƣờng ML. Kết quả là ngõ ra mềm của SOVA có thể bị sai đƣờng so với ngõ ra mềm của Max-Log-MAP và chất lƣợng của bộ giải mã lặp SOVA kém hơn Max -Log-MAP.

Mặc dù thuật toán MAP tốt hơn thuật toán SOVA nhƣng nó có cấu trúc phần cứng và quá trình tính toán giải mã lại phức tạp hơn nhiều.

32

Một phần của tài liệu tìm hiểu về mã turbo (Trang 29)