Thuật toán MAP được mô tả như sau :
Đường tiến - Tính toán trạng thái xác suất α
Hình 3.10 mô tả các tính toán ở mỗi khoảng thời gian k, đơn giản là bộ mã hóa RSC 4 tầng với mã lưới kết nối được định nghĩa bởi chuỗi G={7,5}. Đầu tiên, lưới được đi qua đường tiến. Ở mỗi nút lưới, trạng thái xác suất được tính bởi xác suất đa trạng thái ở các nốt trước αk−1(m') thể hiện bởi nhánh trạng thái xác suất tạm thời γk−1(m',m) cho phần mã hóa nhận Rk={yks,ykp}.Điều này được mô tả như sau:
CBHD:TS Hoàng Thu Hà 64 HVTH: Nguyễn Quang Anh
αk(m)= ∑m'∑1i=0γi((yks,ykp),m',m)αk−1(m')
m∑m'∑1i=0γi((yks,ykp),m',m)αk−1(m')
∑ (3.10)
Trong đó m là trạng thái hiện tại, m' là trạng thái trước đó, i là dữ liệu bit ('0' hoặc '1') tương ứng với mỗi nhánh tồn tại trong nút.
Đường lùi - Tính toán trạng thái xác suất β.
Sau đó, mã lưới được chuyển đến hướng ngược. Một lần nữa, xác suất của mỗi nhánh được tính toán. Xác suất trạng thái tức thời βk(m) có được bằng cách nhân các xác suất của các trạng thái trước đó βk+1(m) và các trạng thái xác suất hiện tại tức thời Rk+1={yks+1,ykp+1}.Điều này được diễn tả bởi công thức sau:
βk(m)= ∑m'∑1i=0γi((ysk+1,ykp+1),m',m)βk+1(m')
m∑m'∑1i=0γi((yks+1,ykp+1),m',m)αk(m')
∑ (3.11)
Trong đó, các ký hiệu đều giống như công thức trước nhưng β là xác suất trạng thái lùi. Xác suất tạm cho mỗi nhánh giữa các nút được cho bởi công thức sau:
γi((yks,ykp),m',m)=p((yks,ykp)dk =i,m',m)
.q(dk =i m',m) (3.12) .Π(m m')
CBHD:TS Hoàng Thu Hà 65 HVTH: Nguyễn Quang Anh
CBHD:TS Hoàng Thu Hà 66 HVTH: Nguyễn Quang Anh
p(...) là xác suất tạm của kênh; đó là xác suất của ký tựđược nhận {yks,ykp}, sẽ là kết quả khi ký tự {yks,ykp} được truyền.
Hàm này được định nghĩa bởi đặc tính của kênh truyền. Ví dụ, hàm phân bố
Gaussian trong trường hợp kênh truyền AWGN. q(...) là xác suất có thể thu được của nhánh từ một nút được cho bởi trạng thái trước đó m', trạng thái hiện tại m và dữ liệu bit i kết hợp với nhánh q(...) là '0' hay là '1', dựa vào chuỗi khởi tạo polynomial của bộ mã hóa RSC. π(m m') biểu diễn cho một thông tin trước khi hình thành ngõ vào của mỗi bộ giải mã MAP, từ bộ giải mã MAP khác trong quá trình giải mã lặp.
Tính toán xác suất Log likelihood Δ(dk)
Cuối cùng, xác suất tiến và lùi ở mỗi khoảng thời gian k của mã lưới được dùng để cung cấp một ước lượng mềm nhằm xác định bit truyền là '1' hoặc là '0'. Quá trình này được mô tảở hình 3.7, một lần nữa bộ mã RSC với chuỗi polynomial khởi tạo G={7,5}. Ước lượng mềm được thể hiện qua tỷ số log likelihood (LLR).
Δ(dk) được tính toán như sau:
Δ(dk)=ln∑m∑m'γ1((yks,ykp),m',m)αk−1(m')βk(m)
m∑m'γ0((yks,ykp),m',m)αk−1(m')βk(m)
∑ (3.13)
Δ(dk) biểu diễn cho xác suất bit hiện tại là bit '0' nếu Λ(dk) là số âm, tương tự xác suất bit hiện tại là bit '1' nếu Λ(dk) là số dương từ DEC2 được chuyển ngược thành một ước lượng cứng dk tạo nên ngõ ra tầng cuối cùng của bộ giải mã turbo .
Thuận toán MAP là tối ưu hóa sựước lương chuỗi dữ liệu với xác suất lớn nhất theo từng bit một. Tuy nhiên, thuật toán MAP không thường được dùng vì sự
tính toán phức tạp. Mặc dù ngõ ra mềm của thật toán Δ(dk) được biểu diễn như là một xác suất lân cận theo hàm log, giá trị tức thời α,β,γ biểu diễn như các xác suất thật sự trong phạm vi 0..0, (10−∞...100). Phạm vi động của các xác suất thật là cao, có nghĩa là bộ nhớ cần thiết cũng phải cao. Vì vậy, công thức 3.10 đến 3.13 yêu cầu một số lượng lớn phép nhân - các lệnh tính toán phải được tăng cường. Để bổ sung một cách đơn giản, công việc sẽ trở nên tốt hơn với các giá trị α,β,γ và Λ hơn là các giá trị thật sự của nó. Để tiết kiệm không gian, sự bổ sung đầy đủ của bộ giải mã
CBHD:TS Hoàng Thu Hà 67 HVTH: Nguyễn Quang Anh
turbo bây giờ được mô tả trong các thuật toán đơn giản này bao gồm Max Log- MAP và Log-MAP.
CBHD:TS Hoàng Thu Hà 68 HVTH: Nguyễn Quang Anh
Hình 3.12 : Sự tính toán Log Likelihood Ratio (LLR) cho mỗi khoảng thời gian k.