一种CA-SCL译码的CRC并行计算方法及装置
文献发布时间:2024-04-18 20:00:50
技术领域
本发明属于无线通信技术,特别是一种用于极化码的循环冗余校验协助的串行抵消列表(简称,CA-SCL)并行译码算法的循环冗余校验(简称,CRC)并行计算的方法和装置。
背景技术
随着信息通信技术的不断发展,人们对通信系统的可靠性和容错能力的要求越来越高。极化码作为一种新型的编码方式,是一种通过严格数学方法证明能达到信道容量极限的编码方案,具有解码简单、性能优异等优点,在通信系统中得到了广泛应用。基于CRC和串行抵消列表(简称,SCL)的CA-SCL译码算法,因其优良的纠错性能,在极化码解码过程中得到广泛应用。为增大CA-SCL译码算法的吞吐率,通过在硬件上先验地执行所有部分和可能的计算,基于已知的部分和,选择输出适当的预计算结果的算法结构,可以实现CA-SCL译码器的单时钟周期多比特译码并行输出。
应用于CA-SCL的CRC的计算方式一般有两种方式:
1、根据SCL译码算法,完成所有的译码输出后,对译码保留路径进行CRC计算;
2、随着SCL译码结果地输出,CRC计算也同时进行。
方式一适用于CA-SCL串行和并行译码算法,但由于待计算的CRC数据较大,因此需要消耗较大的硬件资源,同时为了降低组合时延,会增加流水线以至于进一步增大硬件资源消耗面积;
方式二可以避免方式一带来高硬件资源消耗的问题,但由于CA-SCL译码算法的译码路径拓展和剪枝操作,会对每个译码周期的CRC计算参数更新带来困难,而且由于CA-SCL并行译码算法会带来更急剧的路径拓展,因此CA-SCL并行译码算法更难适用于方式二。
发明内容
为了解决现有技术中存在的上述问题,本发明提出一种CA-SCL译码的CRC并行计算方法和装置,以实现在保持CA-SCL并行译码算法高吞吐率的同时,减少译码中CRC计算部分的复杂度,降低所消耗的硬件资源。
本发明的一种CA-SCL译码的CRC并行计算方法包括:
获取当前时钟周期的译码拓展路径集A;
path
根据各译码拓展路径的PM
B={path
path
获取各译码保留路径匹配的上一时钟周期的CRC计算结果;
利用各译码保留路径匹配的上一时钟周期CRC计算结果,计算当前时钟周期各译码保留路径的CRC结果;
在每个时钟周期重复执行上述步骤,直至译码器译出了所有的译码结果,获得最终的译码保留路径集B和最终各译码保留路径的CRC结果;
如果有译码保留路径的CRC结果为0,选择CRC结果为0且PM
进一步的,所述根据各译码拓展路径的PM
按照各译码拓展路径的PM
按照译码拓展路径对应的SC译码器编号从小到大的顺序,对路径度量值相同的译码拓展路径进行排序;
选择排序靠前的L条译码拓展路径,作为当前时钟周期译码保留路径集B;
按照B中各译码保留路径的排序,将各译码保留路径传送到编号从小到大的SC译码器。
进一步的,所述获取各译码保留路径匹配的上一时钟周期的CRC计算结果包括:
按照B中各译码保留路径的排序,依次选择译码保留路径;
从保存的上一时钟周期CRC结果信息表中选择CRC结果编号β
进一步的,所述利用各译码保留路径匹配的上一时钟周期CRC计算结果,计算当前时钟周期各译码保留路径的CRC结果包括:
从译码保留路径path
将message
j=CRC标准长度-q
将
对所述r
本发明的一种CA-SCL译码的CRC并行计算装置,包括:
译码拓展路径获取模块,用于从译码器获取当前时钟周期的译码拓展路径集A;
path
译码保留路径获取模块,用于获得当前时钟周期译码保留路径集B;
B={path
path
CRC结果匹配模块,用于获取各译码保留路径匹配的上一时钟周期的CRC计算结果;
CRC计算模块,用于利用各译码保留路径匹配的上一时钟周期CRC计算结果,计算当前时钟周期各译码保留路径的CRC结果;
译码结果获取模块,用于获取最终的译码结果;
在译码器译出所有的译码结果后,将当前时钟周期的译码保留路径集B作为最终的译码保留路径集,将当前时钟周期各译码保留路径的CRC结果作为各译码保留路径的最终CRC结果;
如果有译码保留路径的最终CRC结果为0,选择CRC结果为0且PM
进一步的,所述译码保留路径获取模块包括:
译码拓展路径排序单元,用于对各译码拓展路径进行排序;所述排序方法为:按照各译码拓展路径的路径度量值从小到大的顺序,对A中的各译码拓展路径进行排序,按照译码拓展路径对应的SC译码器编号从小到大的顺序,对路径度量值相同的译码拓展路径进行排序;
译码保留路径选择单元,用于选择排序靠前的L条译码拓展路径,作为当前时钟周期译码保留路径,获得当前时钟周期译码保留路径集B;
译码路径分配单元,用于按照B中各译码保留路径的排序,将各译码保留路径传送到编号从小到大的SC译码器。
进一步的,所述CRC结果匹配模块包括:
译码保留路径选择单元,按照当前时钟周期译码保留路径集中各译码保留路径的排序,依次选择译码保留路径;
CRC结果匹配单元,从上一时钟周期CRC结果信息表K′中选择CRC结果编号β
进一步的,所述CRC计算模块包括:
信息比特提取单元,用于从多译码比特中提取信息比特;
根据冻结比特的位置序列先验信息,从译码保留路径path
待计算CRC信息获取单元,用于获取待计算CRC信息r
将message
j=CRC标准长度-q
将
CRC校验计算单元,用于对所述r
在本发明的技术方案中,本发明针对CA-SCL并行译码器单时钟输出多个比特造成的路径扩展急剧增大所引发的CRC并行计算困难的问题,提出了一种低资源消耗的方法和装置。通过本发明,可以实现每次的CRC计算快速承接前段的CRC计算结果,而且每次的CRC计算量控制在不大于并行输出的n比特的范围内,能够在保持CA-SCL并行译码算法高吞吐率的同时,还有效减少译码中CRC计算部分的复杂度,有效降低所消耗的硬件资源。
附图说明
图1是本发明具体实施例1CRC并行计算方法流程图;
图2是本发明具体实施例2CRC并行计算装置结构示意图;
具体实施方式
为了更好的说明本发明的技术方案,下面结合附图对本发明的具体实施方式进行详细描述。
本发明下述具体实施例中,CA-SCL并行译码算法最大保留译码路径的数量为L,当译码拓展路径的数量超过L时,将从所有拓展路径中选出路径度量值最小的L条译码路径作为继续译码的L条保留译码路径。一个译码时钟周期并行译码输出的n位多译码比特data;data中含有q位信息比特message,其余为冻结比特;当前时钟周期译码拓展路径集为
具体实施例1
本实施例为本发明CA-SCL译码的CRC并行计算方法的一种优选实施方式。
参见图1,如图1所示,本实施例的方法包括:
S101、获取当前时钟周期的译码拓展路径集A;
其中,当前时钟周期各译码拓展路径信息为:
path
α
本具体实施中,本步骤的多译码比特data
S102、获得当前时钟周期译码保留路径集B;
本具体实施例中,本步骤可进一步包括:
S1021、按照各译码拓展路径的路径度量值从小到大的顺序,对A中的各译码拓展路径进行排序;
S1022、按照译码拓展路径对应的SC译码器编号从小到大的顺序,对路径度量值相同的译码拓展路径进行排序;
S1023、选择排序靠前的L条译码拓展路径,作为当前时钟周期译码保留路径集B;
B={path
S1024、按照B中各译码保留路径的排序,将各译码保留路径传送到编号从小到大的SC译码器。
S103、获取各译码保留路径匹配的上一时钟周期的CRC计算结果;
本具体实施例中,本步骤可进一步包括:
S1031、按照B中各译码保留路径的排序,依次选择译码保留路径;
S1032、从保存的上一时钟周期CRC结果信息表中选择CRC结果编号β
S104、利用各译码保留路径匹配的上一时钟周期CRC计算结果,计算当前时钟周期各译码保留路径的CRC结果;
本具体实施例中,本步骤可进一步包括:
S1041、根据冻结比特的位置序列先验信息,从译码保留路径path
S1042、将message
j=CRC标准长度-q
S1043、将
S1044、对所述r
本步骤中,所述对所述r
步骤一、将r
步骤二、判断步骤一的运算结果为0;
步骤三、如果运算结果不为0,将
步骤四、循环执行步骤一~步骤三步骤q次,获得译码保留路径path
重复执行步骤S103和步骤S104,直到完成全部L条译码保留路径的当前时钟周期CRC计算;获得当前时钟周期各译码保留路径的CRC结果信息集K;
K={c
c
β
S105、在译码时钟的上升沿用当前时钟周期的K更新K′;
S106、判断译码器是否已译出所有译码结果,如果是,执行步骤S107,否则,在下一个译码时钟周期执行步骤S101;在每个时钟周期重复执行S101-S105,直至译码器译出了所有的译码结果;
S107、根据译码保留集和各译码保留路径的CRC结果选择最终译码结果;
将当前时钟周期的B作为最终的译码保留路径集,将当前时钟周期的K作为最终各译码保留路径的CRC结果;如果有译码保留路径的CRC结果为0,选择CRC结果为0且PM
具体实施例2
本实施例为本发明CA-SCL译码的CRC并行计算装置的一种优选实施方式。
参见图2,如图2所示,本实施例的装置包括:
译码拓展路径获取模块,用于从译码器获取当前时钟周期的译码拓展路径集A;
其中,当前时钟周期各译码拓展路径信息为:
path
α
本具体实施中,本步骤的多译码比特data
译码保留路径获取模块,用于获得当前时钟周期译码保留路径集B;
本具体实施例中,所述译码保留路径获取模块可进一步包括:
译码拓展路径排序单元,用于对各译码拓展路径进行排序;所述排序方法为:按照各译码拓展路径的路径度量值从小到大的顺序,对A中的各译码拓展路径进行排序,按照译码拓展路径对应的SC译码器编号从小到大的顺序,对路径度量值相同的译码拓展路径进行排序;
译码保留路径选择单元,用于选择排序靠前的L条译码拓展路径,作为当前时钟周期译码保留路径,获得当前时钟周期译码保留路径集B;
B={path
译码路径分配单元,用于按照B中各译码保留路径的排序,将各译码保留路径传送到编号从小到大的SC译码器。
CRC结果匹配模块,用于获取各译码保留路径匹配的上一时钟周期的CRC计算结果;
本实施例中,所述CRC结果匹配模块可以进一步包括:
译码保留路径选择单元,按照当前时钟周期译码保留路径集中各译码保留路径的排序,依次选择译码保留路径;
CRC结果匹配单元,从保存的上一时钟周期CRC结果信息表K′中选择CRC结果编号β
CRC计算模块,用于利用各译码保留路径匹配的上一时钟周期CRC计算结果,计算当前时钟周期各译码保留路径的CRC结果;
本具体实施例中,所述CRC计算模块可进一步包括:
信息比特提取单元,用于从多译码比特中提取信息比特;
根据冻结比特的位置序列先验信息,从译码保留路径path
待计算CRC信息获取单元,用于获取待计算CRC信息r
将message
j=CRC标准长度-q
将
CRC校验计算单元,用于对所述r
本实施例中,本单元对所述r
步骤一、将r
步骤二、判断步骤一的运算结果为0;
步骤三、如果运算结果不为0,将
步骤四、循环执行步骤一~步骤三步骤q次,获得译码保留路径path
信息更新模块,用于更新保存的上一时钟周期的译码保留路径集B′和CRC结果信息集K′;
在译码时钟的上升沿用当前时钟周期的K更新K′;
K={c
c
β
译码结果获取模块,用于获取最终的译码结果;
译码器译出所有的译码结果后,将当前时钟周期的译码保留路径集B作为最终的译码保留路径集,将当前时钟周期各译码保留路径的CRC结果作为各译码保留路径的最终CRC结果;
如果有译码保留路径的最终CRC结果为0,选择CRC结果为0且PM
在本发明上述具体实施例的技术方案中,本发明针对CA-SCL并行译码器在单时钟周期输出多个译码比特的应用场景下,提出了一种降低资源消耗的CRC计算的方法和装置。通过本发明,将原本整个较长的译码输出数据的CRC计算分成了对单时钟周期并行输出的多个小段译码输出数据的分时CRC计算,
CRC数据量计算减少直接地降低CRC计算所消耗地硬件资源面积;同时对译码路径和CRC计算结果的简单编号,通过本发明的匹配算法,可以在每个译码时钟周期实现快速承接译码路径前段的CRC计算结果,在每个译码时钟周期实现新的小数据量的计算,这将大幅降低CRC计算的组合时延,可以实现在译码完成的同时钟周期输出CRC计算结果,不会产生额外的CRC计算时钟时延;因此本发明能够在保持CA-SCL并行译码算法高吞吐率的同时,还有效减少译码中CRC计算部分的复杂度,有效降低所消耗的硬件资源。
需要说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。