操作环境:

MATLAB 2024a

1、算法描述

摘要

信道编码是数字通信系统提高传输可靠性的关键环节。无线信道中存在噪声、衰落、干扰和同步误差等因素,接收端往往无法直接获得完全可靠的比特判决结果。为了降低误码率,通信系统通常会在发送端引入冗余校验信息,并在接收端通过译码算法恢复原始信息。本文围绕LDPC码、Turbo码和卷积码三类典型信道编码方法开展MATLAB仿真研究,重点分析三类编码方案在BPSK调制和加性高斯白噪声信道下的误码率表现、不同码率对系统可靠性的影响、Turbo码迭代译码带来的性能收益,以及LDPC译码平均迭代次数随信噪比变化的收敛特征。5G NR标准已经将LDPC码用于数据信道相关编码流程,并将Polar码用于控制信息相关编码流程,说明现代通信系统对高可靠、低复杂度和灵活码率的信道编码技术提出了更明确的工程要求。 本文的仿真模型虽然没有完全复现5G NR标准链路,但通过统一信道、统一调制方式和统一误码统计口径,对三种经典编码方法的基本性能差异进行了直观比较。仿真结果能够为信道编码教学、算法验证和通信系统初步设计提供参考。

关键词: 信道编码;LDPC码;Turbo码;卷积码;BPSK调制;误码率;迭代译码;MATLAB仿真

一、引言

在数字通信系统中,信道编码的核心目标不是提高信道本身的物理质量,而是在既定信道条件下提高信息传输的抗噪声能力。发送端通过编码引入有规律的冗余信息,接收端通过译码算法利用这些冗余信息判断哪些比特更可能是正确结果。与简单重复发送相比,现代信道编码可以在较低冗余开销下获得更明显的可靠性提升,因此它长期占据通信物理层设计的重要位置。

卷积码、Turbo码和LDPC码代表了信道编码技术发展的不同阶段。卷积码结构相对清晰,常与Viterbi译码配合使用,适合展示状态转移、路径度量和最大似然判决等基本思想。Turbo码通过两个递归系统卷积码和交织器构成并行级联结构,依靠两个软输入软输出译码器之间反复交换外信息来提升译码可靠性。LDPC码则通过稀疏校验矩阵和变量节点、校验节点之间的消息传递完成译码,具有较强的并行处理潜力和较好的长码性能。5G NR中的信道编码方案对LDPC码、Polar码、码块分段、速率匹配和物理信道映射都有明确规定,这也说明现代系统已经不再只关注单一误码率指标,而是同时关注吞吐量、时延、复杂度和码率灵活性。

本文所建立的MATLAB仿真系统以BPSK调制和AWGN信道为基础,对LDPC码、Turbo码和卷积码进行统一性能比较。这样设计的优点是链路条件清晰,变量数量较少,便于观察编码方案自身对误码性能的影响。本文没有把多径衰落、信道估计、同步误差和高阶调制同时加入模型,因为过多因素会掩盖信道编码本身的差异。对于信道编码类基础仿真而言,先在AWGN信道下验证误码率变化趋势,是更合理的建模步骤。

二、系统模型与仿真流程

本文仿真系统的基本流程包括随机信息比特生成、信道编码、BPSK调制、AWGN信道传输、软信息计算、信道译码、误码统计和结果绘图。发送端首先生成随机二进制信息序列,然后分别送入LDPC编码器、Turbo编码器和卷积编码器。编码后的比特经过BPSK映射后进入AWGN信道。接收端根据接收符号和噪声方差计算软判决信息,再分别调用对应译码算法恢复信息比特。最后,系统将译码结果与原始信息比特进行逐位比较,得到误码数和误码率。

仿真中采用误码率作为主要评价指标。误码率能够直接反映接收端最终恢复信息的可靠性。对于信道编码方案而言,随着信噪比提高,误码率通常会快速下降。如果某种编码方案在相同信噪比下误码率更低,说明它在该仿真条件下具有更好的纠错能力。除了误码率之外,本文还关注帧错误率和平均迭代次数。帧错误率能够反映整帧数据是否完整恢复,平均迭代次数则能够反映LDPC译码在不同信噪比下的收敛速度。

本文仿真程序中主函数负责参数配置、结果调度和图像输出,各个功能函数分别承担AWGN信道添加、LDPC编码译码、Turbo编码译码、卷积码网格构造、不同码率仿真和结果绘图等任务。这种结构使主流程相对清晰,也方便后续修改单个算法模块。对于通信仿真项目而言,主函数与算法函数分离是必要的。原因很直接:信道编码系统包含多种算法,如果所有内容都堆在一个脚本里,后期排查误码率异常、迭代不收敛或曲线不合理时会非常困难。

三、LDPC码设计与译码分析

LDPC码的主要特征是校验矩阵稀疏。稀疏结构使每个校验节点只与少量变量节点连接,每个变量节点也只参与有限数量的校验关系。接收端译码时,变量节点根据接收软信息向校验节点传递可靠性信息,校验节点根据校验约束反向更新变量节点的消息。经过多轮迭代后,如果译码结果满足所有校验关系,就可以提前停止。这个过程体现了LDPC码的核心优势:它不是一次性硬判决,而是通过多轮消息交换逐步修正不可靠比特。

本文程序中LDPC编码采用系统码结构,信息位直接保留,校验位通过累加型结构递推生成。译码部分采用修正最小和算法。最小和算法相对于完整置信传播算法复杂度更低,更适合工程实现,但原始最小和算法会带来一定性能损失,因此通常需要归一化或偏移修正。近年来大量5G LDPC译码研究也围绕最小和算法、归一化最小和算法、偏移最小和算法以及硬件友好型结构展开,核心矛盾就是在误码性能、吞吐量、存储资源和译码延迟之间取得平衡。

从仿真意义上看,LDPC码的重点不只是误码率曲线,还包括平均迭代次数曲线。如果信噪比较低,接收软信息不可靠,译码器需要更多轮消息传递才能逐步修正错误,甚至可能达到最大迭代次数后仍无法满足校验关系。如果信噪比较高,初始软信息已经较可靠,译码器通常能够较快收敛。平均迭代次数下降,说明译码复杂度和处理延迟也有下降趋势。因此,LDPC码评价不能只看误码率是否低,还要看达到该误码率需要多少迭代次数。

四、Turbo码设计与迭代译码分析

Turbo码的基本思想是利用交织器打散原始信息序列的相关性,再通过两个分量编码器生成不同视角下的校验信息。接收端译码时,两个软输入软输出译码器交替工作。第一个译码器根据系统位、第一路校验位和先验信息输出外信息;第二个译码器在交织域中利用该外信息继续译码,并将新的外信息回传给下一轮迭代。经过多轮迭代后,软信息逐渐增强,最终完成硬判决。

本文程序中Turbo码采用递归系统卷积码作为分量码,并设置固定迭代次数。程序不仅统计最终迭代后的误码率,还记录每一轮迭代后的译码结果,因此可以绘制Turbo译码迭代收益曲线。这一设计是有价值的,因为Turbo码的性能优势并不是来自单次译码,而是来自迭代过程中外信息的逐步改善。如果第一轮译码误码率较高,而后续迭代误码率明显下降,就说明交织和外信息交换发挥了作用。

不过,Turbo码迭代次数不是越多越好。迭代次数增加会带来计算量和时延增加,当外信息提升逐渐变小后,继续迭代的收益会下降。工程系统通常会设置最大迭代次数,并结合停止准则控制复杂度。本文仿真中采用固定迭代次数,便于观察不同迭代轮次之间的曲线变化。这个设置适合教学和性能展示,但如果要扩展到更接近工程系统的版本,应增加CRC辅助停止、外信息稳定性判断或帧级早停策略。

五、卷积码设计与Viterbi译码分析

卷积码是一类经典的有记忆编码方式。当前输出不仅由当前输入决定,也与编码器内部状态有关。编码器状态可以用网格图表示,译码器需要在网格路径中寻找最可能的输入序列。Viterbi译码就是通过路径度量累积和幸存路径选择完成最大似然序列估计。相比LDPC码和Turbo码,卷积码结构更容易理解,译码过程也更直观。

本文程序中卷积码通过MATLAB通信工具箱函数构造网格,并采用非量化软判决Viterbi译码。软判决译码比硬判决译码更充分利用接收符号的可靠性信息,因此误码性能通常优于只使用0/1判决结果的方式。程序还设置了不同码率下的卷积码对比,通过改变生成多项式输出数量实现不同冗余度。低码率意味着更多冗余,通常能够带来更强纠错能力,但代价是频谱效率下降。

卷积码在本文中可以视为基准方法。它的意义不在于一定要超过LDPC码或Turbo码,而在于提供一个传统编码参考。通过与卷积码比较,可以更直观看到迭代类编码方案在中高信噪比区域的性能改善。同时,卷积码的译码复杂度随约束长度增长较快,如果进一步提高约束长度,性能可能改善,但译码复杂度也会快速增加。因此,卷积码适合中短约束长度场景,而不适合无限制地通过加大状态数来换取性能。

六、不同码率对误码性能的影响

码率是信道编码系统中的重要参数。码率越低,说明冗余比例越高,接收端可利用的校验信息越多,纠错能力通常越强。码率越高,说明有效信息占比更高,频谱效率更好,但抗噪声能力会下降。本文分别对LDPC码、Turbo码和卷积码设置了不同码率对比曲线,能够展示码率变化对误码率的影响。

在同一信道条件下,低码率方案一般会获得更低误码率。这是合理的,因为接收端有更多冗余信息可以用于判断错误位置。但低码率并不代表绝对更优。真实系统中还要考虑数据吞吐量、带宽占用、业务时延和编码复杂度。如果某个业务更关注可靠性,例如控制信令、远程控制和安全相关通信,可以接受较低码率。如果某个业务更关注吞吐量,例如大文件传输或高码率视频,则不能无限降低码率。不同码率曲线的价值,就在于让设计者看到可靠性和效率之间的折中。

本文仿真中的码率对比是基础版本,没有引入复杂速率匹配机制。实际5G NR LDPC系统通过基图选择、提升、穿孔、重复和速率匹配支持不同码长和码率,相关标准文档中也明确包含码块分段、LDPC基图选择和速率匹配等流程。 因此,本文模型更适合用于理解“码率变化影响误码率”的基本规律,而不是直接替代标准级链路仿真。

七、仿真结果分析

从主误码率对比曲线看,未编码BPSK理论曲线用于提供基础参考,卷积码、Turbo码和LDPC码则体现编码增益。随着信噪比提高,三类编码方案的误码率均应呈下降趋势。若某一曲线出现反常上升,通常需要检查随机帧数是否不足、译码软信息符号是否取反、码率折算噪声方差是否错误,或者译码器输出长度是否与原始信息位长度一致。本文程序中对误码率采用实际逐位统计方式,而不是人为设定曲线,因此曲线形态更能反映仿真模型自身的真实输出。

从LDPC不同码率曲线看,低码率曲线应当在相同信噪比下表现出更强纠错能力。若低码率反而明显差于高码率,需要重点检查校验矩阵构造、编码递推关系、译码边索引和噪声方差折算。LDPC码对矩阵结构较敏感,并不是随便构造一个稀疏矩阵就一定能获得优秀性能。本文采用简化的稀疏连接和累加型校验结构,主要用于仿真演示。若后续要提高严谨性,应进一步采用标准QC-LDPC基图或经过优化的校验矩阵。

从Turbo不同码率曲线看,低码率方案通常依靠更多校验信息获得更低误码率。Turbo码对交织器长度和交织方式较敏感,短交织长度下可能存在性能波动。本文的交织器采用随机交织方式,能够体现基本迭代译码特征,但随机交织也会带来一定实验不确定性。为了提高结果稳定性,后续可以固定随机种子,并在论文或说明中明确交织器生成方式。

从Turbo迭代收益曲线看,前几轮迭代通常带来较明显误码改善,后续迭代收益逐渐降低。这种现象符合Turbo译码的一般规律。若每轮迭代曲线几乎完全重合,说明外信息传递可能没有真正发挥作用,需要检查交织和解交织位置是否正确。如果后续迭代反而恶化,则应检查外信息是否重复叠加、先验信息是否清零错误,以及软信息符号方向是否统一。

从LDPC平均迭代次数曲线看,随着信噪比提高,平均迭代次数通常应下降。该曲线可以反映译码器是否具备有效早停能力。如果所有信噪比点平均迭代次数都接近最大迭代次数,说明校验停止条件很少触发,可能是校验矩阵、译码消息更新或硬判决方向存在问题。如果低信噪比下迭代次数很低但误码率很高,也可能说明译码器错误收敛或校验约束过弱。因此,平均迭代次数必须和误码率一起看,不能孤立判断。

八、工程意义与局限性

本文仿真系统的工程意义在于,它把三类经典信道编码方法放在同一基础链路中进行比较,能够帮助理解编码增益、码率折中和迭代译码收敛特征。对于通信算法学习和课程设计而言,这种模型比单独展示某一种编码方案更有价值。原因是单一算法曲线只能说明该算法随信噪比变化的趋势,而多算法对比可以展示结构差异对最终性能的影响。

但是,本文模型也存在明确局限。第一,信道采用AWGN模型,没有考虑多径衰落、时变信道和频偏等因素。第二,调制方式采用BPSK,没有扩展到QPSK、16QAM或更高阶调制。第三,LDPC校验矩阵为简化构造,并非完整5G NR QC-LDPC标准矩阵。第四,Turbo码交织器采用随机交织,没有进一步比较交织长度和交织模式。第五,仿真帧数虽然能够展示趋势,但在极低误码率区域仍可能存在统计不充分问题。

这些局限不是错误,而是模型层级选择的结果。任何通信仿真都必须先明确目的。如果目标是教学展示,当前模型已经能够说明三类编码的基本差异。如果目标是工程评估,就必须进一步引入标准码结构、更长仿真帧数、更严格置信区间、真实信道模型和复杂度统计。否则,直接把基础仿真结果解释为工程系统性能,是不严谨的。

九、结论

本文基于MATLAB建立了LDPC码、Turbo码和卷积码的信道编码性能对比仿真系统。系统采用BPSK调制和AWGN信道,通过实际误码统计方式获得三类编码方案在不同信噪比下的误码率曲线,并进一步比较不同码率对误码性能的影响。同时,本文分析了Turbo码迭代次数对译码性能的改善作用,以及LDPC码平均迭代次数随信噪比变化的收敛特征。

仿真结果说明,信道编码能够明显改善通信系统的抗噪声能力,但不同编码方法的性能、复杂度和适用场景存在差异。卷积码结构清晰,适合作为传统基准方法;Turbo码依赖交织和迭代外信息交换,能够体现迭代译码增益;LDPC码依靠稀疏校验矩阵和消息传递实现纠错,具有较好的并行化潜力和工程扩展价值。不同码率对系统可靠性和传输效率具有直接影响,低码率通常有更强纠错能力,但会降低有效信息传输效率。

总体来看,本文模型适合用于通信编码基础研究、课程设计和算法对比演示。若后续继续扩展,可以将LDPC部分替换为标准QC-LDPC结构,引入更高阶调制和多径信道,并增加复杂度、译码时延和吞吐量指标。这样可以使仿真系统从基础误码率对比进一步发展为更接近实际通信链路的综合性能评估平台。

参考文献

  1. 3GPP. ETSI TS 138 212 V15.3.0: 5G; NR; Multiplexing and Channel Coding. ETSI, 2018.
  2. Lai Hang Hui, Dennis, et al. “Channel Coding in 5G New Radio: A Tutorial Overview and Performance Comparison with 4G LTE.” IEEE Vehicular Technology Magazine, vol. 13, no. 4, 2018, pp. 60–69. DOI: 10.1109/MVT.2018.2867640.
  3. Wu, Hao, and Huayong Wang. “A High Throughput Implementation of QC-LDPC Codes for 5G NR.” IEEE Access, vol. 7, 2019, pp. 185373–185384. DOI: 10.1109/ACCESS.2019.2960839.
  4. Bioglio, Valerio, Carlo Condo, and Ingmar Land. “Design of Polar Codes in 5G New Radio.” arXiv, 2018. DOI: 10.48550/arXiv.1804.04389.
  5. Zhang, Huazi, et al. “Parity-Check Polar Coding for 5G and Beyond.” arXiv, 2018. DOI: 10.48550/arXiv.1801.03616.
  6. İşcan, Onurcan, and Wen Xu. “Polar Codes with Integrated Probabilistic Shaping for 5G New Radio.” arXiv, 2018. DOI: 10.48550/arXiv.1808.09360.
  7. Chen, Rong, and Lan Chen. “Dual Threshold Self-Corrected Minimum Sum Algorithm for 5G LDPC Decoders.” Information, vol. 11, no. 7, 2020, article 355. DOI: 10.3390/info11070355.
  8. Papatheofanous, Elissaios-Alexios, Dionysios I. Reisis, and Konstantinos Nikitopoulos. “The LDPC Challenge in Software-Based 5G New Radio Physical Layer Processing.” MeditCom 2021, 2021, pp. 312–317.
  9. Tran-Thi, Bich Ngoc, Thien Truong Nguyen-Ly, and Trang Hoang. “An FPGA Design with High Memory Efficiency and Decoding Performance for 5G LDPC Decoder.” Electronics, vol. 12, no. 17, 2023, article 3667. DOI: 10.3390/electronics12173667.
  10. Wiesmayr, Reinhard, et al. “Optimizing Puncturing Patterns of 5G NR LDPC Codes for Few-Iteration Decoding.” arXiv, 2024. DOI: 10.48550/arXiv.2410.21267.

2、仿真结果演示

3、关键代码展示

4、MATLAB 源码获取

  V

点击下方名片关注公众号获取

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐