一种Polar码的多CRC编码方法与流程

文档序号:15357587发布日期:2018-09-05 00:11阅读:584来源:国知局

本发明属于通信技术领域,具体涉及一种polar码的多crc编码方法。



背景技术:

2009年arikan提出了polar码信道编码理论,并且第一次证明了polar码是能够在理论上达到信道容量的纠错编码方案,具有较低的编译码复杂度,灵活简便,极其容易操作。2016年11月14日至18日期间,在美国reno召开的3gppran1#87会议上,polar码信道编码方案被3gpp采纳为5g-embb场景下控制信道标准方案。

本领域内公知,polar码的scl+multi-crc编译码方案的目的是降低译码时延以及译码复杂度;如参考文献[1]:郭、史等人的“多重crc的polar码及其应用”和参考文献[2]:周、张等人的“块内crc辅助的polar码格型译码”;但是上述两个文献的polar码信息集均匀划分为子块,如图1所示,每个子块采用尾部级联一个crc;这样均匀级联嵌入crc并不是ber性能最优方案。



技术实现要素:

本发明为了达到polar码最好的ber性能要求,摒弃传统在编码端均匀嵌入crc的做法,通过调节polar码划分的每个子块的长度大小,进一步最优地安排crc嵌入位置,然后在码字的子块内作自适应list的scl+multi-crc译码方法,具体是一种polar码的多crc编码方法。

具体步骤如下:

步骤一、针对某串信源比特码字,根据用户的需求将该信息比特集合均匀等分成s个子块;

步骤二、将级联crc的个数设定为s,每一个子块分别对应一个crc;

步骤三、分别调节s个子块中包含的比特长度大小,得到每个子块最终包含的比特数;

具体步骤如下:

步骤301、初步设定polar码的信道模型,polar码的码长,码率,根据信道条件确定的信息比特所在的子信道集合和冻结比特对应的子信道集合。

步骤302、根据上述初步设定值进行仿真,分别计算每个子块的信息比特所在的子信道输出的对数似然比llr期望;

针对第m个子块的信息比特所在的子信道输出的llr期望为λm:

其中j是子信道的输出位置,[1,2,...,k]m表示第m个子块内的信息比特的标号集合;是位置j上的比特译码判决,|·|表示绝对值运算。

步骤303、对s个子块的llr期望按照从小到大的顺序进行排名;

排序名次依次为1,2,3,….。

步骤304、根据排名名次对应的子块,分配给与名次相同的码字比特;

按顺序给排名后的每个子块初次分配的比特数依次为:

符号表示向下取整。针对排名为第一的子块,分配m1长度的比特数;

rn为该串信源比特码字总长度;

步骤305、计算该串信源比特码字剩余的比特个数d;

d=rn-(m1+m2+,...,+mm+ms);

d<s。

步骤306、把剩余的d个比特依次从最大的子块开始填装,每个子块填装一个比特,直至放完。

步骤307、得到每个子块最终包含的比特数。

步骤四、针对调整后包括长度不等的比特数的s个子块,根据不可检测水平2-r-2-||子块||在crc表里挑选对应的crc,分别级联在每个子块上。

r是crc检验比特数或crc冗余块的长度。

步骤五、得到多crc级联后的信源比特码字,经过polar码编码矩阵和调制,经信道传递给接收方。

步骤六、接收方收到调制符号后,解调得到编码码字的软信息,并计算多crc的sclist译码器。

现有译码器具有s个crc和对应s个相等大小的list译码器,sclist译码器在现有基础上,根据不同的编码子块长度改变list大小,每个大小不等的子块得到自己对应的list值。

首先,在编码阶段,每个子块分配不同长度的码字比特并级联crc后,长度比例近似为:1:2:,...,:s;对应设定各子块对应的list指数比例为s:s-1:,...,2:1。

根据指数比例得到每个子块对应的list分别为:l1=2θ+s,l2=2θ+(s-1),...ls-1=22,ls=21+θ;θ为自然数。

list最小只能调节到1,因此当θ≤-s时候,l1=l2=…=ls=1。

然后,调节完各个块内的list大小,得到多crc的sclist译码器。

步骤七、启动多crc的sclist译码器从开始到最后依次完成译码计算。

各个子块内的crc完成各自子块内的路径选择,如果某子块内crc校验都不为0,该子块内的crc选择一条llr可靠性最大的路径作为译码结果。

本发明的优点在于:

1)、一种polar码的多crc编码方法,polar码在多crc应用系统里,采用最优方式嵌入多个crc;能够获得更好的polar码纠错能力。

2)、一种polar码的多crc编码方法,根据可靠性划分了信源码字内子块的长度,长度较短的可靠性较差,在list-sc译码里,可以选用数值教大的list做针对性译码运算,由较大的list值针对于较小块,这样在较短的时间内完成块内译码运算,而且得到较高的块内纠错能力。

附图说明

图1是现有技术中polar码传统的多crc等均匀嵌入的级联方案。

图2是本发明一种polar码的多crc编码方法流程图。

图3是本发明分别调节每个子块中的比特长度大小的流程图;

图4是本发明在不同长度的子块上分别级联不同的crc示意图;

图5是本发明现有的单个crc的scl译码示意图;

图6是本发明现有的s个crc的scl译码示意图;

图7是本发明本发明的多crc的scl译码示意图;

图8是本发明对polar码的多crc编码方法的性能仿真图。

具体实施方式

下面结合附图对本发明的具体实施方法进行详细说明。

本发明提供了一种码长小于210的polar码的嵌入multi-crc(multiplecyclicredundancycheck,多crc)的编译码方法,这种multi-crc嵌入方法是在polar码编码时对码字进行分段,每一段级联一个crc,用crc的校验作为该段译码时候的路径选择器;本发明是对嵌入级联的分段级联的multi-crc位置做优化。在polar编码里,本发明经过优化的scl+multi-crc(successivecancellationlist+multi-crc)编译码,将码字分割成包含不等大小比特长度的子块,crc等间距嵌入,译码的误比特(ber)性能好过传统单个crc级联和均匀嵌入crc级联的polar码的ber。

如图2所示,具体步骤如下:

步骤一、针对某串信源比特码字,根据用户的需求将该信息比特集合等分成s个子块;

本发明采用仿真的手段做子块大小的划分,在传统的scl译码路径的扩展与修剪的过程中,译码比特的似然比或对数似然比(llr)的大小对修剪操作起到决定作用。因此本发明基于在设定的子块内子信道输出的llr幅度的期望相等或接近的原则,然后做子块大小的均匀划分。这种依据子块内子信道输出llr幅度的期望相等或接近的原则是本发明的一个特征。

步骤二、将级联crc的个数设定为s,每一个子块分别对应一个crc;

根据需要确定分块级联crc的个数,不少于一个crc的称为multi-crc。

步骤三、分别调节s个子块中包含的比特长度大小,得到每个子块最终包含的比特数;

如图3所示,具体步骤如下:

步骤301、初步设定polar码的信道模型,有限长polar码的码长和码率,根据信道模型条件确定的信息比特所在的子信道集合和冻结比特对应的子信道集合。

确定信道模型为瑞利信道:yi=xi+ni;ni是高斯白噪声,xi是编码器输出端信号,yi是译码器输入端信号,这里

确定信道模型后,选取极化核经过克罗克内积的log2(n)次扩展后产生的极化矩阵作为码长为n的polar码的基本极化矩阵。

信息比特所在的子信道集合为冻结比特对应的子信道集合为码率r为polar码的信息比特所在的子信道集合和冻结比特对应的子信道集合的个数之比:n满足

其中冻结集比特选取

步骤302、根据上述初步设定值进行仿真,分别计算每个子块的信息比特所在的子信道输出的对数似然比llr期望;

针对第m个子块的信息比特所在的子信道输出的llr期望为λm:

其中j是子信道的输出位置,[1,2,...,k]m表示第m个子块内的信息比特的标号集合;是位置j上的比特译码判决,|·|表示绝对值运算。

步骤303、对s个子块的llr期望按照从小到大的顺序进行排名;

排序名次依次为1,2,3,….。

步骤304、根据排名名次对应的子块,分配给与名次相同的码字比特长度;

按等分块的llr平均绝对值所占的名次值作为分配各个块的长短,且称为各个子块大小比例的初次分配。

按顺序给排名后的每个子块初次分配的比特数依次为:

符号表示向下取整。针对排名为第一的子块,分配m1长度的比特数;排名第m的子块分到的比特长度为mm。rn为该串信源比特码字总长度;

假设m=4,四个子块输出的llr期望排名为:λ3,λ1,λ4和λ2,依据sc译码算法,最先完成译码的信息比特编号最小,所在的子块编号也最小;

码字长度份额分配为:λ3对应的子块分m1长度的比特数,λ1对应的子块分m2长度的比特数,λ4对应的子块分m3长度的比特数,λ2对应的子块分m4长度的比特数。

本发明这种按照块内子信道仿真输出的llr值的期望排名,然后根据排名分配子块内比特大小的特征是本发明的特征之一。

步骤305、计算该串信源比特码字剩余的比特个数d;

由于初次分配后的各个子块的比特数总和m1+m2+,...,+mm≤rn,所以会出现比特个数为rn-(m1+m2+,...,+mm)没有参与各个块内分配,剩余的比特个数d为:

d=rn-(m1+m2+,...,+mm+ms)

d<s。

步骤306、把剩余的d个比特依次从最大的子块开始填装,每个子块填装一个比特,直至放完。

由于初次分配子块的比特个数所舍弃的是不到一个完整的比特,则舍弃比特总数rn-(m1+m2+,...,+mm)<m;m为子块个数。

因此在二次块内比特分配为:把rn-(m1+m2+,...,+mm)个比特从最大的子块开始向最小子块填装比特,而且每个子块内填装一个比特,直至把rn-(m1+m2+,...,+mm)个比特放完。

添加到份额最大的子块内的原因为:因为原始份额分配的越大,块的长度越长,表明信道越可靠,在译码过程中对应的比特误码率越低;因此适当增加一点份额不会打乱原始块内的误码情况。

步骤307、得到每个子块最终包含的比特数。

步骤四、针对调整后的s个不等大小的子块,根据crc的不可检测水平2-r-2-||子块||确定crc校验函数,并在crc表里挑选对应的crc,分别级联在每个子块上。

r是crc检验比特数或crc冗余块的长度。

如图4所示,是在不同长度的子块上分别级联不同的crc。

譬如,依据sc译码顺序,从开始到结尾用kl表示子块,l表示子块标号,子块大小之比k1:k2:k3:k4:k5:k6:k7:k8=2:3:1:7:1:4:6:8的crc检验函数:

子块k1对应为g1(x)=x5+x4+x3+x2+1(国际电联标准:itu),

子块k2对应为g2(x)=x6+x5+x4+x3+x2+1(itu),

子块k3对应为g3(x)=x5+x4+x3+x2+1(itu),

子块k4对应为g4(x)=x7+x6+x2+1(itu),

子块k5对应为g5(x)=x5+x4+x3+x2+1(itu),

子块k6对应为g6(x)=x6+x5+x4+x3+x2+1(itu),

子块k7对应为,g7(x)=x7+x6+x2+1(itu),

子块k8对应为g8(x)=x7+x6+x2+1(itu)。

步骤五、得到多crc级联后的信源比特码字,经过polar码编码矩阵和调制,经信道传递给接收方。

步骤六、接收方收到调制符号后,解调得到编码码字的软信息,并计算多crc的sclist译码器。

现有译码器如图5和图6所示,仅仅具有单个crc和对应的单个list译码器,或者具有s个crc和对应s个相等大小的list译码器,如图7所示,本发明采用的sclist译码器在现有基础上,根据不同的编码子块长度改变list大小,每个大小不等的子块得到自己对应的list大小值。

首先,在编码阶段,分割的每个子块分配不同长度的码字比特并级联crc后,长度比例近似为:1:2:,...,:s;对应设定各子块对应的list指数比例为s:s-1:,...,2:1。

根据指数比例得到每个子块对应的list分别为:l1=2θ+s,l2=2θ+(s-1),...ls-1=22,ls=21+θ;θ为自然数。

list最小只能调节到1,因此当θ≤-s时候,l1=l2=…=ls=1。

然后,调节完各个子块内的list大小,得到本发明的多crc的sclist译码器。

步骤七、启动多crc的sclist译码器从开始到最后依次完成译码计算。

译码过程和现有的译码器的计算过程一致:从开始到最后各个子块内的crc完成各自子块内的路径选择,如果某子块内crc校验都不为0,该子块内的crc选择一条llr可靠性最大的路径作为译码结果。

本发明在译码设计上,把码字里的子块作为独立的译码对象,针对单个子块级联crc的情况采用现有技术的list的polar码译码方法;根据子块大小选择一定校验水平的crc,这样每个子块拥有独立的,冗余长度不相同的crc级联;这种在子块内拥有冗余长度不相同的crc级联是本发明一个特征。

本发明的list的大小和块的大小紧密匹配,最终得到在相同平均list和码率码长情况下,polar码纠错性能得到提高。

平均list计算为:

但是当采用同码率和list为的仅仅一个crc做scl译码时,性能会变差。

如图8所示,通过对polar码的多crc编码方法的性能进行仿真,在sc译码算法,单crc-12,list=8算法,均匀嵌入8个crc-7s,list=4算法以及优化嵌入的8个crcs,list=4的对比仿真,可知,经过优化嵌入crc的算法下,随着信噪比的增大,帧的错误率一直保持最低,效果最好。

针对scl+crc的crc级联的编码方案和scl的译码方法,然后crc挑选正确码字的方案是polar码的性能轻松超过ldpc的性能。然而最新研究scl+multi-crc的编译码性能方案又好过级联单一crc的性能。本发明是基于目前最新多crc研究基础上,针对polar码编码,发明出multi-crc最佳级联嵌入方案。

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