一种通用高吞吐率的LDPC译码方法及系统技术方案

技术编号:30696041 阅读:24 留言:0更新日期:2021-11-06 09:31
本发明专利技术公开了一种通用高吞吐率的LDPC译码方法及系统,涉及通信技术领域,该方法包括基于目标系统的需求,自适应配置LDPC译码器的矢量扩展指令集类型;基于自适应配置的LDPC译码器的矢量扩展指令集类型以及并行处理方式,对待译码数据进行译码操作;对初始译码结果进行硬判决操作,以得到最终译码结果;所述初始译码结果为对待译码数据进行译码操作后得到的数据。本发明专利技术能够在提升译码器吞吐率的同时能够最大限度地利用GPP的资源。能够最大限度地利用GPP的资源。能够最大限度地利用GPP的资源。

【技术实现步骤摘要】
一种通用高吞吐率的LDPC译码方法及系统


[0001]本专利技术涉及通信
,特别是涉及一种通用高吞吐率的LDPC译码方法及系统。

技术介绍

[0002]低密度奇偶校验码(Low

Density Parity

Check,LDPC),即LDPC码,是1963年由Robert博士首次提出的一种具有稀疏校验矩阵的线性分组码。目前LDPC码已经广泛的应用于WiFi(IEEE802.11n)、WiMax(IEEE802.16E)、数字广播(DVB)等领域。由于LDPC码固有的并行编译码结构和较强的纠错性能,LDPC码已被3GPP采纳作为第五代移动通信技术的长码编码方案,也被认为是5G超可靠和低时延通信(uRLLC)中最有前景的错误校验码(ECC)之一。
[0003]在过去的数十年里,随着通用处理器(GPP)处理频率不断地提高,其计算性能也不断提升,同时处理器的计算模型也不断得到改善。故随着GPP硬件层面的升级更新,使得基于通用处理器实现的软件无线电平台成为可能,例如基于GPP的软件无线电设计平台Openairinterface(OAI)、AmarisoftLTE等,但是由于LDPC译码器的吞吐率性能较低,限制了此类软件无线电平台的使用。
[0004]为了进一步提升LDPC译码器的吞吐率性能,GPP通过采用了并行处理架构,例如:单指令多数据流(Single InstructionhMultiple Data,SIMD)、单程序多数据流(Single Program Multiple Data,SPMD)、单指令多线程(Single Instructionh Multiple Thread,SIMT)等。近年来基于SIMD架构的矢量扩展指令集得到了飞速的发展,其支持位宽从早期的64bit位宽朝着更高并行度发展。这些并行处理技术已广泛的集成在了GPP设备中,但如何将这些并行处理技术与具体算法进行高效的结合,仍然存在着许多困难。
[0005]由于LDPC码的译码算法复杂度较大,但却具有良好的并行结构,因此对LDPC译码器进行并行化设计,能够得到更高的吞吐量。目前已经有许多论文做出了关于LDPC译码器在GPP设备上实现的相关工作,主要集中于:基于传统SIMD架构采用更高位宽的矢量扩展指令集集上,通过增加同一指令周期内所处理的数据宽度,即增加同一时间所处理的LDPC码块数量来实现。虽然采用高位宽矢量扩展指令集能够提升LDPC译码器的吞吐率,但在实际通信系统中采用此类LDPC译码器会存在以下问题:
[0006](1)由于高位宽矢量扩展指令集优化难度和GPP处理功耗的限制,矢量扩展指令集位宽的提升对LDPC译码器吞吐率的提升存在明显衰减,单纯的提升矢量扩展指令集位宽,提升单位时间处理的LDPC码块数,在多数情况下反而会增加运算指令处理时间,增加译码处理延时。
[0007](2)高位宽矢量扩展指令集对于GPP配置的要求更高,同时其功耗要求也更高。
[0008](3)采用高位宽矢量扩展指令集只有在通信系统中处理单元的数据位宽能够整除指令位宽时才能充分发挥其处理能力,达到其译码吞吐率的理论值。即高位宽矢量扩展指令集只有在,系统所需的LDPC译码处理单元数,刚好可以整除矢量扩展指令位宽时效率才能体现出来。系统所需的LDPC译码处理单元数和指令位宽处于非整除区间内,采用高指令
位宽带来的译码器吞吐率提升,会大幅衰减。同时,由于位宽不匹配带来的无效译码运算,还会徒增系统处理功耗。
[0009](4)为了使高位宽矢量扩展指令集的处理效率最大化,限制了采用该设计方法译码器的应用场景,同时对于采用该译码器的系统设计带来了更高的要求。
[0010]因此需要设计出一种新的自适应SIMD架构的通用高吞吐率LDPC译码方法及系统,满足通信系统中不同应用场景对于LDPC译码器的要求,同时能充分发挥基于SIMD架构的高矢量扩展指令集所带来的LDPC译码吞吐率提升。

技术实现思路

[0011]本专利技术的目的是提供一种通用高吞吐率的LDPC译码方法及系统,在提升译码器吞吐率的同时能够最大限度地利用GPP的资源。
[0012]为实现上述目的,本专利技术提供了如下方案:
[0013]一种通用高吞吐率的LDPC译码方法,包括:
[0014]基于目标系统的需求,自适应配置LDPC译码器的矢量扩展指令集类型;所述目标系统为包括LDPC译码器的系统;
[0015]基于自适应配置的LDPC译码器的矢量扩展指令集类型以及并行处理方式,对待译码数据进行译码操作;
[0016]对初始译码结果进行硬判决操作,以得到最终译码结果;所述初始译码结果为对待译码数据进行译码操作后得到的数据。
[0017]可选的,所述基于目标系统的需求,自适应配置LDPC译码器的矢量扩展指令集类型,具体包括:
[0018]基于LDPC译码块数量以及定点化处理位宽,自适应配置LDPC译码器的译码单元采用的矢量扩展指令集类型;所述目标系统的需求包括LDPC译码块数量和定点化处理位宽。
[0019]可选的,所述基于LDPC译码块数量以及定点化处理位宽,自适应配置LDPC译码器的译码单元采用的矢量扩展指令集类型,具体包括:
[0020]根据以下公式,自适应配置LDPC译码器的译码单元采用的矢量扩展指令集类型;所述公式为:
[0021]remainder=Block_number%mod(512,δ)
ꢀꢀ
(1);
[0022][0023][0024][0025][0026][0027]其中,SIMD512代表译码单元是否采用位宽为512位的矢量扩展指令集,1表示采用,0表示未采用;
[0028]SIMD256代表译码单元是否采用位宽为256位的矢量扩展指令集;
[0029]SIMD128代表译码单元是否采用位宽为125位的矢量扩展指令集;
[0030]SIMD64代表译码单元是否采用位宽为64位的矢量扩展指令集;
[0031]SIMD32代表译码单元是否采用位宽为32位的矢量扩展指令集;
[0032]remainder代表LDPC译码块在进行目标值分组后多余的LDPC译码块个数;目标值为512/δ;δ代表定点化处理位宽;
[0033]Block_number代表LDPC译码块数量;
[0034]mod(A,B)代表A整除B得到的结果。
[0035]可选的,所述基于自适应配置的LDPC译码器的矢量扩展指令集类型以及并行处理方式,对待译码数据进行译码操作,具体包括:
[0036]对待译码数据进行预处理操作;其中,预处理操作包括定点化操作和数据打包操作;
[0037]基于自适应配置的LDPC译码器的矢量扩展指令集类型以及并行处理方式,对预处理操作后的待译码数据进行译码操作。
[0038]可选的,所述基于自适应配置的LDPC译码器的矢量扩展指令集类型以及并行本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种通用高吞吐率的LDPC译码方法,其特征在于,包括:基于目标系统的需求,自适应配置LDPC译码器的矢量扩展指令集类型;所述目标系统为包括LDPC译码器的系统;基于自适应配置的LDPC译码器的矢量扩展指令集类型以及并行处理方式,对待译码数据进行译码操作;对初始译码结果进行硬判决操作,以得到最终译码结果;所述初始译码结果为对待译码数据进行译码操作后得到的数据。2.根据权利要求1所述的一种通用高吞吐率的LDPC译码方法,其特征在于,所述基于目标系统的需求,自适应配置LDPC译码器的矢量扩展指令集类型,具体包括:基于LDPC译码块数量以及定点化处理位宽,自适应配置LDPC译码器的译码单元采用的矢量扩展指令集类型;所述目标系统的需求包括LDPC译码块数量和定点化处理位宽。3.根据权利要求2所述的一种通用高吞吐率的LDPC译码方法,其特征在于,所述基于LDPC译码块数量以及定点化处理位宽,自适应配置LDPC译码器的译码单元采用的矢量扩展指令集类型,具体包括:根据以下公式,自适应配置LDPC译码器的译码单元采用的矢量扩展指令集类型;所述公式为:remainder=Block_number%mod(512,δ)
ꢀꢀ
(1);(1);(1);(1);(1);其中,SIMD512代表译码单元是否采用位宽为512位的矢量扩展指令集,1表示采用,0表示未采用;SIMD256代表译码单元是否采用位宽为256位的矢量扩展指令集;SIMD128代表译码单元是否采用位宽为125位的矢量扩展指令集;SIMD64代表译码单元是否采用位宽为64位的矢量扩展指令集;SIMD32代表译码单元是否采用位宽为32位的矢量扩展指令集;remainder代表LDPC译码块在进行目标值分组后多余的LDPC译码块个数;目标值为
512/δ;δ代表定点化处理位宽;Block_number代表LDPC译码块数量;mod(A,B)代表A整除B得到的结果。4.根据权利要求1所述的一种通用高吞吐率的LDPC译码方法,其特征在于,所述基于自适应配置的LDPC译码器的矢量扩展指令集类型以及并行处理方式,对待译码数据进行译码操作,具体包括:对待译码数据进行预处理操作;其中,预处理操作包括定点化操作和数据打包操作;基于自适应配置的LDPC译码器的矢量扩展指令集类型以及并行处理方式,对预处理操作后的待译码数据进行译码操作。5.根据权利要求4所述的一种通用高吞吐率的LDPC译码方法,其特征在于,所述基于自适应配置的LDPC译码器的矢量扩展指令集类型以及并行处理方式,对预处理操作后的待译码数据进行译码操作,具体包括:判断当前迭代次数是否小于设定迭代次数,得到第一判断结果;若所述第一判断结果表示所述当前迭代次数等于所述设定迭代次数,则将当前迭代次数对应的消息节点的值确定初始译码结果;若所述第一判断结果表示所述当前迭代次数小于所述设定迭代次数,则令i=i+1,更新当前迭代次数对应的消息节点的值,并返回判断当前迭代次数是否小于设定迭代次数,得到第一判断结果的步骤;i表示当前迭代次数;当前迭代次数对应的消息节点的值的计算公式为当前迭代次数对应的消息节点的值的计算公式为表示当前迭代次数对应的消息节点的值,表示当前迭代次数对应的校验节点传递到消息节点的值,表示当前迭代次数对应的消息节点传递到校验节点的值;n代表第n个信息节点;m代表第m个检验节点;所述预处理操作后的待译码数据为初始化消息节点的值。6.根据权利...

【专利技术属性】
技术研发人员:尹航戴景鑫杨占昕
申请(专利权)人:浙江极传信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1