一种分层译码的装置和方法与流程

专利检索2025-04-30  16


本发明涉及信道编码领域,特别是涉及一种分层译码的装置和方法。


背景技术:

1、数字信号在传输过程中不可避免的会受到损伤与噪声的干扰,在接收端解调时存在误码情况。为了检错与纠错,需要采用信号编码技术。低密度奇偶检查码(low-densityparity-check code,简写为ldpc)是一种稀疏校验矩阵线性分组码,它的性能逼近香农极限,是一种广泛应用于5g、卫星高速数传、固态硬盘(solid state disk或solid statedrive,简称ssd)存储等场景的纠错码。而准循环低密度奇偶检查码(quasi-cyclic low-density parity-check code,简写为qc-ldpc)是一类特殊的ldpc码,因其规则性便于存储与硬件实现,被ccsds、ieee等标准组织所采用。

2、在学术界,ldpc的译码常采用和积译码算法、最小和译码算法和分层最小和译码算法。由于和积译码算法存在着大量的非线性运算,计算复杂度偏高,因此在业界常使用最小和译码算法和分层最小和译码算法。分层最小和译码算法采用单层的更新计算,每完成一层的更新计算后就会将对数似然比进行一次更新,并马上用于下一层的更新,因此具有更快的收敛速度和译码性能。但也正是因为分层的更新,每一层都需要时间进行更新,导致译码的时延很大,吞吐率很低。

3、因此,基于分层最小和译码的传统qc-ldpc分层译码器,因为需要逐层译码,译码延时大,吞吐率低。存储数据多采用循环移位寄存器,在恶劣工作场景容易发生电平反转出错,稳定性差。此外,在解决数据存取冲突时,传统分层译码器需要尽可能压缩层间流水级数,降低冲突发生的概率,压缩流水级数导致每个时钟周期的逻辑复杂,限制现场可编程逻辑门阵列(field programmable gate array,简写为fpga)的时钟频率,不利于高速实现。

4、鉴于此,如何克服现有技术所存在的缺陷,解决现有分层译码器稳定性差且译码效率低的现象,是本技术领域待解决的问题。


技术实现思路

1、针对现有技术的以上缺陷或改进需求,本发明解决了现有分层译码器稳定性差且译码效率低的问题。

2、本发明实施例采用如下技术方案:

3、第一方面,本发明提供了一种分层译码的装置,具体为:初始化模块、译码器和判决模块,具体的:初始化模块用于缓存输入的对数似然比,并按照指定的并行路数和时钟顺序,将对数似然比并行输出至译码器;译码器包含至少二个串行的译码单元,每个译码单元用于对前一级输出的对数似然比进行一层译码,并将最后一层译码后的对数似然比输出至判决模块,其中,译码单元使用随机存取存储器进行数据存储;判决模块用于根据译码后的对数似然比的值,将对数似然比判决为0或1的比特信息。

4、优选的,所述译码单元包含对数似然比存储模块、校验信息存储模块和联合更新模块,具体的:对数似然比存储模块用于缓存前一级译码单元输入的对数似然比,并缓存本级译码单元更新后的对数似然比;校验信息存储模块用于缓存前一级译码单元输入的校验信息,并缓存本级译码单元更新后的校验信息;联合更新模块用于根据校验矩阵进行对数似然比和校验信息的更新,并将更新后的对数似然比和校验信息输出至下一级译码单元。

5、优选的,具体包括:对数似然比存储模块中的随机存取存储器的数量与指定的并行路数相同,每个随机存取存储器的存储深度与校验矩阵中每个循环矩阵的列数相同,用于按照时钟顺序依次存储每一路输入的对数似然比。

6、优选的,还包括:根据校验矩阵中循环矩阵的个数、指定的吞吐率参数和指定的迭代次数,计算译码器中译码单元的数量。

7、另一方面,本发明提供了一种分层译码的方法,具体为:使用第一方面所述的分层译码装置进行译码,具体包括:根据校验矩阵的大小设置循环计数器的属性值,循环计数器根据设置的属性值开始计数获取校验矩阵每一行中循环矩阵的个数,以每个循环计数器的数值作为读地址,根据读地址从对数似然比存储模块的随机存取存储器中读取相应个数的对数似然比;读取校验信息,将读取到的对数似然比和校验信息进行更新根据读地址的缓存时延获取写地址,根据写地址,将更新后的对数似然比写入对数似然比存储模块相应的随机存取存储器中,并将校验信息写入校验信息存储模块相应的随机存取存储器中;根据指定的吞吐率参数和每个循环矩阵的行数计算当前译码单元的更新次数,完成相应更新次数的更新后,将校验信息存储模块和对数似然比存储模块中的缓存的数据转移到下一级译码单元中。

8、优选的,所述根据校验矩阵的大小设置循环计数器的属性值,具体包括:将译码单元的联合更新模块中循环计数器的最小值设置为1,将循环计数器的最大值设置为校验矩阵中循环矩阵的列数;获取校验矩阵中每个循环矩阵第一行值为1的列数,将循环计数器的初值设置为获取的列数。

9、优选的,所述根据读地址的缓存时延获取写地址,具体包括:以联合更新模块的处理时延和存储模块的读时延之和作为读地址的缓存时延,计算读地址的缓存时延中包含的时钟周期数;对于每个读取到的对数似然比或校验信息,将该对数似然比或校验信息的读地址进行缓存,经过读地址的缓存时延中包含的时钟周期数后,将缓存的读地址值作为相应时钟周期中该对数似然比或校验信息的写地址。

10、优选的,还包括:每个时钟周期中,各译码单元采用流水线方式处理循环矩阵中的每一行数据,直至一个循环矩阵中的所有行处理完成;根据当前的循环矩阵最后一行的值和下一个循环矩阵第一行的值,以及联合更新模块的处理时延,计算需要插入的空拍数;向译码单元中插入所述空拍数的空拍,再使用流水线方式处理下一个循环矩阵用的每一行数据。

11、优选的,所述根据当前的循环矩阵最后一行的值和下一个循环矩阵第一行的值,以及联合更新模块的处理时延,计算需要插入的空拍数,具体包括:获取当前循环矩阵最后一行中所有数值为1的第一列序号,组成第一集合;获取下一个循环矩阵第一行中所有数值为1的第二列序号,将获取到的第二列序号增加1,组成第二集合;在第一集合查找第一列序号,在第二集合中查找第二列序号,使查找到的每一个第一列序号和第二列序号的组合满足:第一列序号与处理时延之差不大于第二列序号,且第二列序号不大于第一列序号;对于查找到的第一列序号和第二列序号的组合,计算第二列序号和第一列序号的差与处理时延之和,获取计算出的和的最大值作为需要插入的空拍数的最小值。

12、优选的,还包括:进行数据读写时,开启内存校验,和/或,开启数据纠错功能。

13、与现有技术相比,本发明的有益效果在于:本发明提供的分层译码装置中,将多次迭代译码分配给多个译码单元,这些译码单元采用流水线设计,每个译码单元的处理时延很小,能快速完成本译码单元需要进行的数据处理,并快速接收新输入的数据,因此吞吐率大幅提升。同时,装置中的存储器件使用随机存取存储器(random access memory,简写为ram)替代了传统的移位寄存器,稳定性更好,更适用于太空、水下等恶劣工作场景。

14、另一方面,本发明提供的分层译码方法,通过插入空拍消除了数据更新冲突问题,使分层译码装置可以采用流水线设计,每个时钟周期都可以完成一层译码,大幅提高了译码效率,降低了分层译码的时延。


技术特征:

1.一种分层译码的装置,其特征在于,包括:初始化模块、译码器和判决模块,具体的:

2.根据权利要求1所述的分层译码的装置,其特征在于,所述译码单元包含对数似然比存储模块、校验信息存储模块和联合更新模块,具体的:

3.根据权利要求2所述的分层译码的装置,其特征在于,具体包括:

4.根据权利要求3所述的分层译码的装置,其特征在于,还包括:

5.一种分层译码的方法,其特征在于,使用权利要求1-4中任一项所述的分层译码装置进行译码,具体包括:

6.根据权利要求5所述的分层译码的方法,其特征在于,所述根据校验矩阵的大小设置循环计数器的属性值,具体包括:

7.根据权利要求5所述的分层译码的方法,其特征在于,所述根据读地址的缓存时延获取写地址,具体包括:

8.根据权利要求5所述的分层译码的方法,其特征在于,还包括:

9.根据权利要求8所述的分层译码的方法,其特征在于,所述根据当前的循环矩阵最后一行的值和下一个循环矩阵第一行的值,以及联合更新模块的处理时延,计算需要插入的空拍数,具体包括:

10.根据权利要求5所述的分层译码的方法,其特征在于,还包括:


技术总结
本发明涉及信道编码领域,特别是涉及一种分层译码的装置和方法。主要包括:初始化模块、译码器和判决模块,初始化模块用于缓存输入的对数似然比,并按照指定的并行路数和时钟顺序,将对数似然比并行输出至译码器;译码器包含至少二个串行的译码单元,每个译码单元用于对前一级输出的对数似然比进行一层译码,并将最后一层译码后的对数似然比输出至判决模块,其中,译码单元使用随机存取存储器进行数据存储;判决模块用于根据译码后的对数似然比的值,将对数似然比判决为0或1的比特信息。本发明使用随机存取存储器替代了传统的移位寄存器,稳定性更好,更适用于太空、水下等恶劣工作场景。

技术研发人员:李天明,周可籍,饶宸杰,陈浩天,徐瑞晚
受保护的技术使用者:烽火通信科技股份有限公司
技术研发日:
技术公布日:2024/5/29
转载请注明原文地址:https://win.8miu.com/read-1153223.html

最新回复(0)