本发明涉及移动通信技术领域,具体涉及一种基于子信道冻结条件的低迭代次数极化码bp译码方法。
背景技术:
极化码是一种被严格证明可以达到信道容量的编码方式,目前极化码所能达到的纠错性能超过了广泛使用的turbo码、ldpc码。随着码长的增加,信道极化码性能更好,但码长的增加会带来较大的时延,与现行5g通信中urllc低时延场景相悖。
传统的bp译码算法需要进行多次的迭代操作,并且每次迭代操作都需要计算n/2个结点,计算量较大,这对于现行5g通信中低功耗设计要求相悖。传统的比特翻转译码算法需要在达到最大迭代次数后进行翻转,但每次迭代也需要计算n/2个结点。一种新的基于连通子因子图(connectedsub-factorgraph,csfg)的bp译码算法能够利用之前迭代后的信息将相应的结点冻结,在之后的迭代过程中,该冻结结点及其相关结点将不再进行计算,大大减少了计算量与迭代次数,但常常会出现在某一结点迭代多次仍然无法将其冻结,且需要多次迭代的情况。
技术实现要素:
为了解决上述问题,本发明提供一种基于子信道冻结条件的低迭代次数极化码bp译码方法。
一种基于子信道冻结条件的低迭代次数极化码bp译码方法,包括以下步骤:
s1、根据冻结比特位置索引得到易错索引表;
s2、输入第t次迭代的对数似然比
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次迭代的对数似然比
s3、根据第t次迭代的对数似然比和第t次迭代的硬判决信息计算第k个子信道的输出估计值;
s31、对第t次迭代的对数似然比进行向前迭代计算,得到第t次迭代的每个子信道的对数似然比
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次迭代的对数似然比
s3、使用公式(2)-(5)对第t次迭代的对数似然比
其中,
使用公式(6)对子信道进行硬判决,得到编码后的硬判决向量
其中,
根据编码后的硬判决向量,利用公式(7)计算第k个子信道的输出估计值
其中,
s4、判断第k个子信道的输出估计值
其中,
由于冻结后的子信道对应位置的对数似然比llr被固定为+∞或者-∞,不再参加下一轮的迭代计算,因此减少了计算量,能加快后面未冻结子信道的迭代收敛。
s5、冻结子信道后,判断j状态的所有子信道是否都已冻结,若都已冻结,则输出译码结果,输出译码为
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个结点,得到每个节点的对数似然信息
得到
综上过程后,未冻结的子信道包括:
第2次迭代运算过程中,由于在第一迭代计算中
本发明利用子信道冻结条件(sub-channelfrozencriteria,scfc),将满足冻结条件的顺序子信道冻结,利用单比特设置翻转条件(criticalset-1,cs-1)对不满足冻结条件的顺序子信道采用cs-1方式进行比特翻转从而减少迭代次数及时延。本译码算法能达到接近最大似然译码算法的性能,相对于传统极化码bp译码算法(最大迭代次数为40次),在信噪比为3db时,平均迭代次数减少约53%,平均计算次数减少约61%。本发明方法可运用在对功耗要求较高的mmtc,以及对时延要求较高的urllc等5g场景下的极化码译码中。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。