一种两阶段的低复杂度极化码构造方法与流程

文档序号:17724776发布日期:2019-05-22 02:25阅读:263来源:国知局
一种两阶段的低复杂度极化码构造方法与流程

本发明属于通信信道编码领域,具体涉及一种低复杂度的polar码码字构造方法。



背景技术:

polarcodes,即极化码,是2009年由e.提出的一种新型信道编码。极化码基于信道极化(channelpolarization)进行设计,是第一种能够通过严格的数学方法证明达到信道容量的构造性编码方案。信道极化是极化码构造的基础,二元极化是信道极化的基本操作单元,即通过对两个相同的原始信道进行组合分解来实现二元极化,极化产生两个新的子信道,新生成的两个子信道的信道容量相比原始信道一个信道容量提高,一个信道容量降低,所有子信道总的信道容量不变。如果对信道不断的执行极化操作,就可以不断产生信道容量更高的子信道和信道容量更低的子信道,由于极化操作不会减少信道容量,因此,当不断进行极化操作时,将会只剩下信道容量趋于1的子信道和信道容量趋于0的子信道,并且信道容量趋于1的信道的容量和将趋于总容量,即容量趋于1的信道的数量占全部信道的比例趋于信道容量。如果用信道容量趋于1的信道来传送信息,用信道容量趋于0的信道来传送固定比特,收发端共享固定的比特值,就可以实现信息的可靠传输。因此,将传送信息的信道集合称为信息集,将传送固定比特的信道集合称为冻结集。

但是,要使所有子信道的信道容量完全趋于1或者完全趋于0,参与信道极化的码长是在趋于无穷的情况下达到的,在实际应用中,码长是有限的,不可能趋于无穷,因此,信道容量就不能实现完全趋于1或者完全趋于0。所以,对于实际应用中码长有限的情况下,构造信息集和冻结集的方法是基于信道容量或者信道可靠性的相对大小来实现,即在给定码长和码率的情况下,通过计算所有极化后子信道的可靠性大小,然后根据其大小关系选择比较可靠的前k个子信道的集合作为信息集,剩余的子信道集合则作为冻结集;因此,在有限码长下,构造极化码时,首先计算所有子信道的可靠性大小,然后根据可靠性大小进行排序(参考文件[1].e.“channelpolarization:amethodforconstructingcapacityachievingcodesforsymmetricbinary-inputmemorylesschannels,”ieeetrans.inf.theory,vol.55,no.7,pp.3051–3073,jul.2009),选出可靠性最高的k个子信道作为信息集,需要传输的信息则在这些位置进行传输,其余子信道则作为冻结集,用来传输固定比特。

同时,基于信道极化的基本过程中,存在一部分子信道之间信道容量的相对大小关系是与信道条件无关的,对于这些信道之间的可靠性大小,如果仍然计算其信道容量,然后再进行比较排序来选择冻结集和信息集,很明显,这部分的子信道的可靠性计算量是冗余的。因此,为了减少信息集与冻结集在计算过程中的冗余,降低码字构造的时间复杂度,优化现有的码字构造方案,需要一种降低计算量减少冗余的极化码的码字构造方法。



技术实现要素:

本发明针对于为了减少信息集与冻结集在计算过程中的冗余,降低码字构造的时间复杂度,优化现有的码字构造方案,基于该需求,本发明提出一种基于两阶段的方法来进行极化码码字构造的方法。

本发明提供的两阶段的极化码构造方法,将码字构造的过程分为粗构造和细构造两个过程,粗构造基于子信道的偏序关系和可靠性大小从所有子信道中快速选择更可靠的子信道加入信息集;细构造过程根据系统对性能的需求,选择合适的信息集确定方法继续从子信道集合中继续选择更可靠的子信道加入信息集中。

本发明提供的一种两阶段的低复杂度极化码构造方法,实现步骤包括:

步骤1:根据码长n和码率r,获得信息位长度k=n*r;

步骤2:对子信道索引,根据加法规则additionoperator和左交换规则left-swapoperator进行运算,建立子信道之间可靠性的相对大小关系;

步骤3:根据得到的相对大小关系构建二分图,二分图中将每个子信道作为一步骤2个顶点,对于两个子信道u和v,当且仅当u的可靠性小于v的可靠性时,二者之间存在一条边;然后采用最大匹配优化hopcroft-karp算法得到二分图的最大匹配;

步骤4:根据二分图的最大匹配将所得的二分图划分成链,每条链中的所有元素以偏序关系顺序连接;

步骤5:执行粗构造过程,从链元素中选择子信道加入信息集中,包括:

(1)从链中选取划分元,设置阈值;每次寻找所有链中选择的划分元所对应的子信道中可靠性最大的元素作为当前阈值;(2)根据当前阈值,在所有链中选择可靠性大于该阈值的子信道并加入信息集中;对于阈值所在的链直接选择划分元之前的元素加入信息集;对于其余链,对每条链的划分元之前的元素利用二分查找法找到第一个小于划分元的元素位置,然后将该位置之前的元素都加入到信息集中;

步骤6:设当前信息集中的元素数目为k’,判断k’是否大于k,若是,则对当前加入信息集中的所有链元素,执行步骤5的粗构造过程,若否,继续执行步骤7;

所述的步骤6中,还设置粗构造过程的终止条件为0<k-k′≤m,如果当前信息集的元素数目k′满足该条件,则终止粗构造过程,否则需要继续执行粗构造过程。

步骤7:当前信息集中的元素数目k’小于k时,执行细构造过程;所述的细构造过程提供三种选择方法如下:

(a)继续执行步骤5的粗构造过程,从剩余的链元素中选取k-k’个元素;

(b)设剩余的链的数目为s,对每条链剩余的元素,选取链首n个元素,使得(n-1)s<k-k’<ns,计算所选取的ns个元素的可靠性,排序选出其中可靠性最高的k-k’个元素加入信息集中;

(c)设剩余的链的数目为s,对每条链剩余的元素,选取链首n个元素,使得(n-1)s<k-k’<ns,对所选取的ns个元素,根据子信道的索引计算子信道的权重系数,排序选出其中权重系数最高的k-k’个元素加入信息集中。

最终,选出信息集的k个子信道,其余n-k个子信道则作为冻结集。

本发明方法先通过粗构造将大部分可靠性较高的子信道快速选为信息集,再进一步通过细构造来进一步选取适合的信息集,与现有技术相比,具有以下明显优势:

(1)本发明方法不需要计算所有子信道的可靠性,从而有效的降低子信道可靠性的计算量;

(2)本发明方法在确定信息集与冻结集的过程中,不需要对子信道的可靠性进行排序,从而也能有效降低码字构造的计算量,有效地降低码字构造的复杂度。

附图说明

图1为本发明提出的码字构造方法的总体流程图;

图2为本发明实施例给出的码长n=16时所建立的二分图;

图3为本发明实施例给出的码长n=16时所得到的最大匹配图;

图4为本发明方法粗构造过程中迭代选择阈值的流程图。

具体实施方式

为了便于本领域普通技术人员理解和实施本发明,下面结合附图对本发明作进一步的详细描述。

本发明提出了一种在给定码率的情况下的低复杂度极化码码字构造方法,该方法根据信道在极化过程中,部分子信道可靠性的相对大小关系在二进制无记忆信道下与信道条件无关的这一性质,来获得部分信道可靠性相对大小关系,从而基于这部分子信道的可靠性相对大小关系,提出了一种两阶段构造的方法实现极化码的码字构造,该方法通过粗构造来快速选择更可靠的子信道加入到信息集中,然后根据系统对于性能的要求再利用细构造来选择可靠性相对较差并且比较接近的子信道到信息集中;在元素查找过程中,采用了二分查找策略,可以加快查找效率,并且减少了需要计算的子信道可靠性的数目,降低了计算量。本发明方法在选择信息集的过程中不需要进行排序,从而进一步降低了码字构造的计算量;本发明方法可以根据系统对性能和复杂度的需求来调整实现过程,因此具有很强的普适性和鲁棒性。

如图1所示,为本发明基于两阶段构造的低复杂度极化码的构造方法的一个实现流程,下面依次说明实现过程中的各个步骤。

步骤1:根据给定的码长n,码率r,计算信息位长度表示向下取整。

步骤2:根据加法规则additionoperator和左交换规则left-swapoperator的运算结果来建立部分信道之间可靠性的相对大小关系。

步骤2根据参考文件[2]:m.mondelli,s.h.hassani,andr.urbanke,“constructionofpolarcodeswithsublinearcomplexity,”inproc.oftheieeeint.symp.inf.theory(isit),aachen,germany,jun.2017,pp.1853–1857,来实现。参考文件[2]中提出的两种与信道条件无关的确定子信道可靠性的相对大小关系的规则:additionoperator和left-swapoperator。

additionoperator和left-swapoperator的计算方法如下式所示:

用a表示additionoperator运算;

用l表示left-swapoperator运算;

其中,i表示子信道的索引值,i∈{0,1,...,n-1};n表示码长;a(k)(i)表示对i的二进制比特序列的第k个比特进行additionoperator运算所得到的结果,(a(k)(i))l为结果a(k)(i)的二进制表示的第l个比特值;l(k)(i)表示对i的二进制比特序列的第k个比特进行left-swapoperator运算所得到的结果,(l(k)(i))l为结果l(k)(i)的二进制表示的第l个比特值;il表示i的二进制表示的第l个比特值;k∈{1,...,n},l∈{1,...,n},n=log2n。同时,对于left-swapoperator运算,i的二进制表示满足条件:当且仅当ik=1,ik-1=0,k≥2。

举例说明:对于码长n=16,n=4;i=10;10的二进制表示:1010;

进行additionoperator运算如下:

k=1,(a(1)(10))1=1,(a(1)(10))2=0,(a(1)(10))3=1,(a(1)(10))4=0,

所以a(1)(10)=(1010)b=10d,下标b表示二进制,下标d表示十进制;

k=2,(a(2)(10))1=1,(a(2)(10))2=1,(a(2)(10))3=1,(a(2)(10))4=0,

所以a(2)(10)=(1110)b=14d;

k=3,(a(3)(10))1=1,(a(3)(10))2=0,(a(3)(10))3=1,(a(3)(10))4=0,

所以a(3)(10)=(1010)b=10d;

k=4,(a(4)(10))1=1,(a(4)(10))2=1,(a(4)(10))3=1,(a(4)(10))4=1,

所以a(4)(10)=(1011)b=11d。

进行left-swapoperator运算如下:

k=2,(l(2)(10))1=1,(l(2)(10))2=0,(l(2)(10))3=1,(l(2)(10))4=0,

所以l(2)(10)=(1010)b=10d;

k=3,(l(3)(10))1=1,(l(3)(10))2=1,(l(3)(10))3=0,(l(3)(10))4=0,

所以l(3)(10)=(1100)b=12d;

k=4,(l(4)(10))1=1,(l(4)(10))2=0,(l(4)(10))3=1,(l(4)(10))4=0,

所以l(4)(10)=(1010)b=10d。

对于两个二进制离散无记忆信道w1和w2,如果信道w1是w2的退化信道,表示为则信道w1的可靠性小于等于信道w2的可靠性。

根据上述additionoperator和left-swapoperator两种运算所得到的索引的映射关系,对于子信道的可靠性在独立于信道条件下可用如下的信道退化来表示:

其中,表示第i个子信道。表示信道的可靠性小于等于信道的可靠性;表示信道的可靠性小于等于信道的可靠性,等式成立的条件当且仅当i=a(k)(i)或者i=l(k)(i);关系满足传递性。

则根据上述实施例,可以得到当i=10时,部分子信道的可靠性的相对大小关系如下:

例如,其中表示信道的可靠性小于的可靠性。

因此,对于子信道i∈{0,1,...,n-1}执行上述两种运算操作,再由信道退化的规则可以确定与信道条件无关的部分子信道可靠性的相对大小关系。

步骤3:根据步骤2所得的子信道的可靠性相对大小关系构建二分图g,所构建的一个二分图示例如图2所示,构建方法如下:二分图g=(u,v,e),将每个子信道作为一个顶点,u和v表示二分图中的两个顶点集合,其中u=v={0,1}n;e表示二分图里的边集合,对于两个顶点u,v,当且仅当时,二者之间存在一条边。

然后采用最大匹配优化算法——hopcroft-karp算法,可以得到二分图g的最大匹配数m以及最大匹配所对应的支撑边的集合e′。本发明实施例的一个最大匹配如图3所示。

步骤4:根据二分图的最大匹配的支撑边的集合e′将所得的二分图划分成链c,链的数目等于二分图的最大匹配数m,如果每条链的长度用lt表示,则链c的大小为链的划分方法如下:

为保证每条链的元素按照子信道的可靠性大小的降序排列,根据步骤3中hopcroft-karp算法得到的最大匹配及支撑边的集合找出集合v中所有的未匹配点,在集合u中标记这些未匹配点的标号,然后分别以未匹配点为起点,以信道的可靠性关系作为偏序关系,在最大匹配的支撑边集合e′中找出一条偏序关系链。由于边集合e中只存在的关系,因此根据令uj=vj,即研究集合u中与集合v中同一顶点j,如果支撑边集合e中存在则有直到在支撑边集合e中找不到的关系,则生成一条链,该条链中所有元素以偏序关系顺序连接;对于所有的未匹配点都按上述步骤生成链,最终会得到m条链。

步骤5:执行粗构造过程,从所有的子信道集合中快速选择最可靠的子信道加入信息集中,包括如下子步骤5.1~5.4。如图4所示,为本发明方法粗构造过程中迭代选择阈值的流程。

步骤5.1:对于可靠子信道的选择通过一个阈值作为选择选择的标准,阈值根据对链设计的划分元来得到。其中对于划分元的选择有多种选择方法:随机选择法、中值选择法、码率选择法等。本发明提供两种选择的方案:中值选择法对应步骤5.2a,码率选择法对应步骤5.2b。利用其它选择划分元的方法,也将是本发明的一个特例。

步骤5.2a:将步骤4所得的每条链在中点处划分为两部分,即前个元素和后个元素,将每条链的第个元素作为待选择的划分元,t表示第t条链,t=1,2,...m。每个元素即对应是一个信道。

步骤5.2b:将步骤4所得的每条链按照r:(1-r)的比例划分为两部分,即前|lt|*r个元素和后|lt|*(1-r)个元素,将每条链的第|lt|*r个元素作为待选择的划分元,t表示第t条链,t=1,2,...m。每个元素即对应是一个信道。

步骤5.3:寻找所有链中选择的划分元所对应的子信道中可靠性最大的元素作为当前阈值。

对于当前阈值的选择,中值选择法和随机选择法需要迭代完成,当所有链中可靠性高的部分的元素数目小于等于k时,则该步骤完成,当大于k时,则需要在这部分可靠性高的元素中重新根据每条链的划分元的选择方法选择划分元,进而再选择当前阈值。对于子信道可靠性大小的度量,可以选择不同的度量方式,包括巴氏参数z(w),信道的错误概率pe(w),信道容量i(w),这些不同的度量方式不会影响本发明方法的有效性;w代表信道。

步骤5.4:根据当前阈值在所有链中选择可靠性大于该阈值的子信道将其加入信息集,具体实现方法是:对于阈值所在的链直接选择划分元即阈值之前的元素加入信息集,对于其余链,由于每条链都是全序的,则可以利用二分查找算法找到第一个小于划分元的元素位置,然后选择该位置之前的元素不包括该位置元素,所选择元素可靠性一定都大于该阈值,将这些元素都加入到信息集中。在进行二分查找的过程中,查找范围仅限于每条链的划分元之前的元素,即集合{1,2,...,x},x代表当前链划分元的前一位置,由于其余链的划分元肯定小于当前阈值的可靠性,所以将其余链的查找范围限定在分划点之前可以有效减少计算量,提升计算速度。

步骤6:步骤5执行一次将选择出一部分子信道加入信息集中,设当前信息集中的元素数目为k’,更新需要继续从所有链集合中选出的信息集数目为k—k’,如果是码率查找法,则需要更新码率r=(k—k’)/(n—k’),然后对已经加入信息集中的所有链元素,重复执行步骤5的粗构造过程,直到信息集中的子信道数目满足预先设置的粗构造过程的终止条件,终止粗构造过程,经过粗构造选择后链中保留的所有元素数目k’≤k。

具体在对当前信息集的元素数目k’进行判断,以决定是否终止粗构造过程时,本发明优选设置了终止条件:0<k-k′≤m;当满足该条件时,终止粗构造过程,否则还需要继续执行粗构造过程。

步骤7:进行细构造过程,根据系统对性能的要求,该过程可以同时考虑复杂度与性能的指标来选择相应的信息集选择方法。这也是本发明方法设计为两阶段查找的原因,对于粗构造过程来说,能够近似以logn的次数完成大部分更可靠的子信道的选择,但如果要保证与基于排序的方法完全相同的构造结果,对于剩余的一小部分元素的选择,则需要以近似线性的时间次数来完成剩余这一小部分子信道的选择,这样导致信息集选择的主要时间都消耗在了这一小部分元素的选择,但实际上这部分元素的选择的是否准确对于码的性能的影响是有限的,因此可以视系统对于性能和复杂度的要求来确定这一部分子信道的选择,因此,提出了两阶段的构造过程来实现更高效的构造方法。

经过粗构造过程选择出的信息集的元素数目k’≤k,当k’接近k时,细构造过程需要从剩余元素中继续选择k-k’个可靠性相对较高的元素,该过程之所以可以根据系统的需求来调整信息集的选择算法,主要是基于如何选择这剩下的k-k’个元素,如果系统对性能要求比较高,则可以选择与粗构造过程类似基于划分元的方法来精确地选择最可靠的k-k’个元素,但该过程相对复杂度较高;如果系统可以允许性能的部分退化但要求相对更低的复杂度,则可以选择一些快速选择方法来近似选择较可靠的k-k’个元素,但不能保证是剩余元素中最可靠的k-k’个元素。

本步骤根据系统对性能的要求,选择信息集选择方法,继续在剩余的子信道集合中选择剩下的k-k’个子信道,最终使信息集满足k个元素。本发明提供三种不同的细构造过程的信息集选择方法来满足不同的系统性能需求,通过其它方法来进行细构造过程中信息集的选择将是本发明的一个特例。

步骤7.a:精确选择最可靠的k-k’个元素,该方法可以通过粗构造过程中基于划分元的方法来继续执行,直到所选择的信息集中的元素数目等于k,只是在细构造过程中,该方法收敛速度较慢,选取执行的效率非常低,因此复杂度较高。

步骤7.b:近似选择较可靠的k-k’个元素,由于剩余元素集合仍然是以多条有序链存储,并且按可靠性由高到低排列,因此从所有链的链首元素中选择待选入信息集的元素,例如,设剩余的链的数目为s,选择每条链的前2个元素,使得2s>k-k’>s;然后计算这2s个元素的可靠性,然后排序选出可靠性更高的k-k’个元素加入信息集中,该方法较步骤7.a方法并不能保证所选择的k-k’个元素就是剩余n-k’个元素中最可靠的k-k’个元素,因此码的性能有所退化,但复杂度相对更低。

步骤7.c:近似选择较可靠的k-k’个元素,步骤8.b方法在选择出2s个元素后需要去计算这2s个元素的可靠性,但是对于除删除信道之外(例如高斯信道)的情况,子信道的可靠性计算比较复杂,需要很高的计算复杂度,因此为了进一步降低其计算的复杂度,可以选择一些更加简化的信道的度量方法,例如极化权重的方法,直接根据子信道的索引计算信道的权重系数来度量子信道,具有极低的计算复杂度;然后与步骤8.b方法相同,选择2s个元素,根据极化权重的方法来计算这个2s个元素的可靠性并排序选择权重系数更高的k-k’个元素加入信息集,该方法较前两种方法有更低的复杂度,但码性能的退化也将更加明显。

最后,将所选择的k个子信道作为信息集,其余n-k个子信道作为冻结集。

实施例:

输入参数:码长n=16,码率r=1/4,信道:删除信道(bec),删除概率:ε=0.3,可靠性度量参数:巴氏参数z(w);

输出参数:信息集i,冻结集f。

执行本发明方法,步骤如下:

步骤1,根据码长n=16,码率r=1/4,计算信息位长度k=n*r=4;

步骤2,根据两种确定子信道可靠性的相对大小关系的规则,additionoperator运算和left-swap运算,对子信道索引i∈{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},分别进行a(k)(i)运算和l(k)(i)运算,设k=1,2,3,4,k表示i的二进制比特序列的索引,得到所有子信道之间独立于信道的条件的相对大小关系:

a(1)(0)=1,a(2)(0)=2,a(3)(0)=4,a(4)(0)=8,

……,a(4)(14)=15,

l(4)(1)=2,l(3)(2)=4,……,l(4)(13)=14,

同时根据关系的传递性,得到这些子信道之间存在的所有相对大小关系。

步骤3,根据这些子信道之间相对大小关系可以生成二分图g,g=(u,v,e),如图2所示;顶点集合u=v={0,1}4,两个顶点(u,v)之间存在一条边,当且仅当采用hopcroft-karp算法得到该二分图的最大匹配数m=2以及最大匹配所对应的支撑边的集合如下:

e′={(0,1),(1,2),(2,3),(3,5),(4,8),(5,6),(6,7),(7,11),(8,9),(9,10),(10,12),(11,13),(12,15),(13,14)}。

所得到的最大匹配如图3所示。

步骤4,根据链的生成方法,首先找到最大匹配的2个未匹配点0和4,然后分别以这些点为起点生成两条链,分别是:c1:{14,13,11,7,6,5,3,2,1,0},c2:{15,12,10,9,8,4}。

步骤5,粗构造过程,本实例中采用码率选择法来选择划分元,粗构造过程的终止条件为:k-k′≤m;此处即4-k′≤2。

(1)计算每条链中待选择的划分元的位置,对于链c1:对于链c2:p1、p2分别为两条链的划分元的位置索引,索引从0开始计数。

(2)在bec信道下,用巴氏参数z(w)来度量子信道的可靠性,当则有因此,首先计算每条链待选择的划分元处的可靠性,对于链c1,该元素是索引为2的元素,就是子信道11,计算其巴氏参数z(w),同理,计算链c2中的元素选择这些待选择的划分元中巴氏参数最小的值作为当前阈值,则z=8.731×10-5;巴氏参数值越小代表子信道的可靠性越高。

(3)链c1是当前阈值所在的链,所以直接选择链c1[2]之前的元素,即c1[0],c1[1],c1[2]直接加入信息集中,信息集表示为s={14,13,11};对于c2链则选择{15}作为查找的集合,执行二分查找,由于只有一个元素且所以选择子信道15也加入到信息集s中;

步骤6,计算信息集中元素的数目,k′=3+1=4,即满足k′=k,则提前终止程序。信息集s={14,13,11,15},冻结集f={7,6,5,3,2,1,0,12,10,9,8,4}。

本实施例由于经过粗构造就得到了k个子信道,则不需要继续进行细构造了。如果由码长n和码率r得到的信息位长度k比较大,粗构造后的k’小于k时,则需要执行细构造,例如系统性能要求尽可能快速、低复杂度的选择子信道,则当选择每条链的前2个元素,使满足2s>k-k’>s时,根据极化权重的方法计算2s个元素的权重系数,并从大到小排序,选出排序在前k-k’个元素加入信息集。

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