一种基于双修正因子的LDPC译码器的制作方法

文档编号:14477058
研发日期:2018/5/18

本发明涉及电子、通讯、与信息工程类技术领域,具体为一种基于双修正因子的LDPC译码器。



背景技术:

低密度奇偶校验(LDPC,Low-Density Parity-Check)码是一种线性分组码。LDPC码因其接近香浓极限的特性,目前已经被广泛应用到深空通信、光纤通信、卫星数字视频、音频广播、数据存储等领域。传统LDPC码的迭代译码需要在每次迭代过程中,先同时更新所有的从变量节点到校验节点的信息,然后再同时更新所有的从校验节点到变量节点的信息。该译码方式的收敛速度较慢,为了提高译码收敛速度,Casado等人将剩余度概念运用到了置信传播,并提出了两种译码时序:基于剩余度置信(RBP,Residual Belief Propagation)传播译码、基于校验节点的剩余度置信传播(NWRBP,Node-WiseRBP)译码。两者的区别是,RBP动态选择最大剩余度所在的边进行更新,而NWRBP动态选择最大剩余度所在的校验节点进行更新。

RBP算法和NW RBP两种译码方式都有效地提高的LDPC译码的收敛速度,但RBP算法和NW RBP两种译码方式的缺点是其译码的过程中需要使用大量的浮点型对数和指数运算,造成其运算量大,复杂度高,不利于其硬件的实现。



技术实现要素:

本发明的目的是为了解决现有技术中RBP译码算法复杂度高,不利于硬件实现的问题,提出了一种基于双修正因子的LDPC译码器。

本发明采用的技术方案是:一种基于双修正因子的LDPC译码器,包括以下流程:

1)初始化:设置修正因子α和β;

所有从校验节点到变量节点的信息mc→v设置为0;其中下标c和v分别为校验节点和变量节点,

将所有从变量节点到校验节点的信息Lv→c设置为其对应的信道信息ri;Lv→c下标表示为第v个变量节点到第c个校验节点;

设置每次迭代校验节点到变量节点的信息总个数为T,变量t=0;

m表示校验节点到变量节点的信息,其中下标表示为从第几个校验节点到第几个变量节点;

2)计算所有的剩余度值计算过程如下:

表示第i个校验节点到第j个变量节点更新前的信息。

3)找出剩余度值的最大值

4)分成两种,第一种为:生成校验节点到变量节点的信息记录更新次数t=t+1;这里的cmax和vmax是具体的节点;

后续更新:

FOR每一个ca∈N(vmax)DO

生成并传播

这里的vmax和ca是具体的节点;

END FOR

第二种为:对于每一个vj∈N(cmax),生成并传播校验节点cmax到所有临边节点的信息记录更新次数t=t+1;

后续更新:

FOR每一个ca∈N(vj)DO

生成并传播

END FOR

5)尝试判决:

IF t<T

返回步骤2);

ELSE

译码结束,输出译码结果;

END。

作为优选,所述修正因子α∈(0,1),修正因子β∈(0,1),且β<α。

作为优选,所述N(cm)={vn:hmn=1}表示与校验节点cm相连的所有变量节点的集合;N(cm)\vn表示集合N(cm)除去变量节点vn后的集合,N(vn)={cm:hmn=1}表示与变量节点vn相连的所有校验节点的集合。

本发明的有益效果是:在RBP和NWRBP算法中,由于计算每条边的剩余度值时均需要使用浮点型对数和指数运算,将所有从校验节点到变量节点的边更新一遍其运算量远高于传统的BP算法;本发明采用了加法运算替换计算每条边的剩余度值时所用到的乘法运算,因此能够大幅减少计算量,另外,为了保证修改后的RBP和NW RBP算法的译码性能不下降,引入修正因子和对每条边的剩余度值进行修正,实现在降低运算量的前提下提高译码性能。

附图说明

图1为本发明的原理框图;

图2为改进型RBP算法在高斯白噪声信道环境下,信噪比为3.0dB时误帧率与迭代次数的关系;

图3为改进型RBP算法在高斯白噪声信道环境下,信噪比为3.5dB时误帧率与迭代次数的关系;

图4为改进型NW RBP算法在高斯白噪声信道环境下,信噪比为3.0dB时误帧率与迭代次数的关系;

图5为改进型NW RBP算法在高斯白噪声信道环境下,信噪比为3.5dB时误帧率与迭代次数的关系;

具体实施方式

下面将结合本发明实施例中的附图,对本发明作进一步的说明。

实施例1:

参阅图1-3,本发明提供的一种实施例:

步骤1,首先初始化,设置修正因子α和β;所有从校验节点到变量节点的信息mc→v设置为0;将所有从变量节点到校验节点的信息Lv→c设置为其对应的信道信息ri;设置校验节点到变量节点的信息总个数为T,变量t=0;

步骤2,计算所有边的剩余度值原的计算方法为:

将原的计算方法修改为:

再通过修正因子α和β对进行修正,最后计算

步骤3,找到剩余度值的最大值生成校验节点到变量节点的信息并对每一个ca∈N(vmax),生成并传播记录更新次数t=t+1,t<T时返回步骤2继续更新,当t=T时完成一次迭代;重复译码中断条件为:成功译码或者迭代次数达到设置的最大值。

实施例2:

参阅图1、4和5,本发明提供的一种实施例:

步骤1,首先初始化,设置修正因子α和β;所有从校验节点到变量节点的信息mc→v设置为0;将所有从变量节点到校验节点的信息Lv→c设置为其对应的信道信息ri;设置校验节点的总个数为T,变量t=0;

步骤2,计算所有边的剩余度值原的计算方法为:

将原的计算方法修改为:

再通过修正因子α和β对进行修正,最后计算

步骤3,找到剩余度值的最大值对于每一个vj∈N(cmax),生成并传播校验节点cmax到所有临边节点的信息并对每一个ca∈N(vj),生成并传播记录更新次数t=t+1,t<T时返回步骤2继续更新,当t=T时完成一次迭代;重复译码中断条件为:成功译码或者迭代次数达到设置的最大值。

本发明实验所用计算机的配置为内存8GB,CPU是Intel Core i5-6500 3.20GHz的台式计算机,所用代码是C++语言开发,所用编译器为Visual Studio 2012。用于测试发明方案的LDPC编码为(155,3,5)LDPC码。本发明中所有的仿真都是在二进制输入加性高斯白噪声(BI-AWGN)信道进行的,修正因子α取0.9,修正因子β取0.1,最大迭代次数为200,调制方式为BPSK。经分析各译码方案的性能,得出如下结论:

第一,在计算剩余度值的过程中,采用加法运算代替浮点型乘积运算,该改进型的RBP和改进型的NW RBP译码算法的复杂度相较于传统的RBP和NW RBP算法得到极大的降低,降低了硬件实现难度。

第二,如图2和图3所示,该改进型的RBP译码算法的误帧率明显低于传统的RBP算法的误帧率,如图4和图5所示,改进型的NW RBP算法的误帧率也略低于传统NW RBP算法的误帧率,因此该算法实现了在降低复杂度的同时能够改善译码性能的效果。

当然,以上只是本发明的典型实例,除此之外,本发明还可以有其它多种具体实施方式,凡采用等同替换或等效变换形成的技术方案,均落在本发明要求保护的范围之内。

当前第1页1 2 3 
猜你喜欢
网友询问留言