【MATLAB源码-第454期】基于MATLAB的双二进制CTC Turbo码的多码率无线信道纠错性能与迭代译码仿真研究

0 阅读13分钟

操作环境:

MATLAB 2024a

1、算法描述****

摘要

为提高无线通信链路在噪声和衰落环境下的数据传输可靠性,本文围绕双二进制 CTC Turbo 码建立 MATLAB 仿真模型,重点分析多码率打孔、迭代译码次数、无线信道类型和交织长度对误码率性能的影响。系统采用随机比特生成、双比特分组、双二进制递归系统卷积编码、符号级交织、周期打孔、BPSK 调制、无线信道传输、软解调和 Max-Log-MAP 迭代译码等环节构成完整仿真链路。仿真结果通过 BER-SNR 曲线、不同迭代次数对比曲线、不同信道对比曲线、不同交织长度曲线以及译码复杂度曲线进行展示。研究表明,较低码率能够提供更多冗余 信息 ,在相同信噪比条件下通常具有更低误码率;迭代译码次数增加后,译码性能明显改善,但达到一定次数后增益逐渐减小;AWGN 信道下系统性能最优,Rayleigh 衰落信道下误码率明显上升;较长交织长度有助于增强随机化能力并改善纠错表现。本文仿真模型可用于理解 CTC Turbo 码的编码机制、打孔策略、软信息迭代传递和无线信道下的纠错特性,对通信编码类课程设计和链路级仿真研究具有一定参考价值。

关键词

双二进制CTC Turbo码;Max-Log-MAP译码;多码率打孔;无线信道;BER-SNR曲线;交织长度

1 绪论

在数字通信系统中,信道编码的核心作用是通过引入受控冗余来抵抗噪声、衰落和干扰造成的误码。无线通信信道通常具有开放性和随机性,信号在传播过程中会受到热噪声、多径衰落、遮挡和相位扰动等因素影响。若系统只依赖调制和解调,而缺少有效的纠错编码,接收端在低信噪比条件下会出现较高误码率。因此,研究高效可靠的信道编码方法,是通信系统设计中的基础问题。

Turbo 码是一类典型的迭代译码信道编码方法。其核心思想是通过多个递归卷积子码、交织结构和软信息迭代交换,使译码器逐步逼近更可靠的判决结果。近年来,Turbo 码及其译码方法仍然在低复杂度译码、深度展开译码、外信息修正和工程实现等方向持续被研究。Max-Log-MAP 是 Turbo 译码中常见的低复杂度近似方法,它用最大值运算近似对数域中的求和运算,可以明显降低译码复杂度,但相对 Log-MAP 会存在一定性能损失。相关研究也常围绕 Log-MAP、Max-Log-MAP 及其改进方法展开性能与复杂度折中分析。

CTC Turbo 码通常指卷积 Turbo 码。与普通单比特 Turbo 码相比,双二进制 CTC Turbo 码以两个比特为一个输入符号,能够在一个网格分支中承载更多信息。该结构适合用于研究多码率打孔、交织长度、软译码和无线信道下的误码性能。本文不引入 PCCC、SCCC、HCCC 等其他结构对比,而是只围绕 CTC Turbo 码本身展开。这样做的好处是研究对象集中,代码结构清楚,论文主线也更稳定。

2 CTC Turbo码基本原理

本文研究的 CTC Turbo 码采用双二进制输入方式,即每两个信息比特组成一个输入符号。输入符号共有四种状态,分别为 00、01、10 和 11。 编码器 由两个递归系统卷积子编码器和一个符号级交织器构成。第一路子编码器直接处理原始双比特符号序列,第二路子编码器处理交织后的符号序列。编码输出包括系统位和两路校验位。

双二进制结构的优势在于:每个网格分支表示一个双比特符号,信息承载效率较高;交织器作用在符号层面,可以增强输入序列的随机化效果;校验位经过打孔后可以形成不同码率,适合分析传输效率和纠错能力之间的关系。本文代码中设置了 1/2、2/3、3/4 和 5/6 四种码率。码率越低,保留的校验位越多,冗余越充分,理论上纠错能力越强;码率越高,发送开销越低,但抗噪声能力会下降。

译码部分采用两个软输入软输出译码器进行迭代处理。第一译码器根据系统位、第一路校验位和先验信息计算外信息;外信息经过交织后送入第二译码器;第二译码器再将新的外信息反交织并反馈给第一译码器。经过多次迭代后,译码器根据后验概率进行硬判决,恢复原始信息比特。现代研究也指出,Turbo 类译码性能与交织、迭代次数和外信息质量高度相关。

3 系统模型与 算法 设计

本文系统链路由以下模块组成:随机比特生成、双比特分组、CTC Turbo 编码、交织、周期打孔、BPSK 调制、无线信道、软解调、Max-Log-MAP 迭代译码和 BER 统计。系统没有把重点放在复杂调制上,而是优先采用 BPSK。这是合理的,因为本文目标是观察编码带来的纠错增益,而不是研究高阶调制星座映射。

信道部分设置 AWGN 、Rayleigh 和 Rician 三类模型。AWGN 信道只叠加加性白噪声,是最基础的参考信道。Rayleigh 信道用于模拟无明显直射路径的多径衰落场景。Rician 信道用于模拟存在直射路径和散射路径同时存在的情况。三类信道能够覆盖从理想到复杂衰落的不同环境。BER 分析通常采用 Eb/N0 作为横轴,因为它能够把码率和调制能量统一到比特能量层面。MathWorks 通信工具文档也将 Eb/N0 作为误码率理论分析中的常用输入量。

噪声方差设计是本仿真的关键点。若直接把 SNR 当成噪声方差输入,而不考虑码率,则不同码率之间的曲线会失真。本文代码按实际码率换算噪声方差,使不同码率结果更具有可比性。译码算法采用 Max-Log-MAP 近似,使用前向状态度量、后向状态度量和分支度量计算每个双比特符号的后验信息。由于 Max-Log-MAP 用最大值运算代替精确的对数求和,复杂度较低,适合 MATLAB 课程仿真和工程验证。近年来的 TurboNet 和 TinyTurbo 等研究也以 Max-Log-MAP 为重要基线,说明该算法仍然适合作为 Turbo 译码研究的基础模型。

4 MATLAB仿真实现

本工程按照模块化方式组织。主程序为 main.m,参数配置放在 cfg_ctc.m 中,其他功能函数放在 function 文件夹 中。主程序负责调用参数、构造网格、执行四组扫描实验、绘制图像并保存结果。函数部分包含编码、译码、信道软信息计算、打孔图案生成、交织器生成、复杂度估算、曲线绘制和 CSV 输出。

仿真图像统一保存到 figure 文件夹,结果数据保存到 result 文件夹。输出图像包括系统流程图、不同码率 BER 曲线、不同迭代次数 BER 曲线、不同信道 BER 曲线、不同交织长度 BER 曲线和译码复杂度曲线。这样安排的好处是:论文分析有明确图表支撑,代码运行结果可以复查, CSV 数据也能用于二次绘图。

为了观察瀑布型误码曲线,代码采用半对数坐标绘制 BER。BER 曲线如果使用普通线性坐标,很容易把低误码区压在横轴附近,看不出下降趋势。半对数坐标能够更清楚地展示误码率从较高水平快速下降到低误码区的过程。同时,代码对误码数过少的高信噪比点进行了绘图屏蔽,但原始 BER 数值仍然保存在 CSV 文件中。这种处理可以避免 Monte Carlo 样本不足导致的零误码点误导曲线判断。

5 仿真结果与性能分析

第一组实验分析不同码率下的 BER-SNR 性能。一般情况下,1/2 码率具有更强的纠错能力,因为它保留了更多校验信息;5/6 码率传输效率更高,但冗余较少,在低信噪比下更容易出现误码。该实验体现的是可靠性和传输效率之间的基本矛盾。若实际系统更重视可靠性,应选择较低码率;若信道质量较好且更重视吞吐率,可以选择较高码率。

第二组实验分析迭代次数对 BER 的影响。随着迭代次数从 1 次增加到 2 次、4 次、6 次和 8 次,译码器能够反复交换外信息,判决可靠性通常会提高。但迭代次数不是越多越好。达到一定次数后,外信息增益趋于饱和,继续增加迭代次数只会明显增加计算复杂度,而 BER 改善有限。这一结论对工程实现很重要,因为实际接收机通常受到功耗、时延和硬件资源限制。

第三组实验分析不同信道环境下的性能。AWGN 信道下没有多径衰落,系统 BER 最低。Rayleigh 信道会引入随机幅度衰落,接收软信息可靠性下降,因此误码率更高。Rician 信道包含直射分量,性能通常介于 AWGN 和 Rayleigh 之间。该实验说明,编码增益并不能完全消除信道衰落带来的损失。若系统应用于移动、遮挡或多径明显的场景,还需要结合均衡、分集或信道估计方法。

第四组实验分析交织长度对系统性能的影响。交织器能够把相邻错误打散,使两个子译码器接收到的错误分布更加随机。交织长度越长,随机化效果通常越好,低误码区性能更稳定。但交织长度增加也会带来更高缓存需求和更大译码时延。对实时通信系统而言,不能只追求低 BER,还要考虑时延约束。因此,交织长度应根据业务场景进行折中设计。

6 复杂度分析

本文复杂度曲线主要从译码迭代次数角度估算。Max-Log-MAP 译码需要在每个符号时刻、每个状态和每种输入分支上计算路径度量,因此复杂度与信息块长度、状态数、输入符号数和迭代次数直接相关。当迭代次数增加时,分支度量计算量和状态更新量近似线性增长。

从工程角度看,迭代次数是最直接的复杂度控制参数。若只追求 BER,增加迭代次数可以改善结果;但若考虑实时性和功耗,过高迭代次数并不划算。较合理的方案是在 BER 明显改善但复杂度尚可接受的位置选取迭代次数。例如本文默认采用 6 次迭代,既能体现较明显的纠错增益,也不会让运行时间过长。

近年的研究也说明,Turbo 译码的一个重要方向就是在保持误码性能的同时降低复杂度。例如基于归一化 Log-MAP、深度展开 Max-Log-MAP 和神经增强译码的方法,都是围绕性能与复杂度折中展开。

7 系统特点

本文系统具有以下特点。

第一,研究对象集中。系统只围绕双二进制 CTC Turbo 码展开,没有混入其他 Turbo 结构对比,主线清楚。

第二,链路完整。代码覆盖从比特生成到 BER 统计的完整通信链路,能够支撑论文中的系统建模和仿真分析。

第三,多维度分析充分。系统从码率、迭代次数、信道类型和交织长度四个角度展开,既能体现编码性能,也能体现无线信道影响。

第四,图像结果适合论文表达。BER 曲线采用半对数坐标,更符合通信系统误码性能分析习惯,也更容易观察瀑布型下降趋势。

第五,参数集中管理。主要仿真参数统一放在配置函数中,便于后续调整码率、帧数、信噪比范围、迭代次数和图像格式。

第六,工程可读性较好。各功能模块被拆分为独立函数,主程序结构清楚,便于调试、扩展和论文说明。

8 结论

本文基于 MATLAB 建立了双二进制 CTC Turbo 码无线信道纠错仿真系统,完成了多码率打孔、迭代译码、不同信道和不同交织长度下的 BER 性能分析。结果表明,CTC Turbo 码能够通过交织和迭代译码改善无线链路可靠性;低码率通常具有更强纠错能力;增加迭代次数可以降低 BER,但复杂度同步增加;AWGN 信道下性能优于衰落信道;较长交织长度有助于改善随机化效果。本文系统适合作为通信编码仿真课题的实现基础,也可以继续扩展到 QPSK 调制、软输出均衡、移动衰落信道和硬件复杂度评估等方向。

需要严格说明的是,本文代码实现的是面向课程设计和链路级分析的双二进制 CTC Turbo 码仿真模型,不是某一通信标准的完整参数级复刻。因此论文表述应写成“基于双二进制 CTC Turbo 码机制的仿真研究”,不要写成“完全符合某标准物理层规范”。

参考文献

[1] Li, Jun, Xiumin Wang, Jinlong He, Chen Su, and Liang Shan. “Turbo Decoder Design Based on an LUT-Normalized Log-MAP Algorithm.” Entropy, vol. 21, no. 8, 2019, article 814.

[2] He, Yunfeng, Jing Zhang, Chao-Kai Wen, and Shi Jin. “TurboNet: A Model-Driven DNN Decoder Based on Max-Log-MAP Algorithm for Turbo Code.” arXiv, 2019.

[3] He, Yunfeng, Jing Zhang, Shi Jin, Chao-Kai Wen, and Geoffrey Ye Li. “Model-Driven DNN Decoder for Turbo Codes: Design, Simulation and Experimental Results.” arXiv, 2020.

[4] Hebbar, S. Ashwin, Rajesh K. Mishra, Sravan Kumar Ankireddy, Ashok Vardhan Makkuva, Hyeji Kim, and Pramod Viswanath. “TinyTurbo: Efficient Turbo Decoders on Edge.” arXiv, 2022.

[5] Xia, Xiang-Gen. “Understanding Turbo Codes: A Signal Processing Study.” IEEE BITS the Information Theory Magazine, 2024.

[6] Kumar, N., et al. “A Review of Channel Coding Schemes in the 5G Standard.” Telecommunication Systems, 2023.

[7] Indoonundon, M., et al. “Overview of the Challenges and Solutions for 5G Channel Coding Schemes.” Journal of Information and Telecommunication, 2021.

[8] Fu, Y., et al. “Improving Log-Likelihood Ratio Estimation with Bit-Level Information.” Entropy, vol. 23, no. 6, 2021.

[9] Ortin, Jorge, Paloma Garcia, Fernando Gutierrez, and Antonio Valdovinos. “Performance Analysis of Turbo Decoding Algorithms in Wireless OFDM Systems.” arXiv, 2025.

[10] Zhang, D. “Research on Common Algorithms of Convolutional Codes in Communication Systems.” Proceedings of SPIE, 2024.

2、仿真结果演示****

3、关键代码展示****

4、MATLAB 源码获取****

  V

www.maiwan8.com/#/dynamicDe…