基于打孔的码率兼容极化码编码方法及系统与流程

文档序号:13010056阅读:553来源:国知局
基于打孔的码率兼容极化码编码方法及系统与流程
本发明涉及信道编码传输
技术领域
,尤其涉及一种基于打孔的码率兼容极化码编码方法及系统。
背景技术
:极化码是由arikan提出的一种新兴的信道编码技术,具有以下优点:理论上证明在二元对称信道下取得香农极限;编码和译码结构简单,在接续消除译码(successivecancellation,sc)算法下复杂度仅为ο(nlogn),其中n为码块长度;极化码没有误码平台。其强大的理论基础使其被选为5g的关键技术。传统的信道编码是通过信道状态信息(channelstateinformation,csi)估计信道参数,并设置适合信道容量的一种固定速率编码(fixed-ratecoding)方式。然而在许多通信场景中,如连续广域覆盖场景,当发送端可能无法获得或者难以获得准确csi,固定速率编码方式将不再适用。特别的,极化码需要根据极化后的信道参数进行编码,在信道未知时无法实现编码过程,因此需要探索极化码在未知信道下的编码。码率兼容编码方式适合在未知csi下的使用。但是,现有技术并没有实现任意速率的极化码传输。目前,有一种容量可达的速率兼容极化码(ratecompatibleploarcodes,pcpcodes),通过使用一系列并行编译码器构造不同速率的极化码。当重传次数较多时,所需的编译码器个数也就越多,系统结构较为复杂。另外,当发送端需要连续传输多个极化码数据包时,若所有数据包均以相同的初始传输码率进行传输,在信道状态不发生突变的条件下,若第一个数据包所需的重传次数较多,后续数据包也同样需要较多的重传次数,系统结构将会更加复杂。此外,通过打孔可构造任意长度和码率的极化码,但由于打孔造成了一部分码字的损失,相同码率下,打孔码字性能不如未打孔码字。为了减少码字性能的损失,可以采用相应的打孔算法,寻找使打孔码字性能最佳的打孔位置。但现有的打孔算法均在整个码字中选择打孔位置,过程中一部分信息位码字将会被删除,使得码字性能损失较大。技术实现要素:本发明的主要目的在于提供一种可以降低由于打孔带来的极化码码字性能损失的基于打孔的码率兼容极化码编码方法及系统。为了达到上述目的,本发明提出一种基于打孔的码率兼容极化码编码方法,包括以下步骤:调用预先设计的打孔算法,所述预先设计的打孔算法将打孔范围限制在与信息比特无关的集合中;基于预先设计的打孔算法构造任意码长和任意码率的并行级联打孔极化码(pcpp)。其中,所述基于打孔的码率兼容极化码编码方法还包括:通过获得的极化码在预设信道上进行码率兼容pcpp编码传输。其中,所述通过获得的极化码在预设信道上进行码率兼容pcpp编码传输的步骤包括:3.1、在前一次的数据包传输结束后,获取该数据包传输成功时对应的码率,由此估计当前信道容量所在的速率区间,得到对信道的估计值;3.2、根据估计值确定下一个数据包的最佳初传码率,若以该码率传输的极化码译码失败,则发送端以更低的码率作为下次重传的码率,构造2级pcpp码完成数据包的传输,相比利用相同初传码率传输的方式,减少了重传次数,简化了系统结构。每个数据包传输完成后都可得到信道容量的估计值,并按照上述方式为后续数据包选择初传码率,可实现在时变信道下连续的码率兼容极化码编码传输。其中,所述初传码率为接近当前信道容量的最佳初始码率。所述接近当前信道容量的最佳初始码率的确定方法如下:当所估计信道容量范围不超过信道的实际变化范围时,将获得的信道容量范围上限值作为初传码率;当所估计的信道容量超过信道的实际变化范围时,以信道容量范围上限值作为母码速率,通过打孔提高码率至信道变化极限值,由于打孔不会增加编译码器个数,因此不会增加系统复杂度。其中,所述基于预先设计的打孔算法构造任意码长和任意码率的极化码的步骤之前还包括:生成所述打孔算法,假设母码长度和速率分别为nm,rm。打孔后码字长度为l,n表示极化码的码长,令打孔模板为p,且|p|=nm,所述生成所述打孔算法具体包括:初始化:将p初始化为全1向量;随机选取:在p中,在集合p(αc)中随机选取n-l个位置,并将该位置的值重新赋值为0,p中0所对应的位置即为打孔码字位置。其中,所述基于打孔的码率兼容极化码编码方法还包括:对所述打孔算法性能进行仿真分析,以及时变信道下多个数据包在提出的pcpp传输方案下所需平均重传次数的仿真分析。本发明还提出一种基于打孔的码率兼容极化码编码系统,包括:基于打孔的码率兼容极化码编码程序,所述基于打孔的码率兼容极化码编码程序配置为由处理器调用时,执行如上所述的方法的步骤。本发明设计了一种并行级联打孔极化码(parallelconcatenatedpuncturedpolarcodes,pcppcodes)的编码方案,首先提出一种改进的随机打孔算法,将打孔范围限制在与信息比特无关的集合中,获得比随机打孔更好的误码性能。随后,基于提出的打孔算法,pcpp能够获得任意码长和任意码率的极化码;然后,完善了时变信道下,pcpp的传输方案:在一次传输结束后,根据前一个数据包的最终编码速率,对信道进行预估计,以确定下一个数据包的初传码率,实现了一种时变信道下连续的码率兼容极化码编码传输。其中后续数据包的只需构造2级pcpp码,最少只需进行2次重传,减少每个数据包的重传次数,降低由于打孔带来的极化码码字性能损失,达到降低编译码系统结构复杂度的目的;相比现有技术,本发明方案降低了打孔极化码的ber和fer,并改善了随机打孔算法带来的错误平底,同时本方案的pcpp码码率兼容传输方案,实现了在时变信道下多个极化码数据包的码率兼容传输,其中每个数据包的平均重传次数仅为1.8次。附图说明图1是本发明基于打孔的码率兼容极化码编码方法实施例流程示意图;图2a是3级pcpp码编码结构图;图2b是3级pcpp码译码结构图;图3是n=8的极化码打孔过程中生成矩阵行列删除关系图;图4是母码速率rm与首次打孔速率关系图;图5是δr=0.1时各速率关系图;图6是不同打孔算法下打孔速率的误比特率(ber)性能示意图;图7是不同打孔算法下打孔速率的误帧率(fer)性能示意图;图8a、图8b、图8c分别是不同初始信道容量,多个数据包在pcp传输方案与改进传输方案下所需的平均重传次数示意图。为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。为了降低由于打孔带来的极化码码字性能损失,本发明从极化码字结构着手,设计一种并行级联打孔极化码(parallelconcatenatedpuncturedpolarcodes,pcppcodes)的编码方案。首先提出一种改进的随机打孔算法,将打孔范围限制在与信息比特无关的集合中,获得比随机打孔更好的误码性能。随后,基于提出的打孔算法,pcpp能够获得任意码长和任意码率的极化码;然后,完善慢衰落场景下,pcpp的传输方案:在一次传输结束后,根据前一个数据包的最终编码速率,对信道进行预估计,以确定下一个数据包的初传码率,实现了一种时变信道下连续的码率兼容极化码编码传输。其中后续数据包只需构造2级pcpp码,最少只需进行2次重传,降低了系统的复杂度。具体地,参照图1,图1是本发明基于打孔的码率兼容极化码编码方法流程示意图。如图1所示,本发明较佳实施例提出一种基于打孔的码率兼容极化码编码方,包括:步骤s1,调用预先设计的打孔算法,所述预先设计的打孔算法将打孔范围限制在与信息比特无关的集合中;其中,基于预先设计的打孔算法将打孔码字范围限制在与信息比特无关的集合中,避免打孔过程中删除信息位码字,获得比随机打孔0.2db以上的ber和fer增益,同时改善了随机打孔在打孔码率为0.8时带来的错误平底。步骤s2,基于预先设计的打孔算法构造任意码长和任意码率的并行级联打孔极化码。后续,即可通过获得的极化码在预设信道上进行码率兼容极化码编码传输。通常情况下,极化码编码传输过程如下:2.1发送端首先向接收端发送高速率的极化码,译码失败时,打孔构造更低速率的极化码,其中各极化码间的信息比特具有嵌套性质。2.2逐次发送具有由高至低的码率的极化码,直到接收端译码成功。2.3然后,接收端利用从最后一次收到并成功译码的极化码,将译出的低速率码字的信息位作为前一次收到的极化码的固定位,进行逐级译码,直到前序因为无法译码而缓存的极化码.最终恢复全部信息比特。本发明中,采用pcpp方案,具体流程及概念介绍如下:1pcpp方案目的:传输多个数据包;2每一个数据包---分成多个(m个)信息分组(kbits)---对应多个(m个)编码包(nbits);3一次pcpp传输完成一个数据包传输,其中包含了对多个编码包传输;4译码端从最后一个编码包开始译码(也就是第一个能够成功译码的编码包),逐次迭代译出缓存里的所有编码包,---恢复所有信息分组,---实现整个数据包的成功传输。本发明通过获得的极化码在预设信道上进行码率兼容pcpp编码传输,具体过程如下:3.1、在前一次的数据包传输结束后,获取该数据包传输成功时对应的码率,由此估计当前信道容量所在的速率区间,得到对信道的估计值;3.2、根据估计值确定下一个数据包的最佳初传码率,若以该码率传输的极化码译码失败,则发送端以更低的码率作为下次重传的码率,构造2级pcpp码完成数据包的传输,相比利用相同初传码率传输的方式,减少了重传次数,简化了系统结构。每个数据包传输完成后都可得到信道容量的估计值,并按照上述方式为后续数据包选择初传码率,可实现在时变信道下连续的码率兼容极化码编码传输。其中,所述最佳初传码率为接近当前信道容量的最佳初始码率,所述接近当前信道容量的最佳初始码率的确定方法如下:当所估计信道容量范围不超过信道的实际变化范围时,将获得的信道容量范围上限值作为初传码率;当所估计的信道容量超过信道的实际变化范围时,以信道容量范围上限值作为母码速率,通过打孔提高码率至信道变化极限值,由于打孔不会增加编译码器个数,因此不会增加系统复杂度。本发明方案降低了打孔极化码的ber和fer,并改善了随机打孔算法带来的错误平底,同时本方案的pcpp码码率兼容传输方案,实现了在时变信道下多个极化码数据包的码率兼容传输,其中每个数据包的平均重传次数仅为1.8次。具体地,本发明的编码方案,设计了一种并行级联打孔极化码(parallelconcatenatedpuncturedpolarcodes,pcppcodes)的编码方案。首先,采用打孔构造任意速率和码长的极化码,解决了中编码方案对码长和码率的约束,实现任意速率的编码。随后,将打孔范围限制在与信息比特无关的集合中,首先提出一种改进的随机打孔算法。最后,提出一种时变信道下连续编码传输的方案设计,根据一个数据包成功传输时对应的码率对信道进行估计,假设信道系数在两个时隙间是时变,即可通过该估计值来确定下一个数据包的初始码率。这样即可为后续数据包选择一个接近当前信道容量的最佳初始码率,从而减少每个数据包的重传次数达到降低编译码系统结构复杂度的目的。本发明具体实施方式中,首先,简述极化码和pcp编译码的相关原理,以及介绍发明的系统模型;基于上述原理及系统模型,本发明提出一种改进打孔算法;然后提出基于上述打孔算法的码率兼容传输方案,并对其关键的参数的选择进行说明。本发明中所用参数意义如下:i,j,k,m∈1,2,3,.....表示序号;n表示极化码的码长,其中nm为未打孔时母码长度;r表示极化码的码率,其中rd表示打孔码率,表示对于同一个母码第l次打孔的打孔码率;p(·)表示比特翻转函数,p表示打孔向量。首先,简述极化码和pcpp编译码的相关原理,以及介绍本发明的系统模型;1、极化码n个独立的离散无记忆信道wi通过信道组合和信道分离可得到n个极化子信道其中i=1,2,...,n。信道极化后一部分信道容量趋于1,称为“好”信道,信道索引记为a称为信息集。剩余信道容量趋于0,对应信道索引ac为a的补集。极化码的编码时,在“好”信道中对应编入信息比特,其他部分编入固定比特。用c(n,r,a)来表示码长为n=2n,码率为r,信息比特集为a的极化码,其中,n≥0为迭代次数。若信息比特数为k,码字速率且|a|=k。用表示信源比特序列,表示极化码字序列。极化码的编码过程如(1)式所示:其中生成矩阵其中bn是n阶翻转矩阵,表示f的n阶kronecker积。极化码的接续消除译码(successivecancellation,sc)译码通过接收得到信道输出值的似然函数对信源比特ui,i∈1,…,n逐位进行估计得到信息码元估计值其译码复杂度仅为o(nlog2n)。第i个信源比特ui对应的对数似然比计算如下:判决结果记为:根据转移概率函数的递推计算公式,可以得到软信息对数似然比的递推计算公式:其中和分别表示中索引为奇数和偶数的子向量,表示模二和运算。除了sc算法外,常用的极化码译码算法还有置信传播(beliefpropagation,bp)译码算法,bp译码是一种被广泛应用的迭代译码方法,性能较sc译码有一定提高,但由于进行t次迭代过程,软信息递推计算操作次数增加至sc译码的t倍,码长为n的极化码bp译码复杂度达到了o(tnlogn)。为了改善极化码的译码性能,基于sc算法提出了一系列改进算法,如序列译码算法(successivecancelationlist,scl)、堆栈译码算法(successivecancellationstackscs)、简化sc译码算法(simplesuccessivecancellation,ssc)都极大的提高译码效率。特别是在冗余循环校验(cyclicredundancycheck,crc)方法的辅助下,scl译码的误码性能可以超过最大似然译码(maximum-likelihood,ml)。2、系统模型定义一个有限的信道集合w={w1,w2,...,wj},若且对应信道容量i(w1)>i(w2)>…>i(wk),称w为降级信道集。根据信道的降级关系,可构造嵌套极化码字集c={c(n,ri,ai)}|i∈{1,2,...j},各码字速率为ri=i(wi),码字信息比特集满足嵌套性质,即其中i<j。通过将ai\aj中对应信息比特置0即可由c(n,ri,ai)构造c(n,ri,aj),其中ai\aj表示aj在ai中的补集。采用信息位冻结构造的嵌套极化码集中,通过调整信息比特的个数可获得任意速率的码字,但码长依旧需要满足2的幂次方。为了在获得任意码率的同时获得任意码长,在嵌套极化码的基础上,可构造中一种速率兼容的极化码(parallelconcatenatedpuncturedpolarcodes,pcppcodes),记为其中各码字的速率与长度满足:其中i∈{1,2,...,j},ri=i(wi),k为第一次传输的信息比特数,为前i次传输的码长之和,nj为每次传输的码长,当nj不满足2的幂次方时,采用打孔进行构造。另外,对于每个码长ni,都可构造嵌套极化码集令其中其所对应的信息比特将作为上一个传输失败的极化码固定比特,将其转化为码率为ri的极化码下面用一个例子对pcpp编译码结构原理进行说明。取n1=16,由(5)式可得n2=8,n3=24,其编译码结构如图1所示。在第一次传输中,发送端首先传输极化码信源信息比特中选择作为极化码的信息比特。若第一次传输失败,那么发送第二个极化码此时对应信息比特选择{u1,u2,u3,u4},当接收端译码失败时发送进行第三次重传,由于n3=24不满足2的幂次方,无法直接通过极化码编码器进行构造,因此我们可通过对一个长度为32的母极化码进行打孔,所要传输的信息比特数为n3r3=6,因此母码码率通过打孔删除8个编码比特得到第三次传输的极化码其中对应信息比特选择{u1,u2,u5,u6,u7,u8}。当接收端译码成功时,接收端译码器输出为{u1,u2,u5,u6,u7,u8},然后将{u1,u2}的信息比特作为第二次传输极化码的固定位比特,此时可将剩余的信息比特为{u3,u4}译出。最后,将前两次的译出的信息比特作为的固定比特译出中剩余信息比特{u9,u10,u11,u12}。至此全部信息比特已被译出,完成传输。如图2a和图2b所示,图2a是3级pcpp码编码结构图,图2b是3级pcpp码译码结构图,其中n1=16,n2=8,n3=24。由图2a和图2b可知,m级pcpp码的编译码过程中共需要m个编码器和m个译码器,当m较大时,pcpp码的编译码结构较为复杂。在多个数据包的传输过程中,假设后续数据包均以相同初传码率进行传输,当信道时变时,每个数据包所需的重传次数也基本等于m次。随后我们将进一步的讨论pcpp编码结构的简化与多个数据包的码率兼容传输方案。3、打孔算法为了构造任意速率的极化码,根据(6)式可知需要构造任意长度的码字。当极化码长不满足2的幂次方时,则采用打孔进行构造。通过将极化码的一部分编码比特删除可以构造打孔极化码,被删除的码字将不再进行传输。假设打孔位置对于接收端是已知的,译码时将打孔位置的似然比(loglikelihoodratio,llr)置0作为译码器的初值。因此,打孔极化码采用与非打孔码字相同的编译码算法。但由于打孔丢失了一部分码字,将造成码字性能的下降,而且随着打孔个数的增加,性能损失得越大。因此需要选择合适的打孔算法将性能损失减少到最小。现有的打孔算法都是在整个码字选择需要删除的码字,过程中将会删除信息位码字,为了减少码字性能的损失,应尽量选择与信息比特无关的码字进行打孔。基于此,本发明提出一种基于固定码字的改进随机打孔算法。由长度为n的极化码打孔构造另一个长度为l的码字时,相当于删除生成矩阵gn中的n-l列向量和行向量。为了保证得到的打孔矩阵是可逆的,所删除的列向量序号i与打孔位置相同,而行向量的序号为j=p(i),定义p(·)为比特翻转置换函数。以n=8的极化码为例,若删除码字x1,x2,那么生成矩阵g8中与之对应的第1,2列将被删除,再对应删除第1,5行(比特翻转置换后1对应1,2对应5)。如图3所示,图3是n=8的极化码打孔过程中生成矩阵行列删除关系图。用ua和分别表示信源信息的信息位比特和固定位比特,可将式(1)改写如下:其中gn(a)是将g中行号属于a的行抽取出来组成的矩阵,gn(ac)的构造同理。由式(6)可知,前一项包含了需要传输的信息,因此该项中的行向量不能删除,后一项乘积结果全为0,不会影响编码结果。所需删除的行向量的选择应满足j∈αc,那么删除列向量i∈p(αc),i即为打孔码字的位置。将打孔码字的位置限制在集合p(αc)中,结合随机打孔原理,提出一种改进的随机打孔(improvedrandompuncturing)算法。假设母码长度和速率分别为nm,rm。打孔后码字长度为l,令打孔模板为p,且|p|=nm,改进的随机打孔算法主要分为以下两个步骤:(1)初始化:将p初始化为全1向量;(2)随机选取:在p中,在集合p(αc)中随机选取n-l个位置,并将该位置的值重新赋值为0。p中0所对应的位置即为打孔码字位置。本发明中,采用改进随机打孔算法构造pcpp码,并用于码率兼容传输方案。4基于打孔的码率兼容极化码传输方案pcpp码中长度不为2的幂次方的极化码可通过上述irp算法进行构造。这一部分中,本发明提出一种基于打孔的码率兼容极化码传输方案,实现多个数据包的传输,其中每个数据包均以pcpp码字进行传输。同时根据各数据包的传输结果,选择初传码率简化pcpp码的编译码结构。4.1初传码率与传输次数关系分析在介绍具体的码率兼容传输方案前,先讨论如何简化pcpp码的编译码结构并实现多个数据包传输的方法。假设信道条件时变。假设一个数据包的pcpp码初传码率为r1,最终码率为rm译出全部信息比特。当信道变化时,后续的每个数据包所需的重传次数与初传码率的关系如表1所示。假设后续数据包仍以r1为初传码率,当信道条件恶化时至少需要进行m+1次重传,而信道条件改善时则最多会需要m-1次重传。若以rm为后续数据包的初传码率,信道条件恶化时最少只需要进行2次重传,这样就减少了传输次数,即简化了该pcpp码的编译码结构,但是当信道条件改善时以rm为初传码率将造成信道资源的浪费。表1初传码率与每个数据包所需的重传次数关系表由于信道条件时变,码率rm比r1更接近未知信道容量,因此以rm为初传码率时数据包所需的重传次数更少。这样即可得出,简化pcpp编译码系统结构的关键在于选择接近未知信道容量的速率作为初始速率i(w)。尽管无法得知精确的i(w),但依然可以根据一个数据包传输结果对其进行估计,具体方法如下。假设第一个数据包的初传码率与最终速率分别为r1和rm,可以得到一个容量区间i(w)∈[rm,rm-1),其中rm-1为上一个译码失败时的码率。用rs和rf分别表示最终码率与上一个译码失败时的码率,那么下一个数据包的初传码率可根据该码率区间[rm,rm-1)进行选择。这样挑选出的初传码率将更为接近i(w),即可减少数据包所需的重传次数,从而达到了简化pcpp编译码结构的目的。具体的方案以下进行详细论述。4.2基于非系统极化码的码率兼容传输方案由4.1的分析可知,每个数据包的初传码率可由前一个数据包的最终传输结果确定。根据这一关系,本发明提出基于打孔的的码率兼容极化码传输方案。其中每个数据包均通过构造pcpp码进行传输,假设极化码译码为容量可达的,即当信道容量大于传输码率时即可成功译码成功。首先定义几个参数:用δr=ri-1-ri表示两个相邻的速率差值;为第n个数据包中第k次重传的极化码;为第n个数据包传输成功后信道容量对应速率范围,其中和分别表示容量的下限值和上限值,且其初值分别为信道初始容量为i(1)(w),假设发送端已知信道容量变化范围i(n)(w)∈[imin,imax]。传输方案按如下方式进行。表2基于打孔的码率兼容极化码传输方案算法码率兼容传输方案的编码算法表如表2所示。第一个数据包传输成功后将首个信道容量区间返回至发送端。然后构造极化码并进行传输,若信道条件改善,且假设信道条件改善的最大值满足此时以为第二个数据包的初传码率再以为第2次重传的码率,构造2级pcpp码进行传输即可完成第二个数据包的传输,当前对应的信道容量范围为特别的,当那么仅需要进行1次传输即可实现数据包的传输。若信道条件改善最大值接收端可对极化码成功译码,仅需要1次传输,但这样无法判断下一个数据包的初传码率,此时,需先以为母极化码并对其进行打孔获得更高速率的码字进行传输,定义打孔步长δ,首先以p1=δ为打孔个数,构造打孔极化码并以构造2级pcpp码即可完成数据包的传输。若接收端信道条件恶化,假设信道条件恶化的最小值满足那么只需再以和为第2次和第3次重传的码率,构造3级pcpp码进行传输即可完成第二个数据包的传输。并向发送端返回当前获得的速率区间选择下一个数据包的初传码率。假设信道条件恶化的最小值满足那么只需再以为第2次重传的码率,构造2级pcpp码进行传输即可完成第二个数据包的传输。并向发送端返回当前获得的速率区间选择下一个数据包的初传码率。第n-1个数据包传输成功后,返回对应的信道容量区间按照上述方进行第n个数据包的传输。下面举一个简单的例子对该方案进行详细解释。假设第一个数据包经过4次传输后以r4译出全部信息比特,可得此时信道容量范围i(1)(w)∈[r4,r3)。将r4返回发送端,根据步骤(2)构造极化码进行传输,若信道恶化后码率不低于r4,接收端对译码失败,再构造接收端一定可以对其成功译码,这样就完成整个数据包的传输。过程中仅需要构造速率分别为r3,r4的2级pcpp码,共需要2次重传。然而,若仍以r1为初始速率,则需要5次重传。若信道恶化后码率低于r4,则需要再构极化码造这样共需要构造3级pcpp码,需要3次重传。然而,若仍以r1为初始速率,则需要6次重传。若信道改善值不超过r3,接收端无法对译码成功,则再构造这样就完成整个数据包的传输。过程中仅需要构造速率分别为r3,r4的2级pcpp码,共需要2次重传。若信道改善值超过r3,则需对其进行打孔构造更高速率的打孔极化码将打孔码率置为imax(w),定义对应的打孔个数为δ。随后再构造码率为r4的极化码进行传输即可,过程中仅需构造2级pcpp码,共需要2次重传。综上所示,根据一个数据包传输结果对信道进行估计,并确定手续数据包的初传码率,除第一个数据包外,后续数据包的只需构造2级pcpp码,简化了其编译码结构,降低了系统的复杂度。随着传输数据包的增加,对未知信道状态的预测也将更为精确。4.3参数选择在上述的速率编码方案中,定义了两个重要参数:打孔个数δ以及速率间隔δr。打孔步长δ用于确定每次打孔的个数。若δ较小,则会增加打孔次数;而δ较大时,打孔码字性能较差。同理,δr越小,传输次数越多;δr越大,对信道的估计越不准确。下文中,将具体讨论二者的选择。a.打孔步长δ表3所示为打孔极化码码长以及当前码率下要删掉的码字数。可以看出打孔码率越大对应的打孔个数越多,但不同打孔码率对应的打孔个数之间并不存在特定函数关系。表3打孔极化码码长以及对应打孔码字个数在此,用rm和nm分别表示母码速率和长度,rd表示打孔码率。若取rd=rm+0.1对应打孔个数的一半作为打孔步长δ。即nm=1024时,nm=2048,并以δ为打孔步长,对rm=0.5,nm=1024和nm=1024进行打孔,打孔个数应满足p≤n-k。打孔次数l,对应打孔个数pl和码率的关系如表4所示。表4nm=1024和nm=2048的极化码打孔次数、打孔个数与打孔码率关系表由上述表4可以得出结论1:打孔次数l和每次打孔后的速率与母码长度nm无关。证明:打孔步长选择打孔码率rd=rm+0.1时对应打孔个数的一半。根据打孔前后信息位的个数保持不变得到如下等式:rmnm=(rm+0.1)(nm-2δ)(7)打孔速率满足rm<rd<1,打孔个数1≤p<nm-nmrm,p∈z,经过l次打孔后打孔个数pl=lδ。打孔次数l与对应打孔速率满足如下关系由式(9)(10)得证。b.码率间隔δr图4所示为按照(9)式选择打孔步长δ时,首个打孔速率与母码速率的关系图。由图4可知,二者的速率差值为0.05左右。为了便于分析,本文将该速率关系记为假设信道条件时变,根据(11)式我们选择δr=0.1,原因分析如下。第一个数据包传输成功后我们可以得到信道容量i(1)(w)∈[rm,rm-1),并构造速率为rm-1的极化码进行传输,若信道条件恶化接收端译码失败,则第2个初传码率这里将不作讨论。当信道改善最大值时,需要以rm-1为母码速率进行打孔确定选择δr=rm-1-rm=0.1,可得速率区间中值如图5所示。由图5可看出,对任何码长首个打孔码率满足我们假设信道改善最大值不超过这样通过一次打孔即可获得目标码率,同时,由于打孔个数较少,对码字性能的损失也将减少。结合上述讨论结果,打孔步长δ与码率间隔δr可根据(12)式进行选择:另外,打孔步长δ与码率间隔δr还需与对应的信道变化的上限值和下限值相匹配,这一部分的工作需要进一步的研究。5仿真结果5.1打孔算法性能仿真在这一部分中,本发明将在awgn信道下采用sc译码算法下对不同打孔算法的误比特率(ber)和误帧率(fer)进行仿真。其中仿真算法分别为改进随机打孔(irp)、随机打孔(rp)和截止树打孔算法(st),调制方式为bpsk。在这一部分中,我们将在awgn信道下采用sc译码算法下对不同打孔算法的误比特率(ber)和误帧率(fer)进行仿真。其中仿真算法分别为改进随机打孔(irp)、随机打孔(rp)和截止树打孔算法(stp),调制方式为bpsk。仿真参数如表5所示表5打孔算法仿真参数母码长度nm1024母码码率rm0.5打孔码率rp0.6,0.7,0.8译码算法sc调制方式bpsk如图6和图7可看出,irp算法在ber和fer性能均优于其他两种算法,其中通过stp算法对码字性能造成灾难性的损失,而通过将打孔码字范围限制在固定码字集中的irp算法,在打孔码率rp=0.6时,irp算法较rp算法在ber=10-4时获得大约0.2db的增益,在ber=10-2,irp算法较rp算法有大约0.2db的提升。随着打孔码率的提升,irp算法的优势将更加明显,在打孔码率rp=0.7时,irp算法较rp算法在ber=10-4时获得大约1db的增益,在ber=10-2,irp算法较rp算法有大约0.3db的提升。特别的,当打孔码率rp=0.8时,rp算法在ber=10-2和fer=10-1有明显的错误平底效应,而irp下不会出现这样的结果。5.2传输方案重传次数仿真我们对多个数据包中各数据包所需的平均重传次数分别在上文中所提出的基于打孔的改进传输方案与pcp传输方案进行仿真,其中pcp传输方案中每个数据包的初传码率均与首个数据包相同。取数据包的个数为100个,每个数据包分别进行100次仿真,初始信道容量i(1)(w)分别取0.3,0.5,0.7,假设信道变化范围为[i(1)(w)-0.1,i(1)(w)+0.1]。首个数据包的初始码率取打孔步长δ与码率间隔δr按(12)式进行选择,取δr=0.1。这样对于我们取的每个i(0)(w)可得在pcp传输方案中,后续数据包的初始码率均取改进的传输方案中,后续数据包的初传码率按4.2所述方法选择。仿真结果如图8a、图8b及图8c所示,各图中横坐标为所传输数据包的编号,纵坐标为100次仿真后的平均重传次数。如图8a、图8b及图8c各图所示,在各数据包均以相同初传码率传输的pcp传输方案中,由于我们假设信道条件时变,因此后续数据包的所需的重传次数与首个数据包基本相同。而基于打孔的改进传输方案,可根据前一个数据包的传输速率选择一个接近信道容量的速率作为后续数据包的初传码率,可在一定程度上减少重传次数。同时,由于两种传输方案的第一个数据包的初传码率相同,因此需要的传输次数也相同。图8a所示为当i(1)(w)=0.3时,各数据包在两种方案下所需的平均重传次数。在pcp传输方案下后续数据包需要的平均重传次数大约为5.5次左右,原因是首个初传码率与信道容量差值较大。而采用改进的打孔传输方案对初传码率进行选择后,后续数据包的平均重传次数大约只需要1.8次。如图8b所示,当初始信道容量取值为i(1)(w)=0.5时,pcp传输方案中各数据包所需的平均重传次数减少为3.5次左右,改进方案中的平均重传次数仍只为1.8次。图8c中,我们将i(1)(w)提高至0.7,此时初传码率与i(1)(w)较小,因此采用pcpp传输方案时传输平均传输次数的平均值大约只为1.5次,由于改进传输方案需要通过打孔对信道进行估计选择初传码率,这一操作会增加一定的传输次数,相比pcp传输方案需要更多的重传次数,但其平均重传次数依旧只为1.8次。由上可以看出,pcpp传输方案中,每个数据包的重传次数依赖于由和i(1)(w)之间的差值决定,差值越大重传次数越多。而在本发明改进的方案中,每个数据包的初传码率会根当前的信道条件进行选择,因此在不同的i(1)(w)下所需的传输次数都基本相同。另外,在pcp码字系统结构方面,pcp传输方案中,每个数据包传输时所需的编译码器个数与重传次数相同,而改进的传输方案中,当已知信道容量变化范围后,后续数据包仅需要构造2级pcpp码进行传输,而且打孔不会增加编译码器的个数,因此后续各数据包所需的编译码器个数均只需2个。相比pcp传输方案,改进的传输方案降低了pcpp码的系统复杂度。相比现有技术,本发明设计了一种并行级联打孔极化码的编码方案,实现了一种时变信道下连续的码率兼容极化码编码传输。首先将打孔码字范围限制在与信息比特无关的码字集中,提出一种改进的随机打孔算法。通过仿真结果证明,本发明改进打孔算法在误码率性能上优于随机打孔算法。基于该打孔算法,构造一种并行级联打孔极化码,并提出一种基于打孔的码率兼容传输方案,根据一个数据包的最终传输速率对信道进行估计并确定后续数据包的初传码率。仿真证明,后续数据包中各数据包仅需要构造2级pcpp码,而且在不同的初始信道容量下各数据包所需的平均重传次数约为1.8次。本发明方案简化了pcpp码的编译码系统复杂度,同时实现了多个数据包的码率兼容传输。此外,本发明还提出一种基于打孔的码率兼容极化码编码系统,包括:基于打孔的码率兼容极化码编码程序,所述基于打孔的码率兼容极化码编码程序配置为由处理器调用时,执行如上所述的方法的步骤,在此不再赘述。以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的
技术领域
,均同理包括在本发明的专利保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1