CN104052495A - 减少硬件缓冲器的低密度奇偶检查码阶层式译码架构 - Google Patents

减少硬件缓冲器的低密度奇偶检查码阶层式译码架构 Download PDF

Info

Publication number
CN104052495A
CN104052495A CN201410013418.6A CN201410013418A CN104052495A CN 104052495 A CN104052495 A CN 104052495A CN 201410013418 A CN201410013418 A CN 201410013418A CN 104052495 A CN104052495 A CN 104052495A
Authority
CN
China
Prior art keywords
parameter
node
checking
node message
posterior probability
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.)
Granted
Application number
CN201410013418.6A
Other languages
English (en)
Other versions
CN104052495B (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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of CN104052495A publication Critical patent/CN104052495A/zh
Application granted granted Critical
Publication of CN104052495B publication Critical patent/CN104052495B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/1131Scheduling of bit node or check node processing
    • H03M13/114Shuffled, staggered, layered or turbo decoding schedules
    • 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
    • H03M13/112Soft-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 with correction functions for the min-sum rule, e.g. using an offset or a scaling factor
    • 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
    • H03M13/1122Soft-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 storing only the first and second minimum values per check node
    • 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/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/658Scaling by multiplication or division

Landscapes

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

Abstract

一种减少硬件缓冲器的低密度奇偶检查码阶层式解码架构,其以储存变数至检查节点讯息的方式来做译码,在检查节点开始一个新的阶层时会先取得变数至检查节点讯息(Q)加上上一个阶层所得的检查至变数节点讯息(R)而得上个阶层所更新的后验概率(APP);接着,再以此后验概率(APP)减去此阶层上一次迭代所得的检查至变数节点讯息(R)可得到变数至检查节点讯息(Q);此后,将此变数至检查节点讯息存回内存并代入检查节点等式可得检查至变数节点讯息,最后将此阶层所得的检查至变数节点讯息存回内存,即完成一个阶层的检查节点更新以及与的相连的变数节点更新。藉此,可较传统技术达到更佳的硬件使用率与较少的缓冲缓存器使用,最终达成较小的硬件面积,且收敛速度不变慢。

Description

减少硬件缓冲器的低密度奇偶检查码阶层式译码架构
技术领域
本发明有关于一种减少硬件缓冲器的低密度奇偶检查码(Low-Density Parity-Check codes,LDPCcodes)阶层式译码架构,其可达到更佳的硬件使用率、较少的缓冲缓存器使用,最终达到较小的硬件面积,且收敛速度不变慢的阶层式排程结构。
背景技术
应用于低密度奇偶检查码的译码,其译码基本概念可见图2及图3,且图3是表达图2所示奇偶检查矩阵(Parity-Check Matrix)中检查节点(Check Node)以及变数节点(Variable Node)连接情形的丹拿图(Tanner Graph)。图中奇偶检查矩阵的一列(Row)代表一个检查节点,而一行(Column)代表一个变数节点,在奇偶检查矩阵里若第i个列以及第j个行为1,在Tanner graph里就将检查节点i以及变数节点j以一条直线将其连结起来,反之则无。
接着请参阅图4,其表示第j个变数节点从各个相连结的检查节点i′所得到的外来讯息(Extrinsic Information)Ri′j以及通道值Lj(Channel Value)来计算出送至检查节点i的变数至检查节点讯息(Variable-to-Check Message)Qij,而此处的外来讯息为不包含接收者已知的讯息,对检查节点i而言,变数节点j送给检查节点i的变数至检查节点讯息Qij会将检查节点i送给变数节点j的检查至变数节点讯息Rij排除在外并将其它所得的讯息经计算后求得。另外图5表示第i个检查节点从各个相连结的变数节点j′所得到的外来讯息Qij′来计算出送至变数节点j的检查至变数节点讯息(Check-to-Variable Message)Rij,而此处的外来讯息亦为不包含接收者已知的讯息,对变数节点j而言,检查节点i送给变数节点j的检查至变数节点讯息Rij会将变数节点j送给检查节点i的变数至检查节点讯息Qij排除在外并将其它所得的讯息经计算后求得。
一般在解码过程中皆有三个阶段,变数节点处理(Variable Node Processing)、检查节点处理(Check Node Processing)以及后验概率处理(A Posteriori Probability Processing)。一般阶层架构的算法,是令N(i)为一所有与检查节点i相连结的变数节点的集合,等式(1)为变数节点处理,其目的为求出与目前所处理检查层(Check-Node Layer)所有检查节点i相关的变数至检查节点讯息(Q),而等式(2)目的为求出目前所处理检查层所有检查节点i的检查至变数节点讯息(R),接着等式(3)目的为求出目前所处理检查层的所有检查节点i在完成等式(2)之后与此检查层的所有与检查节点相连的所有变数节点j更新后的后验概率(APosteriori Probability,APP),详细算法如下:
等式(2)中的α是正规化系数(normalization factor),一般阶层式解码架构(Layered DecodingArchitecture)皆以储存后验概率的方式来做译码,在检查节点开始新的一个阶层时会先取得后验概率减掉此阶层上一次迭代(Iteration)所得的检查至变数节点讯息可得到变数至检查节点讯息,此后将变数至检查节点讯息存入缓冲储存器(Buffer)同时代入检查节点等式(Check Node Equation)可得检查至变数节点讯息,随后将此阶层所得的检查至变数节点讯息存回内存并与缓冲储存器的变数至检查节点讯息相加得到更新后的后验概率,再将此后验概率存回内存,完成一个阶层的检查节点更新以及与之相连的变数节点更新。
当操作时,如图6所示,在一个新的阶层开始解码时,会先从一后验概率内存(APP Memory)31取得更新后的后验概率,接着经由一后验概率绕线网路(APP Routing Network)单元32将各个后验概率分别对应到相对应的检查节点上,同时从一检查至变数节点讯息移位缓存器(Check-to-VariableMessage Shift Register)364读取上一个阶层所得的变数至检查节点讯息正负号总乘积、最小变数至检查节点讯息大小索引、最小和次小变数至检查节点讯息大小,透过该正负号总乘积以及从变数至检查节点讯息正负号内存(Q Sign Memory)35所得的变数至检查节点讯息正负号可得检查至变数节点讯息正负号,另外透过最小变数至检查节点讯息大小索引、最小和次小变数至检查节点讯息大小可得检查至变数节点讯息大小,即可求得完整的检查至变数节点讯息,再由一第一计算单元33将所得的后验概率减去检查至变数节点讯息(如Q=APP-R所示)而得到变数至检查节点讯息,接着将此变数至检查节点讯息同时分别送往一变数至检查节点讯息大小缓冲缓存器(Q Magnitude Buffer)34、一变数至检查节点讯息正负号内存(Q Sign Memory)35以及一检查节点处理器(Check-Node Processor)36,该检查节点处理器36包含一比较器(Comparator)361、一缓存器(Reg)362、一正规化器(Normalizer)363以及该检查至变数节点讯息移位缓存器364,其中该比较器361会将得到的变数至检查节点讯息做最小以及次小的比较以找出最小值、次小值、正负号总乘积以及最小值索引,此最小值索引记录着该检查节点上最小值所在的变数节点位置,接着把暂时求得的这些值暂存在该缓存器362里面,在完成整个阶层的检查节点运算后将上述求得的值送往该正规化器363以将最小与次小值做正规化,接着同时送往该检查至变数节点讯息移位缓存器364以及一第二计算单元37,由该第二计算单元37做后验概率的更新(如APP=Q+R所示)而得到更新后的后验概率,更新完后验概率再分别将其存回该后验概率内存31,以及经过一后验概率正负号绕线网路(APP SignRouting Network)单元38将各检查节点上的后验概率正负号对应回相对应的变数节点上存回一后验概率正负号内存(APP Sign Memory)39以供译码完成后做码字(Codeword)的输出。
然而,一般阶层架构皆是储存后验概率。由于一个阶层要更新后验概率必须得到该阶层在此次迭代的检查至变数节点讯息,而检查节点等式计算所花的时间与此阶层的列权重(Row Weight)相关,列权重越高则计算所花时间越长,一般架构因为并非储存变数至检查节点讯息(Q),所以必须将进入此阶层所求得的变数至检查节点讯息(Q)存入缓冲储存器,在此阶层的检查节点等式完成计算前都需要将变数至检查节点讯息存入,因此缓冲储存器的大小与列权重成正比例。
承上述,在一般阶层架构由于每个阶层对后验概率的更新皆需要此阶层所计算的检查至变数节点讯息,所以需要先经过检查节点等式一次计算的时间之后才能做后验概率的更新,如图6所示一般传统架构中,在上个阶层的后验概率没有更新的情况下,下个阶层的解码动作将会被延宕直到后验概率更新完毕,此举将造成某些译码组件闲置,再从另一角度来看,在一个阶层里,只要未处理完这个阶层的最后一个变数至检查节点讯息的比较,那么更新后验概率的组件一样也无法运作,因此传统架构的效能依赖奇偶检查矩阵的建构方式,导致硬件使用率效果不彰。
鉴于传统阶层式解码架构储存后验概率,于阶层运算结束后依序更新,而此架构的排程除了造成硬件使用率较低之外,尚需使用多个变数至检查节点讯息大小缓冲储存器,导致硬件面积增加,故,一般已用者无法符合使用者于实际使用时的所需。
发明内容
本发明的主要目的在于,克服已知技艺所遭遇的上述问题并提供一种能应用于低密度奇偶检查码(Low-Density Parity-Check codes,LDPC codes)的解码,并可较传统技术达到更佳的硬件使用率与较少的缓冲缓存器使用,最终达成较小的硬件面积,且收敛速度不变慢的减少硬件缓冲器的阶层式译码架构。
为达以上目的,本发明一种减少硬件缓冲器的阶层式译码架构包括:
一变数至检查节点讯息大小内存(Q Magnitude Memory),将所得的通道值或变数至检查节点讯息大小储存;
一后验概率计算单元,其与该变数至检查节点讯息大小内存、变数至检查节点讯息正负号内存、及检查至变数节点讯息移位缓存器电性耦接,系从该变数至检查节点讯息大小内存及变数至检查节点讯息正负号内存分别读取变数至检查节点讯息的大小与正负号,将其加上自一检查至变数节点讯息移位缓存器读取上一个阶层所得的检查至变数节点讯息而计算出上个阶层所更新的后验概率;
一后验概率正负号绕线网路单元,其与该后验概率计算单元电性耦接,从该后验概率计算单元读取上个阶层所更新的后验概率正负号,将各检查节点上的后验概率正负号对应回相对应的变数节点上;
一后验概率正负号内存,其与该后验概率正负号绕线网路单元电性耦接,从该后验概率正负号绕线网路单元读取上个阶层所更新的后验概率正负号,将其译码完成后码字(Codeword)输出;
一后验概率绕线网路单元,其与该后验概率计算单元电性耦接,从该后验概率计算单元读取上个阶层所更新的后验概率,并将上个阶层所更新的后验概率分别对应到相对应的检查节点上;
一变数至检查节点讯息计算单元,其与该后验概率绕线网路单元、及该变数至检查节点讯息大小内存、及该变数至检查节点讯息正负号内存电性耦接,系从该后验概率绕线网路单元读取上个阶层所更新的后验概率(APP),将其减去自该检查至变数节点讯息移位缓存器以及该变数至检查节点讯息正负号内存所获取此阶层上一次迭代所得的检查至变数节点讯息而计算出变数至检查节点讯息,并将此变数至检查节点讯息大小以及正负号分别存回至该变数至检查节点讯息大小内存以及变数至检查节点讯息正负号内存;
一变数至检查节点讯息正负号内存(Q Sign Memory),其与该后验概率计算单元及该变数至检查节点讯息计算单元电性耦接,用以储存由该变数至检查节点讯息计算单元得到的变数至检查节点讯息正负号用以提供给该后验概率计算单元及该变数至检查节点讯息计算单元;以及
一检查节点处理器(Check-Node Processor),其与该变数至检查节点讯息计算单元电性耦接,包含一比较器(Comparator)、一缓存器(Reg)、一正规化器(Normalizer)、以及该检查至变数节点讯息移位缓存器,该检查节点处理器从该变数至检查节点讯息计算单元得到变数至检查节点讯息,该比较器会将得到的变数至检查节点讯息做最小以及次小的比较以找出最小值、次小值、正负号总乘积以及最小值索引,接着把暂时求得的这些值暂存在该缓存器里面,在完成整个阶层的检查节点运算后将上述求得的值送往该正规化器以将最小与次小值做正规化,接着送往该检查至变数节点讯息移位缓存器以利之后取出此阶层所得的检查至变数节点讯息提供给该变数至检查节点讯息计算单元以及后验概率计算单元。
上述所提的减少硬件缓冲器的阶层式译码架构,于一具体实施例中,该后验概率计算单元系以一后验概率等式做后验概率更新,求出目前所处理检查层的所有检查节点i在上个阶层与此检查层的所有与检查节点i相连的所有变数节点j更新后的后验概率,该后验概率等式为:
APP j = Q f ( i , j ) j + R f ( i , j ) j , ∀ j ∈ N ( i ) ,
其中,f(i,j)指在目前所处的检查节点i之前最后一次与变数节点j做讯息传送的检查节点;该APPj为检查节点f(i,j)所在的检查层所更新的变数节点j的后验概率,而Qf(i,j)j与Rf(i,j)j分别为该检查节点f(i,j)与变数节点j所对应的变数至检查节点讯息与检查至变数节点讯息。
上述所提的减少硬件缓冲器的阶层式译码架构,于一具体实施例中,该变数至检查节点讯息计算单元以一变数至检查节点讯息等式做变数节点处理,求出与目前所处理检查层所有检查节点i相关的变数至检查节点讯息,该变数至检查节点讯息等式为:
Q ij = APP j - R ij , ∀ j ∈ N ( i ) ,
其中,该APPj是上个阶层所更新的后验概率;以及该Rij是此阶层上一次迭代所得的检查至变数节点讯息。
上述所提的减少硬件缓冲器的阶层式排程结构,于一具体实施例中,该检查节点处理器以一检查节点等式做检查节点处理,求出与目前所处理检查层所有检查节点i相关的检查至变数节点讯息,该检查节点等式为:
本发明以储存变数至检查节点讯息的方式来做译码,在检查节点开始一个新的阶层时会先取得变数至检查节点讯息(Q)加上上一个阶层所得的检查至变数节点讯息(R)而得上个阶层所更新的后验概率(APP);接着,再以此后验概率(APP)减去此阶层上一次迭代所得的检查至变数节点讯息(R)可得到变数至检查节点讯息(Q);此后,将此变数至检查节点讯息存回内存并代入检查节点等式可得检查至变数节点讯息,最后将此阶层所得的检查至变数节点讯息存回内存,即完成一个阶层的检查节点更新以及与的相连的变数节点更新。藉此,可较传统技术达到更佳的硬件使用率与较少的缓冲缓存器使用,最终达成较小的硬件面积,且收敛速度不变慢。
附图说明
图1为本发明的架构示意图。
图2为奇偶检查矩阵示意图。
图3为图2中检查节点以及变数节点连接情形的丹拿图(Tanner Graph)。
图4为变数节点处理器的操作态样示意图。
图5为检查节点处理器的操作态样示意图。
图6为传统阶层架构示意图。
组件标号对照:
变数至检查节点讯息大小内存11;
后验概率计算单元12;
后验概率正负号绕线网路单元13;
后验概率正负号内存14;
后验概率绕线网路单元15;
变数至检查节点讯息计算单元16;
变数至检查节点讯息正负号内存17;
检查节点处理器18;
比较器181;
缓存器182;
正规化器183;
检查至变数节点讯息移位缓存器184;
后验概率内存31;
后验概率绕线网路单元32;
第一计算单元33;
变数至检查节点讯息大小缓冲缓存器34;
变数至检查节点讯息正负号内存35;
检查节点处理器36;
比较器361;
缓存器362;
正规化器363;
检查至变数节点讯息移位缓存器364;
第二计算单元37;
后验概率正负号绕线网路单元38;
后验概率正负号内存39。
具体实施方式
请参阅图1所示,为本发明的架构示意图。如图所示:本发明系一种减少硬件缓冲器的阶层式排程结构,其至少包括一变数至检查节点讯息大小内存(Q Magnitude Memory)11、一后验概率计算单元12、一后验概率正负号绕线网路(APP Sign Routing Network)单元13、一后验概率正负号内存(APP Sign Memory)14、一后验概率绕线网路(APP Routing Network)单元15、一变数至检查节点讯息计算单元16、一变数至检查节点讯息正负号内存(Q Sign Memory)17以及一检查节点处理器(Check-Node Processor)18所构成。
上述所提的变数至检查节点讯息大小内存11将所得的通道值(Channel Value)大小或变数至检查节点讯息大小储存起来。
上述所提的后验概率计算单元12与该变数至检查节点讯息大小内存11以及该变数至检查节点讯息正负号内存17电性耦接,用以从该变数至检查节点讯息大小内存11以及该变数至检查节点讯息正负号内存17读取变数至检查节点讯息的大小及正负号,将其加上自一检查至变数节点讯息移位缓存器(Check-to-Variable Message Shift Register)184读取上一个阶层所得的正负号总乘积、最小变数至检查节点讯息大小索引、最小和次小变数至检查节点讯息大小,透过正负号总乘积以及上述所得的变数至检查节点讯息正负号可得检查至变数节点讯息正负号,另外透过最小变数至检查节点讯息大小索引、最小和次小变数至检查节点讯息大小可得检查至变数节点讯息大小,即可求得完整的检查至变数节点讯息(Check-to-Variable Message)而计算出上个阶层所更新的后验概率(A PosterioriProbability,APP)。
上述所提的后验概率正负号绕线网路单元13与该后验概率计算单元12电性耦接,用以从该后验概率计算单元12读取上个阶层所更新的后验概率,将各检查节点上的后验概率正负号对应回相对应的变数节点上。
上述所提的后验概率正负号内存14与该后验概率正负号绕线网路单元13电性耦接,用以从该后验概率正负号绕线网路单元13读取上个阶层所更新的后验概率,将其解码后码字(Codeword)输出。
上述所提的后验概率绕线网路单元15与该后验概率计算单元12电性耦接,用以从该后验概率计算单元12读取上个阶层所更新的后验概率,并将上个阶层所更新的后验概率分别对应到相对应的检查节点上。
上述所提的变数至检查节点讯息计算单元16与该后验概率绕线网路单元15、该变数至检查节点讯息大小内存11、及该变数至检查节点讯息正负号内存17电性耦接,用以从该后验概率绕线网路单元15读取上个阶层所更新的后验概率(APP),将其减去自该检查至变数节点讯息移位缓存器184读取此阶层上一次迭代(Iteration)所得的检查至变数节点讯息大小以及由变数至检查节点讯息正负号和正负号总乘积所得的检查至变数节点讯息正负号而来的检查至变数节点讯息来计算出变数至检查节点讯息,并将此变数至检查节点讯息大小及正负号分别存回至该变数至检查节点讯息大小内存11以及变数至检查节点讯息正负号内存17。
上述所提的变数至检查节点讯息大小内存11以及变数至检查节点讯息正负号内存17与该后验概率计算单元12及该变数至检查节点讯息计算单元16电性耦接,用以储存由该变数至检查节点讯息计算单元16得到的变数至检查节点讯息并提供给该后验概率计算单元12及该变数至检查节点讯息计算单元16。
上述所提的检查节点处理器18与该变数至检查节点讯息计算单元16电性耦接,包含一比较器(Comparator)181、一缓存器(Reg)182、一正规化器(Normalizer)183、以及该检查至变数节点讯息移位缓存器184,该检查节点处理器18从该变数至检查节点讯息计算单元16得到变数至检查节点讯息,,该比较器会将得到的变数至检查节点讯息做最小以及次小的比较以找出最小值、次小值、正负号总乘积以及最小值索引,接着把暂时求得的这些值暂存在该缓存器里面,在完成整个阶层的检查节点运算后将上述求得的值送往该正规化器以将最小与次小值做正规化,接着送往该检查至变数节点讯息移位缓存器以利之后取出此阶层所得的检查至变数节点讯息提供给该变数至检查节点讯息计算单元16以及后验概率计算单元12,使其能分别求出各自的检查至变数节点讯息。
如是,藉由上述揭露的架构构成一全新的减少硬件缓冲器的阶层式译码架构。
本发明所提的一种减少硬件缓冲器的阶层式排程结构,其算法是令N(i)为一所有与检查节点i相连结的变数节点的集合,先由该后验概率计算单元12以一后验概率等式(4)做后验概率更新,求出目前所处理检查层(Check-Node layer)的所有检查节点i在上个阶层与此检查层的所有与检查节点i相连的所有变数节点j更新后的后验概率;并由该变数至检查节点讯息计算单元16以一变数至检查节点讯息等式(5)做变数节点处理,求出与目前所处理检查层所有检查节点i相关的变数至检查节点讯息;再由该检查节点处理器18以一检查节点等式(6)做检查节点处理,求出与目前所处理检查层所有检查节点i相关的检查至变数节点讯息,其详细算法如下:
APP j = Q f ( i , j ) j + R f ( i , j ) j , ∀ j ∈ N ( i ) - - - ( 4 )
Q ij = APP j - R ij , ∀ j ∈ N ( i ) - - - ( 5 )
其中,等式(4)中的f(i,j)指在目前所处理的检查节点i之前最后一次与变数节点j做讯息传送的检查节点;该APPj是在检查节点f(i,j)所在的检查层所更新的变数节点j的后验概率,而Qf(i,j)j与Rf(i,j)j分别为该检查节点f(i,j)与变数节点j所对应的变数至检查节点讯息与检查至变数节点讯息;等式(5)中的Rij是目前所在的阶层上一次迭代所得的检查至变数节点讯息;而Qij是此阶层所得的变数至检查节点讯息;等式(4)和等式(5)中的检查至变数节点讯息可从等式(6)求得,其中α为正规化系数,为除了变数节点j以外和检查节点i’所相连的变数节点送来的变数至检查节点讯息正负号的乘积,而mink∈N(i′)/(j){|Qi′k|}为除了变数节点j以外和检查节点i’所相连的变数节点送来的变数至检查节点讯息大小的最小值,最后求得该检查至变数节点讯息R’ij
当运用时,如图1所示,本发明所提的阶层式译码结构储存变数至检查节点讯息的方式来做译码,在检查节点开始一个新的阶层时会先从变数至检查节点讯息大小内存以及变数至检查节点讯息正负号内存取得变数至检查节点讯息(Q)加上上一个阶层所得的检查至变数节点讯息(R)而得上个阶层所更新的后验概率(APP),如后验概率等式(4)所示;接着,再以此后验概率(APP)减去此阶层上一次迭代所得的检查至变数节点讯息(R)可得到变数至检查节点讯息(Q),如变数至检查节点讯息等式(5)所示;此后,将此变数至检查节点讯息大小以及变数至检查节点讯息正负号分别存变数至检查节点讯息大小内存以及变数至检查节点讯息正负号内存同时代入比较器找出目前所在检查层的最小及次小变数至检查节点讯息大小以及变数至检查节点所有正负号乘积的正负号总乘积,同时纪录最小变数至检查节点讯息大小所在的变数节点位置,再找出所在检查层的最小及次小变数至检查节点讯息大小之后将其与正规化系数相乘后连同最小变数至检查节点讯息大小索引和正负号总乘积一并存至检查至变数节点讯息移位缓存器,即完成一个阶层的检查节点更新以及与之相连的变数节点更新。
与传统技术相较,本发明具有下列优点:
1.本发明所提的架构是将变数至检查节点讯息储存于内存,因此在进入下个阶层时只要将上个阶层所求得的检查至变数节点讯息与变数至检查节点讯息相加即可得更新后的后验概率,随后再将此后验概率减掉此阶层上次迭代所求的检查至变数节点讯息并将此讯息存回内存同时代入检查节点等式(CheckNode Equation)做计算,利用此方式可以有效提升硬件使用率。
2.本发明所提的架构只需要上个阶层所得的检查至变数节点讯息以及此阶层在上个迭代所得的检查至变数节点讯息即可更新变数至检查节点讯息,以此方式达到硬件面积减少的目的。因此,本发明将后验概率的更新留在下个阶层做计算时一并做处理,意即在做完后验概率(APP)的更新后可以马上求得该阶层检查节点等式所需的变数至检查节点讯息(Q)同时将其代入检查节点等式做计算,如此可以免去为了更新后验概率而等待检查节点等式所计算的时间,因此可以达到与传统技术相同的收敛速度并可有效减少使用大量缓冲储存器。
3.本发明所提的架构可以有效提升硬件使用率,如图1所示,在本结构中,在一个新的阶层做检查节点等式计算的时候,先做先前后验概率的更新动作,接着将后验概率做移位以确保所有的值都对到正确的位置,接着再做变数至检查节点讯息计算以及比较最小值的计算,如此一连串的运算行为皆可同时进行而无任何冲突情形会发生,因此可以有效提升硬件的使用率。
4.本发明所提的架构,是在计算检查节点等式计算上有需求时再做后验概率的更新,其余与上个阶层无重迭的地方就先予以保留至往后有需要后验概率更新的阶层再做更新即可,因此本结构并不会引发因不必要的后验概率的更新而造成检查节点等式计算的延宕,其为本发明与传统技术在后验概率的更新上相异之处,进而使本发明有较高的硬件使用率。
5.在本发明所提的架构上因不需像传统技术需要额外的变数至检查节点讯息大小的缓冲储存器,因此可以大幅减少硬件面积。本发明在此以(变数节点数,检查节点数)=(9300,900)的奇偶校验矩阵为例来說明,码的列权重为62,行权重为6,可得知一个检查层有150个检查节点,因此在变数至检查节点讯息大小量化取五个位元时,传统技术与本发明所提的结构相比,需要再额外多一个储存46500(9300*5=46500)个位元的变数至检查节点讯息大小的缓冲储存器。
藉此,本发明所提减少硬件缓冲器的阶层式排程结构,可有效减少面积以及提升硬件使用率,能应用于低密度奇偶检查码(Low-Density Parity-Check codes,LDPC codes)的解码,比起传统技术可达到更佳的硬件使用率、较少的缓冲缓存器使用,最终达到较小的硬件面积,且收敛速度不变慢。综上所述,本发明系一种减少硬件缓冲器的低密度奇偶检查码阶层式解码架构,可有效改善习用的种种缺点,系能有效减少面积以及提升硬件使用率,比起传统技术可达到更佳的硬件使用率、较少的缓冲缓存器使用,最终达到较小的硬件面积,且收敛速度不变慢,进而使本发明的产生能更进步、更实用、更符合使用者所须,确已符合发明专利申请要件,爰依法提出专利申请。

Claims (4)

1.一种减少硬件缓冲器的阶层式译码架构,其特征在于包括:
一变数至检查节点讯息大小内存,将所得的通道值或变数至检查节点讯息大小储存起来;
一后验概率计算单元,其与该变数至检查节点讯息大小内存以及变数至检查节点讯息正负号内存电性耦接,从该变数至检查节点讯息大小内存以及变数至检查节点讯息正负号内存分别读取变数至检查节点讯息大小及正负号,接着自一检查至变数节点讯息移位缓存器所得的变数至检查节点讯息正负号总乘积、最小变数至检查节点讯息大小索引、最小及次小变数至检查节点讯息大小和上述的变数至检查节点讯息正负号求得检查至变数节点讯息正负号和检查节点讯息大小即可得完整的检查至变数节点讯息而计算出上个阶层所更新的后验概率;
一后验概率正负号绕线网路单元,其与该后验概率计算单元电性耦接,从该后验概率计算单元读取上个阶层所更新的后验概率正负号,将各检查节点上的后验概率正负号对应回相对应的变数节点上;
一后验概率正负号内存,其与该后验概率正负号绕线网路单元电性耦接,从该后验概率正负号绕线网路单元读取上个阶层所更新的后验概率正负号,将其解码码字输出;
一后验概率绕线网路单元,其与该后验概率计算单元电性耦接,从该后验概率计算单元读取上个阶层所更新的后验概率,并将上个阶层所更新的后验概率分别对应到相对应的检查节点上;
一变数至检查节点讯息计算单元,其与该后验概率绕线网路单元、该变数至检查节点讯息大小内存、及该变数至检查节点讯息正负号内存电性耦接,从该后验概率绕线网路单元读取上个阶层所更新的后验概率,将其减去透过自该检查至变数节点讯息移位缓存器读取此阶层上一次迭代所得的正负号总乘积、最小变数至检查节点讯息大小索引、最小及次小变数至检查节点讯息大小和上述的变数至检查节点讯息正负号求得检查至变数节点讯息正负号和检查节点讯息大小而得的完整的检查至变数节点讯息而计算出变数至检查节点讯息,并将此变数至检查节点讯息大小以及正负号分别存回至该变数至检查节点讯息大小内存以及变数至检查节点正负号内存;
一变数至检查节点讯息正负号内存,其与该后验概率计算单元及该变数至检查节点讯息计算单元电性耦接,用以储存由该变数至检查节点讯息计算单元得到的变数至检查节点讯息正负号并提供给该后验概率计算单元及该变数至检查节点讯息计算单元;以及
一检查节点处理器,其与该变数至检查节点讯息计算单元电性耦接,包含一比较器、一缓存器、一正规化器、以及该检查至变数节点讯息移位缓存器,该检查节点处理器透过该比较器将得到的变数至检查节点讯息做最小以及次小的比较以找出最小值、次小值、正负号总乘积以及最小值索引,接着把暂时求得的这些值暂存在该缓存器里面,在完成整个阶层的检查节点运算后将上述求得的值送往该正规化器以将最小与次小值做正规化,接着送往该检查至变数节点讯息移位缓存器以利之后取出此阶层所得的检查至变数节点讯息,透过正负号总乘积以及上述所得的变数至检查节点讯息正负号可得检查至变数节点讯息正负号,另外透过最小变数至检查节点讯息大小索引、最小和次小变数至检查节点讯息大小可得检查至变数节点讯息大小,即可求得完整的检查至变数节点讯息提供给该变数至检查节点讯息计算单元以及后验概率计算单元。
2.根据权利要求1所述的减少硬件缓冲器的阶层式译码架构,其特征在于,该后验概率计算单元以一后验概率等式做后验概率更新,求出目前所处理检查层的所有检查节点i在上个阶层与此检查层的所有与检查节点i相连的所有变数节点j更新后的后验概率,该后验概率等式为:
其中,f(i,j)指在目前所处的检查节点i之前最后一次与变数节点j做讯息传送的检查节点;该APPj在检查节点f(i,j)所在的检查层所更新的变数节点j的后验概率,而Qf(i,j)j与Rf(i,j)j分别为该检查节点f(i,j)与变数节点j所对应的变数至检查节点讯息与检查至变数节点讯息。
3.根据权利要求1所述的减少硬件缓冲器的阶层式译码架构,其特征在于,该变数至检查节点讯息计算单元以一变数至检查节点讯息等式做变数节点处理,求出与目前所处理检查层所有检查节点i相关的变数至检查节点讯息,该变数至检查节点讯息等式为:
其中,该APPj为上个阶层所更新的后验概率;以及该Rij为此阶层上一次迭代所得的检查至变数节点讯息。
4.根据权利要求1所述的减少硬件缓冲器的阶层式译码架构,其特征在于,该检查节点处理器以一检查节点等式做检查节点处理,求出与目前所处理检查层所有检查节点i’相关的检查至变数节点讯息,该检查节点等式为:
其中α为正规化系数,为除了变数节点j以外和检查节点i’所相连的变数节点送来的变数至检查节点讯息正负号的乘积,而mink∈N(i′)/{j}{|Qi′k|}为除了变数节点j以外和检查节点i’所相连的变数节点送来的变数至检查节点讯息大小的最小值,最后求得该检查至变数节点讯息R′ij
CN201410013418.6A 2013-03-15 2014-01-13 减少硬件缓冲器的低密度奇偶检查码阶层式译码架构 Active CN104052495B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW102109208 2013-03-15
TW102109208A TWI533620B (zh) 2013-03-15 2013-03-15 減少硬體緩衝器之低密度奇偶檢查碼階層式解碼架構

Publications (2)

Publication Number Publication Date
CN104052495A true CN104052495A (zh) 2014-09-17
CN104052495B CN104052495B (zh) 2018-09-21

Family

ID=51504905

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410013418.6A Active CN104052495B (zh) 2013-03-15 2014-01-13 减少硬件缓冲器的低密度奇偶检查码阶层式译码架构

Country Status (3)

Country Link
US (1) US9048872B2 (zh)
CN (1) CN104052495B (zh)
TW (1) TWI533620B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106027071A (zh) * 2015-03-31 2016-10-12 旺宏电子股份有限公司 用以产生可变码长的极化码的方法及装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014023355A1 (en) * 2012-08-09 2014-02-13 Telefonaktiebolaget L M Ericsson (Publ) A method and a node for detecting phase noise in mimo communication systems
US9048867B2 (en) * 2013-05-21 2015-06-02 Lsi Corporation Shift register-based layered low density parity check decoder
US20170222659A1 (en) * 2016-02-02 2017-08-03 Silicon Motion Inc. Power improvement for ldpc
KR102626162B1 (ko) * 2016-06-14 2024-01-18 삼성전자주식회사 연산 복잡도를 감소시킬 수 있는 디코더의 동작 방법과 이를 포함하는 데이터 저장 장치의 동작 방법
US11146289B2 (en) * 2019-03-29 2021-10-12 Intel Corporation Techniques to use intrinsic information for a bit-flipping error correction control decoder

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101106381A (zh) * 2007-08-09 2008-01-16 上海交通大学 分层的低密度校验码译码器及译码处理方法
CN101321043A (zh) * 2007-06-08 2008-12-10 大唐移动通信设备有限公司 低密度校验码编码的译码方法及译码装置
CN101615914A (zh) * 2009-06-24 2009-12-30 重庆金美通信有限责任公司 分层最小和ldpc译码校验节点处理的实现方法
US20110161770A1 (en) * 2009-12-31 2011-06-30 Yeong-Luh Ueng Low density parity check codec and method of the same
CN102281125A (zh) * 2011-07-29 2011-12-14 上海交通大学 分层分块非规则低密度校验码译码器及译码方法
CN102723957A (zh) * 2012-05-28 2012-10-10 北京大学 一种适用于层间并行译码器的qc-ldpc码构造方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7174495B2 (en) * 2003-12-19 2007-02-06 Emmanuel Boutillon LDPC decoder, corresponding method, system and computer program
US7251769B2 (en) * 2004-03-17 2007-07-31 Lucent Technologies Inc. Methods and apparatus for communication using generalized low density parity check codes
US20070245217A1 (en) * 2006-03-28 2007-10-18 Stmicroelectronics S.R.L. Low-density parity check decoding
US8359522B2 (en) * 2007-05-01 2013-01-22 Texas A&M University System Low density parity check decoder for regular LDPC codes
US8181083B2 (en) * 2007-08-27 2012-05-15 Stmicroelectronics S.R.L. Methods and architectures for layered decoding of LDPC codes with minimum latency
WO2009143375A2 (en) * 2008-05-21 2009-11-26 The Regents Of The University Of Calfornia Lower-complexity layered belief propagation deconding ldpc codes
US8341489B2 (en) * 2008-08-04 2012-12-25 Broadcom Corporation Permuted accelerated LDPC (Low Density Parity Check) decoder
US20100037121A1 (en) * 2008-08-05 2010-02-11 The Hong Kong University Of Science And Technology Low power layered decoding for low density parity check decoders

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101321043A (zh) * 2007-06-08 2008-12-10 大唐移动通信设备有限公司 低密度校验码编码的译码方法及译码装置
CN101106381A (zh) * 2007-08-09 2008-01-16 上海交通大学 分层的低密度校验码译码器及译码处理方法
CN101106381B (zh) * 2007-08-09 2010-04-07 上海交通大学 分层的低密度校验码译码器及译码处理方法
CN101615914A (zh) * 2009-06-24 2009-12-30 重庆金美通信有限责任公司 分层最小和ldpc译码校验节点处理的实现方法
US20110161770A1 (en) * 2009-12-31 2011-06-30 Yeong-Luh Ueng Low density parity check codec and method of the same
CN102281125A (zh) * 2011-07-29 2011-12-14 上海交通大学 分层分块非规则低密度校验码译码器及译码方法
CN102723957A (zh) * 2012-05-28 2012-10-10 北京大学 一种适用于层间并行译码器的qc-ldpc码构造方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BO XIANG 等: "An 847–955 Mb/s 342–397 mW Dual-Path Fully-Overlapped QC-LDPC Decoder for WiMAX System in 0.13 um CMOS", 《IEEE JOURNAL OF SOLID-STATE CIRCUITS》 *
马汇淼 等: "基于改进的分层译码算法的QC-LDPC译码器设计", 《集成电路应用》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106027071A (zh) * 2015-03-31 2016-10-12 旺宏电子股份有限公司 用以产生可变码长的极化码的方法及装置
CN106027071B (zh) * 2015-03-31 2019-05-14 旺宏电子股份有限公司 用以产生可变码长的极化码的方法及装置

Also Published As

Publication number Publication date
US9048872B2 (en) 2015-06-02
US20140281786A1 (en) 2014-09-18
TW201436476A (zh) 2014-09-16
TWI533620B (zh) 2016-05-11
CN104052495B (zh) 2018-09-21

Similar Documents

Publication Publication Date Title
CN104052495A (zh) 减少硬件缓冲器的低密度奇偶检查码阶层式译码架构
Zhang et al. Reduced-latency SC polar decoder architectures
CN102412847B (zh) 用联合节点处理来解码低密度奇偶校验码的方法和设备
CN104052576B (zh) 一种云存储下基于纠错码的数据恢复方法
Xu et al. XJ-BP: Express journey belief propagation decoding for polar codes
US20120066172A1 (en) Systems, devices, and methods for estimation
CN101232288B (zh) 一种基于奇偶校验矩阵的ldpc码的译码方法及译码器
CN106330203A (zh) 一种ldpc的解码方法
EP3364578B1 (en) Parallel decoding for qc-ldpc codes
US20160254826A1 (en) Method and apparatus for reconstructing a data block
CN101582697B (zh) 低密度奇偶校验(ldpc)解码器
CN102340317B (zh) 结构化ldpc码的高吞吐率译码器及译码方法
WO2017045142A1 (zh) Ldpc截短码的译码方法和译码设备
CN101478312A (zh) 一种ldpc译码器及其实现译码的方法
Xu et al. Stochastic BP polar decoding and architecture with efficient re-randomization and directive register
WO2014172874A1 (en) Method and apparatus of ldpc encoder in 10gbase-t system
CN101958718B (zh) 用于ldpc码的改进型半并行译码器和译码方法
CN105681425B (zh) 基于分布式存储系统的多节点修复方法及其系统
CN117353754A (zh) 高斯混合模型信源的编解码方法、系统、设备和介质
CN109245775B (zh) 一种译码器及其实现译码的方法
US20200295787A1 (en) Low latency sequential list decoding of polar codes
EP4072023A1 (en) Decoding method, decoder, and decoding device
CN103929188B (zh) 一种译码方法、装置及系统
CN102164023A (zh) 自适应动态量化ldpc码译码方法
CN116662063B (zh) 一种闪存的纠错配置方法、纠错方法、系统、设备及介质

Legal Events

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