一种LDPC码的硬判决比特翻转译码算法的制作方法

文档序号:17179046发布日期:2019-03-22 20:45阅读:846来源:国知局
一种LDPC码的硬判决比特翻转译码算法的制作方法

本发明涉及通信编码技术领域的译码算法,特别涉及到通信领域中一种针对于ldpc码的高性能低复杂度的硬判决比特翻转译码算法。



背景技术:

在目前的通信系统中,信号由发生源产生,在经过有噪信道传输后到达接收端。因此接收到的信号是经过干扰的,噪声会使得接受信号中的一些消息与发射信号不符,导致接收到的信息并不是所希望得到的。为了保证接受信息与发射信息的一致性,在通信系统中引入了信道编码技术来克服有噪信道对传输消息的影响。该技术在发送信号中加入一些冗余校验位,接收端通过这些校验位来判定哪些消息是错误的并对其进行纠正。

低密度奇偶校验(ldpc)码是由gallager在1963年提出的。由于其比较高的译码复杂度以及当时较低的科技水平,在很长一段时间内都没有受到人们的关注。在上世纪九十年代,d.mackay重新将ldpc码带回公众的视线,很快引起了广泛的研究热潮。目前,ldpc码由于其具有接近香农限的译码性能,已经被广泛应用于光纤通信、以太网、微波通信、ssd、硬盘通信、5g通信等无线通信标准中。

ldpc码遵循迭代消息传递的译码过程,其译码算法主要分为软判决和硬判决两大类。软判决利用从信道中得到的软消息,在迭代中不断的对其进行修正,最终得到译码判决输出。软判决常用的算法为置信传播算法。由于其非常高的计算复杂度,最小和算法作为其一种简化版被更加广泛地使用在实际应用当中。偏差值和分层结构的引入保证了最小和译码算法的译码性能。虽然软判决译码算法可以以高复杂度为代价来获得很好的译码性能,但随之而来的问题是高复杂度对译码器吞吐率的限制,这使得软判决译码算法在需要很高吞吐率的应用场景下具有很大的缺陷。并且,在很多情况下,得到软消息所需要的延时和计算是无法接受的,因此译码器端只能得到二进制的硬消息,这也使得软判决译码无法正常执行。

与软判决译码算法相对的是硬判决译码算法。这一类算法在译码过程中只迭代传递硬消息,因此硬判决译码算法的译码复杂度很低,但译码性能也远逊于软判决译码算法。由于低复杂度带来的高吞吐率,在要求高速处理的环境下硬判决译码算法具有广阔的应用前景。目前常用的硬判决译码算法是比特翻转算法。为了提高比特翻转算法的译码性能,近些年提出了一种基于梯度下降的比特翻转算法。在该算法中首先定义了一个目标函数,之后将译码的过程看作是对这个目标函数的最大化过程,梯度下降算法被用于求解这个最大化问题。为了确定每次迭代中被翻转的比特,在该算法中定义了一个翻转方程,该方程的值表征了每个比特的能量值,每次迭代中能量值最大的比特将会被翻转。尽管如此,在无法获得软消息的环境下,如二进制对称信道(bsc),该算法的译码性能仍然较差,不能满足实际通信需求。



技术实现要素:

本发明针对上述问题,提出了一种基于用于ldpc码的硬判决比特翻转译码算法,在保证低复杂度的前提下,提升了目前比特翻转译码算法的译码性能,使之具有更加广阔的应用前景。具体发明内容如下:

一种ldpc码的硬判决译码算法,其特征在于,当译码码字c不满足校验方程时,所述的译码方法包括:

对于译码码字中的每一个码元,根据接收到的消息计算其可靠性值,在每一次迭代时将最不可靠的码字进行翻转。

所述的方法还包括:

在计算每个码字对应的可靠性值之前,根据s=cht计算出校验和向量s。若s=0则停止译码并宣告译码成功并输出当前译码码字c,否则继续译码过程。

所述的方法还包括:

在进行译码前预设最大迭代次数tmax,并将当前迭代次数t初始化为0。在完成每次迭代后将当前迭代次数t加1。

所述的方法还包括:

在计算出校验和向量s之后,若s≠0,则判定当前迭代次数t是否等于tmax。若t=tmax,则判定译码失败并输出当前译码码字c,否则继续译码过程。

所述的方法还包括:

在进行译码前预设用于产生随机惩罚项的概率值p,其中0<p<1。p的最优数值通过仿真遍历搜索得到。

所述的方法还包括:

对于译码码字中的每一个码元,其可靠性值由对应该码元的能量值反映。能量值计算公式包含三部分信息,分别是:

a)该码元与接收向量中对应码元的相似程度;

b)与该码元相关联的校验方程的满足程度;

c)随机生成的惩罚项。

所述的方法还包括:

对于译码码字中的任一码元ck,其与接收向量中对应码元rk的相似程度由判定。若ck=rk则结果为1,反之结果为0。

所述的方法还包括:

对于译码码字中的任一码元ck,用与其连接的校验节点的校验和的累加和来反映与之相关联的校验方程的满足程度。

所述的方法还包括:

对于译码码字中的任一码元ck,分配给该码元的随机惩罚项λk的取值范围为0或1。其中λk=1的概率为p,λk=1的概率为1-p。

所述的方法还包括:

能量值计算公式为能量值越大则反映对应码元最不可靠。在每次译码迭代中,将译码码字中拥有最大能量值的所有码元进行翻转,即ck=1-ck。

本发明上述提出的译码算法,具有以下的有益效果:

首先,本发明的译码算法属于硬判决译码算法,只利用了接收到的硬判决消息进行计算,因此其译码复杂度非常之低;

其次,本发明的译码算法在翻转方程中首创性的加入了随机惩罚项,这一改变打破了原有译码过程的规则性,减少了译码被捕获集捕获的概率,降低了其对译码性能造成的影响;

第三,本发明的译码算法十分易于硬件实现;

第四,本发明的译码算法的译码性能远胜于目前的硬判决译码算法,这一可观的改进具有很大的意义,使得硬判决译码算法成为了一种更加可靠的译码算法。

附图说明

图1是本发明译码算法流程图示意图;

图2是二向图的示意图;

图3是捕获集示意图;

图4是译码状态示意图;

图5是本发明实施例的误帧率(fer)性能仿真示意图;

具体实施方式

下面将结合附图对本发明所提出的算法作更进一步的说明。特别说明的是参考附图描述的实施是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

图1是本发明译码算法流程图示意图。首先,将从信道接收到的码字向量r保存起来,向量r中只含有0或1两个数值,将其赋给当前译码码字c。预先设定最大的迭代次数tmax和用于生成随机惩罚项序列的概率值p。注意p的最优值是通过仿真遍历搜索得到的。在大多数情况下,p的值可以被设置为0.9。将当前迭代数目t的值初始化为0。

第二,利用当前译码码字计算出每一个校验节点的校验和。校验和的计算方式为通过将在二向图中与该校验节点相连接的码元的值进行异或操作来得到。图2是二向图的示意图,如图所示,与校验节点c1连接的比特为v1,v2,v3,v4,因此该校验节点的校验和为这四个比特的值进行异或操作得到的结果。例如若这四个比特的值分别为0,0,0,1,则该校验位的校验和为1;若这四个比特的值分别为1,0,0,1,则该校验位的校验和为0。

第三,判断计算得到的校验和向量s是不是全零码字,若是,则退出译码并宣告译码成功,否则,继续执行下一步骤。

第四,判断当前迭代数目t是否等于预先设定的最大迭代数目tmax,若是,则退出译码并宣告译码失败,否则,继续执行下一步骤。

第五,计算当前译码码字c中每一个码元的能量值,能量值通过下述翻转方程计算:

其中,nv(k)表示在二向图中与第k个比特相连的校验节点,表示异或操作,λk代表随机惩罚项。可以看到,该方程主要包括三部分,从左到右依次是接收信息,校验信息以及随机惩罚项λ。本发明在翻转方程中引入随机惩罚项的目的是打破译码的规则性。由于规则性的存在,一些满足特殊结构的错误模式永远不会被译出,因此这些错误模式限制了译码的性能,导致了错误平台的出现。这些错误模式被称作捕获集。图3是捕获集示意图,假设发送全零码字,圆圈代表变量节点,矩形代表校验节点。可以看到,最初第1、3、5号码元是错误的,在不加入惩罚项时,前四个码元具有最大的能量值(2),因此他们应当被翻转。再翻转之后,前四个码元仍然具有最大的能量值(4),因此他们会被再次翻转。经过两次翻转,该捕获集的状态再次恢复到初始状态,因此这个错误模式不能够被常规比特翻转译码算法纠正。

加入的随机惩罚项λ的值为0或1,值为1的概率为p,值为0的概率为1-p。再加入随机惩罚项后,译码陷入捕获集的概率大大降低。当译码过程陷入捕获集时,随机惩罚项也可以帮助其以一定的概率从捕获集中逃脱,因此提升了译码性能。图3是译码状态示意图,当解出正确码字时,译码会达到最大值。可以看到,利用现有比特翻转译码算法进行译码时,在到达最大迭代次数时,译码仍未达到最大值,因此译码失败。而采用所提出的算法进行译码时,在很少的迭代周期内,译码就达到了最大值,因此宣告译码成功。这一结果体现了加入随机惩罚项的有效性。

第六,找出待翻转码元。将当前译码码字c中每一个码元的能量值进行比较,找出最大的能量值,记做emax。之后,对于每一个码元,判断其能量值是否等于emax。若是,则对其进行翻转,若不是,则不进行任何操作。翻转比特指的是将比特的值进行取反。例如若该比特的值为0,则翻转后其值为1;若该比特的值为1,则翻转后其值为0。

最后,将当前迭代数目t加1,返回步骤2继续进行译码。

实施例:以码长为1296,码率为1/2,行重为8,列重为4的码字为例说明。该码字通过bsc信道,信道的翻转概率为α,发送端采用bpsk调制,接收端分别采用基于梯度下降的比特翻转算法,本文所提出的改进版比特翻转算法算法和具有分层结构的修正最小和算法,利用蒙特卡洛方法进行仿真。上述硬判决译码算法,最大迭代次数为300,最后一种为软判决译码算法,最大迭代次数为20。图5为得到的fer性能仿真曲线。可以看出,当与硬判决译码算法相比时,本发明所公开的算法具有很大的性能改进,可以得到接近于oms算法的译码性能。因此,本发明所公开的算法弥补了ldpc码软硬判决译码算法之间的性能差距。使得比特翻转译码算法成为了一种可靠的译码算法。

以上所述,仅为本发明较佳的具体实施方式,单本发明的保护范围并不局限榆次,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化和替换,都应该涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1