一种Polar码处理方法、译码器和终端与流程

文档序号:16244382发布日期:2018-12-11 23:25阅读:739来源:国知局
一种Polar码处理方法、译码器和终端与流程

本申请涉及译码领域,尤其涉及一种polar码处理方法、译码器和终端。

背景技术

第三代移动通信标准化组织(3rdgenerationpartnershipproject,3gpp)标准选定极化(polar)码作为下一代移动通信系统即第五代(5thgeneration,5g)通信系统的控制信道纠错码方案。

目前常用的polar译码方案包括采用串行对消(successivecancellation,sc)译码器和串行对消列表(successivecancellationlist,scl)译码器。

采用sc译码器时,由于polar码的构造基于不同bit逐级叠加,要消除不同bit的相互影响,需要逐级进行sc,这导致了polar码的译码方案先天具有串行处理的特点,从而难以有效提升译码吞吐量。

多比特(multibit)并行处理的scl译码器通过在每个判决步骤同时处理多个bit(mbit),在sc译码器的基础上有效地提升了译码器的吞吐率。

在scl译码器中,每一级译码对连续m(m=2^i)个bit进行译码,每一级均输出l条最优路径,在下一级译码中针对上一级输出的l条最优路径的所有后续路径进行比较,选取其中l条最优路径输出到下一级。

如图1所示,l个串行对消译码器(successivecancellationdecoder,scdecoder)分别针对l条路径中的每一条路径进行处理,输出该路径的所有可能路径。度量排序(metricsortingblock)模块对l条路径的所有后续路径进行比较,选取其中l条最优路径进行输出,完成所有bit的处理以后根据循环冗余校验(cyclicredundancycheck,crc)的结果,从l条路径中选取满足crc校验关系的最优路径作为译码器的输出结果。

在单bitscl译码器中,每次只能处理1bit的判决,成为了处理时延的关键路径。

在2bitscl译码器中,每一级中l条路径中的每一条都同时考虑2^2=4条可能的路径,然后从4l条备选路径中选取最优的l条路径输出到下一级,由于每次同时处理2bit的判决,可以将译码时间减少到原先的1/2。

在2bitscl译码器基础上进一步提升处理每一级处理的并行度m,带来的并行度增加与2^m成正比,随着m的增加,复杂度以m的指数量级增加。

当m=4时,l条最优路径中每一条需要计算2^m=16条候选路径,然后从16*l条路径中再选出l条最优路径。

当m=8时,l条最优路径中每一条需要计算2^m=256条候选路径,然后从256*l条路径中再选出l条最优路径。

当m=16时,l条最优路径中每一条需要计算2^m=65536条候选路径,然后从65536*l条路径中再选出l条最优路径。

可见,随着m的增加,multibit的scl译码器同样会遇到吞吐量提升的瓶颈,增加同时处理的multibit数量m带来的复杂度增加远远大于与获得的吞吐率提升。



技术实现要素:

本申请实施例提供一种polar码处理方法、译码器和终端,以解决scl译码器中吞吐率受限的问题。

本申请实施例提供的具体技术方案如下:

第一方面,提供一种极化polar码处理方法,应用于串行对消列表scl译码器中,所述方法包括:

获取本级译码块的译码信息,其中,所述本级译码块包括m个比特,其中任一比特为信息比特或冻结比特,所述译码信息包括:所述本级译码块中的信息比特的数量或冻结比特的数量中的至少一个,m为大于1的正整数;

根据所述译码信息,确定所述本级译码块的第一图案pattern;

根据确定的所述第一pattern,从预设的处理方式中,选择与所述第一pattern对应的处理方式,基于所述选择的处理方式,对所述scl译码器的本级输出路径进行判决,以选出最优路径。

这种设计中,对polar码进行译码处理时,确定本级译码块的第一pattern,从而基于确定的第一pattern,选择对应的处理方式,对scl译码器的本级输出路径进行判决,以选出最优路径,提高译码性能。

结合第一方面,一种可能的设计中,根据所述译码信息,确定所述本级译码块的第一pattern,包括:

若所述本级译码块对应的信息比特的数量大于预设的第一阈值且小于m,则确定所述本级译码块的第一pattern为待调整pattern。

结合第一方面,一种可能的设计中,根据确定的所述第一pattern,从预设的处理方式中,选择与所述第一pattern对应的处理方式,基于所述选择的处理方式,对所述scl译码器的本级输出路径进行判决,以选出最优路径,包括:

若所述第一pattern为待调整pattern,则交换所述本级译码块中x个信息比特和x个冻结比特的位置;

平均拆分经过交换处理的本级译码块,得到两个待处理译码块,所述两个待处理译码块的第二pattern不都为所述待调整pattern;

针对拆分后的待处理译码块,确定所述待处理译码块对应的第二pattern,根据所述第二pattern,从预设的处理方式中,选择与所述第二pattern对应的处理方式,基于所述选择的处理方式,对所述scl译码器的本级输出路径进行判决,以选出最优路径,x为小于所述第一阈值的正整数。

这种设计中,由于信息比特和冻结比特交替出现,且信息比特出现次数较多,导致第一pattern无法整体处理,此时交换特定数量的信息比特和冻结比特的位置,使得连续出现的信息比特数量增多,从而可以平均拆分本级译码块得到可以整体处理的pattern,减少了拆分为较小处理并行度的pattern的数量,提高了译码吞吐量。

结合第一方面,一种可能的设计中,根据确定的所述第一pattern,从预设的处理方式中,选择与所述第一pattern对应的处理方式,基于所述选择的处理方式,对所述scl译码器的本级输出路径进行判决,以选出最优路径,包括:

若所述第一pattern为待调整pattern,将所述m个比特中y个冻结比特更改为信息比特和/或将所述m个比特中z个信息比特更改为冻结比特;

平均拆分经过更改处理的本级译码块得到两个待处理译码块,所述两个待处理译码块的第二pattern不都为所述待调整pattern;

针对拆分后的待处理译码块,从预设的处理方式中,选择与所述待处理译码块的第二pattern对应的处理方式,基于所述选择的处理方式,对所述scl译码器的本级输出路径进行判决,以选出最优路径,y,z均为小于所述第一阈值的正整数。

这种设计中,由于信息比特和冻结比特交替出现,且信息比特出现次数较多,导致第一pattern无法整体处理,此时直接将特定数量的信息比特作为冻结比特处理或者直接将特定数量的冻结比特作为信息比特处理,从而可以平均拆分本级译码块得到可以整体处理的pattern,减少了拆分为较小处理并行度的pattern的数量,提高了译码吞吐量。

结合第一方面,一种可能的设计中,针对拆分后的待处理译码块,从预设的处理方式中,选择与所述待处理译码块的第二pattern对应的处理方式,基于所述选择的处理方式,对所述scl译码器的本级输出路径进行判决,以选出最优路径,包括:

若所述待处理译码块中只包括信息比特或所述待处理译码块中除第一个比特之外只包括信息比特,则针对上一级输出的l条路径中任意一条路径,通过基于对数似然比llr的预排序过程,利用上一级输出的m个llr值对所述scl译码器的2m条本级输出路径进行判决,以选出l条llr值最大的路径;针对所有的上一级输出路径,从l×l条、llr值最大的路径中选择出l条llr值最大的路径作为所述最优路径;

若所述待处理译码块中只包括冻结比特,则直接将所述scl译码器的l条上一级输出路径作为所述最优路径;

若所述待处理译码块中信息比特的数量为小于等于预设的第一阈值,则对所有的本级输出路径进行遍历选择出时延最小的l条路径作为所述最优路径;

若所述待处理译码块中信息比特的数量为大于预设的第一阈值,则继续平均拆分所述待处理译码块,得到新的待处理译码块,针对所述新的待处理译码块,从预设的处理方式中,选择与所述新的待处理译码块的第三pattern对应的处理方式,基于所述选择的处理方式,对所述scl译码器的本级输出路径进行判决,以选出最优路径。

结合第一方面,一种可能的设计中,根据所述译码信息,确定所述本级译码块的第一pattern,还包括:

若所述本级译码块中只包括信息比特,确定所述本级译码块的第一pattern为全信息比特pattern;

若所述本级译码块中除第一个比特之外只包括信息比特,确定所述本级译码块的第一pattern为单奇偶校验pattern;

若所述本级译码块中只包括冻结比特,确定所述本级译码块的第一pattern为全冻结比特pattern;

若所述本级译码块中信息比特的数量为小于等于预设的第一阈值,确定所述本级译码块的第一pattern为遍历pattern。

结合第一方面,一种可能的设计中,根据确定的所述第一pattern,从预设的处理方式中,选择与所述第一pattern对应的处理方式,基于所述选择的处理方式,对所述scl译码器的本级输出路径进行判决,以选出最优路径,包括:

若所述第一pattern为全信息比特pattern或单奇偶校验pattern,针对上一级输出的l条路径中任意一条路径,通过基于对数似然比llr的预排序过程,利用上一级输出的m个llr值对所述scl译码器的2m条本级输出路径进行判决,以选出l条llr值最大的路径;针对所有的上一级输出路径,从l×l条、llr值最大的路径中选择出l条llr值最大的路径作为所述最优路径;

若所述第一pattern为全冻结比特pattern,则直接将所述scl译码器的l条上一级输出路径作为所述最优路径;

若所述第一pattern为遍历pattern,则对所有的本级输出路径进行遍历选择出时延最小的l条路径作为所述最优路径。

这种设计中,第一pattern为特定的图案时,可以整体处理本级译码块,减少了路径选择的复杂度吗,提升译码性能。

第二方面,提供一种polar码译码器,包括:

获取单元,用于获取本级译码块的译码信息,其中,所述本级译码块包括m个比特,其中任一比特为信息比特或冻结比特,所述译码信息包括:所述本级译码块中的信息比特的数量或冻结比特的数量中的至少一个,m为大于1的正整数;

确定单元,用于根据所述译码信息,确定所述本级译码块的第一图案pattern;

选择单元,用于根据确定的所述第一pattern,从预设的处理方式中,选择与所述第一pattern对应的处理方式,基于所述选择的处理方式,对所述scl译码器的本级输出路径进行判决,以选出最优路径。

结合第二方面,一种可能的设计中,所述确定单元在根据所述译码信息,确定所述本级译码块的第一pattern时,具体用于:

若所述本级译码块对应的信息比特的数量大于预设的第一阈值且小于m,则确定所述本级译码块的第一pattern为待调整pattern。

结合第二方面,一种可能的设计中,所述选择单元在根据确定的所述第一pattern,从预设的处理方式中,选择与所述第一pattern对应的处理方式,基于所述选择的处理方式,对所述scl译码器的本级输出路径进行判决,以选出最优路径时,具体用于:

若所述第一pattern为待调整pattern,则交换所述本级译码块中x个信息比特和x个冻结比特的位置;

平均拆分经过交换处理的本级译码块,得到两个待处理译码块,所述两个待处理译码块的第二pattern不都为所述待调整pattern;

针对拆分后的待处理译码块,确定所述待处理译码块对应的第二pattern,根据所述第二pattern,从预设的处理方式中,选择与所述第二pattern对应的处理方式,基于所述选择的处理方式,对所述scl译码器的本级输出路径进行判决,以选出最优路径,x为小于所述第一阈值的正整数。

结合第二方面,一种可能的设计中,所述选择单元在根据确定的所述第一pattern,从预设的处理方式中,选择与所述第一pattern对应的处理方式,基于所述选择的处理方式,对所述scl译码器的本级输出路径进行判决,以选出最优路径时,具体用于:

若所述第一pattern为待调整pattern,将所述m个比特中y个冻结比特更改为信息比特和/或将所述m个比特中z个信息比特更改为冻结比特;

平均拆分经过更改处理的本级译码块得到两个待处理译码块,所述两个待处理译码块的第二pattern不都为所述待调整pattern;

针对拆分后的待处理译码块,从预设的处理方式中,选择与所述待处理译码块的第二pattern对应的处理方式,基于所述选择的处理方式,对所述scl译码器的本级输出路径进行判决,以选出最优路径,x为小于所述第一阈值的正整数。

结合第二方面,一种可能的设计中,所述选择单元在针对拆分后的待处理译码块,从预设的处理方式中,选择与所述待处理译码块的第二pattern对应的处理方式,基于所述选择的处理方式,对所述scl译码器的本级输出路径进行判决,以选出最优路径时,具体用于:

若所述待处理译码块中只包括信息比特或所述待处理译码块中除第一个比特之外只包括信息比特,则针对上一级输出的l条路径中任意一条路径,通过基于对数似然比llr的预排序过程,利用上一级输出的m个llr值对所述scl译码器的2m条本级输出路径进行判决,以选出l条llr值最大的路径;针对所有的上一级输出路径,从l×l条、llr值最大的路径中选择出l条llr值最大的路径作为所述最优路径;

若所述待处理译码块中只包括冻结比特,则直接将所述scl译码器的l条上一级输出路径作为所述最优路径;

若所述待处理译码块中信息比特的数量为小于等于预设的第一阈值,则对所有的本级输出路径进行遍历选择出时延最小的l条路径作为所述最优路径;

若所述待处理译码块中信息比特的数量为大于预设的第一阈值,则继续平均拆分所述待处理译码块,得到新的待处理译码块,针对所述新的待处理译码块,从预设的处理方式中,选择与所述新的待处理译码块的第三pattern对应的处理方式,基于所述选择的处理方式,对所述scl译码器的本级输出路径进行判决,以选出最优路径。

结合第二方面,一种可能的设计中,所述确定单元还用于:

若所述本级译码块中只包括信息比特,确定所述本级译码块的第一pattern为全信息比特pattern;

若所述本级译码块中除第一个比特之外只包括信息比特,确定所述本级译码块的第一pattern为单奇偶校验pattern;

若所述本级译码块中只包括冻结比特,确定所述本级译码块的第一pattern为全冻结比特pattern;

若所述本级译码块中信息比特的数量为小于等于预设的第一阈值,确定所述本级译码块的第一pattern为遍历pattern。

结合第二方面,一种可能的设计中,所述选择单元还用于:

若所述第一pattern为全信息比特pattern或单奇偶校验pattern,针对上一级输出的l条路径中任意一条路径,通过基于对数似然比llr的预排序过程,利用上一级输出的m个llr值对所述scl译码器的2m条本级输出路径进行判决,以选出l条llr值最大的路径;针对所有的上一级输出路径,从l×l条、llr值最大的路径中选择出l条llr值最大的路径作为所述最优路径;

若所述第一pattern为全冻结比特pattern,则直接将所述scl译码器的l条上一级输出路径作为所述最优路径;

若所述第一pattern为遍历pattern,则对所有的本级输出路径进行遍历选择出时延最小的l条路径作为所述最优路径。

第三方面,提供一种polar码译码器,包括处理器、存储器、所述存储器耦合至所述处理器,其中,所述存储器中存储一组程序,所述处理器用于调用所述存储器中存储的程序,使得所述译码器执行如第一方面及其可能的任一设计中所述的方法。

第四方面,提供一种终端,包括如第三方面所述的译码器和接收机,所述接收机,用于接收待译码的所述本级译码块。

第五方面,提供一种计算机存储介质,用于存储计算机程序,该计算机程序包括用于执行第一方面、第一方面的任一可能的设计中的实施方式中的方法的指令。

第六方面,提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。

附图说明

图1为scl译码器的译码过程示意图;

图2为本申请实施例中polar码编码方式示意图;

图3为本申请实施例中的polar码处理方法流程图;

图4为待调整图案下polar码的处理统计示意图;

图5为本申请实施例中的polar码译码器的结构图;

图6为本申请实施例中的polar码译码器的结构图;

图7为本申请实施例中系统芯片结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。

本申请实施例采用的编码方式为polar码编码方式,下面具体介绍一下polar码编码方式。

polar码编码方式具有高性能、低复杂度,速率匹配方式灵活的特点。如图2所示,展示了一个8x8的polar码编码矩阵,其中输入的待编码比特以向量(0,0,0,u4,0,u6,u7,u8)表示,经过编码矩阵编码,编码后的比特以向量(y1,y2,y3,y4,y5,y6,y7,y8)表示。待编码比特向量可以分为两个部分,一部分为信息比特,在图2中标记为data,如u4,u6,u7,u8;一部分为冻结比特,在图2中标记为frozen,如0,0,0,0。在应用中,信息比特只需要发送端已知,而冻结比特需要发送端和接收端均已知,且冻结比特在接收端译码过程中起到纠错的作用,目的是提高信息比特位置译码的成功概率。另外,由于polar码的极化效应,待编码比特中每个比特的可靠度呈现极化特性,不同比特位置的出错概率不同。排序列在图2中标记为rank,排序列表征了不同比特位置的可靠程度排序情况,排序的标号越小,可靠度越高。通常情况下,选择可靠度较高的位置放置信息比特,这样有助于提高译码性能。

申请实施例中,将整体的译码对象叫做码块,码块中分成多个译码块,以二叉树的译码过程为例,在译码时,在二叉树的第一级,对第一个译码块进行译码,其输出路径有2条(一个节点);然后在第二级,基于前一译码块的输出路径,对第二个译码块进行译码,一次类推,完成对码块中的所有译码块的译码,其中最优路径的中的各个节点的值,就表示码块的译码结果,采用并行度为m的scl译码器进行译码时,每一级译码块都同时并行处理m个比特。

现有的multibit的scl译码器在处理polar码时,通过增加同时处理的multibit数量来获得吞吐率的提升,但是这样会造成处理复杂度随multibit数量m的增加呈指数量级增加的问题,同时处理的multibit数量m增加带来的复杂度的增加远远大于获得的吞吐率提升。

鉴于此,本申请实施例提供一种polar码处理方法、译码器和终端,以解决scl译码器中吞吐率受限的问题。其中,方法和装置是基于同一构思的,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。

图3示出了本申请实施例提供的polar码处理方法的流程示意图,该方法应用于scl译码器中,该流程具体可通过硬件、软件编程或软硬件的结合来实现。

用以执行本申请实施例所提供的polar码处理方案的功能模块具体可以通过硬件、软件编程以及软硬件的组合来实现,硬件可包括一个或多个信号处理和/或专用集成电路。

如图3所示,该流程具体包括有以下处理过程:

步骤30:获取本级译码块的译码信息。

其中,所述本级译码块包括m个比特,其中任一比特为信息比特或冻结比特,所述译码信息包括:所述本级译码块中的信息比特的数量或冻结比特的数量中的至少一个,m为大于1的正整数。

步骤31:根据所述译码信息,确定所述本级译码块的第一pattern。

具体的,根据所述译码信息,确定所述本级译码块的第一图案pattern,包括以下情形:

情形一:若所述m比特中信息比特的数量为m,确定所述第一pattern为全信息比特模式,本申请中称为rate-1模式。

情形二:若所述m比特中信息比特的数量为m-1,且第一个比特为冻结比特,确定所述第一pattern为单奇偶校验模式,本申请称为spc模式。

情形三:若所述m比特中信息比特的数量为0,确定所述第一pattern为全冻结比特模式。

情形四:若所述m比特中信息比特的数量为不大于第一阈值,确定所述第一pattern为遍历模式。

情形五:若所述m比特中信息比特的数量为大于第一阈值,确定所述第一pattern为待调整模式。

针对复杂的长度为mbit的模式,如无法直接对应于以上情形一至情形四这四种情形,则对polar码进行分解和截短为长度为两个长度为m/2bit的模式的级联并依次处理;如果长度为m/2bit的模式仍然无法归入到以上四类情形,则再分解和截短为长度为m/4bit的模式的级联并依次处理,…,此时会导致处理并行度降低,吞吐率随之下降的问题,因此,本申请针对这种情形引入了待调整模式。

步骤32:根据确定的所述第一pattern,从预设的处理方式中,选择与所述第一pattern对应的处理方式,基于所述选择的处理方式,对所述scl译码器的本级输出路径进行判决,以选出最优路径、

具体的,根据确定的所述第一pattern,从预设的处理方式中,选择与所述第一pattern对应的处理方式,基于所述选择的处理方式,对所述scl译码器的本级输出路径进行判决,以选出最优路径时,针对以上情形,分别对应以下实施方式:

实施方式一,针对情形一和情形二,若所述第一pattern为全信息比特模式或单奇偶校验模式,针对上一级输出的l条路径中任意一条路径,通过基于对数似然比llr的预排序过程,利用上一级输出的m个llr值对所述scl译码器的2m条本级输出路径进行判决,以选出l条llr值最大的路径;针对所有的上一级输出路径,从l×l条、llr值最大的路径中选择出l条llr值最大的路径作为所述最优路径。

定理1:长度为m的rate-1节点的支路度量可以用下式计算得到:

其中ηi为编码后的双极性序列,αi为本节点输入的对数似然比序列,ηi和αi均相对于rate-1节点的最上面一层。

定理2:在scl算法的硬件友好形式中,长度为m的rate-1节点的支路度量可以用下式计算得到:

其中ηi为编码后的双极性序列,αi为本节点输入的对数似然比序列,ηi和αi均相对于rate-1节点的最上面一层。

根据上述定理1和定理2的结论,在一个节点接收到α(任意级的llr矢量)以后,包含这个节点以下所有层级和叶子节点在内的分支度量pm可以通过α矢量和η(η和psum(β)的关系为ηi=1-2βi)直接表示为定理1,也就是说,不需要按照原始算法的顺序,分层向下进行递推得到各个分支的pm值,可以直接根据η矢量的值推出psum(β)

考虑一个scl译码器的特例:sc,且对应于rate-1的节点,此时直接通过每个元素α的符号即可得到η中对应元素的取值(令pm取值最小),然后用原始生成矩阵即可采用二进制加法运算计算得到对应信息比特矢量u的取值。

考虑scl的场景,由于l条备选路径中每一条在当前multibit处理结束以后最多只需要输出l条路径,所以没有必要从l*2^k条总路径中选取l条llr最大的路径,而可以先从2^k条路径中选取l条llr最大(pm最小)的路径,然后再从l*l条路径中选取l条llr最大的路径。在k取值比较大的时候,如果先得到上一步l条路径衍生出的l条pm值最小的路径,则排序的复杂度可以从l*2^k减小到l*l,当k取值比较大时收益非常明显。

由于定理一的特性,可以很方便地得到2^k条路径中pm值最小的l条路径。

假定multibit=8,根据随机的α矢量的值得到所有可能的β矢量对应的pm取值,然后进行从大到小排序的结果。观察每组结果中l1-l8行的结果,其对应的β矢量有如下规律:

最小的pm总是对应于β全0的结果,其次的pm对应于最小α对应的β=1其它β=0,其它几个最小的pm对应于最小的几个α对应的β=1其它β=0,或者为最小的2个/3个α对应的β=1其它η=0,取决于这些α之和与其它次小的几个α之间的大小关系.

所以,当multibit数量比较多的时候,如果先对α排序,可以从一个比较小的集合中得到l条pm值最小的路径,而不需要从2^k种可能性中进行遍历。

考虑rate1的节点:

假定α已经经过排序,按照α0,α1,α2,α3,α4,α5,α6,α7从小到大的顺序排列,β0~β7分别对应于α0~α7,需要得到所有β0~β7的组合中取到最小的l个pm值(以下假定l=8)的β0~β7的组合

根据

定理1:长度为m的rate-1节点的支路度量可以用下式计算得到:

其中ηi为编码后的双极性序列,αi为本节点输入的对数似然比序列,ηi和αi均相对于rate-1节点的最上面一层。

可以得到取到最小的两个pm0和pm1的β取值为

00000000

10000000

剩下6个pm2~pm7可能从以下组合中取到:

01000000,00100000,00010000,00001000,00000100,00000010

11000000,10100000,01100000,10010000,01010000,00110000

11100000,11010000

其它形如10110000,11110000,11111000,11111100等pattern由于已经大于第二行的00110000,所以肯定不会排在前8个最优的路径中。

所以,通过进行从14个数中选择最大6个最小数的比较即可直接得到当前路径可能幸存到下一级判决的所有l=8条路径,同时也可以得到所有可能幸存路径对应的psum(也可以使用生成矩阵对应的逆矩阵计算得到硬判值)

也就是说,不需要传统listsc译码器中对2^k条路径进行排序得到最大l条路径,只需要从一个2^k条路径的一个子集中得到l条路径,当k取值较大时,计算复杂度收益会很明显。

对于spc节点的处理:

spc节点的定义为:第一个bit为冻结比特(frozenbit),后面的bit均为信息bit,即形如fiiiiiii的pattern(f为frozenbit,i为信息bit)。由于信息bitu0~u7和编码后序列x0~x7的关系为x=u*f,即(x0,x1,…,x7)=(u0,u1,…,u7)*f

所以x0=u0+u1+u2+u3+u4+u5+u6+u7,由于u0为frozenbit值固定为0,即x0为信息比特u1~u7的偶校验位,并且,由于f矩阵的特性,x0+x1+x2+x3+x4+x5+x6+x7=u0=0,即x0与其它x1~x7满足偶校验的关系。由于这个特性,所以叫做spc节点。

所以针对spc的情况,x0~x7需要满足偶校验的关系。由于α为有符号数,考虑序列ηisign(αi)(i=0…7)。对于αi>0,与sign(αi)相乘不改变ηi的符号;对于每个αi<0,与sign(αi)相乘即改变ηi的符号一次。

由于ηi(i=0…7)满足偶校验特性,所以当αi<0个数为偶数时,ηisign(αi)(i=0…7)仍然满足偶校验特性,即其中有偶数个1;当αi<0个数为奇数时,ηisign(αi)(i=0…7)满足奇校验特性,即其中有奇数个1。

因此,针对spc的子集为:

当α中负数个数为偶数时:

00000000

另外7个在以下列表中:

11000000,10100000,01100000,10010000,01010000,00110000,10001000

11110000,

类似地,形如11101000等类型的pattern由于已经大于第一行中的最后一个,必然不会在最优的8条路径中

所以通过进行从8个数中选择最大7个最小数的比较即可直接得到当前路径可能幸存到下一级判决的所有l=8条路径。

当α中负数个数为奇数时:

10000000

另外7个在以下列表中:

01000000,00100000,00010000,00001000,00000100,00000010,00000001

11100000,11010000,10110000,01110000,11001000,10101000,01101000

类似地,形如11111000等类型的pattern由于已经大于第二行中的最后一个,必然不会在最优的8条路径中

所以通过进行从14个数中选择最大7个最小数的比较即可直接得到当前路径可能幸存到下一级判决的所有l=8条路径。

实施方式二:针对情形三,若所述第一pattern为全冻结比特模式,则直接将所述scl译码器的l条上一级输出路径作为所述最优路径。

实施方式三:针对情形四,若所述第一pattern为遍历模式,则对所有的本级输出路径进行遍历选择出时延最小的l条路径作为所述最优路径。

假设第一阈值取值为5,即在一个polar码的pattern中包含的信息bit的数量小于等于5的情况。此时其它bit均为frozenbit先验为0,所以所有可能的组合小于2^5=32种,此时可先在32条可能的路径中选取前8条最优的路径参与本级l=8条最优的路径选择。

实施方式四:针对情形五,若所述第一pattern为待调整pattern,则交换所述m比特中x信息比特和冻结比特的位置;平均拆分经过交换处理的本级译码块,得到两个待处理译码块,所述两个待处理译码块的第二pattern不都为所述待调整pattern;针对拆分后的待处理译码块,确定所述待处理译码块对应的第二pattern,根据所述第二pattern,从预设的处理方式中,选择与所述第二pattern对应的处理方式,基于所述选择的处理方式,对所述scl译码器的本级输出路径进行判决,以选出最优路径,x为小于所述第一阈值的正整数。

例如,针对multibit=32的scl译码器,各种pattern的出现频度统计可参阅图4所示:

针对出现概率较大的含有16个信息bit的pattern,采用两种不同的方式调整信息bit和frozenbit的位置,具体可参阅表1所示。

第一种方法:交换5个信息bit和frozenbit的位置,将pattern变为16i0+16i16,第一个frozenbit组成的pattern不需要处理,第二个按照llr预排序的方法处理。

第二种方法:交换3个信息bit和frozenbit的位置,将pattern变为16i3+16i16,第一个采用3bit所有组合遍历方式处理,第二个按照llr预排序的方法处理,3个frozenbit按照信息bit进行处理以提高译码吞吐量。

表1

针对k=1024/n=2048的场景,multibit=32的统计分析可以参阅图4所示,具体结果为:

1)直接采用基于llr预排序的sclist译码器,所有bit判决需要1063cycle;

2)采用上述第一种方法调整的pattern,译码时间可以从原先的1191cycle减少到935cycle,吞吐率提升27%,其中每个包含16个信息bit的pattern从26cycle减少到10cycle;

3)采用上述第一种方法调整的pattern,译码时间可以从原先的1191cycle减少到1031cycle,吞吐率提升16%,其中每个包含16个信息bit的pattern从26cycle减少到16cycle。

实施方式五:针对情形五,若所述第一pattern为待调整pattern,将所述m个比特中y个冻结比特更改为信息比特和/或将所述m个比特中z个信息比特更改为冻结比特;平均拆分经过更改处理的本级译码块得到两个待处理译码块,所述两个待处理译码块的第二pattern不都为所述待调整pattern;针对拆分后的待处理译码块,从预设的处理方式中,选择与所述待处理译码块的第二pattern对应的处理方式,基于所述选择的处理方式,对所述scl译码器的本级输出路径进行判决,以选出最优路径,y,z均为小于所述第一阈值的正整数。

具体的,上述实施例方式四和实施方式五中,针对拆分后的待处理译码块,从预设的处理方式中,选择与所述待处理译码块的第二pattern对应的处理方式,基于所述选择的处理方式,对所述scl译码器的本级输出路径进行判决,以选出最优路径,可以通过以下过程实现:

若所述待处理译码块中只包括信息比特或所述待处理译码块中除第一个比特之外只包括信息比特,则针对上一级输出的l条路径中任意一条路径,通过基于对数似然比llr的预排序过程,利用上一级输出的m个llr值对所述scl译码器的2m条本级输出路径进行判决,以选出l条llr值最大的路径;针对所有的上一级输出路径,从l×l条、llr值最大的路径中选择出l条llr值最大的路径作为所述最优路径。

若所述待处理译码块中只包括冻结比特,则直接将所述scl译码器的l条上一级输出路径作为所述最优路径。

若所述待处理译码块中信息比特的数量为小于等于预设的第一阈值,则对所有的本级输出路径进行遍历选择出时延最小的l条路径作为所述最优路径;

若所述待处理译码块中信息比特的数量为大于预设的第一阈值,则继续平均拆分所述待处理译码块,得到新的待处理译码块,针对所述新的待处理译码块,从预设的处理方式中,选择与所述新的待处理译码块的第三pattern对应的处理方式,基于所述选择的处理方式,对所述scl译码器的本级输出路径进行判决,以选出最优路径。

进一步的,若所述第一pattern不是待调整pattern,若当前级与下一级的译码块合并后满足预设条件,则将当前级与下一级的译码块进行合并处理得到新的译码块;针对所述新的译码块,确定所述新的译码块的pattern;根据所述新的译码块的pattern对所述scl译码器的输出路径进行判决并选出最优路径。

例如,根据先验的信息bit/冻结bit的分布信息,如果当前处理的multibit长度的pattern与紧接下一个pattern合并以后的总长度为2的整数次幂且信息bit长度仍然小于等于最大的计算并行度(5bit),则对该两个pattern进行合并以后一次处理。合并可以连续重复多次,一直到无法继续合并为止。

例如,当前pattern中为16个frozenbit,下一个pattern也为16个fronzenbit,则可以对这两个pattern合并成32个frozenbit统一处理。

综上所述,本申请实施例中,若本级译码块为待调整pattern,将本级译码块内的部分信息比特和冻结比特进行更改,使得连续出现的信息比特数量增多,减少需要拆分较小处理并行度的数量,提高译码吞吐量。

基于同一构思,如图5所示,本申请实施例还提供一种polar码译码器500,该polar码译码器500用于执行图3所示的polar码处理方法,该polar码译码器500包括获取单元501,确定单元502和选择单元503,其中:

获取单元501,用于获取本级译码块的译码信息,其中,所述本级译码块包括m个比特,其中任一比特为信息比特或冻结比特,所述译码信息包括:所述本级译码块中的信息比特的数量或冻结比特的数量中的至少一个,m为大于1的正整数;

确定单元502,用于根据所述译码信息,确定所述本级译码块的第一图案pattern;

选择单元503,用于根据确定的所述第一pattern,从预设的处理方式中,选择与所述第一pattern对应的处理方式,基于所述选择的处理方式,对所述scl译码器的本级输出路径进行判决,以选出最优路径。

可选的,所述确定单元502在根据所述译码信息,确定所述本级译码块的第一pattern时,具体用于:

若所述本级译码块对应的信息比特的数量大于预设的第一阈值且小于m,则确定所述本级译码块的第一pattern为待调整pattern。

可选的,所述选择单元503在根据确定的所述第一pattern,从预设的处理方式中,选择与所述第一pattern对应的处理方式,基于所述选择的处理方式,对所述scl译码器的本级输出路径进行判决,以选出最优路径时,具体用于:

若所述第一pattern为待调整pattern,则交换所述本级译码块中x个信息比特和x个冻结比特的位置;

平均拆分经过交换处理的本级译码块,得到两个待处理译码块,所述两个待处理译码块的第二pattern不都为所述待调整pattern;

针对拆分后的待处理译码块,确定所述待处理译码块对应的第二pattern,根据所述第二pattern,从预设的处理方式中,选择与所述第二pattern对应的处理方式,基于所述选择的处理方式,对所述scl译码器的本级输出路径进行判决,以选出最优路径,x为小于所述第一阈值的正整数。

可选的,所述选择单元503在根据确定的所述第一pattern,从预设的处理方式中,选择与所述第一pattern对应的处理方式,基于所述选择的处理方式,对所述scl译码器的本级输出路径进行判决,以选出最优路径时,具体用于:

若所述第一pattern为待调整pattern,将所述m个比特中y个冻结比特更改为信息比特和/或将所述m个比特中z个信息比特更改为冻结比特;

平均拆分经过更改处理的本级译码块得到两个待处理译码块,所述两个待处理译码块的第二pattern不都为所述待调整pattern;

针对拆分后的待处理译码块,从预设的处理方式中,选择与所述待处理译码块的第二pattern对应的处理方式,基于所述选择的处理方式,对所述scl译码器的本级输出路径进行判决,以选出最优路径,x为小于所述第一阈值的正整数。

可选的,所述选择单元503在针对拆分后的待处理译码块,从预设的处理方式中,选择与所述待处理译码块的第二pattern对应的处理方式,基于所述选择的处理方式,对所述scl译码器的本级输出路径进行判决,以选出最优路径时,具体用于:

若所述待处理译码块中只包括信息比特或所述待处理译码块中除第一个比特之外只包括信息比特,则针对上一级输出的l条路径中任意一条路径,通过基于对数似然比llr的预排序过程,利用上一级输出的m个llr值对所述scl译码器的2m条本级输出路径进行判决,以选出l条llr值最大的路径;针对所有的上一级输出路径,从l×l条、llr值最大的路径中选择出l条llr值最大的路径作为所述最优路径;

若所述待处理译码块中只包括冻结比特,则直接将所述scl译码器的l条上一级输出路径作为所述最优路径;

若所述待处理译码块中信息比特的数量为小于等于预设的第一阈值,则对所有的本级输出路径进行遍历选择出时延最小的l条路径作为所述最优路径;

若所述待处理译码块中信息比特的数量为大于预设的第一阈值,则继续平均拆分所述待处理译码块,得到新的待处理译码块,针对所述新的待处理译码块,从预设的处理方式中,选择与所述新的待处理译码块的第三pattern对应的处理方式,基于所述选择的处理方式,对所述scl译码器的本级输出路径进行判决,以选出最优路径。

可选的,所述确定单元502还用于:

若所述本级译码块中只包括信息比特,确定所述本级译码块的第一pattern为全信息比特pattern;

若所述本级译码块中除第一个比特之外只包括信息比特,确定所述本级译码块的第一pattern为单奇偶校验pattern;

若所述本级译码块中只包括冻结比特,确定所述本级译码块的第一pattern为全冻结比特pattern;

若所述本级译码块中信息比特的数量为小于等于预设的第一阈值,确定所述本级译码块的第一pattern为遍历pattern。

可选的,所述选择单元503还用于:

若所述第一pattern为全信息比特pattern或单奇偶校验pattern,针对上一级输出的l条路径中任意一条路径,通过基于对数似然比llr的预排序过程,利用上一级输出的m个llr值对所述scl译码器的2m条本级输出路径进行判决,以选出l条llr值最大的路径;针对所有的上一级输出路径,从l×l条、llr值最大的路径中选择出l条llr值最大的路径作为所述最优路径;

若所述第一pattern为全冻结比特pattern,则直接将所述scl译码器的l条上一级输出路径作为所述最优路径;

若所述第一pattern为遍历pattern,则对所有的本级输出路径进行遍历选择出时延最小的l条路径作为所述最优路径。

需要说明的是,本申请实施例中的polar码译码器500可以由集成电路实现,相应的,获取单元501,确定单元502和选择单元503等功能模块,可以是集成电路的一部分,这里的集成电路又可以称为ic,按照集成度的不同,又可以分为大规模集成电路(largescaleintegratedcircuit,lsi)、超lsi(superlsi)、或过lsi(ultralsi)等等,此外,集成电路不限于lsi实现,也可以由专用电路实现。另外,如果由于半导体技术的进步或演化而开发出替换lsi的集成技术,则利用该技术来实现该集成电路也是可能的。例如,生物工艺学。

基于与图3所示的polar码处理方法的同一发明构思,如图6所示,本申请实施例还提供一种polar码译码器600,该polar码译码器600可用于执行图3所示的方法。其中,该polar码译码器600包括处理器602和存储器601,处理器602用于执行一组代码,当代码被执行时,该执行使得处理器602执行图3所示的polar码处理方法。存储器601,用于存储处理器602执行的代码。可选的,存储器601可以和处理器602集成在一起。

处理器602可以是中央处理器(centralprocessingunit,cpu),网络处理器(networkprocessor,np)或者cpu和np的组合。

处理器602还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specificintegratedcircuit,asic),可编程逻辑器件(programmablelogicdevice,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld),现场可编程逻辑门阵列(field-programmablegatearray,fpga),通用阵列逻辑(genericarraylogic,gal)或其任意组合。

存储器601可以包括易失性存储器(volatilememory),例如随机存取存储器(random-accessmemory,ram);存储器601也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flashmemory),硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd);存储器601还可以包括上述种类的存储器的组合。

本申请实施例提供了一种计算机存储介质,用于存储计算机程序,该计算机程序包括用于执行图3所示的polar码处理方法。

本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行图3所示的polar码处理方法。

基于与图3所示的polar码处理方法的同一发明构思,如图7所示,本申请实施例还提供了一种系统芯片700,系统芯片700包括输入接口701、输出接口702、至少一个处理器703、存储器704,所述输入接口701、输出接口702、所述处理器703以及存储器704之间通过总线705相连,所述处理器703用于执行所述存储器704中的代码,当所述代码被执行时,所述处理器703实现图3中的polar码处理方法。其中总线705有的时候可以省略,例如当其他模块均为逻辑电路或者硬件电路实现时。

本领域内的技术人员应明白,本申请实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

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