LDPC译码器的译码方法和系统技术方案

技术编号:33274814 阅读:38 留言:0更新日期:2022-04-30 23:33
本发明专利技术涉及数据存储技术领域,提供一种LDPC译码器的译码方法和系统,方法包括:在采用列分层最小和译码算法进行列更新时,根据当前迭代过程得到的当前列的变量节点传递给校验节点的信息中的最小值确定当前迭代过程中的真实最小值的近似估计值,真实最小值为所有列的变量节点传递给校验节点的信息全排序后得到的最小值;在进行当前迭代过程的列更新的同时,采用流水线的方式进入下一列更新的水平运算,在下一列更新过程采用所述近似估计值作为真实最小值计算校验节点传递给变量节点的信息。本发明专利技术能够在进行当前列的更新时根据近似估计值快速实现下一列的水平计算,方便硬件进行流水实现,从而大大降低延迟,提高带宽。提高带宽。提高带宽。

【技术实现步骤摘要】
LDPC译码器的译码方法和系统


[0001]本专利技术涉及LDPC译码器
,尤其涉及一种LDPC译码器的译码方法和系统。

技术介绍

[0002]低密度奇偶校验码(英文简称为LDPC)因在纠错能力、译码吞吐率和算法复杂度这几个关键指标上具备良好的综合性能,因此在2000年以后被广泛应用于移动、固网标准,同时也是当前固态存储控制器的主流纠错码。LDPC译码器基于校验矩阵来进行译码。每一个奇偶校验矩阵H,存在一个对应的Tanner二分图(英文为bipartitle Tanner graph)。Tanner图中包含两种节点:变量节点(variable node,简称VN)和校验节点(check node,简称CN)。参见图1,每个VN代表H中的一列,每个CN则表示H的一行;当H中某行某列的元素为1时,Tanner图中对应的VN和CN用一条线连接。图1给出了一个H到Tanner图的映射实例。为了将最初由LDPC的专利技术者R.Gallager提出的译码算法实用化,并尽可能地保持纠错能力,LDPC的译码算法的演变大致经历了从和积(即sum product)算法,到对数域的belief propagation(简称log BP),再到最小和(min

sum)算法及其各种变形。在这个过程中,校验节点运算中复杂的乘法运算首先被简化为更为简单的对数和加法运算,使得LDPC在不损失纠错能力的同时,第一次具备了在芯片上实现的可能性;接着,对对数和加法运算被更为简单的最小、次小排序算法替代,虽然损失了少许纠错性能,但也使得算法对信道参数的估计不再敏感。因此,目前大多数LDPC译码器使用的都是由min

sum衍生出的各种算法。现有min

sum衍生算法包括标准min

sum、row layered min

sum以及column layered min

sum算法。其中的Layered算法相对于标准min

sum具有迭代收敛更快的优势,而且灵活性更高,不需要完整算完一次迭代而提前终止迭代,近年来layered min

sum算法被广泛工程应用。
[0003]下面针对column layered min

sum算法进行一些介绍。假设校验矩阵的行数为M,列数为N。R
ij
表示第i个校验节点传递给第j个变量节点的信息。Q
ij
表示第j个变量节点传递给第i个校验节点的信息。LLR
j
表示译码器针对第j列输入的对数似然比软信息,C表示输出的译码码字,H为校验矩阵,即,LLR
j
为译码器的输入信息,C为译码器的输出信息,校验矩阵H是译码器在将输入信息转化为输出信息的过程中所使用的数据。N(i)表示校验矩阵中所有第i行所有列的的集合,M(j)表示校验矩阵中第j列所有行的集合。
[0004]其中,译码器的校验过程大致包括:首先,进行初始化;然后,进行多次迭代计算。当前迭代次数为t,为最大迭代次数。在每一次迭代过程中,针对每一列需要进行如下过程:(1)利用如下计算式进行水平运算:
在上述计算式中,对第i个校验节点传递给第j个变量节点的信息R
ij
进行更新,在第一计算式中,需要用到的第i行除了第j列外的其余各列数据中的最小值。
[0005]其中, 0 <= r < j时,; j < r < N,。
[0006](2)进行竖直计算,实现对第二传递矩阵的更新;(3)对第j列对应的外信息进行更新;(4)利用如下计算式进行第j列校验:(4)利用如下计算式进行第j列校验:也就是说,如果C*H为0,则说明在码字C更新到第j列时校验成功,此时退出循环,不必完成当前迭代过程的所有列。另外上一列更新的Q
ij
会立刻进入到下一列运算中,从而加速迭代运算的收敛。如果不为0,则进行对下一列进行上述水平计算、竖直计算、外信息计算、校验过程。
[0007]基于上述过程,在传统column layered min

sum算法中,在利用第一计算式进行水平计算式需要用第i行所有列中除了第j列外的其余各列对应的数据,进而计算出这些数据中的最小值。即便是LDPC稀疏矩阵,一行中非零元素也有可能从十几到上百个之多。硬件实现时候很难一个时钟周期计算出结果,从而导致后面一列不能下一个时钟周期开始流水计算,参见图2。如图所示,硬件实现时外信息更新可以与竖直运算同步进行,并不需要占据额外的时钟周期。假设一列的运算需要d个时钟周期,图中水平运算用了d

2个时钟周期,竖直运算用了1个时钟周期,校验运算用了一个时钟周期。一次迭代过程最少需要的时间为(d

1)*N个时钟周期。一次迭代过程的时间过长,会导致无法满足无线通信或者固态硬盘中低延迟、高带宽的需求,因此需要缩短一次迭代过程所需要的时钟周期的个数。

技术实现思路

[0008]为了解决上述技术问题或者至少部分地解决上述技术问题,本专利技术提供了一种LDPC译码器的译码方法和系统。
[0009]本专利技术的一个方面,提供了一种LDPC译码器的译码方法,包括:在采用列分层最小和译码算法进行列更新时,根据当前迭代过程得到的当前列的变量节点传递给校验节点的信息中的最小值确定当前迭代过程中的真实最小值的近似估计值,所述真实最小值为所有列的变量节点传递给校验节点的信息全排序后得到的最小值;在进行当前迭代过程的列更新的同时,采用流水线的方式进入下一列更新的水平运算,在下一列更新过程采用所述近似估计值作为真实最小值计算校验节点传递给变量节点的信息。
[0010]进一步地,所述根据当前迭代过程得到的当前列的变量节点传递给校验节点的信
息中的最小值确定当前迭代过程中的真实最小值的近似估计值,包括:在当前迭代过程进行列更新时,将当前列的变量节点传递给校验节点的信息中的最小值与当前列的前一列的变量节点传递给校验节点的信息中的历史最小值进行比较,若小于所述历史最小值,则将当前列的变量节点传递给校验节点的信息中的最小值作为真实最小值的近似估计值,否则将所述历史最小值作为真实最小值的近似估计值。
[0011]进一步地,所述方法还包括:若当前列为当前迭代过程的第0列,则采用上一迭代过程的真实最小值作为历史最小值进行比较,以确定当前迭代过程中的真实最小值的近似估计值。
[0012]进一步地,所述方法还包括:在完成当前迭代过程的所有列更新之后,将所有列的变量节点传递给校验节点的信息进行全排序,将全排序后得到的最小值作为真实最小值。
[0013]进一步地,所述方法还包括:在进入下一迭代过程的列更新时,采用所述真实最小值更新所述近似估计值。
[0014]进一步地,所述方法还包括:根据更新后的列信息计算当前列对应的外信息,并根据所述外本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种LDPC译码器的译码方法,其特征在于,包括:在采用列分层最小和译码算法进行列更新时,根据当前迭代过程得到的当前列的变量节点传递给校验节点的信息中的最小值确定当前迭代过程中的真实最小值的近似估计值,所述真实最小值为所有列的变量节点传递给校验节点的信息全排序后得到的最小值;在进行当前迭代过程的列更新的同时,采用流水线的方式进入下一列更新的水平运算,在下一列更新过程采用所述近似估计值作为真实最小值计算校验节点传递给变量节点的信息。2.根据权利要求1所述的方法,其特征在于,所述根据当前迭代过程得到的当前列的变量节点传递给校验节点的信息中的最小值确定当前迭代过程中的真实最小值的近似估计值,包括:在当前迭代过程进行列更新时,将当前列的变量节点传递给校验节点的信息中的最小值与当前列的前一列的变量节点传递给校验节点的信息中的历史最小值进行比较,若小于所述历史最小值,则将当前列的变量节点传递给校验节点的信息中的最小值作为真实最小值的近似估计值,否则将所述历史最小值作为真实最小值的近似估计值。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:若当前列为当前迭代过程的第0列,则采用上一迭代过程的真实最小值作为历史最小值进行比较,以确定当前迭代过程中的真实最小值的近似估计值。4.根据权利要求1

3任一项所述的方法,其特征在于,所述方法还包括:在完成当前迭代过程的所有列更新之后,将所有列的变量节点传递给校验节点的信息进行全排序,将全排序后得到的最小值作为真实最小值。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:在进入下一迭代过程的列更新时,采用所述真实最小值更新所述近似估计值。6.根据权利要求4所述的方法,其特征在于,所...

【专利技术属性】
技术研发人员:黄孝勇薛红军王嵩杨骥
申请(专利权)人:北京得瑞领新科技有限公司
类型:发明
国别省市:

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

1