基于子信道冻结条件的低迭代次数极化码BP译码方法与流程

文档序号:20038069发布日期:2020-02-28 11:34阅读:205来源:国知局
基于子信道冻结条件的低迭代次数极化码BP译码方法与流程

本发明涉及移动通信技术领域,具体涉及一种基于子信道冻结条件的低迭代次数极化码bp译码方法。



背景技术:

极化码是一种被严格证明可以达到信道容量的编码方式,目前极化码所能达到的纠错性能超过了广泛使用的turbo码、ldpc码。随着码长的增加,信道极化码性能更好,但码长的增加会带来较大的时延,与现行5g通信中urllc低时延场景相悖。

传统的bp译码算法需要进行多次的迭代操作,并且每次迭代操作都需要计算n/2个结点,计算量较大,这对于现行5g通信中低功耗设计要求相悖。传统的比特翻转译码算法需要在达到最大迭代次数后进行翻转,但每次迭代也需要计算n/2个结点。一种新的基于连通子因子图(connectedsub-factorgraph,csfg)的bp译码算法能够利用之前迭代后的信息将相应的结点冻结,在之后的迭代过程中,该冻结结点及其相关结点将不再进行计算,大大减少了计算量与迭代次数,但常常会出现在某一结点迭代多次仍然无法将其冻结,且需要多次迭代的情况。



技术实现要素:

为了解决上述问题,本发明提供一种基于子信道冻结条件的低迭代次数极化码bp译码方法。

一种基于子信道冻结条件的低迭代次数极化码bp译码方法,包括以下步骤:

s1、根据冻结比特位置索引得到易错索引表;

s2、输入第t次迭代的对数似然比和硬判决信息其中,t为迭代次数,t∈{0,1,…,t_max},t_max为用户设置的最大迭代次数,n为码长,n为bp译码阶数,n=log2(n);

s3、根据第t次迭代的对数似然比和第t次迭代的硬判决信息计算第k个子信道的输出估计值;

s4、判断输出估计值是否满足冻结条件,若对应的冻结比特位不全为0,不冻结第k个子信道,进入步骤s6;若对应的冻结比特位全为0,则冻结第k个子信道,进入步骤s5;

s5、判断j状态的所有子信道是否都已冻结,若都已冻结,则输出译码结果,否则,令k=k+1,返回步骤s3继续对j状态的子信道进行冻结;

s6、判断j状态是否为最后状态,若j状态不为最后状态,则进入j+1状态,返回步骤s3继续对子信道进行冻结;若j状态为最后状态,判断最后两个未冻结子信道的索引i,i+1是否在易错索引表中,若在易错索引表中,则对未冻结的子信道进行比特翻转后令j=1,t=t+1返回步骤s3继续对子信道进行冻结;若不在易错索引表中,则忽略此子信道索引,令j=1,t=t+1,返回步骤s3继续对子信道进行冻结;

s7、直到j状态的所有子信道都冻结时,迭代过程结束,输出译码结果。

本发明的有益效果:

本发明针对传统bp译码算法计算复杂度高,迭代次数较多的问题,将csfg-bp译码算法和单比特翻转bp译码算法相结合,先采用csfg算法对当前状态顺序子因子结点进行冻结,当前状态无法冻结时,进入下一状态尝试对与前一状态无关的顺序结点进行冻结,重复此过程直到找到最后状态的无法冻结的两个子因子(信道)。单比特翻转bp译码算法的翻转过程大大提高csfg-bp算法在下一次迭代冻结该结点的概率,从而减少迭代次数和计算次数,达到了提升译码性能、降低计算复杂度、减少译码时延和降低功耗的效果。

附图说明

下面结合附图和具体实施方式对本发明做进一步详细的说明。

图1为本发明实施例的步骤流程图;

图2为本发明实施例的具体实施步骤举例图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1是本发明实施例提供的一种基于子信道冻结条件的低迭代次数极化码bp译码方法的流程图,该方法包括但不限于如下步骤:

s1、根据冻结比特位置索引得到易错索引表;

s2、输入第t次迭代的对数似然比和硬判决信息其中,t为迭代次数,t∈{0,1,…,t_max},t_max为用户设置的最大迭代次数,n为码长,n为bp译码阶数,n=log2(n);

s3、根据第t次迭代的对数似然比和第t次迭代的硬判决信息计算第k个子信道的输出估计值;

s31、对第t次迭代的对数似然比进行向前迭代计算,得到第t次迭代的每个子信道的对数似然比对第t次迭代的硬判决信息进行向后迭代计算,得到j状态的第k个子信道的硬判决信息其中,k=1,2,……,2j

s32、根据j状态的第k个子信道的硬判决信息,对j状态的第k个子信道进行硬判决,得到编码后的硬判决向量;

s33、根据编码后的硬判决向量,计算第k个子信道的输出估计值。

s4、判断输出估计值是否满足冻结条件,若对应的冻结比特位不全为0,不冻结第k个子信道,进入步骤s6;若对应的冻结比特位全为0,则冻结第k个子信道,进入步骤s5;

s5、判断j状态的所有子信道是否都已冻结,若都已冻结,则输出译码结果,否则,令k=k+1,返回步骤s3继续对j状态的子信道进行冻结;

s6、判断j状态是否为最后状态,若j状态不为最后状态,则进入j+1状态,返回步骤s3继续对子信道进行冻结;若j状态为最后状态,判断最后两个未冻结子信道的索引i,i+1是否在易错索引表中,若在易错索引表中,则对未冻结的子信道进行比特翻转后令j=1,t=t+1返回步骤s3继续对子信道进行冻结;若不在易错索引表中,则忽略此子信道索引,令j=1,t=t+1,返回步骤s3继续对子信道进行冻结;

s7、直到j状态的所有子信道都冻结时,迭代过程结束,输出译码结果。

假设子信道循环计数值k以1为初始计数值,对j状态的2j个子信道进行冻结的过程包括以下过程:

s1、令子信道循环计数值k=1,将信息比特位置索引和冻结比特位置索引输入到易错索引表生成模块中,得到易错索引表,将信息比特位置索引和冻结比特位置索引存入易错比特索引表中。其中,易错索引表的计算方式包括:

其中,ri为第i个r1结点,ri[x]为第x个易错比特的索引,且ri[x]<ri[x+1],即ri[x]按从小到大顺序排列,r1结点是速率为1的结点,位于只传输信息比特不传输冻结比特的子信道上。

s2、在bp译码中输入译码所需的第t次迭代的对数似然比和硬判决信息将冻结比特对应位置的硬判决信息设置为+∞,即c∈ac,其中ac为冻结比特集合,其中,t为迭代次数,t∈{0,1,…,t_max},t_max为用户设置的最大迭代次数,n为码长,n为bp译码阶数,n=log2(n),对数似然比为n*(n+1)的矩阵;

s3、使用公式(2)-(5)对第t次迭代的对数似然比及硬判决信息进行迭代计算:先使用公式(2)-(3)对对数似然比l向前迭代运算,向前迭代运算指由后一列对数似然比运算得到前一列对数似然比的过程,得到第t次迭代的每个子信道的对数似然比再使用公式(4)-(5)对硬判决信息r进行向后迭代运算,向后迭代运算指由前一列对数似然比运算得到前一列对数似然比的过程,得到将第j次运算后的结果看成2j个码长为2n-j的子信道,例如:为第一个子信道,为第k个子信道,其中k=1,2,……,2j

其中,表示第t次迭代的对数似然比的第i行第j列,表示第t-1次迭代的对数似然比的第i行j+1列,其余类似,不多赘述;i表示子信道的索引,t表示迭代次数,t∈{0,1,…,tmax},α是近似计算系数,且α=0.9375,sign函数为取符号函数,n表示bp译码阶数,且n=log2(n),表示第t次迭代的硬判决信息的第i+2n-j行第j列,其余类似。

使用公式(6)对子信道进行硬判决,得到编码后的硬判决向量

其中,表示编码后的第p个硬判决值。

根据编码后的硬判决向量,利用公式(7)计算第k个子信道的输出估计值

其中,表示编码后的第2n-j个硬判决值,f*(n-j)表示的n-j阶克罗内克乘积。

s4、判断第k个子信道的输出估计值是否满足冻结条件,若对应的冻结比特位不全为0,则不满足冻结条件,不冻结该子信道,进入步骤s6;若对应的冻结比特位全为0,则满足冻结条件,利用公式(8)冻结该子信道,进入步骤s5;

其中,表示对数似然比的第t次迭代,t表示迭代次数,t_max为用户设置的最大迭代次数,表示编码后的第2n-j个硬判决值,∞表示无穷大符号。

由于冻结后的子信道对应位置的对数似然比llr被固定为+∞或者-∞,不再参加下一轮的迭代计算,因此减少了计算量,能加快后面未冻结子信道的迭代收敛。

s5、冻结子信道后,判断j状态的所有子信道是否都已冻结,若都已冻结,则输出译码结果,输出译码为否则,令k=k+1,返回步骤s3继续对j状态的第k+1个子信道进行冻结,重复步骤s3时,跳过已冻结的子信道,从未冻结的第一个子信道开始计算;

s6、判断j状态是否为最后状态,若j状态不为最后状态,则进入j+1状态返回步骤s3对未冻结的子信道进行冻结;若j状态为最后状态,判断最后两个未冻结子信道的索引i,i+1是否在易错索引表中,若在易错索引表中,则利用公式(9)对未冻结的子信道进行比特翻转后返回步骤s3继续对未冻结的子信道进行冻结;若不在易错索引表中,则忽略此子信道索引,令j=1,t=t+1,返回步骤s3继续对未冻结的子信道进行冻结;

s7、直到j状态的所有子信道都冻结时,迭代过程结束,输出译码结果

进一步的,j=1表示最初状态,当n=2j+1时,即j为最后状态。

进一步的,步骤s5和s6中在重复步骤s3时,对对数似然比l进行向前迭代不再需要计算已经冻结的子信道,即跳过那些已冻结的子信道,对硬判决信息r进行向后迭代也不需要计算已经冻结的子信道,而是直接从j状态的第一个未被冻结的子信道开始计算,判断是否满足冻结条件。

为使本发明的实施例更加清楚、完整,接下来以子信道码长n=8为例对本发明的方法进行详细阐述:

如图2所示,以j状态时其中一个码长n=8的子信道为例,把这n=8个点看成一个n=1024或n更大信道的一个子信道,译码开始时,将信息比特位置索引a={3,5,7}和冻结比特索引ac={1,2,4,6,8}输入到易错索引表生成模块中。

根据信息比特位置索引a和冻结比特位置索引ac得到r1节点,由r1节点得到易错比特索引表:

输入译码所需的对数似然比和硬判决信息将冻结比特对应位置的硬判决信息设置为+∞,即

使用公式(2)-(3)对对数似然比进行向前迭代,共需要计算3次,每次计算4个结点,得到每个节点的对数似然信息再使用公式(4)-(5)对硬判决信息进行向后迭代,第1次右向并行计算得到

得到后,利用公式(6)分别对进行判决,首先使用公式(6)对进行判决,得到编码后的硬判决向量根据编码后的硬判决向量,利用公式(7)计算输出估计值,得到输出估计值为:根据冻结比特索引ac={1,2,4,6,8}可知为冻结比特位,判断输出估计值,发现所有的冻结比特位全为0,满足冻结条件,冻结该子信道,并利用公式(8)冻结相应对数似然比,已冻结的对数似然比不参加下一轮迭代过程,冻结过程包括:

冻结后,再使用公式(6)对进行判决,得到编码后的硬判决向量根据编码后的硬判决向量,利用公式(7)计算输出估计值,得到输出估计值为:判断输出估计值,冻结比特位中的不满足冻结条件,则不能将该子信道冻结,进入状态j+1,其中状态j+1有4个节点,但是由于在状态j时已经冻结,故不参加这一轮的迭代计算,只需利用公式(4)-(5)迭代计算出硬判决信息再利用公式(6)分别对进行硬判决。利用公式(6)分别对进行硬判决包括:先对进行硬判决,得到硬判决向量根据硬判决向量,利用公式(7)计算出输出估计值为冻结比特位中的不满足冻结条件,不能冻结该子信道。由于j+1为最后一个状态,且找到了顺序第一个无法冻结的子信道,所以就不必计算了,直接判断所在的子信道是否满足比特翻转条件,满足比特翻转条件则进行比特翻转后进行下一次迭代,不满足比特翻转条件则直接进行下一次迭代。

综上过程后,未冻结的子信道包括:的信道索引分别为5、6,判断最后两个未冻结信道的索引5、6是否在易错索引表中,易错索引表为:cs=∪iri[x]={3,5,7},发现索引5在易错索引表中,则利用公式(9)对对应比特的硬判决信息进行比特翻转,得到令t=2,返回步骤s3继续对子信道进行冻结。

第2次迭代运算过程中,由于在第一迭代计算中已经冻结,则在第2次迭代计算中,及其子信道都无需计算,只需利用公式(2)-(3)计算及其未冻结子信道使用公式(4)-(5)进行第2次从左至右迭代计算时,由于已经冻结,尝试冻结使用公式(6)对进行判决,得到利用公式(7)得到输出估计值满足子信道冻结条件。至此,状态j的两个子信道全部冻结完毕,停止译码,输出译码

本发明利用子信道冻结条件(sub-channelfrozencriteria,scfc),将满足冻结条件的顺序子信道冻结,利用单比特设置翻转条件(criticalset-1,cs-1)对不满足冻结条件的顺序子信道采用cs-1方式进行比特翻转从而减少迭代次数及时延。本译码算法能达到接近最大似然译码算法的性能,相对于传统极化码bp译码算法(最大迭代次数为40次),在信噪比为3db时,平均迭代次数减少约53%,平均计算次数减少约61%。本发明方法可运用在对功耗要求较高的mmtc,以及对时延要求较高的urllc等5g场景下的极化码译码中。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

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