本发明涉及信道编码解码技术,尤其涉及一种高效的列表球型极化解码方法及系统。
背景技术
上世纪80年代以来,通信技术的飞速进步使人类社会迈入信息时代。无线移动通信技术的不断发展为全球信息化进程提供了强大动力。无线蜂窝移动通信历经:第一代模拟通信技术、第二代数字通信技术、第三代cdma宽带通信技术,目前已步入4g系统的产业化和商用化阶段。在4g技术推向产业化和商用化的同时,4g之后的移动通信进入议事日程,无线移动通信演进发展面临全新挑战。随着智能终端的普及应用、以及移动新业务需求的持续增长,无线传输速率需求将在未来10年呈指数增长。据主要运营商和权威咨询机构预测:至2020年,无线通信的传输速率需求将是目前在营系统的1000倍。现有4g技术将仍然难以满足十年后超高传输速率移动互联无线通信需求,在频谱资源日趋紧缺的情况下,需要引入变革性的新技术。世界各国在推动4g产业化工作的同时,已开始着眼于第五代无线移动通信技术(5g)的研究,力求使无线移动通信系统性能和产业规模产生新的飞跃。
众所周知,业务流量10年提升1000倍是5g无线移动通信技术与产业发展的内在基本需求。这一核心需求派生出:连续广域覆盖、热点高容量、低时延高可靠、终端大连接、设备低功耗等五个具有挑战性的指标需求。从而也对5g无线移动通信技术对相应的信道编码实现提出了前所未有的高要求与新挑战。在5g移动通信的全新应用场景下,极化码已经成为5g信道编码控制信道的标准。研究适用于5g移动通信系统的高效极化码编码器和译码器具有极强的理论意义与应用价值。
近期的主流文献中,基于极化码解码方法的设计,最为突出的是连续消除列表极化解码方法。而在短码情况下,列表球型解码方法也不失为一种选择。但是,目前的列表球型解码方法仍然有缺陷:为了达到满意的性能,其选取的列表长度通常较大。而列表长度大导致了:1.多条路径需要进行解码,消耗了大量的计算量;2.在解完每一个比特的时候,需要进行对列表的排序,在排序中有大量复制路径的操作,同样耗费了大量的时间。3.在一个长的列表里,某些路径已经很差了,但是该方法依然把他们全部解完。基于长的列表长度带来的以上缺点,这时,如果可以动态的减少列表长度,同时又能保证性能不变,可以使得解码时延降低,那么这样的一种解码方法的出现就变得非常重要了。
技术实现要素:
发明目的:本发明针对现有技术存在的问题,提供一种高效的列表球型极化解码方法及系统,解码更高效,时延更低。
技术方案:本发明所述的高效的列表球型极化解码方法包括:
(1)计算待译码序列中每一位比特值与该位置比特值取0时的距离值
(2)将第一位比特到第j位比特对应的
(3)采用列表长度为1的列表球型解码方法对待译码序列译码,并将译码路径距离值赋值给最佳路径距离r,完成初始化;
(4)从第n个比特开始倒序解码至第1位比特;其中,解码第j个比特时,j=1,…,n,执行如下操作:
(4-1)若当前第j个比特是信息位,执行以下步骤:
a、将当前路径列表中存活的路径,根据第j位分别取值0和1,扩展为2lc条路径,lc为当前存活的路径数量;
b、分别计算2lc个路径中每一个路径的序列与待译码序列的路径距离值;
c、选取2lc个路径的路径距离值中最小值赋值给m,并判断r>m+ubj-1是否成立,若成立则将r的值更新为m+ubj-1;
d、选取2lc个路径的路径距离值中第lm小的值赋值给路径存活阈值q,并判断q>r-lbj-1是否成立,若成立则将q的值更新为r-lbj-1;其中,lm为2lc和路径列表长度l中的较小值;
e、从所有路径中找到路径距离值小于或等于q的路径,标记为存活,将其余路径距离值修改为无穷大,标记为不存活;
f、将所有路径按照存活路径在前l个位置,不存活路径在后的顺序排序;
(4-2)若当前第j个比特是冻结位,执行以下步骤:
a、将当前路径列表中存活的lc条路径,根据第j位取值0,得到新的lc条路径;
b、分别计算lc个路径中每一个路径与待译码序列的路径距离值;
c、选取lc个路径的路径距离值中最小值赋值给m,并判断r>m+ubj-1是否成立,若成立则将r的值更新为m+ubj-1;
(5)在解码完第1个比特时,选择路径距离值最小的路径对应的解码序列作为待译码序列的解码序列。
进一步的,步骤(4-1)中f具体包括:
将路径列表中按照路径对存储的l个路径对分类,其中,类型1为路径对中上面路径存活,下面路径不存活;类型2为上面路径不存活,下面路径存活;类型3为上面路径、下面路径都存活;类型4为上面路径、下面路径都不存活;
使用指针p为扫描指针,指针w为赋值位置指针,p和w的初值为0;
将指针p的位置从左向右在l个路径对中扫描,若当前为类型3,则采用w扫描直至找到一个新的类型4的位置,将类型3的下面路径复制到该类型4的上面路径位置;若当前为类型1,则不操作;若当前为类型2,则将当前上面路径最后一个比特翻转,即设置成下面路径;若当前为类4,则不操作;
直至所有路径对被扫描过后,完成排序过程。
进一步的,步骤(1)中
式中,yi表示待译码序列的第i个比特。
进一步的,所述路径距离值的计算公式为:
d=||y-ug||2
式中,d表示待译码序列y与指定序列u的路径距离值,g为编码的生成矩阵。
本发明所述的高效的列表球型极化解码系统包括:
比特距离值计算模块,用于计算待译码序列中每一位比特值与该位置比特值取0时的距离值
最大最小距离计算模块,用于将第一位比特到第j位比特对应的
最佳路径距离初始化模块,用于采用列表长度为1的列表球型解码方法对待译码序列译码,并将译码路径距离值赋值给最佳路径距离r,完成初始化;
解码模块,用于从第n个比特开始倒序解码至第1位比特;具体包括:
判断单元,用于判断当前解码的第j个比特是信息位还是冻结位,j=1,…,n,若是信息位则执行信息位解码单元,若是冻结位,则执行冻结位解码单元;
信息位解码单元,用于执行如下操作:
a、将当前路径列表中存活的路径,根据第j位分别取值0和1,扩展为2lc条路径,lc为当前存活的路径数量;
b、分别计算2lc个路径中每一个路径的序列与待译码序列的路径距离值;
c、选取2lc个路径的路径距离值中最小值赋值给m,并判断r>m+ubj-1是否成立,若成立则将r的值更新为m+ubj-1;
d、选取2lc个路径的路径距离值中第lm小的值赋值给路径存活阈值q,并判断q>r-lbj-1是否成立,若成立则将q的值更新为r-lbj-1;其中,lm为2lc和路径列表长度l中的较小值;
e、从所有路径中找到路径距离值小于或等于q的路径,标记为存活,将其余路径距离值修改为无穷大,标记为不存活;
f、采用排序单元将所有路径按照存活路径在前l个位置,不存活路径在后的顺序排序;
冻结位解码单元,用于执行以下步骤:
a、将当前路径列表中存活的lc条路径,根据第j位取值0,得到新的lc条路径;
b、分别计算lc个路径中每一个路径与待译码序列的路径距离值;
c、选取lc个路径的路径距离值中最小值赋值给m,并判断r>m+ubj-1是否成立,若成立则将r的值更新为m+ubj-1;
解码输出模块,用于选择路径距离值最小的路径对应的解码序列输出。
进一步的,所述排序单元具体用于:
将路径列表中按照路径对存储的l个路径对分类,其中,类型1为路径对中上面路径存活,下面路径不存活;类型2为上面路径不存活,下面路径存活;类型3为上面路径、下面路径都存活;类型4为上面路径、下面路径都不存活;
使用指针p为扫描指针,指针w为赋值位置指针,p和w的初值为0;
将指针p的位置从左向右在l个路径对中扫描,若当前为类型3,则采用w扫描直至找到一个新的类型4的位置,将类型3的下面路径复制到该类型4的上面路径位置;若当前为类型1,则不操作;若当前为类型2,则将当前上面路径最后一个比特翻转,即设置成下面路径;若当前为类4,则不操作;
直至所有路径对被扫描过后,完成排序过程。
进一步的,所述
式中,yi表示待译码序列的第i个比特。
进一步的,所述路径距离值的计算公式为:
d=||y-ug||2
式中,d表示待译码序列y与指定序列u的路径距离值,g为编码的生成矩阵。
有益效果:本发明与现有技术相比,其显著优点是:本发明提出了一种高效的列表球型译码的极化解码方法和系统,本发明适用于短码情况下的极化列表解码方法的结构。本发明设计了路径剪枝的技术,引入了当前最佳路径距离值r作为解码过程中的限制,r的初始化可以通过一个列表长度为1的球型解码方法得到,在之后的高效列表长度为l的球型解码方法中,r可以被更新。在解每一个比特的时候,根据r的值,删除一些已经不可能成为正确解的路径,从而动态的减少了列表长度。使得解码方法的时延有显著的降低。本发明还设计了一个针对列表长度为动态时的高效排序方法。相比经典的排序方法,速度大幅提升。
附图说明
图1是本发明中的路径剪枝技术流程示例图,图中l为2,总路径数量2l为4;
图2是本发明中排序方法的流程示例图,图中l为8,总路径数量2l为16。
具体实施方式
实施例1
本实施例提供了一种高效的列表球型极化解码方法,所应用的列表球星极化解码的列表长度为l,那么种路径数量为2l,在存储时按照路径对存储,即上面和下面路径的差别仅为最后一个比特的值为0还是1,待译码序列长度为n,信息位长度为k。
本实施例的方法包括如下步骤:
(1)计算待译码序列中每一位比特值与该位置比特值取0时的距离值
其中,
式中,yi表示待译码序列的第i个比特。
(2)将第一位比特到第j位比特对应的
即,
(3)采用列表长度为1的列表球型解码方法对待译码序列译码,并将译码路径距离值赋值给最佳路径距离r,完成初始化。
(4)从第n个比特开始倒序解码至第1位比特;其中,解码第j个比特时,j=1,…,n,执行如下操作:
(4-1)若当前第j个比特是信息位,执行以下步骤:
a、将当前路径列表中存活的路径,根据第j位分别取值0和1,扩展为2lc条路径,lc为当前存活的路径数量。路径存储在路径1到2l的位置中,2l个路径中除了包括存活的路径外,还包括不存活的路径。
b、分别计算2lc个路径中每一个路径的序列与待译码序列的路径距离值;其中,路径距离值的计算公式为:
d=||y-ug||2
式中,d表示待译码序列y与指定序列u的路径距离值,g为编码的生成矩阵。
c、选取2lc个路径的路径距离值中最小值赋值给m,并判断r>m+ubj-1是否成立,若成立则将r的值更新为m+ubj-1;其中r>m+ubj-1意味着列表中最好的路径接下来的第1~j部分的比特取最差仍然好于当前最佳的r,那么r的值就要被它更新。见图1中路径3,可以看到r>m+ubj-1,因此其的值加上ubj-1就成功更新了r的值。
d、选取2lc个路径的路径距离值中第lm小的值赋值给路径存活阈值q,并判断q>r-lbj-1是否成立,若成立则将q的值更新为r-lbj-1;其中,lm为2lc和路径列表长度l中的较小值,为当前需要挑选出来的存活的路径。
e、从所有路径中找到路径距离值小于或等于q的路径,标记为存活,将其余路径距离值修改为无穷大,标记为不存活。通过上步骤q的更新,和本步骤中对于路径距离值的限定,就可以对存活的路径实现路径剪枝,让一些差的路径不存活。
f、将所有路径按照存活路径在前l个位置,不存活路径在后的顺序排序。
(4-2)若当前第j个比特是冻结位,执行以下步骤:
a、将当前路径列表中存活的lc条路径,根据第j位取值0,得到新的lc条路径,存放在路径1到l的位置中;
b、分别计算lc个路径中每一个路径与待译码序列的路径距离值;
c、选取lc个路径的路径距离值中最小值赋值给m,并判断r>m+ubj-1是否成立,若成立则将r的值更新为m+ubj-1。
(5)在解码完第1个比特时,选择路径距离值最小的路径对应的解码序列作为待译码序列的解码序列。
其中,如图2所示,f中的排序目的是为了让存活的路径位于路径1到l的位置,1到l的位置中也有可能包括不存活路径,排序过程具体包括:
将路径列表中按照路径对存储的l个路径对分类,其中,类型1为路径对中上面路径存活,下面路径不存活;类型2为上面路径不存活,下面路径存活;类型3为上面路径、下面路径都存活;类型4为上面路径、下面路径都不存活;
使用指针p为扫描指针,指针w为赋值位置指针,p和w的初值为0;
将指针p的位置从左向右在l个路径对中扫描,若当前为类型3,则采用w扫描直至找到一个新的类型4的位置,将类型3的下面路径复制到该类型4的上面路径位置;若当前为类型1,则不操作;若当前为类型2,则将当前上面路径最后一个比特翻转,即设置成下面路径;若当前为类4,则不操作;
直至所有路径对被扫描过后,完成排序过程。
实施例2
本实施例提供了一种高效的列表球型极化解码系统,包括:
比特距离值计算模块,用于计算待译码序列中每一位比特值与该位置比特值取0时的距离值
最大最小距离计算模块,用于将第一位比特到第j位比特对应的
最佳路径距离初始化模块,用于采用列表长度为1的列表球型解码方法对待译码序列译码,并将译码路径距离值赋值给最佳路径距离r,完成初始化;
解码模块,用于从第n个比特开始倒序解码至第1位比特;具体包括:
判断单元,用于判断当前解码的第j个比特是信息位还是冻结位,j=1,…,n,若是信息位则执行信息位解码单元,若是冻结位,则执行冻结位解码单元;
信息位解码单元,用于执行如下操作:
a、将当前路径列表中存活的路径,根据第j位分别取值0和1,扩展为2lc条路径,lc为当前存活的路径数量;
b、分别计算2lc个路径中每一个路径的序列与待译码序列的路径距离值;
c、选取2lc个路径的路径距离值中最小值赋值给m,并判断r>m+ubj-1是否成立,若成立则将r的值更新为m+ubj-1;
d、选取2lc个路径的路径距离值中第lm小的值赋值给路径存活阈值q,并判断q>r-lbj-1是否成立,若成立则将q的值更新为r-lbj-1;其中,lm为2lc和路径列表长度l中的较小值;
e、从所有路径中找到路径距离值小于或等于q的路径,标记为存活,将其余路径距离值修改为无穷大,标记为不存活;
f、采用排序单元将所有路径按照存活路径在前l个位置,不存活路径在后的顺序排序;
冻结位解码单元,用于执行以下步骤:
a、将当前路径列表中存活的lc条路径,根据第j位取值0,得到新的lc条路径;
b、分别计算lc个路径中每一个路径与待译码序列的路径距离值;
c、选取lc个路径的路径距离值中最小值赋值给m,并判断r>m+ubj-1是否成立,若成立则将r的值更新为m+ubj-1;
解码输出模块,用于选择路径距离值最小的路径对应的解码序列输出。
进一步的,所述排序单元具体用于:
将路径列表中按照路径对存储的l个路径对分类,其中,类型1为路径对中上面路径存活,下面路径不存活;类型2为上面路径不存活,下面路径存活;类型3为上面路径、下面路径都存活;类型4为上面路径、下面路径都不存活;
使用指针p为扫描指针,指针w为赋值位置指针,p和w的初值为0;
将指针p的位置从左向右在l个路径对中扫描,若当前为类型3,则采用w扫描直至找到一个新的类型4的位置,将类型3的下面路径复制到该类型4的上面路径位置;若当前为类型1,则不操作;若当前为类型2,则将当前上面路径最后一个比特翻转,即设置成下面路径;若当前为类4,则不操作;
直至所有路径对被扫描过后,完成排序过程。
本实施例与实施例1一一对应,未详尽之处请参考实施例1。
以上所揭露的仅为本发明一种较佳实施例而已,不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。