C语言实现LDPC的校验矩阵,非正则LDPC码在AWGN信道中的性能研究

0引言低密度奇偶校验码(LowDensityParityCheck,LDPC)是Gallager提出的基于稀疏校验矩阵的线性分组码[1]。其构造特殊之处在于它的奇偶检验矩阵H是稀疏矩阵,即H矩阵中非零元个数远小于零元素个数。正则LDPC码校验矩阵中每列包含固定数量的dv个非零元素,每行包含dc(dc0then^xj=1;else^xj=0end其中,M(j)是变量节点j所参与所有校验约束的集合;^xj则是试验译出的第j个码元。24中止条件可预先设定最大迭代次数,达到最大迭代次数或译码正确时跳出循环,中止译码。forj=1,2,…,Nif^xjHT=0,done,quitelsegotto2.2end3仿真分析仿真采用的信道是二进制输入的加性高斯白噪声信道,基带BPSK调制,仿真信道模型如图1所示。图1LDPC编译码仿真环境编码基于802.16e直接编码法。这种方法是根据不同的码率定义不同的基矩阵,然后根据相应的码长把基矩阵扩展成相应的校验矩阵[4]。以576码长,0.5码率下生成的288576校验矩阵为例,其校验矩阵前216行每行含有7个“1”,后72行每行含6个“1”;而其每列含有2个,3个或者8个“1”,其对应列数分别为264列,216列和96列。采用此方法构造出的LDPC码的编码复杂度随着码长的增加而线性增加,并且其生成的校验矩阵中不含短环,具有良好的性能。对0.5码率,576和1728两种码长的非正则LDPC码在图1所示仿真环境下进行仿真。通过改变AWGN信道的信噪比参数,可以得到LDPC码在不同信噪比下的译码性能。仿真译码的最大迭代次数设定为30次,每次仿真比特为576000个。图2(下转第36页)(上接第27页)显示了0.5码率,576和1728码长下,利用SPA算法译码的LDPC码的误码性能。图2非正则LDPC码在AWGN信道下的性能由图2可以看出,非正则LDPC码具有良好的纠错性能。相较于未编码BPSK,576码长的LDPC码在误码率为10-3时可以获得5dB左右编码增益,而在误码率为10-4时则可获得6dB以上的编码增益。当LDPC码长增长时我们能获得更好的性能,如上图当码长为1728时,在误码率为10-3和10-4情况下较之576码长的LDPC码又有05dB左右的4结束语总的来说,LDPC码是一种码长越长,性能越优的好码。非正则LDPC码在1728,576这样的中短码长下已经能够达到很好的纠错性能。本文所研究的非正则LDPC码基于802.16e直接编码法,能够很简单地编程实现,另外采用SPA(和积算法)作为译码算法,极大地降低了概率译码的复杂度,非常利于硬件实现。这种中短码长的非正则LDPC码性能优异,实现简单,在对性能和实时性要求较高的通信系统中拥有广阔的应用前景。非正则LDPC码在AWGN信道中的性能研究@胡维钢$北京邮电大学信息工程学院!北京100876

@赵振纲$北京邮电大学信息工程学院!北京100876

@徐晶晶$北京邮电大学信息工程学院!北京100876简单介绍了非正则低密度奇偶校验(LowDensityParityCheck,LDPC)码的结构。研究了其对数域概率译码的和积算法(SumProductAlgorithm,SPA),并对该算法的主要公式进行了推导,给出了其迭代核心部分的C语言实现伪码。对一种基于802.16e直接编码法生成的非正则LDPC码在高斯信道下进行了仿真分析,表明中短码长的非正则LDPC码已经具有优异的纠错性能。非正则LDPC码;;BP算法;;和积算法;;误比特率[1]GALLAGERRG.L

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值