一种部分极化的polar码的构造方法与流程

文档序号:11929208阅读:253来源:国知局
一种部分极化的polar码的构造方法与流程

本发明属于通信技术领域,具体涉及一种部分极化的polar码的构造方法。



背景技术:

2009年Arikan向世界公布了polar码信道编码理论,并且第一次证明了polar码是当前唯一能够在理论上达到信道容量的纠错编码方案,具有较低的编译码复杂度,灵活简便,极其容易操作。2016年11月14日至18日期间,在美国Reno召开的3GPP RAN1#87会议上,明确规定polar码作为5G信道编码应用的短码方案。

本领域内公知,传统的polar码信道编码是通过极化矩阵完成信道的纠错编码过程。但是传统信道极化理论对于各个信道之间的极化并没有做区别对待。最近发现了传统信道极化方式会出现某些信道“过度极化”现象(参考文献[1]:Mostafa El-Khamy,Hessam Mahdavifar,Gennady Feygin,Jungwon Lee,and Inyup K.Relaxed channel polarization for reduced complexity polar coding)。对如何控制过度极化的问题,参考文献1是采用设置Bhattacharyya参数门限来控制极化程度,但这样受信道变化约束,对应的译码器任一层都有可能需要做调节,不易控制。

另有文献给出了polar码在编码时区分为码率0信道和码率1信道(参考文献[2]:A.Alamdar-Yazdi and F.Kschischang.A simplified successive-cancellation decoder for polar codes)。因为出现过度极化的运算往往是发生在码率1信道,而且最大码率1信道组最易控制,最大码率1信道组的极化存在与否不影响传统polar码译码方式。



技术实现要素:

本发明为了提高有限长polar码的纠错性能,简化polar码的极化结构,降低polar码的编译码复杂度,提出一种部分极化的polar码的构造方法。

本发明提供的一种部分极化的polar码的构造方法,具体步骤如下:

步骤1:确定有限长polar码的码长N和码率R,根据信道条件确定信息比特所在的子信道集合和冻结比特所在的子信道集合其中

步骤2:确定码率1子信道和码率0子信道并计算码率1子信道组;

码率1子信道为信息比特在极化矩阵里参与极化运算对应的子信道,码率0子信道为冻结比特在极化矩阵里参与极化运算对应的子信道。本发明定义为码率1子信道的第个集合组,表示i×τ运算的结果次序,那么码率1子信道组满足:τ∈{小于或等于N的任意自然数},其中i和τ是自然数,i是第τ类码率1子信道组的序号,

码率1子信道组的确定方法为:从第N子信道索引开始到子信道集合中的最小索引子信道,计算出所有的码率1子信道组。

步骤3:根据每一个码率1子信道组,确定在极化矩阵中必须消去的1元素所在的行索引区域;

按照码率1子信道组在极化矩阵中对应的行索引,确定极化核为扩展的极化矩阵中需要消掉的1元素的区域。

步骤4:确定小矩阵;

根据码率1子信道组的元素个数选取极化核经过克罗内克积的扩展后,产生一个小矩阵

步骤5:取消子信道部分极化作用;

把步骤4确定的小矩阵在对应的极化核为扩展的极化矩阵里,按照步骤3确定的码率1子信道组行索引对应的区域,从左到右进行对比,确定和步骤4的小矩阵完全对应的子矩阵块,然后把子矩阵块里的部分1置0,达到取消子信道部分极化的作用,实现polar码的部分极化。

步骤6:用取消子信道部分极化作用的极化矩阵完成polar码的造码。

将步骤5中部分置0后的极化矩阵作为本发明的极化矩阵,从本发明的极化矩阵中提取生成矩阵G,生成冻结比特全为0的polar码的码字。

本发明的优点和有益效果在于:

1)一种部分极化的polar码的构造方法,使用的异或门个数为与传统的polar码编码相比较,可以做到节约个异或门,编码速率也相应的提高;表示向下取整。

2)一种部分极化的polar码的构造方法,创造出的码字矢量能够继续适应传统不作修改的SC译码算法,但是与传统SC译码算法相比,译码复杂度由原来的o(Nlog2N)降低为o(Nlog2N-NR log2NR)。

附图说明

图1是传统任意polar码的极化过程的迭代矩阵;

图2是码长N=16的polar码极化矩阵;

图3是码率R=1/2时为{13,14,15,16}的完全对比示意图,其中τ=2,i={1};

图4是码率R=1/2时为{11,12},{13,14},{15,16}和{17,18}的完全对比示意图,其中τ=1,i={1,2,3,4};

图5是在图2的基础上生成的本发明的polar码极化矩阵,其中码率R=1/2,信道集合

图6是由图5提出的本发明的polar码生成矩阵G1

图7是码率R=3/4时为{9,10,11,12,13,14,15,16}的完全对比示意图,其中τ=3,i={1};

图8是码率R=3/4时分别为{9,10,11,12}和{13,14,15,16}的完全对比示意图,其中τ=2,i={1,2};

图9是码率R=3/4时为{7,8},{9,10},{11,12},{13,14},{15,16}和{17,18}的完全对比示意图其中τ=1,i={1,2,3,4,5,6};

图10是码长N=16,码率R=3/4,信道集合的极化矩阵经部分极化生成的本发明的polar码极化矩阵;

图11是由图10提出的本发明的polar码的生成矩阵G2

图12是码长N=1024和码长N=256的polar码在码率R=1/2时的误比特性能仿真数据图。

具体实施方式

下面结合附图和具体实施方式对本发明作进一步说明。

图1是表示码长为N的polar码极化矩阵,Fi,j表示极化单元矩阵i、j表示单元位置索引;图2是N=16的polar码原始没有经过列互换交织的极化矩阵,图中左侧边缘为信道行索引编号,上边缘为列编号。

下面按照具体实施步骤说明本发明所述的一种部分极化的polar码的构造方法:

步骤1:确定需要的有限长polar码的码长N和码率R,根据信道条件确定信息比特所在的子信道集合和冻结比特所在的子信道集合

选取极化核经过克罗克内积的log2(N)次扩展后产生的极化矩阵作为polar码的基本极化矩阵。根据信道模型条件,挑选信息比特所在的子信道集合和冻结比特对应的子信道集合然后确定码率R。这里其中即log2N的取值为自然数,R的取值为正实数。信息比特和冻结比特,以及信息比特所在的子信道集合和冻结比特对应的子信道集合是根据polar码已有的方法定义和选取的。本步骤是polar码的初始条件的准备。

例如当N=16时,在高斯信道条件下,当码率R=1/2时,信息比特所在的子信道集合当码率R=3/4时,信息比特所在的子信道集合

步骤2:确定码率1子信道和码率0子信道并计算码率1子信道组;

根据参考文献[2]可得,码率1子信道为信息比特在极化矩阵里参与极化运算对应的子信道,码率0子信道为冻结比特在极化矩阵里参与极化运算对应的子信道。

本发明定义码率1子信道组为所有码率1子信道组的第组,即是第τ类第i个码率1子信道组的组序号,表示i×τ产生结果的先后次序,其中τ≤log2N,i≤log2N,并且i和τ是自然数。

码率1子信道组满足的条件为:τ∈{小于或等于N的任意自然数},

码率1子信道组的确定方法为:从第N子信道索引开始到子信道集合中的最小子信道索引结束,计算出所有的码率1子信道组。

的具体求取方法如下:设α为一个码率1子信道组中的最大索引,则求α基于

的运算。其中是码率1子信道组的一阶范数,并且满足mod(·)是求余运算。通过遍历搜索就得到每个码率1子信道组为并且满足是信息比特所在的子信道集合。搜索码率1子信道组是本发明的一个创新点。

在码率1子信道组满足上述条件的情况下,做以下假设和举例:

设集合群作为所有码率1子信道组的集合,其中无意义自然数m′、i′、l′满足条件m′≤log2N、i′≤N/2、l′<2m′≤N,并且集合满足表示第τ类码率1子信道组集合。因此,存在码率1子信道组中的元素对应的信道索引k′满足由于这些索引不能组成连续自然数,那么不能组成一个码率1子信道组,这个码率1子信道组的划分失败,那么继续下一个码率1子信道组的计算。

例如,码长N=8,如果信道集合只有子信道组{7,8}对应的子信道索引7、8为个数为21的码率1子信道组,元素{4}和{6}尽管属于信息集,但是不属于码率1子信道组,那么集合{4,6,7,8}不能组成码率1子信道组,因此集合{4,6,7,8}划分为码率1子信道组失败。因此当时,只有{7,8}成功划分为码率1子信道组。

如果那么子信道{1,2},{5,6},{7,8}满足个数为21的码率1子信道组,{5,6,7,8}满足个数22的码率1子信道组。

本步骤定义了码率1子信道和码率0子信道并确定了划分码率1子信道组的方法。

步骤3:根据每一个码率1子信道组确定在极化矩阵中必须消去的1元素所在的行索引区域。

本发明的极化矩阵是在极化核为扩展的的polar码极化矩阵基础上精简掉不需要极化的1元素。按照码率1子信道组对应的行索引,确定极化矩阵中需要打掉的1元素的位置。与传统极化作用相比,本发明的方法实现了该区域内只有部分1起到极化作用的目的。

例如,码长N=8,如果信道集合那么唯一的一个码率1子信道组因此在极化矩阵中将必须消去的1元素标示为斜体,即

如果信道集合那么3个的码率1子信道组分别为和1个的码率1子信道组因此在极化矩阵中将必须消去的1元素标示为斜体,即和

本步骤确定了各个码率1子信道组在极化矩阵中对应的需要部分极化的行索引。

步骤4:确定小矩阵。

根据码率1子信道组的元素个数选取极化核经过克罗内克积的扩展后,产生一个小矩阵例如,当时,小矩阵为当时,小矩阵为本步骤是根据码率1子信道组的元素个数确定小矩阵。

步骤5:取消子信道部分极化作用。

把步骤4确定的小矩阵在对应的极化核为扩展的极化矩阵里,按照步骤3确定的行索引区域,从左到右进行对比,搜索确定与步骤4的小矩阵完全对应的子矩阵块,然后把搜索到的子矩阵块里的部分1置0,达到取消子信道部分极化的作用。

由于极化矩阵中1的存在是决定极化运算是否存在的关键因素,因此部分极化的关键是极化运算取消,也就是将极化矩阵中的部分1置0,具体说明如下:

步骤5.1:取消奇偶上下相邻子信道的极化方法,即polar码最后一层译码算法。

polar码顺序消去译码在蝶形运算里,最左边第一层取消译码的操作叫做取消最后一层极化,也叫取消奇偶上下相邻子信道的极化;顺序消去译码也叫SC译码。

在基本极化矩阵里的每一个单元矩阵Fi,j(2,1)元素代表两个紧邻信道W奇数和W偶数之间的后一层极化,如果对Fi,j(2,1)进行置0操作,则取消W奇数和W偶数两个奇偶上下相邻子信道之间的后一层极化,其中i、j代表极化核为扩展的极化矩阵里的极化核(子矩阵)的单元位置。

例如N=8的polar码极化矩阵如果取消4对奇偶上下相邻子信道之间的极化,那么极化矩阵变为其中黑体是被置0的元素。方法是:那么由此极化矩阵构造的polar码在SC译码里可以取消最后一层polar码译码运算,而且基本polar码译码算法形式保持不变。

步骤5.2:取消码率1子信道对应的极化矩阵行索引区域中元素的极化运算,即极化矩阵部分元素置0操作:

把步骤4确定的小矩阵按照步骤3确定的行索引区域,从左到右作对比做置0操作,即:这里(2,1)表示矩阵内部F21模块,即上述置0操作即将元素F21置为0。

例如,码长N=8,信道集合只有子信道组{7,8}对应的子信道索引7、8为个数为21的码率1子信道组,那么那么根据步骤4对应的小矩阵为子信道{4}和{6}尽管属于信息集,但是不属于码率1子信道组,那么集合{4,6,7,8}不能组成码率1子信道组,因此极化核为扩展的极化矩阵的行索引{4,6,7,8}对应的元素不能参与极化运算。那么根据步骤4的小矩阵在极化矩阵中确定的行索引区域作对比,按照元素位置做置0操作,得到矩阵其中黑体是被置0的元素。

如果那么子信道组{1,2},{5,6},{7,8}满足个数为21的码率1子信道组,其对应的小矩阵为子信道组{5,6,7,8}满足个数为22的码率1子信道组,其对应的小矩阵为根据得到的小矩阵在极化矩阵中确定的行索引区域做对比,得到4个矩阵,其中对比区域标记为斜体,即和具体的置0操作过程为:

经过置0取消部分极化操作后的极化矩阵为其中黑体是被置0的元素。

综合上述表述和实施例可得,由步骤2计算得到码率1子信道组和行索引α,然后利用小矩阵与极化矩阵进行对比来确定相应的元素的行列索引标号,归纳总结推导出行列索引标号公式:γ={{k·|wi|}+{j}},其中1≤j≤|wi|/2,i,j,x是行索引,y是列索引。本公式作如下解释:确定码率1子信道组后,就可以得到该集合的范数和行索引α,然后按照此索引公式计算就可以确定需要置0的元素的索引图3、图4和图7、图8、图9中阴影部分的索引即为按照此方法计算得到的。利用小矩阵与极化矩阵对比的方法来计算需要置0区域的行列索引是本发明的一个创新点。

确定索引后,将这些行列索引对应的元素1置0。图5是把图3和图4里阴影部分的索引对应元素置0后得到的本发明的极化矩阵,图10是把图7、图8和图9阴影部分的索引对应的元素置0后得到的本发明的极化矩阵。所以本步骤是取消极化矩阵中部分元素的极化作用。

步骤6:取消子信道部分极化作用的极化矩阵在冻结比特为0的条件下,提出生成矩阵G。

信息比特码字矢量在伽罗华域内乘以该生成矩阵就得到冻结集为{0}N-|A|的polar码的造码矢量。从图5和图10的本发明的极化矩阵中提取生成矩阵,分别为图6所示的生成矩阵G1和图11所示的生成矩阵G2

下面将本发明方法应用到图2所示的极化矩阵来做具体说明。

码率R=1/2时,信道集合从最大子信道索引N=16开始递减搜索上下相邻子信道,搜索每个的起始索引值α满足然后为的结束索引值,这里α和属于信息集索引,由于所以从到搜索,当时,集合组成码率1子信道组。当时,集合{13,14、}{15,16}组成码率1子信道组。

对于用在图2所示的极化矩阵中进行行索引为列索引为任意值的比对,记录每次比对完全重合时候的对应的行列索引标号,如图3所示。在极化矩阵里,索引标号计算如下:

{(x,y)|(15,1+4i0),(16,1+4i0),(16,2+4i0),i0∈自然数}即如下极化矩阵索引标号(15,1),(16,1),(16,2),(15,5),(16,5),(16,8),(15,9),(16,9),(16,10),(15,13),(16,13),(16,14)。计算得到的索引标号为要进行置0操作的位置。

当集合组成码率1子信道组。用F(2,1)在如图2所示的极化矩阵中进行行索引为{11,12},{13,14},{15,16}、列索引为任意值的对比,记录每次比对完全重合时的F(2,1)对应的行列索引集合,如图4所示。索引标号计算如下:

{(x′,y′)|(16,1+2i0),(14,1+2i0),(12,2+2i0),i0∈自然数}。

由以上可得到传统极化矩阵(x,y)和(x′,y′)的所有索引,然后令和即得本发明极化矩阵,如图5所示。进而从本发明的polar码极化矩阵提取生成矩阵G1,如图6所示。信息比特码字矢量在伽罗华域内乘以该生成矩阵就得到冻结集为{0}N-|A|的polar码的造码矢量。

码率R=3/4时,信道集合利用本发明方法,对图2所示矩阵进行处理。

图7是为{9,10,11,12,13,14,15,16}的完全对比示意图,其中τ=3,i={1}。图8是分别为{9,10,11,12}和{13,14,15,16}的完全对比示意图,其中τ=2,i={1,2}。图9是为{7,8},{9,10},{11,12},{13,14},{15,16},{17,18}的完全对比示意图,其中τ=1,i={1,2,3,4,5,6}。图10为以上图7、图8和图9完全对比后,将极化矩阵中部分元素1置0后所得的本发明的极化矩阵。图11是根据图10所示的本发明的极化矩阵提出的码长N=16码率R=3/4的polar码生成矩阵G2

如图12所示,码长N=1024和码长N=256的polar码在码率R=1/2时经传统的polar码编码和本发明的polar编码后,误比特(BER)性能仿真数据图。从图12中可以看出,在码长和码率相同的条件下,本发明的polar码BER性能要比传统的polar码有较好的增益。

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