Turbo码是一种基于迭代解码的强大纠错编码方法,通过联合使用两个或多个卷积码及其相应的解码器,利用软信息在解码器之间不断交换和更新,从而提高解码性能。
1. Turbo码迭代解码过程
Turbo码的解码过程通过两个解码器(通常是基于Log-MAP或SOVA算法的软输入软输出解码器)协同工作,使用信息的多次交换和更新来逐步优化比特判决。解码框架如下:
1.1 初始步骤
-
接收信号:
- 从信道接收到的信号包含系统比特(信息比特)和冗余比特(编码比特),通常为加性高斯白噪声(AWGN)信道的输出。
- 每个比特 r k r_k rk包括系统比特 u k u_k uk和相应的两个冗余比特,分别来自两个编码器的输出。
-
初始化软信息:
- 解码器使用初始的对数似然比(LLR) L c = 2 σ 2 ⋅ r k L_c = \frac{2}{\sigma^2} \cdot r_k Lc=σ22⋅rk,其中 σ 2 \sigma^2 σ2是信道噪声功率。
1.2 解码迭代
Turbo码的解码器通过以下步骤进行信息交互和更新:
Step 1: 第一解码器处理 (Decoder 1)
-
输入:
- 系统比特的软信息 L ( u k ) L(u_k) L(uk)。
- 接收的第一编码器冗余比特。
- 从第二解码器反馈的 先验信息 L e ( 2 ) ( u k ) L_e^{(2)}(u_k) Le(2)(uk)(初始时为零)。
-
解码:
- 使用 Log-MAP 或 SOVA 算法解码系统比特 u k u_k uk。
- 输出软信息,包括后验信息 L p o s