图片缩略图

LDPC码的仿真

版本1.0.0.0 (82.6 KB)被 谢赫费萨尔Zaheer
LDPC (Low-Density Parity-Check)码在AWGN信道上的仿真MATLAB代码。

27.3 k下载

更新2005年12月27日

没有许可

zip文件包含
1.128x256 Regular (3,6) H矩阵(如果您需要模拟其他代码,则需要编写自己的代码来生成这些奇偶校验矩阵)。128 x256regular_v6文件。mat'是为那些使用Matlab 6.5。
2.AWGN信道上的LDPC码仿真文件。
3.基于matlab和基于c (C-mex文件)的LDPC解码器的实现。主要的仿真脚本包含两种解码器的使用命令(有两个基于c的解码器和一个基于Matlab的解码器)。将要使用的解码器的命令需要“取消注释”,而其他解码器的命令需要“注释”。
3 a。要编译C-mex文件,需要安装一个C编译器(我已经使用了Miscosoft Visual c++ 6.0)。然后必须到Matlab命令窗口去做
“>>mex -setup”(然后通过选择所需编译器的步骤)。
然后做:
">>mex decode_ldpc.cpp"(或">>mex decode_ldpc_new.cpp")。这将生成一个名为“decode_ldpc.dll”(或“decode_ldpc_new.dll”)的“dll”文件,然后主脚本可以使用该文件进行模拟。我包括已经编译的“dll”文件,它与Maltab 7.0(和Matlab 6.5)工作。然而,如果包含的“dll”文件不为你工作,那么你必须使用上面解释的方法编译“*.cpp”文件。
3 b。Matlab代码使用“Sparse”实现各种矩阵,因此有效地利用了内存(如果你喜欢我,这有一些不同——使用标准PC进行模拟,并使用块长度大于3000的大型H矩阵)。但是,如果内存和CPU能力不是你的限制,那么基于c的解码器会更快。
4.比特错误在整个码字上计算。如果使用系统矩阵,主脚本需要修改计数比特错误。
5.使用的调制方式是BPSK。

要运行一个模拟
1.以名称打开脚本文件
“generic_simulator_nonsys.m”
2.加载H(奇偶校验)矩阵
3.设置信噪比范围
4.设置最大译码器迭代次数,以及每个信噪比点计算的最大错误码字数(为了可靠估计,必须至少为30,论文显示了100-200码字错误的结果。哎哟! !)
5.选择基于c或matlab的LDPC解码器。
5。解码器“decode_ldpc_new”比“decode_ldpc”快得多(速度的差异随着块长度的增加而增加)。
6.运行脚本并等待结果:)。

引用作为

谢赫·费萨尔·扎希尔(2022年)。LDPC码的仿真(//www.tianjin-qmedu.com/matlabcentral/fileexchange/8977-ldpc-code-simulation), MATLAB中央文件交换。检索

MATLAB版本兼容性
创建R14
兼容任何版本
平台的兼容性
窗户 macOS Linux

社区寻宝

在MATLAB Central中找到宝藏,并发现社区可以如何帮助你!

开始狩猎!