news 2026/4/21 2:59:55

【MATLAB源码-第422期】基于MATLAB的5G NR LDPC码的误码率复杂度仿真,对比BP,LBP,NMS。

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【MATLAB源码-第422期】基于MATLAB的5G NR LDPC码的误码率复杂度仿真,对比BP,LBP,NMS。

操作环境:

MATLAB 2024a

1、算法描述

摘要

低密度奇偶校验码因其接近香农极限的纠错能力、良好的并行处理特性以及较强的速率兼容能力,已经成为新一代移动通信系统中共享信道的重要编码方案。5G NR标准围绕LDPC码给出了基图选择、提升因子构造、穿孔与速率匹配等一整套机制,使其能够在高吞吐、低时延与多场景数据传输中保持较好的工程适配性。围绕LDPC译码器的研究重点,已经从传统的泛洪式置信传播扩展到分层调度、最小和近似、神经网络辅助优化以及面向硬件实现的高吞吐低复杂度结构。

本文依据给定MATLAB工程,建立了一个面向5G NR LDPC码的译码算法对比仿真平台。该平台在标准基图约束下,选取BG1与BG2两类场景,以提升因子32构造准循环LDPC码,采用BPSK调制和加性高斯白噪声信道,对六种译码策略进行统一比较,包括BP固定迭代、BP提前终止、分层BP固定迭代、分层BP提前终止、归一化最小和固定迭代以及归一化最小和提前终止。仿真从误比特率、误块率、平均迭代次数以及归一化复杂度四个维度展开。结果表明,在本工程设定下,分层BP类算法整体上表现出更优的误码性能与更高的收敛效率;提前终止机制能够显著降低平均迭代次数,其中分层BP提前终止在复杂度收益方面尤为突出;归一化最小和算法虽然在性能上存在一定损失,但由于校验节点更新规则更简化,仍然表现出较好的低复杂度潜力。本文工作能够为5G NR LDPC译码器的软件验证、算法比较以及后续定点化和硬件化设计提供具有直接参考价值的分析基础。

关键词

5G NR;LDPC码;置信传播;分层译码;归一化最小和;误比特率;误块率;复杂度分析

正文

一、引言

在现代移动通信系统中,信道编码的根本任务是在有限带宽和有限功率条件下提升链路可靠性。随着5G系统对增强移动宽带、低时延可靠通信以及海量连接等场景的支持需求不断提高,传统编码方案在吞吐率、时延和实现复杂度之间的平衡压力不断增大。3GPP在NR标准中为共享传输信道采用LDPC码,为控制信道采用Polar码,其中LDPC码依托准循环结构和双基图设计,在大码长、多码率和高吞吐实现方面具有明显优势。

从工程实现角度看,LDPC码的性能不仅取决于码本身的结构特征,还与译码调度方式、消息更新规则、终止判据以及量化处理密切相关。泛洪式BP译码具有结构清晰、算法标准化程度高的优点,但存在迭代收敛速度相对偏慢的问题;分层BP译码通过分层更新校验节点和变量节点消息,能够更充分地利用最新信息,因此常常在相同最大迭代次数下获得更快的收敛速度和更好的误码表现;最小和及其归一化版本则通过对BP中的非线性运算进行近似,降低实现复杂度,更符合硬件高速实现需求。近年来,围绕5G LDPC译码器的研究还进一步拓展到调度优化、修正型最小和算法、神经网络辅助译码与高吞吐硬件架构等方向,说明该领域仍具有持续的研究价值和工程活力。

基于上述背景,本文并不泛泛讨论LDPC码的一般原理,而是紧扣给定代码的具体实现路径,对该工程中构建的5G NR LDPC译码算法仿真系统进行系统分析。重点不在于抽象推导,而在于说明该工程如何依托标准基图构造译码对象,如何设置可复现实验条件,如何比较不同迭代译码算法在误码性能与复杂度之间的差异,以及如何从已有结果中提炼出具有工程意义的结论。

二、系统模型与工程实现框架

从工程结构看,该项目的核心入口为主函数,通过参数配置、场景遍历、算法扫点、结果统计与图像绘制等环节完成完整仿真流程。代码首先定义系统根目录、图像目录、随机种子、最大迭代次数以及仿真块数控制参数,然后针对不同基图场景和不同译码算法自动执行批量测试,最终输出明细数据表、摘要表以及性能曲线。整个工程结构清晰,便于后续扩展不同提升因子、不同最大迭代次数以及不同复杂度建模方式。

在码字构造方面,代码以5G NR的两类基图为基础。对于BG1场景,提升因子取32,对应信息长度为704,比特传输长度为2112,码率约为三分之一;对于BG2场景,提升因子同样取32,对应信息长度为320,比特传输长度为1600,码率为0.2。需要指出的是,工程中的长度定义并非简单复制完整基图宽度,而是与5G NR LDPC在前两组提升列上的穿孔机制相匹配。译码器输入阶段会显式补回前2Zc个零对数似然比位置,以便与标准母图结构对应。这一处理方式说明该工程并非一般意义上的任意LDPC码仿真,而是带有明确NR基图映射特征的标准兼容型实现。

在发射端,代码采用随机信息比特生成方式,通过MATLAB 5G工具箱提供的LDPC编码函数生成码字,再进行BPSK映射。信道模型选择加性高斯白噪声信道,接收端依据设定的Eb/N0计算噪声方差并生成软输出,之后形成LLR输入自编写译码器。该流程的优点在于模型简洁、变量可控,有利于突出不同译码算法本身的差异,避免多径衰落、同步误差、信道估计偏差等其他因素掩盖译码规律。与此同时,这也意味着本文分析的重点是编码译码环节本身,而非完整物理层链路中的所有不确定因素。

三、译码算法设计与关键实现细节

本工程共比较六种译码策略,实际上可归纳为三类算法框架与两类终止机制的组合。

第一类为泛洪式BP译码。该方法在每次迭代中先完成全部变量节点到校验节点的消息更新,再统一完成全部校验节点到变量节点的消息更新,最后形成新的后验LLR。其优点是结构标准、实现直接,适合作为性能参考基线。代码中将该方法分为固定最大迭代和提前终止两种模式。固定模式下,无论是否已经满足校验方程,均执行到最大迭代次数;提前终止模式则在每轮迭代后依据奇偶校验矩阵进行综合校验,一旦所有校验方程满足,即停止继续迭代。

第二类为分层BP译码。分层调度的核心思想在于将校验矩阵按层逐步处理,每处理一层便立即回写变量节点信息,使下一层能够利用更“新鲜”的消息,因此在相同迭代轮数下往往更容易收敛。工程中同样为分层BP设置了固定迭代与提前终止两种模式。从结果来看,这一类算法正是全文性能最具代表性的部分。

第三类为归一化最小和译码。最小和算法以较低复杂度近似BP中的校验节点非线性运算,但直接使用最小和会带来一定性能退化,因此工程中引入固定缩放因子0.75形成归一化最小和版本,用于部分补偿近似误差。需要注意的是,给定代码中的归一化最小和算法采用的是泛洪式更新框架,而非分层最小和。这也解释了其复杂度较低但性能相对保守的结果特征。

在实现细节上,工程具有几个值得注意的特点。其一,LLR在译码过程中被限制在正负30范围内,这种限幅处理有利于避免双曲函数和对数函数在数值上出现过大波动,提高程序的稳健性。其二,校验节点更新中分别实现了BP规则与归一化最小和规则,便于在统一框架下切换消息更新方式。其三,复杂度并未采用实际CPU运行时间,而是构造为“平均迭代次数×校验边数×权重因子”的归一化指标,其中BP类算法权重取1,归一化最小和取0.55。这一指标更接近算法级复杂度估计,适合做方法间的相对比较,但不能直接等同为具体硬件时延或软件执行时间。其四,绘制BER和BLER曲线时,若在有限块数统计中出现零误差,为避免对数坐标无法显示,程序会将其替换为由统计分辨率决定的下限值。因此图中的“零误码”应理解为在当前仿真块数内未观测到错误,而非严格数学意义上的绝对零误码。

四、仿真设置与评价指标

为保证不同算法比较的公平性,工程对六种译码方式采用统一的编码参数、调制方式、信道模型与最大迭代限制。最大迭代次数统一设为20。每个信噪比点至少仿真60个码块,最多仿真300个码块,并以累计误块数达到30作为提前结束当前统计点的条件之一。这种设置兼顾了中低信噪比区间的统计效率和高信噪比区间的基本可靠性评估,但也决定了高信噪比末端结果会受到有限样本数影响。

在扫描范围方面,BG1场景的Eb/N0设置为从-0.25 dB到1.25 dB,步进0.25 dB;BG2场景设置为从-1.25 dB到0.75 dB,步进同样为0.25 dB。之所以采用不同范围,本质上是为了使两组场景的瀑布区段都能够被较好覆盖,避免在明显过低或过高的信噪比区域浪费统计资源。

评价指标主要包括四类。第一类是误比特率,用于度量译码后比特级纠错能力;第二类是误块率,用于反映整个码块译码成功与否,更接近链路层对可靠传输的关注重点;第三类是平均迭代次数,用于评价算法收敛效率;第四类是归一化复杂度,用于从工程实现视角比较不同算法的代价。相较于只看BER的单一分析方式,本文采用多指标联合评价,更能体现译码器在性能与代价之间的真实权衡关系。

五、仿真结果分析

从BG1场景结果看,分层BP固定迭代在误码性能上整体最为突出。在0.75 dB时,其BLER已经下降到0.01量级,而普通BP固定迭代需要到1.0 dB附近才进入相近水平,说明分层调度在中高信噪比区域能够带来更快的瀑布下降趋势。到了1.25 dB,BP提前终止与分层BP固定迭代在当前300块统计中均未观测到误块,表现出较强的纠错能力。相比之下,归一化最小和两种模式在整个BG1扫描区间内都明显落后,尤其在高信噪比端仍保持较高BLER,表明固定缩放因子的泛洪式最小和近似在本场景下性能损失较为明显。

进一步观察平均迭代次数可以发现,提前终止机制的收益随着信噪比升高而逐渐增强。以BG1为例,分层BP提前终止在-0.25 dB时平均迭代次数接近19次,说明在低信噪比下多数码块仍需接近满迭代才能做出判决;而在1.25 dB时,其平均迭代次数已降至约5.88次,相比固定20次迭代减少约70.6%。这说明当信道质量改善后,分层调度与综合校验提前终止相配合,能够迅速形成显著的复杂度优势。

从BG2场景结果看,分层BP固定迭代的领先地位更加明显。在0.75 dB这一最高测试点上,分层BP固定迭代的BER约为3.75×10^-4,BLER约为6.67×10^-3,是测试范围内唯一进入10^-2以下BLER水平的算法。分层BP提前终止虽然在误码性能上略逊于固定分层BP,但平均迭代次数仅约6.74次,归一化复杂度相对固定分层BP下降约66.3%,显示出很强的性能复杂度折中价值。普通BP的两种模式在BG2中均落后于分层BP,说明在短信息长度、低码率配置下,分层消息更新对收敛质量的促进更加明显。归一化最小和在BG2中依旧保持最低复杂度水平之一,但BER和BLER损失较大,反映出该类低复杂度近似算法若不进一步做参数自适应优化,其性能上限仍受到一定约束。

需要客观看待的是,个别高信噪比点的局部结果并未呈现完全单调。例如BG1场景中,分层BP提前终止在1.25 dB处的BER略高于1.0 dB处。这种现象并不意味着算法本身在高信噪比退化,更大概率是由有限Monte Carlo块数所导致的统计起伏。因为在高信噪比端,每个信噪比点最多统计300个码块,而只要少量误比特落在不同码块中,就可能造成相邻点之间的细小反转。因此,本文对结果的解读应重在总体趋势,而不是对个别末端点做过度放大。

综合四类指标可以得出较清晰的工程结论。若优先追求最佳误码性能,分层BP固定迭代是本工程设定下最稳健的选择;若考虑性能与复杂度平衡,分层BP提前终止更具现实部署价值;若系统资源非常受限,且能够接受一定性能损失,则归一化最小和类方法仍具有吸引力,但需要进一步针对缩放因子、调度方式和量化位宽进行联合优化。换言之,本工程最有价值的结论不在于简单宣布某种算法“最好”,而在于明确揭示了不同译码策略在性能、迭代收敛和实现代价之间的可解释权衡。

六、工程价值与进一步改进方向

从研究与开发的衔接角度看,该工程具有较好的扩展潜力。首先,当前平台已经完成了标准基图构造、稀疏校验矩阵生成、自编写译码内核和批量统计框架的搭建,后续可以方便地加入不同提升因子、不同码率匹配方式以及不同终止判据。其次,当前复杂度指标属于理论化归一模型,未来可以进一步引入实际运行时间、吞吐率、单位比特平均操作数以及内存访问次数等指标,使软件仿真更贴近硬件实现。再次,归一化最小和部分目前采用单一固定缩放因子,若引入分层归一化最小和、偏置最小和、区域自适应缩放或基于学习的参数优化,理论上有望在不显著增加硬件代价的前提下缩小与BP之间的性能差距。最后,当前链路仍属于BPSK加AWGN下的母码级比较,后续可进一步叠加速率匹配、CRC、HARQ和更复杂信道模型,从而形成更接近5G NR链路级仿真的完整验证框架。

七、结论

本文基于给定MATLAB工程,对5G NR LDPC码下多种典型迭代译码算法进行了系统建模与仿真分析。工程采用BG1和BG2两种标准基图场景,在统一的BPSK与AWGN条件下,对BP、分层BP和归一化最小和三类方法及其提前终止机制进行了公平比较。结果表明,分层BP类算法在误码性能和收敛速度方面整体优于普通BP;提前终止能够显著降低平均迭代次数,其中分层BP提前终止呈现出最优的综合折中;归一化最小和虽然误码性能存在明显差距,但凭借较低归一化复杂度,仍可视为面向资源受限实现的候选方案。总体来看,该工程已经较好地揭示了5G NR LDPC译码器在性能与复杂度之间的主要规律,也为后续开展定点化、硬件架构设计、神经辅助参数优化以及更完整链路级仿真提供了扎实基础。

参考文献

[1] 3GPP,TS 38.212: NR; Multiplexing and Channel Coding, Version 19.2.0, Jan. 2026.

[2] M. Sy, “Demystifying 5G Polar and LDPC Codes: A Comprehensive Review and Foundations,”arXiv preprintarXiv:2502.11053, 2025.

[3] B. Wang, Y. Zhu, and J. Kang, “Two Effective Scheduling Schemes for Layered Belief Propagation of 5G LDPC Codes,”IEEE Communications Letters, vol. 24, no. 8, pp. 1683–1686, 2020.

[4] H. Cui, F. Ghaffari, K. Le, D. Declercq, J. Lin, and Z. Wang, “Design of High-Performance and Area-Efficient Decoder for 5G LDPC Codes,”IEEE Transactions on Circuits and Systems I: Regular Papers, vol. 68, no. 2, pp. 879–891, 2021.

[5] K. Le Trung, F. Ghaffari, and D. Declercq, “An Adaptation of Min-Sum Decoder for 5G Low-Density Parity-Check Codes,” inProc. IEEE International Symposium on Circuits and Systems (ISCAS), Sapporo, Japan, 2019, pp. 1–5.

[6] B. A. Jayawickrama and Y. He, “Improved Layered Normalized Min-Sum Algorithm for 5G NR LDPC,”IEEE Wireless Communications Letters, vol. 11, no. 9, pp. 2015–2018, 2022.

[7] J. Daiet al., “Learning to Decode Protograph LDPC Codes,”IEEE Journal on Selected Areas in Communications, vol. 39, no. 7, pp. 1983–1999, 2021.

[8] N. Shah and Y. Vasavada, “Neural Layered Decoding of 5G LDPC Codes,”IEEE Communications Letters, vol. 25, no. 11, pp. 3590–3593, 2021.

[9] H. Wu and H. Wang, “A High Throughput Implementation of QC-LDPC Codes for 5G NR,”IEEE Access, vol. 7, pp. 185373–185384, 2019.

[10] Y. Ren, H. Harb, Y. Shen, A. Balatsoukas-Stimming, and A. Burg, “A Generalized Adjusted Min-Sum Decoder for 5G LDPC Codes: Algorithm and Implementation,”IEEE Transactions on Circuits and Systems I: Regular Papers, vol. 71, no. 6, pp. 2911–2924, 2024.

2、仿真结果演示

3、关键代码展示

4、MATLAB 源码获取

V

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/21 2:57:15

devmgr.dll文件丢失找不到 免费下载方法分享

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/4/21 2:54:27

手把手教你用STM32和OpenMV实现两板通信(附完整代码解析)

STM32与OpenMV高效通信协议设计与实战解析 在嵌入式视觉系统中,摄像头模块与主控板之间的数据交互质量直接影响整个系统的响应速度和稳定性。当OpenMV识别到目标物体后,如何将坐标信息准确无误地传递给STM32?面对实时性要求高的场景&#xff…

作者头像 李华
网站建设 2026/4/21 2:51:22

【微软官方未文档化】EF Core 10 VectorSearchProvider注册异常的4种底层根源:从IServiceCollection生命周期到SqlQueryRaw泛型约束失效

第一章&#xff1a;【微软官方未文档化】EF Core 10 VectorSearchProvider注册异常的4种底层根源&#xff1a;从IServiceCollection生命周期到SqlQueryRaw泛型约束失效IServiceCollection 扩展方法执行时机错位 当在 Program.cs 中过早调用 services.AddDbContext<AppDbCont…

作者头像 李华
网站建设 2026/4/21 2:46:35

LabView与西门子PLC S7-200 PPI协议通讯实战指南:配置、实现与优化

labview与西门子plc s7-200PPi协议通讯最近在搞一个项目&#xff0c;需要让LabVIEW和西门子S7-200 PLC进行通讯。说实话&#xff0c;一开始觉得这事儿应该挺简单的&#xff0c;毕竟LabVIEW和PLC都是工业自动化领域的“老熟人”了。但真正上手后&#xff0c;才发现这里面有不少坑…

作者头像 李华
网站建设 2026/4/21 2:46:07

基于深度学习detr算法的工程车辆识别 yolo智慧工地车辆检测 工程车辆装备识别 高空无人机工地巡检 挖掘机识别 铲车识别

介绍 工地工程车装备车辆数据集&#xff08;无人机&#xff0c;高空视角下&#xff09; YOLO 风格标注&#xff0c;6700数据。9大类别&#xff0c;涵盖挖掘机&#xff0c;塔吊&#xff0c;翻斗车等。 工地工程车数据集 工地车数据集 工程车检测数据集 ​ 工程装备数据集 YOLO 风…

作者头像 李华