本发明属于纠错编码技术领域,具体涉及一种基于扰动的crc辅助中短码长polar码有效译码方法。
背景技术:
polar码是一种基于信道极化理论的信道编码,具有确定性的编译码方法,并且是唯一能够被严格证明达到信道容量的信道编码方法,现已成为5g中的中短码长纠错编码方法。polar码自从被提出后,便引起了人们的关注,其中有效的译码算法是polar码研究的关键。
串行抵消(successivecancellation,sc)译码算法是arikan针对polar码的结构提出的polar码独有的译码算法,并且正是在这种译码算法下,polar码被证明在码长n足够大时是信道容量可达的。与此同时,sc译码算法具有较低的计算复杂度,仅为o(nlogn)。然而,在实际的有限码长的情况下,采用sc译码算法的polar码的性能却没有达到ldpc码。因此,针对中短码长,基于sc译码算法的改进算法成为polar码译码的研究热点。tal和vardy提出了串行抵消列表(successivecancellationlist,scl)译码算法,scl在每个译码阶段至多保留l条路径,最终从列表中挑选出最佳的一条路径作为译码结果,使得性能逼近最大似然(maximum-likelihood,ml)译码,其中l是列表大小。niukai和chenkai发现sc译码算法可以看作是在polar码码树上的一种路径搜索过程,并通过改进树搜索算法提出基于广度优先搜索的scl译码算法和基于深度优先的串行抵消堆栈(successivecancellationstack,scs)译码算法。scl译码算法、scs译码算法的性能与sc译码算法相比有了明显的提高,与此同时也牺牲了复杂度,scl译码算法、scs译码算法的复杂度是o(lnlogn)、o(dnlogn)。然而,在scl或scs译码算法下,polar码的性能仍然没有达到ldpc码的性能。为了进一步提高polar码的性能,chenkai等人提出crc辅助的scl译码算法[8],其译码性能达到甚至超过了ldpc码的性能。然而实现这种性能的提高,是在scl译码算法的列表容量较大的情况下实现的,即以较大的计算复杂度为代价。
综上所述,针对polar码sc译码算法在中短码长下性能不佳和现有性能较好的sc列表译码算法复杂度较大的现状,现有技术中还没有提出有效的解决方案。
技术实现要素:
本发明针对上述问题提出了一种基于扰动的crc辅助中短码长polar码有效译码方法,该方法首先在发送端将待传输的信息位进行crc编码(cyclicredundancycheck,循环冗余校验码),crc编码之后的再进行polar码编码,编码之后的序列经过调制之后被送入信道传输,然后在接收端对信道输出序列进行sc译码,如果此时得到的译码码字不能通过crc,则判定sc译码码字存在错误,不应作为输出结果,激活扰动操作即向信道输出序列加微小的独立噪声做扰动,然后使用扰动后的序列重新进行译码,仿真实验表明,扰动操作后的译码器有可能产生更优的码字,当能通过crc的码字出现时,将该码字作为译码输出,译码宣布成功。为了限制扰动译码过程的复杂度,方法中设置了一个扰动次数的阈值,当扰动次数达到阈值时还未产生通过循环冗余校验的码字时,终止扰动过程,对已产生的若干条译码码字依据对应信道的似然计算公式计算各自的似然值,使用似然最大的码字作为译码输出。
为解决上述技术问题,本发明采用的技术方案为一种基于扰动的crc辅助中短码长polar码有效译码方法,包括如下步骤:
步骤1:发送端将待传输的信息位进行crc编码,crc编码之后再进行polar码编码,编码之后的序列经过bpsk调制之后被送入信道传输;
步骤2:在接收端,对信道输出序列y进行sc译码,count=0,若译码结果能通过crc校验,则译码结束,输出译码结果
步骤3:使用噪声发生器产生均值为0,方差为σp2,长度为n的加性高斯白噪声向量np,其中n为polar码码长,噪声向量np最佳功率值σp2由仿真实验得到;
步骤4:将np加到y上形成yp,即yp=np+y,使用yp代替y计算信道对数似然比
步骤5:若扰动译码结果
步骤6:判断count的值是否达到门限t,若达到则译码结束,根据下面的公式计算d中所有码字的似然,并把似然最大的码字
其中
进一步,上述步骤2中在sc译码器的译码码字出现误码时,通过扰动操作使sc译码器产生更优的码字。
上述扰动的具体操作是对接收端接收到的信道输出序列添加加性噪声,使用扰动操作之后的序列作为初始化条件进行sc译码。
上述步骤3中在码长和码率一定时,信道的信噪比越大,所需扰动噪声的最佳功率值越大。
与现有技术相比,本发明具有以下有益效果:
1、本发明将随机共振原理运用到sc译码中,使用适宜的加性高斯白噪声对awan的信道输出作扰动,硬件实施简单,更具实用性。
2、本发明使用crc检验sc译码器的译码码字是否与信源信息序列相同,若译码码字能通过crc校验,我们称之为有效译码码字,否则称之为无效码字。crc检验有编码和译码简单,检错能力强,误判概率低等优点。
3、随着信道环境的改善,本发明的译码复杂度将趋近于sc译码o(nlogn),而已存在的性能最优异的scl的译码复杂度是个定值o(lnlogn)。
附图说明
图1为基于扰动的crc辅助中短码长polar码有效译码方法示意图。
图2为码长1024,码率0.5的polar码在sc译码方法与基于扰动的crc辅助中短码长polar码有效译码方法误比特率图。
图3为图2为码长1024,码率0.5的polar码在sc译码方法与基于扰动的crc辅助中短码长polar码有效译码方法误码率图。
具体实施方式
现结合附图对本发明创造作进一步的详细说明。
本发明提供一种基于扰动的crc辅助中短码长polar码有效译码方法,该方法包括以下具体步骤:
步骤1:发送端将待传输的信息位进行crc编码,crc编码之后的再进行polar码编码,编码之后的序列经过bpsk调制之后被送入信道传输。
步骤2:在接收端,对信道输出序列y进行sc译码,count=0,若译码结果能通过crc校验,则译码结束,输出译码结果
步骤3:使用噪声发生器产生均值为0,方差为σp2,长度为n的加性高斯白噪声向量np,其中n为polar码码长。噪声向量np最佳功率值σp2由仿真实验得到,实验表明在码长和码率一定时,信道的信噪比越大,所需扰动噪声的最佳功率值越大。
步骤4:将np加到y上形成yp即yp=np+y,使用yp代替y计算信道对数似然比
步骤5:若扰动译码结果
步骤6:判断count的值是否达到门限t,若达到则译码结束,根据下面的公式计算d中所有码字的似然,并把似然最大的码字
其中
sc译码的核心在于单向连续地计算每个比特的似然比
从上式可以看出长度为n的对数似然比可以由两个长度为
其中(y1,y2,…,yn)是接收端接收到的信道输出,w(yi|0)和w(yi|1)是假设分别发送‘0’和‘1’,经过信道传输后接收到yi的信道转移概率。
从上面的描述中可以得知,接收端接收到的信道输出是sc译码的核心输入,关系着每个比特的似然比的计算,直接影响译码的判决结果。如果信道是理想信道,那么译码就不会出现失败。因此,译码错误的根源在于接收端接收到的信道输出是受到信道噪声污染过的。本发明的实验结果表明,对已污染过的接收序列加入独立的加性噪声,能使译码结果往好的方向发展。
本发明使用crc检验sc译码器的译码码字是否与信源信息序列相同,若译码码字能通过crc校验,我们称之为有效译码码字,否则称之为无效码字。现假设信道噪声是加性高斯白噪声,系统采用bpsk调制方式。图1是基于扰动的crc辅助中短码长polar码有效译码方法的流程图。
本发明中,在发送端先将信息比特与crc码级联,与crc相级联的polar码的k比特信息位由两部分组成:前一部分是k位的信息比特(即需要crc校验的信息),后一部分是r位的crc校验码,这里k=k+r,polar码的码率
基于扰动的crc辅助中短码长polar码有效译码方法的具体操作步骤描述如下:
步骤1:发送端将信息比特进行crc编码得到信息序列
步骤2:发送端将信息序列d进行polar编码得到编码序列
其中gn为n*n的生成矩阵,并且
步骤3:对c经bpsk调制后映射为传输序列
步骤4:x经awgn信道传输后得到信道输出序列
步骤5:在接收端,对y进行sc译码,count=0,若译码结果能通过crc校验,则译码结束,输出译码结果
步骤6:随机产生均值为0,方差为σp2的加性高斯白噪声np,然后将np加到y上形成yp且使用yp代替y重新进行sc译码,count=count+1,把译码结果
步骤7:判断count的值是否达到门限t,若达到则译码结束,将根据下面的公式计算d中所有码字的似然,并把似然最大的码字作为译码输出。否则重复步骤6。
从时间复杂度方面讨论,本发明提出的译码方法的时间复杂度在最好情况下的是o(nlogn),即只需要进行一次sc译码就产生了有效码字;在最差情况下的复杂度是o(tnlogn)。但是,随着信道环境的改善,本发明的译码复杂度将趋近于o(nlogn)。
为了验证基于扰动的crc辅助中短码长polar码有效译码方法的性能,给出了awgn信道条件下的码长为1024,码率为1/2下polar码,帧数100000,crc16-ccitt(g(x)=x16+x12+x5+1),sc算法和基于扰动的crc辅助中短码长polar码有效译码方法(σp=0.25,t=2,8,16)的性能图。图2,3给出了两种算法的误比特率和误帧率的对比,可以看出在相同误比特率和误码率条件下,相比sc译码,本发明提出的方法能够有效提升地提升性能。当误码率为10-3时,t=8和t=16时,基于扰动的crc辅助中短码长polar码有效译码方法相比于sc算法的译码性能增益分别为0.09db和0.2db。
现对本发明使用的参数进行说明:
n—为polar码码长,
r—为polar码码率,
t—扰动次数的阈值
以上所述仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。