极化码译码方法及装置、电子设备及存储介质与流程

文档序号:31734721发布日期:2022-10-05 03:17阅读:75来源:国知局
极化码译码方法及装置、电子设备及存储介质与流程

1.本公开涉及移动通信技术领域,尤其涉及一种极化码译码方法及装置、电子设备及存储介质。


背景技术:

2.在移动通信技术领域,可以通过对数据进行编译码,来确保数据传输过程的可靠性。其中,极化码是一种可以理论证明达到香农极限的信道编码方法。对极化码进行译码,即可以对传输的数据进行获取。
3.在相关技术中,可以将极化码分为多个待译码子段,再对多个待译码子段进行并行译码,得到各个译码子段对应的满足局部最优的路径,从而得到完整的译码路径。
4.但是,相关技术提供的方法仅能对各个译码子段对应的局部最优的路径进行筛选,因而最终得到的完整的译码路径未必能够满足全局最优,因此该方法极化码译码的性能较差。
5.需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:

6.本公开提供一种极化码译码方法及装置、电子设备及存储介质,至少在一定程度上克服相关技术中极化码的译码性能较差的问题。
7.本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
8.根据本公开实施例的一个方面,提供一种极化码译码方法,包括:获取长度为n的待译码极化码,将所述待译码极化码划分为m个长度为n的待译码子段,n、m和n为2的整次幂;通过m个子段译码器分别对m个待译码子段进行scl(successive cancellation list,串行消除列表)译码的译码比特值的出现概率计算及路径分裂,得到分裂后的横向路径;对所述横向路径进行纵向子段处理,得到多条待选路径;对所述多条待选路径进行横向子段处理,得到多条备选路径;对所述多条备选路径进行校验,得到译码路径;根据所述译码路径得到所述待译码极化码的译码结果。
9.在本公开的一些实施例中,所述通过m个子段译码器分别对m个待译码子段进行串行消除列表scl译码的译码比特值的出现概率计算及路径分裂,得到分裂后的横向路径,包括:通过第i个子段译码器对第i个待译码子段的第j个比特进行scl译码处理,得到第j个比特的出现概率以及2l
ij
条横向路径,其中,i=1,2,3,

,m;j=1,2,3,

,n;2l
ij
为第i个待译码子段的第j个比特所对应的分裂后的横向路径的数量。
10.在本公开的一些实施例中,所述对所述横向路径进行纵向子段处理,得到多条待选路径,包括:将m个待译码子段中每个待译码子段的第j个比特组成第j个纵向子段,使得任一纵向子段的总长度为m;对第j个纵向子段中的m个比特按顺序进行路径分裂,得到分裂
后的纵向路径,其中,第i个比特对应的纵向路径数为2l
vij
,当2l
vij
》=lv时,保留路径度量值最大的lv条纵向路径,i=1,2,3,

,m;j=1,2,3,

,n;lv与l
vij
均为正整数,任一纵向路径的路径度量值用于指示所述任一纵向路径的出现概率;对所述第j个纵向子段的lv条纵向路径进行校验,保留通过校验的第j个纵向子段的纵向路径;根据通过校验的第j个纵向子段的纵向路径,对所述2l
ij
条横向路径进行筛选,保留l
ij
或2l
ij
条待选路径。
11.在本公开的一些实施例中,所述对所述多条待选路径进行横向子段处理,得到多条备选路径,包括:通过m个子段译码器分别对多条待选路径进行横向子段处理,其中,第i个子段译码器从l
ij
或2l
ij
条待选路径中保留路径度量值最大的l
hij
条备选路径,当l
ij
或2l
ij
小于l时,l
hij
等于l
ij
或等于2l
ij
,当l
ij
或2l
ij
大于等于l时,l
hij
等于l,i=1,2,3,

,m;j=1,2,3,

,n;l用于指示所述备选路径的数量阈值,l为正整数;所述第i个子段译码器以l
hij
条备选路径为基础,对第i个横向子段的第j+1个比特进行译码比特值的出现概率计算及路径分裂,所述横向子段为长度为n的横向路径;当对第i个横向子段中的第n个比特进行译码比特值的出现概率计算及路径分裂后,得到长度为n的多条备选路径,路径分裂结束;
12.所述对所述多条备选路径进行校验,得到译码路径,包括:对所述m个子段译码器的长度为n的多条备选路径分别进行校验,分别将m个子段译码器中通过校验且路径度量值最大的备选路径作为译码路径;若任一子段译码器没有备选路径通过校验,将所述任一子段译码器中路径度量值最大的备选路径作为译码路径。
13.在本公开的一些实施例中,所述根据所述译码路径得到所述待译码极化码的译码结果,包括:对所述m个子段译码器的m条译码路径进行子段变换,得到m个长度为n的目标译码路径;通过m个目标译码路径组成长度为n的目标译码路径,并经位置置换后得到待译码极化码的译码结果。
14.在本公开的一些实施例中,所述根据通过校验的第j个纵向子段的纵向路径,对所述2l
ij
条横向路径进行筛选,保留l
ij
或2l
ij
条待选路径,包括:若通过校验的第j个纵向子段的纵向路径中,第i个比特的值都为0,则2l
ij
条横向路径中只保留比特值为0的l
ij
条待选路径;若通过校验的第j个纵向子段的纵向路径中,第i个比特的值都为1,则2l
ij
条横向路径中只保留比特值为1的l
ij
条待选路径;若通过校验的第j个纵向子段的纵向路径中,第i个比特的值为0或1,则2l
ij
条横向路径中保留比特值为0或1的2l
ij
条待选路径。
15.在本公开的一些实施例中,所述对所述第j个纵向子段的lv条纵向路径进行校验,保留通过校验的第j个纵向子段的纵向路径,包括:对所述第j个纵向子段的lv条纵向路径进行奇偶校验或循环冗余校验,保留通过校验的第j个纵向子段的纵向路径。
16.在本公开的一些实施例中,所述子段变换为对所述m条译码路径的异或运算。
17.在本公开的一些实施例中,所述方法还包括:对所述第j个纵向子段的lv条纵向路径进行校验,当全部纵向路径均没有通过校验,停止译码。
18.根据本公开的另一个方面,提供一种极化码译码装置,包括:
19.待译码极化码列获取模块,用于获取长度为n的待译码极化码,将所述待译码极化码划分为m个长度为n的待译码子段,n、m和n为2的整次幂;
20.横向路径确定模块,用于通过m个子段译码器分别对m个待译码子段进行串行消除列表scl译码的译码比特值的出现概率计算及路径分裂,得到分裂后的横向路径;
21.纵向子段处理模块,用于对所述横向路径进行纵向子段处理,得到多条待选路径;
22.横向子段处理模块,用于对所述多条待选路径进行横向子段处理,得到多条备选路径;
23.校验模块,用于对所述多条备选路径进行校验,得到译码路径;
24.译码结果确定模块,用于根据所述译码路径得到所述待译码极化码的译码结果。
25.在本公开的一些实施例中,横向路径确定模块,用于通过第i个子段译码器对第i个待译码子段的第j个比特进行scl译码处理,得到第j个比特的出现概率以及2l
ij
条横向路径,其中,i=1,2,3,

,m;j=1,2,3,

,n;2l
ij
为第i个待译码子段的第j个比特所对应的横向路径的数量。
26.在本公开的一些实施例中,纵向子段处理模块,用于将m个待译码子段中每个待译码子段的第j个比特组成第j个纵向子段,使得任一纵向子段的总长度为m;对第j个纵向子段中的m个比特按顺序进行路径分裂,其中,第i个比特对应的纵向路径数为2l
vij
,当2l
vij
》=lv时,保留路径度量值最大的lv条纵向路径,i=1,2,3,

,m;j=1,2,3,

,n;lv与l
vij
均为正整数,任一纵向路径的路径度量值用于指示所述任一纵向路径的出现概率;对所述第j个纵向子段的lv条纵向路径进行校验,保留通过校验的第j个纵向子段的纵向路径,根据通过校验的第j个纵向子段的纵向路径,对所述2l
ij
条横向路径进行筛选,保留l
ij
或2l
ij
条待选路径。
27.在本公开的一些实施例中,横向子段处理模块,用于通过m个子段译码器分别对多条待选路径进行横向子段处理,其中,第i个子段译码器从l
ij
或2l
ij
条待选路径中保留路径度量值最大的l
hij
条备选路径,当l
ij
或2l
ij
小于l时,l
hij
等于l
ij
或等于2l
ij
,当l
ij
或2l
ij
大于等于l时,l
hij
等于l,i=1,2,3,

,m;j=1,2,3,

,n;l用于指示所述备选路径的数量阈值,l为正整数;所述第i个子段译码器以l
hij
条备选路径为基础,对第i个横向子段的第j+1个比特进行译码比特值的出现概率计算及路径分裂,所述横向子段为长度为n的横向路径;当对第i个横向子段中的第n个比特进行译码比特值的出现概率计算及路径分裂后,得到长度为n的多条备选路径,路径分裂结束;
28.校验模块,用于对所述m个子段译码器的长度为n的多条备选路径分别进行校验,分别将m个子段译码器中通过校验且路径度量值最大的备选路径作为所述译码路径;若任一子段译码器没有备选路径通过校验,将所述任一子段译码器中路径度量值最大的备选路径作为所述译码路径。
29.在本公开的一些实施例中,译码结果确定模块,用于对所述m个子段译码器的m条译码路径进行子段变换,得到m个长度为n的目标译码路径;通过m个目标译码路径组成长度为n的目标译码路径,并经位置置换后得到待译码极化码的译码结果。
30.在本公开的一些实施例中,纵向子段处理模块,用于若通过校验的第j个纵向子段的纵向路径中,第i个比特的值都为0,则2l
ij
条横向路径中只保留比特值为0的l
ij
条待选路径;若通过校验的第j个纵向子段的纵向路径中,第i个比特的值都为1,则2l
ij
条横向路径中只保留比特值为1的l
ij
条待选路径;若通过校验的第j个纵向子段的纵向路径中,第i个比特的值为0或1,则2l
ij
条横向路径中保留比特值为0或1的2l
ij
条待选路径。
31.在本公开的一些实施例中,纵向子段处理模块,用于对所述第j个纵向子段的lv条纵向路径进行奇偶校验或循环冗余校验,保留通过校验的第j个纵向子段的纵向路径。
32.在本公开的一些实施例中,所述子段变换为对所述m条译码路径的异或运算。
33.在本公开的一些实施例中,所述校验模块,还用于:对所述第j个纵向子段的lv条纵向路径进行校验,当全部纵向路径均没有通过校验,停止译码。
34.根据本公开的再一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述的极化码译码方法。
35.根据本公开的又一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的极化码译码方法。
36.本公开的实施例所提供的技术方案,可以对待译码极化码中每一待译码子段所对应的横向路径,进行纵向子段处理。然后,再对纵向子段处理得到的多条待选路径,进行横向子段处理。因此,本公开可以通过纵向子段处理来进行全局考虑,避免筛选多条备选路径时仅考虑了其中一个待译码子段的局部概率。因而本公开可以提高极化码的译码性能。
37.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
38.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
39.图1示出本公开实施例中一种极化码译码方法的系统架构的示意图;
40.图2示出本公开实施例中一种极化码译码方法的流程图;
41.图3示出本公开实施例中一种得到多条待选路径的方法的流程图;
42.图4示出本公开实施例中一种得到多条备选路径的方法的流程图;
43.图5示出本公开实施例中一种极化码译码的过程示意图;
44.图6示出本公开实施例中一种极化码译码装置示意图;和
45.图7示出本公开实施例中一种电子设备的结构框图。
具体实施方式
46.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
47.此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
48.图1示出了一种可以应用于本公开实施例的极化码译码方法的示例性系统架构的示意图。
49.如图1所示,系统架构100可以包括终端设备101以及基站102。
50.其中,终端设备101可以向基站102发送进行编码后的待译码极化码。基站102可以接收该待译码极化码,并通过本公开实施提供的方法对该待译码极化码进行译码,得到该待译码极化码的译码结果。
51.或者,基站102可以向终端设备101发送进行编码后的待译码极化码。终端设备101可以接收该待译码极化码,并通过本公开实施提供的方法对该待译码极化码进行译码,得到该待译码极化码的译码结果。
52.终端设备101可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机、可穿戴设备、增强现实设备、虚拟现实设备等。
53.需要说明的是,该基站102可以部署于无线接入网中,用以为终端设备与后台服务器提供通信连接,本公开不对基站102的种类进行限定,例如,该基站102可以为宏基站、微基站等。在lte(long term evolution,长期演进)通信系统中,基站102可以是enodeb。或者,在nr(new radio,新空口)通信系统中,基站102可以为gnb。
54.本领域技术人员可以知晓,图1中的终端设备101以及基站102的数量仅仅是示意性的,根据实际需要,可以具有任意数目的终端设备101以及基站102。本公开实施例对此不作限定。
55.下面结合附图及实施例对本示例实施方式进行详细说明。
56.首先,本公开实施例中提供了一种极化码译码方法,该方法可以由任意具备计算处理能力的电子设备执行。
57.图2示出本公开实施例中一种极化码译码方法的流程图,如图2所示,本公开实施例中提供的极化码译码方法包括如下步骤s201至s204。
58.s202,获取长度为n的待译码极化码,将待译码极化码划分为m个长度为n的待译码子段,n、m和n为2的整次幂。
59.示例性地,该待译码极化码可以表示为一个对数似然比序列。示例性地,该待译码极化码也可成为极化码比特序列。本公开实施例不对该待译码极化码的长度以及内容进行限定,该待译码极化码的长度以及内容均可以根据应用场景进行确定。
60.在一些实施例中,在获取待译码极化码后,可以对该待译码极化码进行待译码子段的划分,得到m个长度为n的待译码子段。例如该待译码极化码的长度为n,则m
×
n=n(m、n均可以为2的整次幂)。例如,可以先对该待译码极化码按照顺序划分为m个长度为n的子段,然后再对划分后的子段分别进行倒位序变换,得到m个长度为n的待译码子段。
61.s204,通过m个子段译码器分别对m个待译码子段进行scl译码的译码比特值的出现概率计算及路径分裂,得到分裂后的横向路径。
62.在一种可能的实施方式中,对任一待译码子段进行scl译码的译码比特值的出现概率计算及路径分裂,可以得到一个译码树,该译码树中包含对该待译码子段进行scl译码得到的多条横向路径。
63.示例性地,在得到m个长度为n的待译码子段后,可以通过m个子段译码器分别对各个待译码子段进行并行译码。在一些实施例中,通过m个子段译码器分别对m个待译码子段进行scl译码的译码比特值的出现概率计算及路径分裂,得到分裂后的横向路径,可以包括:通过第i个子段译码器对第i个待译码子段的第j个比特进行scl译码处理,得到第j个比
特的出现概率以及2l
ij
条横向路径,其中,i=1,2,3,

,m;j=1,2,3,

,n;2l
ij
为第i个待译码子段的第j个比特所对应的分裂后的横向路径的数量。
64.在示例性实施例中,对长度为n的待译码极化码进行待译码子段的划分后,可以得到8个长度为n的待译码子段。此时,可以通过8个子段译码器分别对8个待译码子段进行scl译码的译码比特值的出现概率计算及路径分裂,其中,每个子段译码器负责其中的任一待译码子段。例如,第3个子段译码器可以先对某一待译码子段的第一个比特进行scl译码处理,得到该第一个比特的比特值取0和1的出现概率,从而得到了两条横向路径。之后,该第3个子段译码器可以在第一个比特的比特值取0和1的两条横向路径的基础上,再对该待译码子段的第二个比特进行scl译码处理,得到该第二个比特的比特值取0和1的出现概率。从而在上述的两条分裂路径的基础上,分裂得到四条分裂后的横向路径。同理,对该待译码子段的第j个比特进行scl译码处理,则可以得到2l
ij
条分裂后的横向路径,l
ij
为该待译码子段的第j-1个比特所对应的分裂后的横向路径的数量。其中,i=1,2,3,

,m;j=1,2,3,

,n。因此,以i=2,j=3为例,l
23
即为由第2个子段译码器进行scl译码的译码比特值的出现概率计算及路径分裂的待译码子段的第3个比特所对应的分裂后的横向路径的数量。
65.在横向子段中存在一些比特值一定为0的比特,可以称之为恒0比特。这些恒0比特由偶数个冻结比特通过异或运算得到。在子段scl译码的译码比特值的出现概率计算及路径分裂中,当译码比特为恒0比特时,比特值为0的出现概率为1,比特值为1的出现概率为0,因此只需要保留比特值为0的路径,不需要再进行路径分裂,上述的横向子段为长度为n的横向路径,即当对任一待译码子段进行scl译码的路径分裂至最后一个比特时,得到的横向路径。
66.s206,对横向路径进行纵向子段处理,得到多条待选路径。
67.在一些实施例中,可以先将分裂后的横向路径组成对应的纵向子段。再根据上述对各个待译码子段进行scl译码处理的结果,对各个纵向子段进行纵向的路径分裂,得到多条待选路径。如图3所示,对横向路径进行纵向子段处理,得到多条待选路径的方法,可以包括如下s302至s306中的步骤。
68.s302,将m个待译码子段中每个待译码子段的第j个比特组成第j个纵向子段,使得任一纵向子段的总长度为m。
69.在示例性实施例中,以有32个横向子段为例,其中任一个横向子段的总长度均可以为128,因此该32个待译码子段总共可以组成128个纵向子段,每个纵向子段的总长度均为32。
70.s304,对第j个纵向子段中的m个比特按顺序进行路径分裂,得到分裂后的纵向路径,其中,第i个比特对应的纵向路径数为2l
vij
,当2l
vij
》=lv时,保留路径度量值最大的lv条纵向路径,i=1,2,3,

,m;j=1,2,3,

,n;lv与l
vij
均为正整数,任一纵向路径的路径度量值用于指示任一纵向路径的出现概率。
71.在一种可能的实施方式中,对任一纵向子段进行路径分裂,可以得到一个译码树,该译码树中包含对该纵向子段进行路径分裂而得到的多条纵向路径。
72.在示例性实施例中,以每一横向子段的第一个比特所组成的第一个纵向子段为例,m个子段译码器已经分别对各个待译码子段的第一个比特进行了scl译码后,可以将各个待译码子段的第一个比特对应的0与1的出现概率按顺序进行路径分裂,第一个横向子段
的第一个比特得到对应的两条纵向路径。之后,在上述的两条纵向路径的基础上,对纵向子段的第二个比特,即第二个横向子段的第一个比特,按照对应的0与1的出现概率进行路径分裂,得到对应的四条纵向路径,依次对第一个纵向子段的其它比特进行路径分裂,可以得到2l
vi1
条纵向路径。同理,对第j-1个纵向子段中的m个比特按顺序进行路径分裂,可以得到2l
vij
纵向路径,再对第j个纵向子段中的m个比特按顺序进行路径分裂,可以得到2l
vij
纵向路径。示例性地,以第j-1个纵向子段所对应的2l
vij
纵向路径为例,在该2l
vij
条分裂路径中,任一比特的比特值为0的纵向路径数量为l
vij0
,,任一比特的比特值为1的纵向路径数量为l
vij1
,2l
vij
等于l
vij0
和l
vij1
的数量之和。其中,i=1,2,3,

,m;j=1,2,3,

,n。因此,以i=2,j=3为例,2l
v23
即为第3个纵向子段中的第2个比特对应的纵向路径的数量。或者,2l
v23
也可以称为第3个纵向子段中的第2个比特对应的待选路径的数量。
73.在示例性实施例中,可以设置一个lv的值。当纵向路径的数量大于该lv的值,则需要对纵向路径进行筛选,使纵向路径的数量一直小于等于该lv的值。本公开实施例不对该lv的取值进行限定,lv的取值会影响译码性能、译码复杂性和早停时机,可以基于技术指标或应用场景进行设定。
74.在一些实施例中,可以通过各个纵向路径中的各个比特的路径度量值的大小,来对纵向路径进行筛选。从而可以保留路径度量值最大的lv条纵向路径。本公开实施例不对各个比特的路径度量值的计算方法进行限定,示例性地,各个比特的路径度量值可以通过传输该待译码极化码时的信噪比来进行计算。示例性地,以第j-1个纵向子段所对应的l
vij
纵向路径为例,当2l
vij
》=lv,则对该2l
vij
条分裂路径进行筛选,保留其中路径度量值最大的lv条纵向路径。在该lv条纵向路径中,任一比特的比特值为0的纵向路径数量为l
vij0
,任一比特的比特值为1的纵向路径数量为l
vij1
,2l
vij
等于l
vij0
和l
vij1
的数量之和。本公开实施例不对该路径度量值的表示方法进行限定,示例性地,该路径度量值可以通过对数似然比来表示。由于出现概率在程序计算中容易出现溢出等问题,例如当待译码极化码的长度n为1024时,任意一条纵向路径的出现概率会非常小,因此可以通过使用对数似然比来代替出现概率。
75.s306,对第j个纵向子段的lv条纵向路径进行校验,保留通过校验的第j个纵向子段的纵向路径;根据通过校验的第j个纵向子段的纵向路径,对2l
ij
条横向路径进行筛选,保留l
ij
或2l
ij
条待选路径。
76.在一些实施例中,对第j个纵向子段的lv条纵向路径进行校验,保留通过校验的第j个纵向子段的纵向路径,包括:对第j个纵向子段的lv条纵向路径进行奇偶校验(parity check)或循环冗余校验(cyclic redundancy check,crc),保留通过校验的第j个纵向子段的纵向路径。本公开实施例不对上述奇偶校验以及循环冗余校验的校验步骤进行限定。或者,此处也可以采用其它适用的校验方法对第j个纵向子段的lv条纵向路径进行校验。
77.本公开实施例提供的极化码译码方法还可包括:对第j个纵向子段的lv条纵向路径进行校验,当全部纵向路径均没有通过校验,停止译码。示例性地,若没有纵向路径通过校验,则证明译码失败。此时可以实现极化码译码中的早停功能,允许提前启动重发流程,而不必继续译码。因此,本公开实施例可以降低极化码译码的计算量,并且缩短误帧重发的等待时间。
78.在一些实施例中,根据通过校验的第j个纵向子段的纵向路径,对2l
ij
条横向路径
进行筛选,保留l
ij
或2l
ij
条待选路径,包括:若通过校验的第j个纵向子段的纵向路径中,第i个比特的值都为0,则2l
ij
条横向路径中只保留比特值为0的l
ij
条待选路径;若通过校验的第j个纵向子段的纵向路径中,第i个比特的值都为1,则2l
ij
条横向路径中只保留比特值为1的l
ij
条待选路径;若通过校验的第j个纵向子段的纵向路径中,第i个比特的值为0或1,则2l
ij
条横向路径中保留比特值为0或1的2l
ij
条待选路径。
79.示例性地,以有128个纵向子段为例,每个纵向子段的总长度均为32。当对第6个纵向子段对应的纵向路径进行校验,可以假定有9条纵向路径通过了校验。并且,通过校验的纵向路径中的第10个比特的比特值可以均为0。因此,第10个子段scl译码器在对第7个比特进行对应的scl译码的译码比特值的出现概率计算及路径分裂时,可以只在上述第10个比特的比特值为0的9条纵向路径的基础上进行scl译码的译码比特值的出现概率计算及路径分裂。
80.同理,仍以上述的128个纵向子段为例,每个纵向子段的总长度均为32。当对第12个纵向子段对应的纵向路径进行校验,可以假定有10条纵向路径通过校验。并且,上述10条通过校验的纵向路径中的第18个比特的比特值可以均为1,因此,第18个子段scl译码器在对第13个比特进行对应的scl译码的译码比特值的出现概率计算及路径分裂时,可以只在上述第18个比特的比特值为1的10条纵向路径的基础上进行scl译码的译码比特值的出现概率计算及路径分裂。
81.同理,仍以上述的128个纵向子段为例,每个纵向子段的总长度均为32。当对第3个纵向子段对应的纵向路径进行校验,可以假定有4条纵向路径通过校验。并且,上述4条通过校验的纵向路径中的第6个比特的比特值可以包含0与1,因此,第6个子段scl译码器在对第4个比特进行对应的scl译码的译码比特值的出现概率计算及路径分裂时,可以只在上述第6个比特的比特值为0或1的4条纵向路径的基础上进行scl译码的译码比特值的出现概率计算及路径分裂。
82.s208,对多条待选路径进行横向子段处理,得到多条备选路径。
83.在一些实施例中,对多条待选路径进行横向子段处理,得到多条备选路径的方法,可以如图4所示。
84.s402,通过m个子段译码器分别对多条待选路径进行横向子段处理,其中,第i个子段译码器从l
ij
或2l
ij
条待选路径中保留路径度量值最大的l
hij
条备选路径,当l
ij
或2l
ij
小于l时,l
hij
等于l
ij
或等于2l
ij
,当l
ij
或2l
ij
大于等于l时,l
hij
等于l,i=1,2,3,

,m;j=1,2,3,

,n;l用于指示备选路径的数量阈值,l为正整数。
85.示例性地,以通过16个子段译码器分别对多条待选路径进行横向子段处理为例,其中任一待选路径的总长度均为16。其中,16个子段译码器分别对应每条待选路径中的某一个比特,例如,第1个子段译码器可以对应每条待选路径中的第一个比特。该第1个子段译码器可以对上述得到的多条待选路径进行进一步的筛选。上述得到待选路径的筛选方法可以基于横向子段的路径度量值来对横向子段进行筛选,保留路径度量值最大的l
hij
条备选路径。在示例性实施例中,可以设置一个l的值。当待选路径的数量大于该l的值,则需要对待选路径进行筛选,使待选路径的数量一直小于等于该l的值。本公开实施例不对该l的取值进行限定,l的取值可以基于技术指标或应用场景进行设定。
86.s404,第i个子段译码器以l
hij
条备选路径为基础,对第i个横向子段的第j+1个比
特进行译码比特值的出现概率计算及路径分裂;当对第i个横向子段中的第n个比特进行译码比特值的出现概率计算及路径分裂后,得到长度为n的多条备选路径,路径分裂结束。
87.示例性地,通过上述的横向子段处理方法,每个子段译码器均可以以前一个比特对应的备选路径为基础,对下一个比特进行译码比特值的出现概率计算及路径分裂,直至分裂至最后一个比特,得到最终的长度为n的多条备选路径。
88.s210,对多条备选路径进行校验,得到译码路径。
89.在一些实施例中,对多条备选路径进行校验,得到译码路径,包括:对m个子段译码器的长度为n的多条备选路径分别进行校验,分别将m个子段译码器中通过校验且路径度量值最大的备选路径作为译码路径;若任一子段译码器没有备选路径通过校验,将任一子段译码器中路径度量值最大的备选路径作为译码路径。
90.在一种可能的实施方式中,若任一子段译码器没有备选路径通过校验,则证明本次译码失败。本公开实施例不对此处的对多条备选路径进行校验的方法进行限定,示例性地,此处对多条备选路径进行校验的方法可以与上述对纵向路径进行校验的方法相同,可以为奇偶校验或循环冗余校验或其它适用的校验方法。
91.s212,根据译码路径得到待译码极化码的译码结果。
92.在一些实施例中,根据译码路径得到待译码极化码的译码结果,包括:对m个子段译码器的m条译码路径进行子段变换,得到m个长度为n的目标译码路径;通过m个目标译码路径组成长度为n的目标译码路径,并经位置置换后得到待译码极化码的译码结果。
93.在一些实施例中,子段变换为对m条译码路径的异或运算。示例性地,可以令m个子段scl译码器分别对应的译码路径(也可以称为译码比特序列)为a,因此,m个译码比特序列a经过子段变换后可以得到长度为n的m个目标译码路径(也可以称为目标译码比特序列),可以令上述的m个目标译码路径为v。a与v之间的子段转换公式可以如公式1所示:
[0094][0095]
其中,其中,
[0096]
另外,是阶克罗内克积。
[0097]
需要说明的是,和可以用于表示译码比特的判决值。并且,该判决值未必是发送端的原值。
[0098]
之后,将公式1展开后可以得到如下所示的目标译码比特序列:
[0099][0100]
需要说明的是,在本说明书中译码路径和译码比特序列的含义相同,因此目标译码路径和目标译码比特序列含义相同,备选路径和备选比特序列含义相同,分裂路径和分裂比特序列含义相同。
[0101]
示例性地,如果长度为n的极化码编码过程中包含倒位序变换,则该位置置换为倒位序变换的逆处理;如果长度为n的极化码编码过程中不包含倒位序变换,则该位置置换可以保留长度为n的译码结果中比特顺序不变。
[0102]
示例性地,如果长度为n的待译码子段在极化码编码过程中包含倒位序变换,则在将待译码序列按照顺序划分为m个待译码子段后需要相应地进行倒位序变换,以得到待译码子段;如果长度为n的待译码子段在极化码编码过程中不包含倒位序变换,则在将待译码序列按照顺序划分为m个待译码子段后不需要进行倒位序变换,该位置置换可以保留长度为n的待译码子段译码结果中比特顺序不变。
[0103]
本公开的实施例所提供的方法,可以对待译码极化码中每一待译码子段所对应的分裂后的横向路径,进行纵向子段处理。然后,再对纵向子段处理得到的多条待选路径,进行横向子段处理。因此,本公开可以通过纵向子段处理来进行全局考虑,避免筛选多条备选路径时仅考虑了其中一个待译码子段的局部概率。因而本公开可以提高极化码的译码性能。
[0104]
示例性地,一种极化码译码的过程示意图可以如图5所示。对于长度为n的待译码极化码,将待译码极化码划分为m个长度为n的待译码子段,可以通过m个子段scl译码器同时进行scl译码,将各个待译码子段进行scl译码的译码比特值的出现概率计算及路径分裂,得到分裂后的横向路径。示例性地,对于每个待译码子段的第j个比特进行scl译码处理,可以得到2l
ij
条横向路径。该步骤可以参见上述s204,此处不再赘述。
[0105]
之后,可以对横向路径进行纵向子段处理,得到多条待选路径。示例性地,对于每个待译码子段的第j个比特,可以将m个待译码子段中每个待译码子段的第j个比特组成第j个纵向子段。对第j个纵向子段中的m个比特按顺序进行路径分裂,其中,第i个比特对应的纵向路径数为2l
vij
,当2l
vij
》=lv时,保留路径度量值最大的lv条纵向路径。然后,可以对第j个纵向子段的lv条纵向路径进行校验,保留通过校验的第j个纵向子段的纵向路径,根据通过校验的第j个纵向子段的纵向路径,对2l
ij
条横向路径进行筛选,保留l
ij
或2l
ij
条待选路径。该步骤可以参见上述s206,此处不再赘述。
[0106]
在得到l
ij
或2l
ij
条待选路径后,可以对l
ij
或2l
ij
条待选路径进行横向子段处理,得到多条备选路径。示例性地,可以通过m个子段译码器分别对l
ij
或2l
ij
条待选路径进行横向子段处理,其中,第i个子段译码器从l
ij
或2l
ij
条待选路径中保留路径度量值最大的l
hij
条备选路径,当l
ij
或2l
ij
小于l时,l
hij
等于l
ij
或等于2l
ij
,当l
ij
或2l
ij
大于等于l时,l
hij
等于l。该步骤可以参见上述s208,此处不再赘述。
[0107]
在得到上述的多条备选路径后,可以根据子段scl译码器得到的多条备选路径对该子段scl译码器进行下一比特的译码处理。示例性地,上述的多条备选路径是第i个子段译码器对于第j个比特得到的多条备选路径。当该备选路径的数量为l,则第j+1个比特进行scl译码处理得到的横向路径数为2l。再根据第j+1个比特对应的2l个横向路径可以得到第j+1个纵向子段,根据第j+1个纵向子段重复上述操作,保留l或2l条待选路径。在得到l或2l条待选路径后,可以根据l或2l条待选路径重复上述操作,得到l条备选路径。
[0108]
之后,可以对l条备选路径进行校验,得到通过了校验的译码路径。示例性地,该校验可以为crc校验。对该译码路径进行位置置换操作,可以得到最终的待译码极化码的译码结果。该步骤可以参见上述s210与s212,此处不再赘述。
[0109]
基于同一发明构思,本公开实施例中还提供了一种极化码译码装置,如下面的实施例所述。由于该装置实施例解决问题的原理与上述方法实施例相似,因此该装置实施例的实施可以参见上述方法实施例的实施,重复之处不再赘述。
[0110]
图6示出本公开实施例中一种极化码译码装置示意图,如图6所示,该装置包括:
[0111]
待译码极化码列获取模块601,用于获取长度为n的待译码极化码,将待译码极化码划分为m个长度为n的待译码子段,n、m和n为2的整次幂;
[0112]
横向路径确定模块602,用于通过m个子段译码器分别对m个待译码子段进行串行消除列表scl译码的译码比特值的出现概率计算及路径分裂,得到分裂后的横向路径;
[0113]
纵向子段处理模块603,用于对横向路径进行纵向子段处理,得到多条待选路径;
[0114]
横向子段处理模块604,用于对多条待选路径进行横向子段处理,得到多条备选路径;
[0115]
校验模块605,用于对多条备选路径进行校验,得到译码路径;
[0116]
译码结果确定模块606,用于根据译码路径得到待译码极化码的译码结果。
[0117]
在本公开的一些实施例中,横向路径确定模块602,用于通过第i个子段译码器对第i个待译码子段的第j个比特进行scl译码处理,得到第j个比特的出现概率以及2l
ij
条横向路径,其中,i=1,2,3,

,m;j=1,2,3,

,n;2l
ij
为第i个待译码子段的第j个比特所对应的分裂后的横向路径的数量。
[0118]
在本公开的一些实施例中,纵向子段处理模块603,用于将m个待译码子段中每个待译码子段的第j个比特组成第j个纵向子段,使得任一纵向子段的总长度为m;对第j个纵向子段中的m个比特按顺序进行路径分裂,其中,第i个比特对应的纵向路径数为2l
vij
,当2l
vij
》=lv时,保留路径度量值最大的lv条纵向路径,i=1,2,3,

,m;j=1,2,3,

,n;lv与l
vij
均为正整数,任一纵向路径的路径度量值用于指示任一纵向路径的出现概率;对第j个纵向子段的lv条纵向路径进行校验,保留通过校验的第j个纵向子段的纵向路径,根据通过校验的第j个纵向子段的纵向路径,对2l
ij
条分裂后的横向路径进行筛选,保留l
ij
或2l
ij
条待选路径。
[0119]
在本公开的一些实施例中,横向子段处理模块604,用于通过m个子段译码器分别对多条待选路径进行横向子段处理,其中,第i个子段译码器从l
ij
或2l
ij
条待选路径中保留路径度量值最大的l
hij
条备选路径,当l
ij
或2l
ij
小于l时,l
hij
等于l
ij
或等于2l
ij
,当l
ij
或2l
ij
大于等于l时,l
hij
等于l,i=1,2,3,

,m;j=1,2,3,

,n;l用于指示备选路径的数量阈值,l为正整数;第i个子段译码器以l
hij
条备选路径为基础,对第i个横向子段的第j+1个比特进行译码比特值的出现概率计算及路径分裂,横向子段为长度为n的横向路径;当对第i个横向子段中的第n个比特进行译码比特值的出现概率计算及路径分裂后,得到长度为n的多条备选路径,路径分裂结束;
[0120]
校验模块605,用于对m个子段译码器的长度为n的多条备选路径分别进行校验,分别将m个子段译码器中通过校验且路径度量值最大的备选路径作为译码路径;若任一子段译码器没有备选路径通过校验,将任一子段译码器中路径度量值最大的备选路径作为译码路径。
[0121]
在本公开的一些实施例中,译码结果确定模块606,用于对m个子段译码器的m条译码路径进行子段变换,得到m个长度为n的目标译码路径;通过m个目标译码路径组成长度为n的目标译码路径,并经位置置换后得到待译码极化码的译码结果。
[0122]
在本公开的一些实施例中,纵向子段处理模块603,用于若通过校验的第j个纵向子段的纵向路径中,第i个比特的值都为0,则2l
ij
条横向路径中只保留比特值为0的l
ij
条待选路径;若通过校验的第j个纵向子段的纵向路径中,第i个比特的值都为1,则2l
ij
条横向路径中只保留比特值为1的l
ij
条待选路径;若通过校验的第j个纵向子段的纵向路径中,第i个比特的值为0或1,则2l
ij
条横向路径中保留比特值为0或1的2l
ij
条待选路径。
[0123]
在本公开的一些实施例中,纵向子段处理模块603,用于对第j个纵向子段的lv条纵向路径进行奇偶校验或循环冗余校验,保留通过校验的第j个纵向子段的纵向路径。
[0124]
在本公开的一些实施例中,子段变换为对m条译码路径的异或运算。
[0125]
在本公开的一些实施例中,校验模块605,还用于:对第j个纵向子段的lv条纵向路径进行校验,当全部纵向路径均没有通过校验,停止译码。
[0126]
本公开实施例所提供的装置,可以对待译码极化码中每一待译码子段所对应的分裂后的横向路径,进行纵向子段处理。然后,再对纵向子段处理得到的多条待选路径,进行横向子段处理。因此,本公开可以通过纵向子段处理来进行全局考虑,避免筛选多条备选路径时仅考虑了其中一个待译码子段的局部概率。因而本公开可以提高极化码的译码性能。
[0127]
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
[0128]
下面参照图7来描述根据本公开的这种实施方式的电子设备700。图7显示的电子设备700仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0129]
如图7所示,电子设备700以通用计算设备的形式表现。电子设备700的组件可以包括但不限于:上述至少一个处理单元710、上述至少一个存储单元720、连接不同系统组件(包括存储单元720和处理单元710)的总线730。
[0130]
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元710执
行,使得所述处理单元710执行本说明书上述“具体实施方式”部分中描述的根据本公开各种示例性实施方式的步骤。
[0131]
存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)7201和/或高速缓存存储单元7202,还可以进一步包括只读存储单元(rom)7203。
[0132]
存储单元720还可以包括具有一组(至少一个)程序模块7205的程序/实用工具7204,这样的程序模块7205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0133]
总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
[0134]
电子设备700也可以与一个或多个外部设备740(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备700交互的设备通信,和/或与使得该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口750进行。并且,电子设备700还可以通过网络适配器760与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器760通过总线730与电子设备700的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0135]
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
[0136]
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质可以是可读信号介质或者可读存储介质。其上存储有能够实现本公开上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“具体实施方式”部分中描述的根据本公开各种示例性实施方式的步骤。
[0137]
本公开中的计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0138]
在本公开中,计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件
使用或者与其结合使用的程序。
[0139]
可选地,计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0140]
在具体实施时,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0141]
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0142]
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
[0143]
通过以上实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
[0144]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围由所附的权利要求指出。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1