基于EXIT图的非二进制LDPC码设计(EXIT Method no. 2)
项目介绍
本项目是一套用于非二进制低密度奇偶校验(NB-LDPC)码设计的MATLAB仿真工具。它实现了ISIT 2005论文中提出的EXIT分析方法(Method no. 2),专门用于在离散无记忆信道(DMC)下预测NB-LDPC码的性能。通过分析变量节点和校验节点之间互信息(Mutual Information)的传递过程,该工具能够计算收敛门限,辅助研究人员在不同的伽罗瓦域(GF(q))环境下优化节点度分布,以实现接近信道容量的编码设计。
功能特性
- 支持多阶GF域分析:支持从二进制到高阶伽罗瓦域(如GF(4)、GF(64)等)的EXIT特性模拟。
- 非规则度分布建模:支持定义变量节点和校验节点的非规则度分布,并计算其加权后的整体转移曲线。
- 迭代轨迹动态模拟:自动跟踪并绘制译码迭代过程中的互信息步进轨迹,直观展示译码器是否能突破瓶颈。
- AWGN信道自动化评估:内置AWGN信道下的初值计算模块,可根据设计的信噪比(Eb/N0)自动映射初始互信息。
- 结果可视化:生成包含变量节点曲线(VND)、校验节点曲线(CND)以及迭代阶梯图的EXIT图表。
使用方法
- 配置参数:在脚本开头修改q(GF阶数)、target_rate(码率)以及EbNo_dB(待测信噪比)。
- 设置度分布:通过lambda_degrees与lambda_values设置变量节点度分布,通过rho_degrees与rho_values设置校验节点度分布。
- 运行仿真:启动脚本后,程序将计算MI转移曲线并在此基础上进行轨迹模拟。
- 结果分析:观察图形窗口中的曲线间隙。如果绿色轨迹能到达互信息为1.0的右上角,则说明在该信噪比下编码可以收敛。
系统要求
- 软件环境:MATLAB R2016b 或更高版本。
- 基础模块:无需额外工具箱,使用MATLAB核心数学和绘图函数。
详细算法实现逻辑
程序严格遵循EXIT Method no. 2的数学模型,其核心算法步骤如下:
1. 物理信道初始化
根据输入的Eb/N0和设计码率,计算AWGN信道的噪声方差。Method 2将GF(q)信道简化为log2(q)个并行二进制信道的组合。通过J函数将信道信噪比映射为初始互信息I_ch。
2. 变量节点(VN)外信息转移
变量节点接收来自信道的先验信息和来自校验节点的外信息。对于度数为dv的节点,其输出外信息的方差遵循高斯近似分布。程序通过对不同度数的节点进行加权求和(权重为边比例),计算出整体VN曲线。
3. 校验节点(CN)外信息转移
校验节点在NB-LDPC中利用对偶特性进行建模。Method 2 采用基于1-J(sigma)的变换形式,其中利用了校验节点在对偶域的特性。对于度数为dc的校验节点,其外信息计算通过J域的非线性映射完成。
4. 迭代轨迹模拟
模拟实际译码器的运作流程:VN输出作为CN输入,CN输出反馈作为VN输入。这一过程在EXIT图中表现为VND曲线与CND曲线之间的阶梯状跳变。
关键函数与算法细节
J函数及其逆函数
J函数是本项目最重要的数学工具,用于实现高斯分布方差与其关联的互信息之间的相互映射。代码中采用了分段多项式近似和指数近似法,以保证在不同的互信息范围内均能保持高精度,这对于门限值的预测准确性至关重要。
节点转移函数 (v_node_exit / c_node_exit)
这是逻辑的核心部分。VN函数利用了互信息独立加性性质,即输出方差等于各输入方差之和。CN函数则基于NB-LDPC的对称性近似,通过处理剩余互信息(1-Ia)来模拟校验约束对信息的处理。
轨迹追踪逻辑
程序不仅绘制静态曲线,还包含了一个循环迭代器。它从IA=0开始,交替调用VN和CN的转移函数。如果某一迭代步中VN输出的互信息超过0.999且CN反馈也达到该门限,则判定码字成功收敛,并停止模拟。
仿真报告输出
程序执行结束后,会在控制台输出完整的报告,包括:
- 当前使用的GF域阶数。
- 输入的设计信噪比。
- 采用的变量节点和校验节点度分布向量。
- 最终收敛结果判定(是否进入瀑布区)。