[发明专利]一种级联极化码的球形译码方法有效
申请号: | 201810254178.7 | 申请日: | 2018-03-26 |
公开(公告)号: | CN109412985B | 公开(公告)日: | 2021-09-03 |
发明(设计)人: | 潘志文;于永润;刘楠;尤肖虎 | 申请(专利权)人: | 东南大学 |
主分类号: | H04L25/03 | 分类号: | H04L25/03;H04L1/00;H03M13/13;H03M13/09 |
代理公司: | 南京众联专利代理有限公司 32206 | 代理人: | 杜静静 |
地址: | 210096 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 级联 极化 球形 译码 方法 | ||
1.一种级联极化码的球形译码方法,其特征在于,所述方法包括以下步骤:
第一步:计算CRC码的系统形式的生成矩阵GCRC;
第二步:计算级联码的生成矩阵;
第三步:用高斯消去法将级联码生成矩阵G化简为“下阶梯形式”,记G的下阶梯形式为Gd;
第四步:由Gd计算索引数组P,用索引数组P记录矩阵Gd的结构;
第五步:利用索引数组P进行球形译码;
所述第二步:计算级联码的生成矩阵具体如下:
设级联码生成矩阵为G,G的表达式如下:
G=GCRCGp (8)
其中Gp是极化码的生成矩阵,Gp的形式与极化码的构造方法有关;
所述第三步:用高斯消去法将级联码生成矩阵G化简为“下阶梯形式”,记G的下阶梯形式为Gd;
设Gd是K行,N列的矩阵,如果对于任意1≤i≤K-1,Gd第i行的最后一个非零元素位于第j列,1≤j≤N-1,Gd第i+1行的最后一个非零元素位于第k列,2≤k≤N,kj总是成立,则称Gd具有下阶梯形式;
所述第四步:由Gd计算索引数组P,用索引数组P记录矩阵Gd的结构具体如下:索引数组P有K行,2列,其中K是待编码的信息比特的位数;首先定义函数γ(i),1≤i≤K,γ(i)的取值为Gd的第i行,1≤i≤K,最后一个非零元素所在的列数;所述第五步:利用索引数组P进行球形译码,具体如下:
接收机获得接收信号后,利用索引数组P进行球形译码,球形译码开始时,需要设定译码半径r,r的初始值影响球形译码的时间复杂度,合理选取初始半径r可以降低球形译码的时间复杂度;
最大似然码字和接收信号的距离下界s由下式计算:
其中yi是的第i个分量,min{a,b}表示选取实数a和b中较小的一个,在译码过程中,最大似然码字和接收信号的距离总是大于等于s;设置译码半径r的初始值为r=αs,α是大于1的正数,取α=1.1;
所述第五步中,
在球形译码过程中,需要用度量数组W=(W1,...,WK)来存储译码器计算的度量值,设表示Gd中第l行,第j列的元素,W中第i个元素的计算如下(1≤i≤K):
其中代表第l个信息比特的估计值,索引数组P,P的第i行,第1列的元素为P(i,1),P的第i行,第2列的元素为P(i,2),
级联码的球形译码过程可完整地用如下子步骤(I)至(IX)阐述;
(I)初始化参数值:译码半径r的初始值设为r=αs,其中α=1.1,s按照(13)计算;译码索引i的初始值为K,K是待编码比特的数量,设为当前最优码字,的初始值设为空数组;设f=(f1,...,fK)是比特反转指示向量,f的初始值是全零向量(0,...,0);设h=(h1,...,hK)时比特赋值指示向量,h的初始值是全零向量(0,...,0),转入子步骤(II);
(II)如果(fi,...fK)中的所有元素都为1且不为空数组,则中止程序,输出当前最优码字作为译码结果,如果(fi,...fK)中的所有元素都为1且为空,则转入子步骤(IX),如果(fi,...fK)中至少一个存在取值为0的元素,则转入子步骤(III);
(III)如果hi=0,转子步骤(IV);如果hi=1,转子步骤(V);
(IV)hi的值置为1,计算Wi,此时可以取值比特0,也可以取值为比特1,取不同比特值时,Wi的数值不同;为降低译码延时,的选取准则是使得Wi最小,即对Wi进行试探计算,时计算得Wi(0),时计算得Wi(1),如果Wi(0)Wi(1),则Wi=Wi(0);反之Wi=Wi(1);得到Wi后,转入子步骤(VI);
(V)当进入本步骤时,hi=1,说明已经在过去的步骤中被赋值,此时把的值进行比特翻转:如果进入此步骤时为0,则现在把置为1;如果进入此步骤时为1,则现在把置为0;翻转完毕后,计算Wi,置fi=1,表示本比特位置已经被翻转过,转入子步骤(VI);
(VI)如果i1,转入子步骤(VII);如果i=1,转子步骤(VIII);
(VII)计算当前半径如果译码索引i的值减1,转入子步骤(II);如果置h的子向量(h1,...,hi)为全零值,置f的子向量(f1,...,fi)为全零值,译码索引i的值加1,转入子步骤(II);
(VIII)计算当前半径如果把子步骤(IV)和(V)中得到的排列成向量记为当前最优码字,r的值更新为译码索引i的值加1,转入子步骤(II);如果译码索引i的值加1,转入子步骤(II);
(IX)令r变成自身的α倍,即r=αr,重置f和h为全零向量,转入子步骤(II)。
2.根据权利要求1所述的级联极化码的球形译码方法,其特征在于,所述第一步骤中计算CRC码的系统形式的生成矩阵GCRC具体如下:
首先需要选定CRC码的生成多项式g(x),g(x)具有如下形式:
g(x)=xq+aq-1xq-1+...+a1x+1 (3)
其中ai∈{0,1},1≤i≤q-1,q是g(x)的次数,也是CRC校验位的长度;
根据g(x)各项系数,写出g(x)的向量表达形式v(g):
v(g)=(1,aq-1,...a1,1); (4)
在得到CRC码的系统形式的生成矩阵GCRC前,先要计算非系统形式的生成矩阵设待编码的信息是K位比特,为得到需要现在v(g)之前添加K-1个零,得到向量v0(g):
v0(g)=(01,...,0K-1,v(g))=(01,...,0K-1,1,aq-1,...a1,1); (5)
其中0i,1≤i≤K-1表示添加的第i个零,v0(g)中包含K+q个元素;
有K行,K+q列,的各行由v0(g)和v0(g)的循环左移得到,设的第i行为则按下式计算:
其中LK-i(v0(g))表示连续对v0(g)进行K-i次循环左移,且L0(v0(g))=v0(g);
通过(6)式得到CRC码非系统形式的生成矩阵后,用高斯消去法对做初等行变换,得到系统形式的生成矩阵GCRC:
GCRC=[IK|QK×q]; (7)
其中IK表示K维的单位矩阵,QK×q是K行,q列的矩阵,QK×q的作用是生成CRC校验位,符号“|”表示矩阵分块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810254178.7/1.html,转载请声明来源钻瓜专利网。