CN114421973B - Ldpc译码器的译码方法和*** - Google Patents

Ldpc译码器的译码方法和*** Download PDF

Info

Publication number
CN114421973B
CN114421973B CN202210309179.3A CN202210309179A CN114421973B CN 114421973 B CN114421973 B CN 114421973B CN 202210309179 A CN202210309179 A CN 202210309179A CN 114421973 B CN114421973 B CN 114421973B
Authority
CN
China
Prior art keywords
minimum value
column
current
real
iteration process
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210309179.3A
Other languages
English (en)
Other versions
CN114421973A (zh
Inventor
黄孝勇
薛红军
王嵩
杨骥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dera Technology Co Ltd
Original Assignee
Beijing Dera Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Dera Technology Co Ltd filed Critical Beijing Dera Technology Co Ltd
Priority to CN202210309179.3A priority Critical patent/CN114421973B/zh
Publication of CN114421973A publication Critical patent/CN114421973A/zh
Application granted granted Critical
Publication of CN114421973B publication Critical patent/CN114421973B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

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

Description

LDPC译码器的译码方法和***
技术领域
本发明涉及LDPC译码器技术领域,尤其涉及一种LDPC译码器的译码方法和***。
背景技术
低密度奇偶校验码(英文简称为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)算法,到对数域的beliefpropagation(简称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算法被广泛工程应用。
下面针对column layered min-sum算法进行一些介绍。假设校验矩阵的行数为M,列数为N。Rij表示第i个校验节点传递给第j个变量节点的信息。Qij表示第j个变量节点传递给第i个校验节点的信息。LLRj表示译码器针对第j列输入的对数似然比软信息,C表示输出的译码码字,H为校验矩阵,即,LLRj为译码器的输入信息,C为译码器的输出信息,校验矩阵H是译码器在将输入信息转化为输出信息的过程中所使用的数据。N(i)表示校验矩阵中所有第i行所有列的的集合,M(j)表示校验矩阵中第j列所有行的集合。
其中,译码器的校验过程大致包括:
首先,进行初始化;
Figure 888822DEST_PATH_IMAGE001
然后,进行多次迭代计算。当前迭代次数为t,
Figure 993045DEST_PATH_IMAGE002
为最大迭代次数。在每一次迭代过程中,针对每一列需要进行如下过程:
(1)利用如下计算式进行水平运算:
Figure 742695DEST_PATH_IMAGE003
在上述计算式中,对第i个校验节点传递给第j个变量节点的信息Rij进行更新,在第一计算式中,需要用到
Figure 274170DEST_PATH_IMAGE004
的第i行除了第j列外的其余各列数据中的最小值。
其中, 0 <= r < j时,
Figure 883006DEST_PATH_IMAGE005
; j < r < N,
Figure 790919DEST_PATH_IMAGE006
(2)进行竖直计算,实现对第二传递矩阵的更新;
Figure 536021DEST_PATH_IMAGE007
(3)对第j列对应的外信息进行更新;
Figure 113764DEST_PATH_IMAGE008
(4)利用如下计算式进行第j列校验:
Figure 209896DEST_PATH_IMAGE009
Figure 655921DEST_PATH_IMAGE011
也就是说,如果C*H为0,则说明在码字C更新到第j列时校验成功,此时退出循环,不必完成当前迭代过程的所有列。另外上一列更新的Qij会立刻进入到下一列运算中,从而加速迭代运算的收敛。如果不为0,则进行对下一列进行上述水平计算、竖直计算、外信息计算、校验过程。
基于上述过程,在传统column layered min-sum算法中,在利用第一计算式进行水平计算式需要用第i行所有列中除了第j列外的其余各列对应的数据,进而计算出这些数据中的最小值。即便是LDPC稀疏矩阵,一行中非零元素也有可能从十几到上百个之多。硬件实现时候很难一个时钟周期计算出结果,从而导致后面一列不能下一个时钟周期开始流水计算,参见图2。如图所示,硬件实现时外信息更新可以与竖直运算同步进行,并不需要占据额外的时钟周期。假设一列的运算需要d个时钟周期,图中水平运算用了d-2个时钟周期,竖直运算用了1个时钟周期,校验运算用了一个时钟周期。一次迭代过程最少需要的时间为(d-1)*N个时钟周期。一次迭代过程的时间过长,会导致无法满足无线通信或者固态硬盘中低延迟、高带宽的需求,因此需要缩短一次迭代过程所需要的时钟周期的个数。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本发明提供了一种LDPC译码器的译码方法和***。
本发明的一个方面,提供了一种LDPC译码器的译码方法,包括:
在采用列分层最小和译码算法进行列更新时,根据当前迭代过程得到的当前列的变量节点传递给校验节点的信息中的最小值确定当前迭代过程中的真实最小值的近似估计值,所述真实最小值为所有列的变量节点传递给校验节点的信息全排序后得到的最小值;
在进行当前迭代过程的列更新的同时,采用流水线的方式进入下一列更新的水平运算,在下一列更新过程采用所述近似估计值作为真实最小值计算校验节点传递给变量节点的信息。
进一步地,所述根据当前迭代过程得到的当前列的变量节点传递给校验节点的信息中的最小值确定当前迭代过程中的真实最小值的近似估计值,包括:
在当前迭代过程进行列更新时,将当前列的变量节点传递给校验节点的信息中的最小值与当前列的前一列的变量节点传递给校验节点的信息中的历史最小值进行比较,若小于所述历史最小值,则将当前列的变量节点传递给校验节点的信息中的最小值作为真实最小值的近似估计值,否则将所述历史最小值作为真实最小值的近似估计值。
进一步地,所述方法还包括:
若当前列为当前迭代过程的第0列,则采用上一迭代过程的真实最小值作为历史最小值进行比较,以确定当前迭代过程中的真实最小值的近似估计值。
进一步地,所述方法还包括:
在完成当前迭代过程的所有列更新之后,将所有列的变量节点传递给校验节点的信息进行全排序,将全排序后得到的最小值作为真实最小值。
进一步地,所述方法还包括:
在进入下一迭代过程的列更新时,采用所述真实最小值更新所述近似估计值。
进一步地,所述方法还包括:
根据更新后的列信息计算当前列对应的外信息,并根据所述外信息和校验矩阵进行校验计算,得到校验结果。
本发明的另一个方面,还提供一种LDPC译码器的译码***,包括:
竖直运算单元,用于在采用列分层最小和译码算法进行列更新时,根据当前迭代过程得到的当前列的变量节点传递给校验节点的信息中的最小值确定当前迭代过程中的真实最小值的近似估计值,所述真实最小值为当前迭代过程中所有列的变量节点传递给校验节点的信息全排序后得到的最小值;
水平运算单元,用于在进行当前迭代过程的列更新的同时,采用流水线的方式进入下一列更新的水平运算,在下一列更新过程采用所述近似估计值作为真实最小值计算校验节点传递给变量节点的信息。
进一步地,所述竖直运算单元,用于在当前迭代过程进行列更新时,将当前列的变量节点传递给校验节点的信息中的最小值与当前列的前一列的变量节点传递给校验节点的信息中的历史最小值进行比较,若小于所述历史最小值,则将当前列的变量节点传递给校验节点的信息中的最小值作为真实最小值的近似估计值,否则将所述历史最小值作为真实最小值的近似估计值。
进一步地,所述竖直运算单元,用于若当前列为当前迭代过程的第0列,则采用上一迭代过程的真实最小值作为历史最小值进行比较,以确定当前迭代过程中的真实最小值的近似估计值。
进一步地,所述竖直运算单元,用于在完成当前迭代过程的所有列更新之后,将所有列的变量节点传递给校验节点的信息进行全排序,将全排序后得到的最小值作为真实最小值;
在进入下一迭代过程的列更新时,采用所述真实最小值更新所述近似估计值。
本实施例提供的LDPC译码器的译码方法和***,通过采用近似估计值min替代真实最小值
Figure 255530DEST_PATH_IMAGE012
来计算校验节点传递给变量节点的信息,能够在进行当前列更新的竖直运算时根据近似估计值快速实现下一列更新的水平计算,无需等待当前列更新完之后才能开始下一列的更新,这样可以大大缩短一次迭代过程所需要的整体时间,方便硬件进行流水实现,从而大大降低延迟,提高带宽。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为背景技术中校验矩阵和Tanner二分图之间的映射关系示意图;
图2为背景技术中连续三列校验过程对应的处理时序图;
图3为本发明实施例中LDPC译码器的译码方法的流程示意图;
图4为采用本发明实施例提出的LDPC译码器的译码方法时连续三列校验过程对应的处理时序图;
图5为本发明实施例中LDPC译码器的译码***的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示意性示出了本发明一个实施例的LDPC译码器的译码方法的流程图。参照图1,本发明实施例的LDPC译码器的译码方法具体包括以下步骤:
S1、在采用列分层最小和译码算法进行列更新时,根据当前迭代过程得到的当前列的变量节点传递给校验节点的信息中的最小值确定当前迭代过程中的真实最小值的近似估计值,所述真实最小值为所有列的变量节点传递给校验节点的信息全排序后得到的最小值。
S2、在进行当前迭代过程的列更新的同时,采用流水线的方式进入下一列更新的水平运算,在下一列更新过程采用所述近似估计值作为真实最小值计算校验节点传递给变量节点的信息。
本发明实施例能够在当前迭代过程进行当前列更新的竖直运算的同时,采用流水线的方式进入下一列更新的水平运算,加快列更新。
在具体实施时,首先进行初始化过程,初始化过程可以包括:
Figure 128808DEST_PATH_IMAGE013
其中,N为校验矩阵的列数,M为校验矩阵的行数。Rij为校验矩阵对应的Tanner二分图中第i个校验节点向第j个变量节点传递的信息,Qij为校验矩阵对应的Tanner二分图中第i个变量节点向第j个校验节点的信息,LLRj表示译码器输入的对数似然比软信息。
在初始化之后,开始进行迭代计算,例如,t为当前迭代次数,Tmax为最大迭代次数。对于每一次迭代过程需要进行多次译码计算。本实施例采用采用列分层最小和译码算法进行列更新时。
每一列的迭代计算过程包括水平运算和竖直运算,由于水平运算时需要计算
Figure 571291DEST_PATH_IMAGE014
,该过程需要很多个时钟周期才能算完,且下一列需要等待上列更新结束后才能开始。本发明提供一种无需等待的改进算法,即用近似估计值min值来替代
Figure 555427DEST_PATH_IMAGE015
,即保证了算法的纠错性能,又使得算法可流水实现。
近似估计值的具体计算方式为:在当前迭代过程进行列更新时,将当前列的变量节点传递给校验节点的信息中的最小值与当前列的前一列的变量节点传递给校验节点的信息中的历史最小值进行比较,若小于所述历史最小值,则将当前列的变量节点传递给校验节点的信息中的最小值作为真实最小值的近似估计值,否则将所述历史最小值作为真实最小值的近似估计值。
进一步地,若当前列为当前迭代过程的第0列,则采用上一迭代过程的真实最小值作为历史最小值进行比较,以确定当前迭代过程中的真实最小值的近似估计值,也就是说,近似估计值的计算式如下:
Figure 9542DEST_PATH_IMAGE016
式中,min为近似估计值,N(i)为校验矩阵中各列在第i行的元素所形成的第一集合,其中,
Figure 427623DEST_PATH_IMAGE017
。在实际中,在第列输入时,可利用LLR逐拍输入的时间,逐拍计算出min。
在具体实施时,水平运算实现具体如下:
Figure 232768DEST_PATH_IMAGE018
式中,min为近似估计值;Rij为第i个校验节点向第j个变量节点传递的信息;N(i)为校验矩阵中各列在第i行的元素所形成的集合;
Figure 20595DEST_PATH_IMAGE019
的含义是集合N(i)中除了第j列的对应元素之外的其余元素,
Figure 594796DEST_PATH_IMAGE020
表示第i行,集合r所包含的所有列的传递信息Q。
竖直运算实现具体如下:
Figure 934511DEST_PATH_IMAGE021
式中,Qij为第j个变量节点传递给第i个校验节点的信息;LLRj为译码器输入的第j个对数似然比软信息;α为预设常数参量;M(j)为校验矩阵中各行在第j列的各个元素形成的集合;
Figure 961372DEST_PATH_IMAGE022
为集合M(j)中除了第i行之外的其余各元素;Rcj表示第j列,集合c所包含的所有行的传递信息R。
在完成当前列更新后,根据当前列的变量节点传递给校验节点的信息中的最小值确定当前迭代过程中的真实最小值的近似估计值,近似估计值近确定方式具体如下:
min(i) = min(i) >
Figure 552891DEST_PATH_IMAGE023
:min(i);
在完成当前迭代过程的所有列更新之后,将所有列的变量节点传递给校验节点的信息进行全排序,将全排序后得到的最小值作为真实最小值,真实最小值确定方式具体如下:
min_real(i) = min_real(i)>
Figure 981598DEST_PATH_IMAGE023
:min_real(i);
然后,根据更新后的列信息计算当前列对应的外信息,并根据所述外信息和校验矩阵进行校验计算。
外信息更新方式具体如下:
Figure 242946DEST_PATH_IMAGE024
检验方式具体如下:
Figure 22683DEST_PATH_IMAGE025
Figure 417893DEST_PATH_IMAGE027
式中,Qj为第j列对应的外信息;LLRj为译码器输入的第j个对数似然比软信息;α为预设常数参量;M(j)为校验矩阵中各行在第j列的各个元素形成的第二集合;Rcj表示第j列,第二集合c所包含的所有行的传递信息R。
在具体实施时,根据所述外信息和校验矩阵进行校验计算的过程可以包括:
Figure 701106DEST_PATH_IMAGE025
,然后判断C*H是否为0,若为0,则校验成功,此时本次迭代过程结束,可以进行下一次的迭代过程。如果不为0,则说明校验未成功,本次迭代过程继续。
进一步地,在进入下一迭代过程的列更新时,采用所述真实最小值更新所述近似估计值,具体实现如下:
min = min_real。
可理解的,实际计算
Figure 523569DEST_PATH_IMAGE028
用全排序的方式会导致需要的时钟周期数很多,d值很大,因此为了保证算法的纠错性能的同时,在可流水计算的基础上进一步加快处理速度,本发明提出一种快速求近似min值的方法:将计算得到的
Figure 649657DEST_PATH_IMAGE029
和min比较,如果
Figure 848557DEST_PATH_IMAGE029
<min,则将min更新为
Figure 986277DEST_PATH_IMAGE029
,否则,使用当前的min,这种方式min值计算只需要1-2个时钟周期,整列运算所需的时钟周期d也只是3-4个周期。与此同时,全排序计算
Figure 979641DEST_PATH_IMAGE028
的过程也在进行,待所有列更新完毕后将全排序计算的真实的
Figure 468391DEST_PATH_IMAGE028
(即min_real)更新掉近似的min值,保证算法的纠错性能。本发明通过采用近似的min值来替代传统算法中真实的min,并等待真实的min计算结束后更新掉近似min值,确保纠错性能不会恶化。
下面通过一个具体示例对本发明提出的LDPC译码器的列分层最小和译码算法的实现进行解释说明,具体如下:
初始化:
Figure 45216DEST_PATH_IMAGE030
min =
Figure 303022DEST_PATH_IMAGE028
,利用LLR逐拍输入的时间逐拍算出min;
开始迭代计算,t为当前迭代次数,Tmax表示最大迭代次数;
For
Figure 467287DEST_PATH_IMAGE031
begin:
对于column layered的每一列,
For
Figure 302388DEST_PATH_IMAGE032
begin :
if (j == 0 && t != 0)
min = min_real,一次迭代以后,第0列开始前将真正的min_real替换近似min值
min_real =∞,第0列开始前将min_real再初始化,准备重新计算新的min_real
水平运算:
Figure 577512DEST_PATH_IMAGE033
(1)
竖直运算:
Figure 34032DEST_PATH_IMAGE034
(2)
min(i) = min(i) >
Figure 103619DEST_PATH_IMAGE035
:min(i) (3)
min_real(i) = min_real(i)>
Figure 566962DEST_PATH_IMAGE035
:min_real(i) (4)
外信息更新:
Figure 504831DEST_PATH_IMAGE036
(5)
校验:
Figure 783234DEST_PATH_IMAGE037
(6)
Figure 23723DEST_PATH_IMAGE039
;(7)
end
end
参见图4,在本发明实施例中,无需等待当前第j列的Qi,j更新,就开始j+1列的水平运算,方便硬件实现时流水计算。当前列的Qi,j等待d个时钟周期(硬件需要d个时钟周期完成Qi,j的更新)再更新到Qi,j的存储单元中。本发明提出的LDPC译码器的列分层最小和译码算法,一次迭代过程最快只需要N+d个时钟周期,数倍的减少了时钟周期的数量。如果在一列校验中校验成功,则可以提前终止本次迭代。可见,本发明实施例提供的方法可以比较容易在硬件中实现低延迟、高带宽。
即,传统column layered min-sum算法需要等待上列更新完之后才能开始下一列的更新,而硬件实现时由于列更新中需要从几十个数中比较出最小值和次小值,往往无法在很短的时间之内计算完成,从而导致延迟大,带宽低。本发明实施例提供的采用列分层最小和译码算法improved column layered min-sum可以成倍的减少延迟,成倍的增加带宽。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
图5示意性示出了本发明一个实施例的LDPC译码器的译码***的结构示意图。参照图5,本发明实施例的LDPC译码器的译码***具体包括竖直运算单元201以及水平运算单元202,其中:
竖直运算单元201,用于在采用列分层最小和译码算法进行列更新时,根据当前迭代过程得到的当前列的变量节点传递给校验节点的信息中的最小值确定当前迭代过程中的真实最小值的近似估计值,所述真实最小值为当前迭代过程中所有列的变量节点传递给校验节点的信息全排序后得到的最小值;
水平运算单元202,用于在进行当前迭代过程的列更新的同时,采用流水线的方式进入下一列更新的水平运算,在下一列更新过程采用所述近似估计值作为真实最小值计算校验节点传递给变量节点的信息。
本发明实施例中,所述竖直运算单元201,用于在当前迭代过程进行列更新时,将当前列的变量节点传递给校验节点的信息中的最小值与当前列的前一列的变量节点传递给校验节点的信息中的历史最小值进行比较,若小于所述历史最小值,则将当前列的变量节点传递给校验节点的信息中的最小值作为真实最小值的近似估计值,否则将所述历史最小值作为真实最小值的近似估计值。
本发明实施例中,所述竖直运算单元201,用于若当前列为当前迭代过程的第0列,则采用上一迭代过程的真实最小值作为历史最小值进行比较,以确定当前迭代过程中的真实最小值的近似估计值。
本发明实施例中,所述竖直运算单元201,用于在完成当前迭代过程的所有列更新之后,将所有列的变量节点传递给校验节点的信息进行全排序,将全排序后得到的最小值作为真实最小值;在进入下一迭代过程的列更新时,采用所述真实最小值更新所述近似估计值。
可理解的是,本发明实施例提供的***和第一方面中的方法相对应,在具体实施方式、有益效果、举例等内容可以参考第一方面中的相应内容。
本实施例提供的LDPC译码器的译码方法和***,通过采用近似估计值min替代真实最小值
Figure DEST_PATH_IMAGE040
来计算校验节点传递给变量节点的信息,能够在进行当前列更新的竖直运算时根据近似估计值快速实现下一列更新的水平计算,无需等待当前列更新完之后才能开始下一列的更新,这样可以大大缩短一次迭代过程所需要的整体时间,方便硬件进行流水实现,从而大大降低延迟,提高带宽。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如RON/RAN、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

Claims (8)

1.一种LDPC译码器的译码方法,其特征在于,包括:
在采用列分层最小和译码算法进行列更新时,根据当前迭代过程得到的当前列的变量节点传递给校验节点的信息中的最小值确定当前迭代过程中的真实最小值的近似估计值,所述真实最小值为所有列的变量节点传递给校验节点的信息全排序后得到的最小值;
在进行当前迭代过程的列更新的同时,采用流水线的方式进入下一列更新的水平运算,在下一列更新过程采用所述近似估计值作为真实最小值计算校验节点传递给变量节点的信息;
所述根据当前迭代过程得到的当前列的变量节点传递给校验节点的信息中的最小值确定当前迭代过程中的真实最小值的近似估计值,包括:
在当前迭代过程进行列更新时,将当前列的变量节点传递给校验节点的信息中的最小值与当前列的前一列的变量节点传递给校验节点的信息中的历史最小值进行比较,若小于所述历史最小值,则将当前列的变量节点传递给校验节点的信息中的最小值作为真实最小值的近似估计值,否则将所述历史最小值作为真实最小值的近似估计值。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若当前列为当前迭代过程的第0列,则采用上一迭代过程的真实最小值作为历史最小值进行比较,以确定当前迭代过程中的真实最小值的近似估计值。
3.根据权利要求1-2任一项所述的方法,其特征在于,所述方法还包括:
在完成当前迭代过程的所有列更新之后,将所有列的变量节点传递给校验节点的信息进行全排序,将全排序后得到的最小值作为真实最小值。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在进入下一迭代过程的列更新时,采用所述真实最小值更新所述近似估计值。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
根据更新后的列信息计算当前列对应的外信息,并根据所述外信息和校验矩阵进行校验计算,得到校验结果。
6.一种LDPC译码器的译码***,其特征在于,包括:
竖直运算单元,用于在采用列分层最小和译码算法进行列更新时,根据当前迭代过程得到的当前列的变量节点传递给校验节点的信息中的最小值确定当前迭代过程中的真实最小值的近似估计值,所述真实最小值为当前迭代过程中所有列的变量节点传递给校验节点的信息全排序后得到的最小值;
水平运算单元,用于在进行当前迭代过程的列更新的同时,采用流水线的方式进入下一列更新的水平运算,在下一列更新过程采用所述近似估计值作为真实最小值计算校验节点传递给变量节点的信息;
所述竖直运算单元,用于在当前迭代过程进行列更新时,将当前列的变量节点传递给校验节点的信息中的最小值与当前列的前一列的变量节点传递给校验节点的信息中的历史最小值进行比较,若小于所述历史最小值,则将当前列的变量节点传递给校验节点的信息中的最小值作为真实最小值的近似估计值,否则将所述历史最小值作为真实最小值的近似估计值。
7.根据权利要求6所述的***,其特征在于,所述竖直运算单元,用于若当前列为当前迭代过程的第0列,则采用上一迭代过程的真实最小值作为历史最小值进行比较,以确定当前迭代过程中的真实最小值的近似估计值。
8.根据权利要求6-7任一项所述的***,其特征在于,所述竖直运算单元,用于在完成当前迭代过程的所有列更新之后,将所有列的变量节点传递给校验节点的信息进行全排序,将全排序后得到的最小值作为真实最小值;
在进入下一迭代过程的列更新时,采用所述真实最小值更新所述近似估计值。
CN202210309179.3A 2022-03-28 2022-03-28 Ldpc译码器的译码方法和*** Active CN114421973B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210309179.3A CN114421973B (zh) 2022-03-28 2022-03-28 Ldpc译码器的译码方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210309179.3A CN114421973B (zh) 2022-03-28 2022-03-28 Ldpc译码器的译码方法和***

Publications (2)

Publication Number Publication Date
CN114421973A CN114421973A (zh) 2022-04-29
CN114421973B true CN114421973B (zh) 2022-06-17

Family

ID=81263081

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210309179.3A Active CN114421973B (zh) 2022-03-28 2022-03-28 Ldpc译码器的译码方法和***

Country Status (1)

Country Link
CN (1) CN114421973B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105024704A (zh) * 2015-07-17 2015-11-04 西安空间无线电技术研究所 一种低复杂度的列分层ldpc译码器实现方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8103935B2 (en) * 2005-08-10 2012-01-24 Mitsubishi Electric Corporation Test matrix generating method, encoding method, decoding method, communication apparatus, communication system, encoder and decoder
US8756478B2 (en) * 2011-09-07 2014-06-17 Lsi Corporation Multi-level LDPC layer decoder
US10389388B2 (en) * 2017-12-28 2019-08-20 Apple Inc. Efficient LDPC decoding with predefined iteration-dependent scheduling scheme
CN108768409A (zh) * 2018-06-06 2018-11-06 重庆邮电大学 一种优化的基于归一化最小值的ldpc译码方法
CN113055028B (zh) * 2021-03-18 2022-05-17 北京得瑞领新科技有限公司 Ldpc解码方法、解码器、解码装置及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105024704A (zh) * 2015-07-17 2015-11-04 西安空间无线电技术研究所 一种低复杂度的列分层ldpc译码器实现方法

Also Published As

Publication number Publication date
CN114421973A (zh) 2022-04-29

Similar Documents

Publication Publication Date Title
US9432053B1 (en) High speed LDPC decoder
US7730377B2 (en) Layered decoding of low density parity check (LDPC) codes
US7181676B2 (en) Layered decoding approach for low density parity check (LDPC) codes
JP4519694B2 (ja) Ldpc符号検出装置及びldpc符号検出方法
US8250449B2 (en) Decoding method for LDPC code based on BP arithmetic
CN111615793A (zh) 竖直分层式有限字母表迭代解码
US10361723B2 (en) Decoding of non-binary LDPC codes
CN105763203B (zh) 一种基于硬可靠度信息的多元ldpc码译码方法
CN102412847A (zh) 用联合节点处理来解码低密度奇偶校验码的方法和设备
CN107404321B (zh) 用于纠错码解码的方法和设备
CN111865335B (zh) 一种分组纠错码的译码方法、装置、存储介质和电子装置
CN111106839A (zh) 一种基于神经网络的极化码译码方法及装置
WO2021063217A1 (zh) 一种译码方法及装置
TW202205815A (zh) 用於自循環置換矩陣之叢集建構之準循環低密度奇偶檢查碼之垂直分層解碼之方法及裝置
CN113055028B (zh) Ldpc解码方法、解码器、解码装置及存储介质
CN114421973B (zh) Ldpc译码器的译码方法和***
CN107872231B (zh) Ldpc译码方法与装置
TWI685211B (zh) 用於對低密度奇偶校驗資料進行解碼以對碼字進行解碼的方法以及解碼器
CN102594369B (zh) 基于fpga的准循环低密度校验码译码器及译码方法
WO2020001212A1 (zh) 译码器、译码方法和计算机存储介质
JP6395658B2 (ja) 誤り訂正復号装置、受信装置及び誤り訂正復号方法
WO2012106937A1 (zh) 译码装置
KR101917829B1 (ko) Ldpc 부호의 셔플 복호를 위한 복호 순서 결정 방법 및 장치
CN110601791B (zh) 通信***的低密度奇偶检查码的解码方法及应用其的通信装置
CN117997355A (zh) Ldpc译码器的译码方法、装置、介质及ssd设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant