一种LDPC分层译码方法和LDPC译码器技术

技术编号:32481232 阅读:13 留言:0更新日期:2022-03-02 09:45
本申请提供了LDPC分层译码方法和LDPC译码器,包括:获取分层校验矩阵;在当前迭代次数下,以层间流水方式对多层进行基于对应子校验矩阵的更新计算处理;对当前迭代次数下最后一层对应的更新计算处理后的后验概率值进行译码判决,若译码判决失败,则将当前迭代次数加1,返回执行在当前迭代次数下,以层间流水方式对多层进行基于对应子校验矩阵的更新计算处理,直至译码判决成功,或者,当前迭代次数达到设定迭代次数。本申请采用层间流水方式,消除了层间空拍,降低了层间处理延迟,提升了译码器工作速度,并且,本申请在更新计算处理时,会计算后验概率更新差值,并基于后验概率更新差值更新指定存储中的后验概率值,确保了在层间流水时的译码性能。流水时的译码性能。流水时的译码性能。

【技术实现步骤摘要】
一种LDPC分层译码方法和LDPC译码器


[0001]本申请涉及通信领域,特别是涉及一种LDPC译码方法和LDPC译码器。

技术介绍

[0002]学术界基本的LDPC(Low

density Parity

check,低密度奇偶校验)译码算法是一种泛洪式的全并行译码方案,在每一轮迭代译码中,先对所有校验节点并行更新,然后对所有变量节点并行更新,再根据变量节点的后验信息进行译码判决,这种泛洪译码在译码器实现时需要消耗极大的计算资源和存储资源。
[0003]业内5GNR在实现LDPC译码时,通常采用分层式的译码方案,即根据5GNR LDPC码的基图和扩展因子对校验矩阵分层,在每一轮迭代译码中以层为单位依次对各层进行更新计算处理,即一层更新计算完后再进行下一层更新计算;每一层更新计算处理均是以从存储中读取变量节点的后验概率值开始,经过变量节点更新、校验节点更新的过程,再以计算变量节点的后验概率值并写回存储结束。在5GNR LDPC中,由于变量节点数目(对应于码长)远大于译码器并行宽度,所以每一层的更新计算处理都以层内并行流水的方式进行,具体参见图1a所示的层内并行流水方式,假设每一层读入信息需要Nr拍数,从每一次读入信息经过计算处理到写回信息需要Nh拍数,则一层信息从第一次读入信息到最后一次写回信息需要(Nr+Nh)拍数。
[0004]由于分层调度是单层单层更新计算的,所以需要的存储资源比泛洪调度少,并且,分层调度方案因每一层更新的消息能够马上用于后续节点更新,因此具有译码收敛速度快的优势,设置较少的迭代次数即可达到洪泛调度方案相同的译码性能。但是,基本的分层方案要求一层计算完后再进行下一层计算,所以层与层之间并没有实现流水处理,如图1b所示,层与层之间处理延迟(Nr+Nh)拍,存在处理上的空拍问题,空拍数为Nh,在处理时序上造成了浪费,层间时延过长。

技术实现思路

[0005]有鉴于此,本申请提供了一种LDPC译码方法和LDPC译码器,用于解决现有技术层间时延过长的问题,其技术方案如下:
[0006]一种LDPC分层译码方法,应用于LDPC译码器,包括:
[0007]获取分层校验矩阵,其中,分层校验矩阵包括多层对应的子校验矩阵,多层对应的子校验矩阵的行数和列数均相同,且列数与分层校验矩阵的列数相同,任一层对应的子校验矩阵的各行行重相同,各列列重为0或1,且每行对应一校验节点,每列对应一变量节点;
[0008]在当前迭代次数下,以层间流水方式对多层进行基于对应子校验矩阵的更新计算处理,其中,任一层对应的更新计算处理中均包括后验概率更新差值计算处理和更新差值累加处理,后验概率更新差值计算处理用于计算该层与校验节点相连的变量节点的后验概率更新差值,更新差值累加处理用于基于后验概率更新差值将指定存储中对应变量节点的后验概率值更新为更新计算处理后的后验概率值;
[0009]对当前迭代次数下最后一层对应的更新计算处理后的后验概率值进行译码判决,若译码判决失败,则将当前迭代次数加1,返回执行在当前迭代次数下,以层间流水方式对多层进行基于对应子校验矩阵的更新计算处理,直至译码判决成功,或者,当前迭代次数达到设定迭代次数。
[0010]可选的,针对多层中的每一层,对该层进行基于对应子校验矩阵的更新计算处理,包括:
[0011]基于该层对应的子校验矩阵,从指定存储中读取目标变量节点的后验概率值,其中,目标变量节点为该层与校验节点相连的变量节点,目标变量节点的后验概率值为该层的前一层或前多层下目标变量节点对应的更新计算处理后的后验概率值;
[0012]根据目标变量节点的后验概率值和该层对应的子校验矩阵,确定目标变量节点传递给相连的目标校验节点的对数最大似然比值;
[0013]根据目标变量节点传递给相连的目标校验节点的对数最大似然比值和该层对应的子校验矩阵,计算当前迭代次数下该层对应的目标校验节点传递给相连的目标变量节点的对数最大似然比值;
[0014]根据当前迭代次数下该层对应的目标校验节点传递给相连的目标变量节点的对数最大似然比值,确定目标变量节点的后验概率更新差值;
[0015]基于目标变量节点的后验概率更新差值将指定存储中对应变量节点的后验概率值更新为更新计算处理后的后验概率值,以得到当前迭代次数下该层对应的更新计算处理后的后验概率值。
[0016]可选的,根据当前迭代次数下该层对应的目标校验节点传递给相连的目标变量节点的对数最大似然比值,确定目标变量节点的后验概率更新差值,包括:
[0017]获取当前迭代次数的前一迭代次数下该层对应的目标校验节点传递给相连的目标变量节点的对数最大似然比值;
[0018]计算当前迭代次数下该层对应的目标校验节点传递给相连的目标变量节点的对数最大似然比值,与,当前迭代次数的前一迭代次数下该层对应的目标校验节点传递给相连的目标变量节点的对数最大似然比值的差值,作为目标变量节点的后验概率更新差值。
[0019]可选的,基于目标变量节点的后验概率更新差值将指定存储中对应变量节点的后验概率值更新为更新计算处理后的后验概率值,包括:
[0020]将目标变量节点的后验概率更新差值累加写回对应变量节点的后验概率值在指定存储中的位置;
[0021]或,
[0022]从指定存储中再次读取目标变量节点的后验概率值;
[0023]对目标变量节点的后验概率更新差值和再次读取的目标变量节点的后验概率值求和,得到当前迭代次数下该层对应的更新计算处理后的后验概率值;
[0024]将当前迭代次数下该层对应的更新计算处理后的后验概率值写回指定存储。
[0025]可选的,将目标变量节点的后验概率更新差值累加写回对应变量节点的后验概率值在指定存储中的位置,包括:
[0026]对于目标变量节点包含的每个变量节点,将该变量节点的后验概率更新差值累加写回该变量节点的后验概率值在指定存储中的位置。
[0027]一种LDPC译码器,包括:分层校验矩阵获取模块、更新计算处理模块和译码判决模块;
[0028]分层校验矩阵获取模块,用于获取分层校验矩阵,其中,分层校验矩阵包括多层对应的子校验矩阵,多层对应的子校验矩阵的行数和列数均相同,且列数与分层校验矩阵的列数相同,任一层对应的子校验矩阵的各行行重相同,各列列重为0或1,且每行对应一校验节点,每列对应一变量节点;
[0029]更新计算处理模块,用于在当前迭代次数下,以层间流水方式对多层进行基于对应子校验矩阵的更新计算处理,其中,任一层对应的更新计算处理中均包括后验概率更新差值计算处理和更新差值累加处理,后验概率更新差值计算处理用于计算该层与校验节点相连的变量节点的后验概率更新差值,更新差值累加处理用于基于后验概率更新差值将指定存储中对应变量节点的后验概率值更新为更新计算处理后的后验概率值;
[0030]译码判决模块,用于对当前迭代次数下最后一层对应的更新计算处理后的后验概本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种LDPC分层译码方法,其特征在于,应用于LDPC译码器,包括:获取分层校验矩阵,其中,所述分层校验矩阵包括多层对应的子校验矩阵,所述多层对应的子校验矩阵的行数和列数均相同,且列数与所述分层校验矩阵的列数相同,任一层对应的子校验矩阵的各行行重相同,各列列重为0或1,且每行对应一校验节点,每列对应一变量节点;在当前迭代次数下,以层间流水方式对所述多层进行基于对应子校验矩阵的更新计算处理,其中,任一层对应的更新计算处理中均包括后验概率更新差值计算处理和更新差值累加处理,所述后验概率更新差值计算处理用于计算该层与校验节点相连的变量节点的后验概率更新差值,所述更新差值累加处理用于基于所述后验概率更新差值将指定存储中对应变量节点的后验概率值更新为更新计算处理后的后验概率值;对所述当前迭代次数下最后一层对应的更新计算处理后的后验概率值进行译码判决,若所述译码判决失败,则将所述当前迭代次数加1,返回执行所述在当前迭代次数下,以层间流水方式对所述多层进行基于对应子校验矩阵的更新计算处理,直至所述译码判决成功,或者,所述当前迭代次数达到设定迭代次数。2.根据权利要求1所述的LDPC分层译码方法,其特征在于,针对所述多层中的每一层,对该层进行基于对应子校验矩阵的更新计算处理,包括:基于该层对应的子校验矩阵,从所述指定存储中读取目标变量节点的后验概率值,其中,所述目标变量节点为该层与校验节点相连的变量节点,所述目标变量节点的后验概率值为该层的前一层或前多层下所述目标变量节点对应的更新计算处理后的后验概率值;根据所述目标变量节点的后验概率值和该层对应的子校验矩阵,确定所述目标变量节点传递给相连的目标校验节点的对数最大似然比值;根据所述目标变量节点传递给相连的目标校验节点的对数最大似然比值和该层对应的子校验矩阵,计算所述当前迭代次数下该层对应的所述目标校验节点传递给相连的所述目标变量节点的对数最大似然比值;根据所述当前迭代次数下该层对应的所述目标校验节点传递给相连的所述目标变量节点的对数最大似然比值,确定所述目标变量节点的后验概率更新差值;基于所述目标变量节点的后验概率更新差值将所述指定存储中对应变量节点的后验概率值更新为更新计算处理后的后验概率值,以得到所述当前迭代次数下该层对应的更新计算处理后的后验概率值。3.根据权利要求2所述的LDPC分层译码方法,其特征在于,所述根据所述当前迭代次数下该层对应的所述目标校验节点传递给相连的所述目标变量节点的对数最大似然比值,确定所述目标变量节点的后验概率更新差值,包括:获取所述当前迭代次数的前一迭代次数下该层对应的所述目标校验节点传递给相连的所述目标变量节点的对数最大似然比值;计算所述当前迭代次数下该层对应的所述目标校验节点传递给相连的所述目标变量节点的对数最大似然比值,与,所述当前迭代次数的前一迭代次数下该层对应的所述目标校验节点传递给相连的所述目标变量节点的对数最大似然比值的差值,作为所述目标变量节点的后验概率更新差值。4.根据权利要求2所述的LDPC分层译码方法,其特征在于,所述基于所述目标变量节点
的后验概率更新差值将所述指定存储中对应变量节点的后验概率值更新为更新计算处理后的后验概率值,包括:将所述目标变量节点的后验概率更新差值累加写回对应变量节点的后验概率值在所述指定存储中的位置;或,从所述指定存储中再次读取所述目标变量节点的后验概率值;对所述目标变量节点的后验概率更新差值和再次读取的所述目标变量节点的后验概率值求和,得到所述当前迭代次数下该层对应的更新计算处理后的后验概率值;将所述当前迭代次数下该层对应的更新计算处理后的后验概率值写回所述指定存储。5.根据权利要求4所述的LDPC分层译码方法,其特征在于,所述将所述目标变量节点的后验概率更新差值累加写回对应变量节点的后验概率值在所述指定存储中的位置,包括:对于所述目标变量节点包含的每个变量节点,将该变量节点的后验概率更新差值累加写回该变量节点的后验概率值在所述指定存储中的位置。6.一种LDPC译码器,其特征在于,包括:分层校验矩阵获取模块、更新计算处理模块和译码判决模块;所述分层校验矩阵获取模块,用于...

【专利技术属性】
技术研发人员:郭璟张欣瑜张秉耀李桓刘子君郭晨
申请(专利权)人:北京思朗科技有限责任公司
类型:发明
国别省市:

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

1