CN101903890B - 用于迭代解码器的改进的turbo均衡方法 - Google Patents

用于迭代解码器的改进的turbo均衡方法 Download PDF

Info

Publication number
CN101903890B
CN101903890B CN200980100343.2A CN200980100343A CN101903890B CN 101903890 B CN101903890 B CN 101903890B CN 200980100343 A CN200980100343 A CN 200980100343A CN 101903890 B CN101903890 B CN 101903890B
Authority
CN
China
Prior art keywords
node
code word
value
ldpc
decoding
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.)
Expired - Fee Related
Application number
CN200980100343.2A
Other languages
English (en)
Other versions
CN101903890A (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.)
Avago Technologies International Sales Pte Ltd
Original Assignee
Infineon Technologies North America Corp
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 Infineon Technologies North America Corp filed Critical Infineon Technologies North America Corp
Publication of CN101903890A publication Critical patent/CN101903890A/zh
Application granted granted Critical
Publication of CN101903890B publication Critical patent/CN101903890B/zh
Expired - Fee Related 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • 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
    • 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
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2948Iterative decoding
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
    • H03M13/3927Log-Likelihood Ratio [LLR] computation by combination of forward and backward metrics into LLRs
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • H03M13/458Soft decoding, i.e. using symbol reliability information by updating bit probabilities or hard decisions in an iterative fashion for convergence to a final decoding result
    • 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/63Joint error correction and other techniques
    • H03M13/6331Error control coding in combination with equalisation
    • 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/63Joint error correction and other techniques
    • H03M13/6343Error control coding in combination with techniques for partial response channels, e.g. recording

Landscapes

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

Abstract

本发明的某些实施例是用于解码编码的码字的改进的turbo均衡方法。在一个实施例中,在全局解码迭代i中,基于由全局迭代i-1产生的解码码字中的不满足校验节点的数目b调整所有解码器输入LLR值(LCH)的量值。该改进的turbo均衡方法可被用作给定全局解码会话的唯一turbo均衡方法,或被与其它turbo均衡方法交插在一起。

Description

用于迭代解码器的改进的turbo均衡方法
与相关申请的交叉引用
本申请要求提交于2009年3月5日的代理卷号为No.08-1057-PR的美国临时申请No.61/157,671的优先权,通过引用将该申请的教导完整结合在此。
本申请的主题内容涉及(1)提交于2008年12月12日的代理卷号为No.08-0241的PCT申请No.PCT/US08/86523的主题内容,(2)提交于2008年12月12日的代理卷号为No.08-1293的PCT申请No.PCT/US08/86537的主题内容和(3)提交于2009年3月10日的代理卷号为No.08-0248的美国申请No.12/401,116的主题内容,通过引用将全部这些申请的教导完整结合在此。
技术领域
本发明涉及数字信号处理,并且更具体地,涉及被称为低密度奇偶校验(LDPC)编码的数据编码方法。
背景技术
通信是由传输方在通信信道上向接收方传输信息。在现实世界中,通信信道是向接收方提供从传输方传输的信息的失真版本的有噪信道。硬盘(HD)驱动器就是这样一种有噪信道,其从传输方接受信息,存储该信息,然后将该信息的或多或少地失真的拷贝提供给接收方。
由诸如HD驱动器的通信信道引入的失真可能大到足以引起信道错误,即,当信道输入信号是0时,接收方将信道输出信号解释为1,或者反之。信道错误减小了吞吐率,并且因此是不希望的。因此,存在对检测和/或校正信道错误的工具的持续需要。低密度奇偶校验(LDPC)编码是用于检测和校正信道错误的一种方法。
LDPC码是可以为低信噪比(SNR)应用实现非常低的位错误率(BER)的已知的近Shannon极限编码之一。LDPC解码以其并行潜力、低实现复杂度、低解码延迟以及在高SNR下的不很严重的错误平台(error-floor)而著称。实际上认为LDPC码将用于所有下一代通信标准。
发明内容
在一个实施例中,本发明是一种对编码码字进行解码的方法。为编码码字产生第一对数似然比(LLR)值集合,每个LLR值具有硬判决值和置信度值。基于第一LLR值集合对编码码字执行解码,以便产生具有数目为b的不满足校验节点(USC)的解码码字。为编码码字产生第二LLR值集合,至少一个LLR值具有基于USC的数目b的置信度值。基于第二LLR值集合对编码码字执行解码。
附图说明
从下面的详细描述、所附的权利要求书以及附图中,将会完全明了本发明的其它方面、特征和优点,在附图中相似的附图标记指示相似或相同的元件。
图1是使用LDPC编码的通信系统100的方框图;
图2(A)示出了LDPC H矩阵200,图2(B)是H矩阵200的Tanner图;
图3是由图1的解码器114使用的典型LDPC解码方法300的流程图;
图4是turbo均衡系统400的方框图;和
图5是根据本发明的一个实施例的TURBO均衡系统500的方框图。
具体实施方式
图1是使用LDPC编码的通信系统100的方框图。数据源102产生被称为原始信息字104的位集合。LDPC编码器106对原始信息字104编码以便产生码字108,码字108也被称为信道输入码字。下面更详细地讨论LDPC编码。然后编码器106通过有噪信道110,例如硬盘驱动器的盘片,发送码字108。
信道检测器112从有噪信道110接收码字108作为值y的集合。信道检测器112将接收的值y转换为对数似然比(LLR)值Lch的集合。LLR值包括(i)表示解码器关于由相应值y指示的一位硬判决值的最佳猜测的符号位,和(ii)表示解码器关于该硬判决的置信度的一个或更多个量值位。例如,信道解码器112可以作为5位LLR输出每个Lch值,其中最高有效位是指示硬判决值的符号位,并且4个量值位的值指示硬判决的置信度。因此,在一种可能的LLR方案中,二进制00000的LLR值指示具有最低置信度的硬判决值0,二进制01111的LLR值指示具有最高置信度的硬判决值0,二进制10001指示具有最低置信度的硬判决值1,并且二进制11111指示具有最高置信度的硬判决值1,其中二进制值10000未使用。
信道检测器112将Lch值发送到LDPC解码器114。LDPC解码器114随后对Lch值集合执行一个或更多个解码迭代116(“局部迭代”),以便产生解码码字当(i)LDPC解码器114得到解码正确的码字(DCCW),即,与信道输入码字108相同时,或(ii)LDPC解码器114执行了最大允许数目的局部迭代而未得到DCCW,即,LDPC解码器114失败时,LDPC解码器114终止。当解码器114终止时,它向数据目的地118输出解码码字下面更详细地描述LDPC解码。
LDPC编码
为了创建码字108,LDPC编码器106给信息字104的位附加由LDPC码指定的若干奇偶位。信息字104中的位的数目被以K表示。编码码字中的位被称为变量位,并且这些变量位的数目被以N表示。因此,由N-K给出奇偶位的数目。
LDPC码字中的每个奇偶位以由特定LDPC码所指定的特定方式与码字中的一个或更多个其它(变量或奇偶)位相关联,并且分配给奇偶位的值被设置为满足LDPC码。典型LPDC码规定相关联的位满足奇偶校验约束,例如,相关联的位的和是偶数,即,和模2=0。
LDPC码
由被称为奇偶校验矩阵或H矩阵或简称为H的1和0的二维矩阵定义特定的LDPC码。LDPC编码器和解码器事先都知道H。H包括N列和N-K行,即,码字的每个位针对一列,并且每个奇偶位针对一行。H中的每个1表示列的码字位和行的奇偶位之间的关联。例如,H的第3行第7列处的1意味着第3个奇偶校验位与码字的第7个位相关联。校验位与和该校验位相关联的所有变量位的值的和模2应当为0。典型LDPC码的一种定义特性是H是“稀疏的”,即,H的元素大部分为0,只有少数为1。
图2(A)示出了LDPC H矩阵200。H矩阵200包括N=9列和N-K=6行。因此,H矩阵200定义接受3位信息字、附加6个奇偶位、并且输出9位码字的LDPC码。
LDPC解码:信任传播
图3是由图1的解码器114使用的LDPC解码方法300的流程图。解码方法300的核心是被称为信任传播的迭代的两阶段消息传递算法。可以通过使用Tanner图解释信任传播。
图2(B)是H矩阵200的Tanner图。一般地,Tanner图包括1)等于H中的列数的位节点(也被称为变量节点)数目n(并且因此等于变量位的数目N),2)等于H中的行数的校验节点数目m(并且因此等于奇偶位的数目),3)边202,每个边将单个位节点ni连接到单个校验节点mi,4)对于每个位节点ni,原始Lch值,和5)对于每个位节点ni,计算的硬判决输出值图2(B)的Tanner图包括9个位节点n0-n8,6个校验节点m0-m5,18个将位节点连接到校验节点的边202,9个Lch值和9个值。
Tanner图中的边表示位节点n和校验节点m之间的关系,其中边表示H中的1。例如,在图2(B)中,边202将第1个位节点n0连接到第4个校验节点m3,这是由于在图2(A)的H矩阵200的第1列第4行中存在1。
Tanner图是二分图,即,一个边仅能将一个位节点连接到一个校验节点,而不能将一个位节点连接到另一个位节点,或者将一个校验节点连接到另一个校验节点。以N(m)表示被以边连接到特定校验节点m的所有位节点n的集合。以M(n)表示被以边连接到特定位节点n的所有校验节点m的集合。特定(位或校验)节点的索引是其在图中的序数序列。
返回图3,处理开始于步骤302,并且进入步骤304,进行解码器初始化。解码器初始化304包括将与每个位节点n连接的所有边(例如,图2(B)的202)设置为与位节点n相关联的相应Lch值,并且将位节点n的值设置为位节点n的Lch的硬判决值。因此,例如,在图2(B)中,如果与位节点n0相关联的Lch值是十进制值+5,则在步骤304,将使位节点n0连接到校验节点m0和m3的两个边202设置为+5,并且位节点n的值被设置为1。表述这个步骤的第一部分的另一种方式是位节点n0向集合M(n0)中的每个校验节点m发送消息+5。从位节点n发送到校验节点m的消息被称为位节点或Q消息,并且被以Qnm表示。
随后,步骤304向校验子校验步骤306发送包括N个值的候选解码码字矢量校验子校验步骤306使用下面的等式(1)计算校验子矢量z:
其中HT是H矩阵的转置。如果校验子矢量z是0矢量,则矢量满足由H定义的所有奇偶校验约束,即,是有效的解码码字。在该情况下,处理进入循环冗余校验(CRC)318。
相反,如果校验子矢量z不是0矢量,则矢量未通过一个或更多个奇偶校验约束。校验子矢量z中的每个非零元素表示一个失败的奇偶校验约束,其也被称为不满足校验节点(USC)。校验子矢量z中非零元素的数目是矢量中的USC的数目b。另外,校验子矢量z的非零元素的索引是USC在矢量中的索引。
如果矢量未通过校验子校验306,则处理继续一个或更多个解码迭代308(“局部迭代”)中的第一个迭代。解码迭代308包括三个步骤:1)信任传播校验节点更新步骤310,2)信任传播位节点更新步骤312和3)与步骤306相同的校验子校验步骤314。
在信任传播校验节点更新步骤310中,每个校验节点m根据下面的等式(2)、(3)和(4)使用从集合N(m)中的所有位节点n接收的Qnm消息计算以Rmn表示的一个或更多个校验节点或R消息:
R mn ( i ) = δ mn ( i ) max ( κ mn ( i ) - β , 0 ) - - - ( 2 )
κ mn ( i ) = | R mn ( i ) | = min n ′ ∈ N ( m ) \ n | Q n ′ m ( i - 1 ) | - - - ( 3 )
δ mn ( i ) = ( Π n ′ ∈ N ( m ) \ n sgn ( Q n ′ m ( i - 1 ) ) ) - - - ( 4 )
其中i是解码迭代,N(m)\n是除去位节点n之外的集合N(m),函数sgn返回其操作数的符号,并且β是正的常数,其值取决于码参数。每个校验节点m将计算的Rmn消息沿着相同的边送回集合N(m)中的所有位节点n。
接着,在信任传播位节点更新步骤312,每个位节点n根据下面的等式(5)计算一个或更多个Qnm消息:
Q nm ( i ) = L n ( 0 ) + Σ m ′ ∈ M ( n ) \ m R m ′ n ( i ) - - - ( 5 )
其中Ln (0)是位节点n的原始Lch值,并且M(n)\m是除去校验节点m之外的集合M(n)。位节点n将计算的Qnm消息发送到集合M(n)中的所有校验节点m。
并且,在位节点更新步骤312中,每个位节点n根据下面的等式(6)和(7)更新其
E n ( i ) = Σ m ′ ∈ M ( n ) R mn ( i ) - - - ( 6 )
P n = L n ( 0 ) + E n ( i ) - - - ( 7 )
如果Pn≥0,则并且如果Pn<0,则由等式(6)产生的值也称为外在或E值,并且被以ELDPC表示。由等式(7)产生的值被称为P值。以等式(2)-(7)表示的特定信任传播算法被称为最小和算法。注意,值被在每个解码迭代308中更新,并且最后由解码处理300输出。原始LLR值Lch在解码处理300中保持不变。
位节点更新步骤312将由解码器的当前值构成的矢量发送到校验子校验步骤314。校验子校验步骤314与上面讨论的步骤306的校验子校验相同。如果矢量通过了校验子校验314,则矢量被发送到CRC步骤318。
LDPC解码:循环冗余校验和误满足校验节点
通过校验子校验306或314意味着矢量是有效的解码码字,但是不必然是解码正确的码字(DCCW)。LDPC解码器可能产生不是DCCW的有效解码码字。在该情况下,矢量中不存在USC,但是存在误满足校验节点(MSC),即,与偶数个错误位节点相关联的校验节点。因此,为了确保有效的矢量是DCCW,处理300将矢量传递到循环冗余校验(CRC)318。CRC校验是校验和运算,其可以检测传输或存储过程中的数据改变。
如果矢量通过了CRC校验,则矢量是DCCW,并且处理300将全局变量DCCW设置为真,输出矢量并且在步骤320处终止。否则,矢量不是DCCW,并且处理300将全局变量DCCW设置为假,输出矢量并且在步骤320处终止。全局变量DCCW通知其它解码处理是否产生了DCCW。
返回步骤314,如果矢量未通过校验子校验,则仍然存在一个或更多个USC。解决USC的典型方法是执行另一个解码迭代308。然而,在特定的局部解码会话中,可能存在不能在合理的时间量中被满足的一个或更多个USC。因此,LDPC解码器通常具有可以执行多少次解码迭代的限制。迭代的最大数目的典型值的范围从50到200。
在图3中,步骤316确定是否达到了迭代的指定的最大数目。如果未达到,执行另一个解码迭代308。反之,如果达到了迭代的最大数目,则解码器处理300失败。在该情况下,处理300将全局变量DCCW设置为假,输出矢量并且在步骤320终止。
处理300的完整执行被称为局部解码会话。
BER、SNR和错误平台
LDPC解码器的位错误率(BER)表示解码位具有错误值的概率。因此,例如,具有10-9的BER的解码器对于处理的每十亿个解码位平均产生1个错误位。未收敛到DCCW的LDPC局部解码会话对解码器的BER做出贡献。
LDPC解码器的BER受解码器的输入信号的信噪比(SNR)的强烈影响。作为SNR的函数的BER图通常包括两个不同的区域:初始“瀑布”区域,其中对于SNR的单位增加,BER迅速改善(下降);以及随后的“错误平台”区域,其中SNR的增加仅产生BER的略微改善。因此,在错误平台区域中实现显著的BER改进需要SNR增加之外的方法。
一种改善LDPC解码的错误平台特性的方法是增加码字长度。然而,增加码字长度也增加LDPC解码所需的存储器和其它计算资源。因此,如果这些资源是紧缺的,HD驱动器上的读通道设备通常就是这种情况,必须寻找其它方法产生必要的错误平台改进。
另一种稀缺的资源是处理周期。通常,为了实现指定的吞吐率,HD驱动器为解码一个码字安排固定数目的读通道处理周期预算。超出该预算的方法(即,计划外(off-the-fly)的方法)将减小吞吐率。更希望在时钟周期分配内恢复DCCW,并且因此不减小吞吐率的计划内(on-the-fly)的方法。
改进LDPC解码器的错误平台特性的另一种方法是使用一个或更多个后处理方法。当局部解码会话在允许的最大迭代数目内未收敛到DCCW时调用后处理方法。后处理方法调整与解码处理相关联的一个或更多个变量(例如,y值、Lch值和/或解码器的操作参数)并且重新启动解码。类似解码自身,后处理方法通常是迭代的,对解码处理的输入进行多个、顺序的改变。
在典型的LDPC局部解码会话中,解码器在前几个解码迭代中收敛到DCCW。相反,当LDPC解码器在指定的最大迭代数目内未收敛到DCCW时,通常是由于两种情况之一。在第一种情况中,输入码字包含太多的位错误,即,太少的正确值,从而解码器不能校正所有位错误,并且输出矢量是具有大量(例如,多于16个)位错误的无效解码码字(ICW)。处理ICW的典型后处理方法是请求输入码字的重新发送。虽然重新发送是一种计划外方法并且因此是不希望的,但它通常是用于校正ICW的仅有的可靠选择。
在第二种情况下,解码码字拥有少量(例如,16个或更少)USC。这种解码码字被称为近码字(NCW)。通常,NCW中的USC构成一种被称为陷阱集合的稳定配置,陷阱集合不受进一步解码迭代的影响。NCW/陷阱集合对LDPC解码器的错误平台特性具有显著影响。
Turbo均衡
TURBO均衡指用于校正NCW的一族后处理方法。具体地,TURBO均衡获取在解码过程中由解码器产生的一个或更多个值,并且将这些值与原始LLR值组合,以便产生新的调整后的LLR值,这些值将成为解码器的新输入。
在典型的TURBO均衡方案中,失败的解码器的ELDPC值被与原始LCH值组合,以便创建新的调整后的LCH值。然后,该调整后的LCH值被反馈到解码器内,并且重新执行解码。调整LCH值和重新执行解码的步骤被称为全局迭代。
通常,TURBO均衡是迭代处理。如果LDPC解码器未以调整后的LCH值到达DCCW,则执行另一个全局迭代:将调整后的LCH值再次与失败的解码器的新ELDPC值组合,并且反馈到LDPC解码器内。当(i)LDPC解码器达到DCCW,或(ii)已经执行了指定的最大允许数目的全局迭代时,全局迭代停止。由TURBO均衡系统从接受新码字以便解码的时刻到最后全局迭代完成的时刻所执行的步骤被称为全局解码会话。
关于TURBO均衡的更多信息可见于(i)A.C.Douillard,A.Picart,M.Jézéquel,P.Didier,C.Berrou和A.Glavieux的″Iterativecorrection of intersymbol interference:Turbo-equalization,″Eur.Trans.Commun.,vol.6,pp.507-511,Sept.-Oct.1995,以及(ii)Yeap,B.L.,Liew,T.H.,Hamorsky,J.和Hanzo,L.B.的″ComparativeStudy of Turbo Equalization Schemes using Convolutional,Convolutional Turbo,and Block-Turbo Codes,″IEEE Transactionson Wireless Communications,1(2).pp.266-273,通过引用将这两者完整结合在此。
图4是TURBO均衡系统400的方框图。TURBO均衡系统400包括缓冲器402、信道检测器404(例如,MAP检测器、Viterbi检测器等)、累加节点(summing node)406、LDPC解码器408、缓冲器412和延迟缓冲器416。TURBO均衡系统400类似于图1的通信系统100的由信道检测器112和LDPC解码器114组成的部分。
缓冲器402缓冲从有噪信道(例如,图1的信道110)接收的均衡信道样本值y。信道检测器404从缓冲器402读取(i)y样本集合,并且从缓冲器412读取(ii)外在信息值ELDPC的匹配集合(对于第一个全局迭代,ELDPC=0),并且产生初始LLR值LCD。累加节点406从(ii)初始LLR值LCD中减去从延迟缓冲器416接收的(i)外在信息值ELDPC i-1,d,以便产生调整后的LCH值。LDPC解码器408使用调整后的LLR值LCH执行一个或更多个局部迭代410,以便产生(i)码字和(ii)外在信息值ELDPC的新集合。外在信息值ELDPC是由LDPC解码器408产生的LLR值减去调整后的LLR值LCH(见等式6和7)的LLR值。缓冲器412存储一个全局迭代的外在信息值ELDPC,以便产生外在信息值ELDPC i-1。类似地,延迟缓冲器416存储并将外在信息值ELDPC i-1延迟若干样本(样本数目取决于信道检测器404的处理延迟),以便产生外在信息值ELDPC i-1,d
每个全局迭代414包括(i)信道检测器404从缓冲器402和412接收值,并且产生LLR值LCD,(ii)累加节点406产生差,(iii)LDPC解码器408执行局部解码会话,和(iV)缓冲器412和416存储并且延迟ELDPC值的相应集合。因此,在给定的全局迭代i中,累加节点406从初始LLR值LCD中减去在全局迭代i-1中产生的ELDPC值(即,来自第i-1个全局迭代的ELDPC i-1,并且对于第一个全局迭代,即,i=0,)。
系统400的操作的例子如下。变量上标指特定变量所属的全局迭代。例如,ELDPC 3指解码器408在第三个全局迭代(即,全局迭代3)中产生的ELDPC值。
在接受用于解码的y信号的新集合之后,系统400将所有ELDPC值初始化为0。由于ELDPC 1指解码器408在全局迭代1中产生的ELDPC值,在初始化过程中,系统400将值ELDPC 0(存储在缓冲器412内,并且在全局迭代1中在信道检测器404处应用)和值ELDPC 0,d(存储在缓冲器416内,并且在全局迭代1中在累加节点406处应用)初始化为0。
在系统400的全局迭代1中,在信道检测器404处应用的缓冲的外在信息值ELDPC 0和在累加节点406处应用的延迟的外在信息值ELDPC 0,d为空。因此,调整后的LLR值LCH等于初始LLR值LCD。LDPC解码器408对调整后的LLR值LCH执行一个或更多个局部迭代,并且向缓冲器412输出新的外在信息值ELDPC 1,缓冲器412将缓冲的外在信息值ELDPC 1,d输出到延迟缓冲器416。
如果解码器408在全局迭代1过程中收敛到DCCW,则LDPC解码成功。在该情况下,信道检测器404接收要解码的y值的下一个集合,并且延迟缓冲器412和416被重新初始化为0。在另一方面,如果不是DCCW,则系统400开始另一个全局迭代414(即,全局迭代2)。
在全局迭代2中,信道检测器404处理缓冲的y值和缓冲的外在信息值ELDPC 1,以便给累加节点406产生新的初始LLR值LCD。累加节点406从新的初始LLR值LCD中减去缓冲的外在信息值ELDPC 1,d,并且将得到的调整后的LLR值LCH发送到LDPC解码器408,在LDPC解码器408处开始新的局部解码会话。LDPC解码器408对调整后的LLR值LCH执行一个或更多个局部迭代,并且向缓冲器412输出新的外在信息值ELDPC 2,缓冲器412向延迟缓冲器416输出缓冲的LLR值ELDPC 2
如果解码器408在全局迭代2期间收敛到DCCW,则LDPC解码成功。在该情况下,信道检测器404接受要解码的y值的下一个集合,并且延迟缓冲器412和416被重新初始化为0。在另一方面,如果不是DCCW,则系统400开始另一个全局迭代414(即,全局迭代3)。
在全局迭代3中,信道检测器404处理缓冲的y值和缓冲的外在信息值ELDPC 2,以便给累加节点406产生新的初始LLR值LCD。累加节点406从新的初始LLR值LCD中减去缓冲的外在信息值ELDPC 2,d,并且将得到的调整后的LLR值LCH发送到LDPC解码器408,在LDPC解码器408处开始新的局部解码会话。LDPC解码器408对调整后的LLR值LCH执行一个或更多个局部迭代,并且向缓冲器412输出新的外在信息值ELDPC 3,缓冲器412向延迟缓冲器416输出缓冲的LLR值ELDPC 3
如果解码器408在全局迭代3期间收敛到DCCW,则LDPC解码成功。在该情况下,信道检测器404接受要解码的y值的下一个集合,并且延迟缓冲器412和416被重新初始化为0。在另一方面,如果不是DCCW,则系统400开始另一个全局迭代414(即,全局迭代4)。
这种全局迭代的处理继续,直到产生DCCW或达到最大数目的全局迭代为止。
图5是根据本发明的一个实施例的TURBO均衡系统500的方框图。类似于图4的TURBO均衡系统400,TURBO均衡系统500类似于图1通信系统100的由信道检测器112和LDPC解码器114组成的部分。图5的缓冲器502、信道检测器504、累加节点506、LDPC解码器508、缓冲器512和延迟缓冲器516分别类似于图4的缓冲器402、信道检测器404、累加节点406、LDPC解码器408、缓冲器412和延迟缓冲器416。另外,TURBO均衡系统500包括LLR调整器520和开关518。LLR产生器524包括缓冲器502、信道检测器504、累加节点506、开关508、缓冲器512、延迟缓冲器516、LLR调整器520、逻辑块522和开关518。
由信道检测器504产生的初始LLR值LCD除了被使用于累加节点506之外,还被使用于LLR调整器520。由累加节点506产生的标准的调整后的LLR值LP1被应用到开关518,而不是被直接使用于LDPC解码器508。
LLR调整器520从信道检测器504接收(i)初始LLR值LCD并且从前面的局部解码会话的LDPC解码器508接收(ii)解码码字中不满足校验节点的数目b。LLR调整器520根据下面的等式(8)计算改进的调整后的LLR值LP2
LP2=sign(L1)*b,                 (8)
其中改进的调整后的LLR值LP2具有相应的初始LLR值LCD的符号,但是量值等于USC的以前数目b。因此,例如,如果特定初始LLR值LCD的硬判决为负,中USC的数目b是5,则LP2将是-5。然后,改进的调整后的LLR值LP2被应用于开关518。
开关518从逻辑块522接收(i)1位控制信号S,从累加节点506接收(ii)标准的调整后的LLR值LP1,并且从LLR调整器520接收(iii)改进的调整后的LLR值LP2。如果S是1,则开关518将改进的调整后的LLR值LP2输出到LDPC解码器508作为选择的调整后的LLR值LCH。如果S是0,则开关518将标准的调整后的LLR值LP1输出到LDPC解码器CF作为选择的调整后的LLR值LCH
逻辑块522从LDPC解码器508接收当前全局解码迭代的次数i和值b。如果全部满足下面三个条件,逻辑决522输出1作为控制信号S:
(1)b小于或等于bmax
(2)i不等于0模(mod)p;和
(3)i大于iSTART
bmax指示TURBO均衡系统所允许的USC节点的最大数目。bmax的典型值是16。i是给定全局迭代的序数。序数i被初始化为0,并且在每次全局迭代开始时递增。P是指示改进的全局迭代的频率的由操作者定义的值。例如,如果P为4,则为每个标准全局迭代执行3次改进的全局迭代。iSTART是使用标准全局迭代方法的由操作者定义的初始全局迭代数字。例如,如果iSTART设置为2,则前两个全局迭代是标准全局迭代。例如,如果P=4并且iSTART=2,则全局迭代1和2是标准全局迭代,全局迭代3是改进的全局迭代,全局迭代4是标准全局迭代,全局迭代5、6和7是改进的全局迭代,迭代8是标准全局迭代,并且依此类推,全局迭代12、16、20...是标准全局迭代,并且所有其它全局迭代是改进的全局迭代。
如果不满足这三个条件中的一个或更多个,则逻辑块522输出0作为控制信号S。
LDPC解码器508接收选择的调整后的LLR值LCH,并且执行解码。LDPC解码器508输出三组值:(1)向延迟缓冲器512输出外在信息值ELDPC i的新集合,(2)向下游处理输出新的解码码字以及(3)向LLR调整器520和开关518输出解码码字中的USC数目b。如果LDPC解码器508不收敛到DCCW,则执行系统500的另一个全局迭代。当(i)LDPC解码器508收敛到DCCW或(ii)系统500在所允许的最大数目的全局迭代内未收敛到DCCW时,系统500终止。
注意,如果改进的全局迭代的频率P被设置为1,则系统500执行的所有全局迭代都是标准全局迭代。类似地,如果初始的标准全局迭代的数字iSTART被设置为等于全局迭代的最大数目,则所有全局迭代都是标准全局迭代。
研究表明本发明的实施例可以产生迭代解码系统BER的10倍的改进。
虽然以实施LDPC编码和解码的硬盘驱动器的上下文描述了本发明,但本发明不限于此。一般地,本发明可被实现在涉及LPDC编码和解码的任意适合的通信路径中。
另外,虽然上面使用的示例信任传播算法是偏移量最小和算法(OMS),但本发明不限于此,而可以用于任意信任传播变体,例如,和积算法(SPA)或Bahl-Cocke-Jelinek-Raviv(BCJR)算法。
另外,虽然上面使用的信任传播例子使用特定的解码调度(泛滥调度),其中在单个校验节点更新步骤中更新所有校验节点,之后在单个位节点更新步骤中更新所有位节点,但本发明不限于此,而可以用于任意解码调度,例如,行串行调度、列串行调度和行-列串行调度。
另外,虽然示例系统500结合标准全局迭代执行改进的全局迭代,但本发明不限于此。例如,本发明的一个实施例是仅使用改进的全局迭代的系统。这种系统类似于图5的系统500,但是忽略了累加节点506、逻辑块522、开关518和延迟缓冲器516。
另外,虽然示例系统500使用三个特定准则确定何时执行改进的全局迭代,但本发明不限于此。可以使用任意适合数目和类型的准则,包括没有准则(例如,总是执行改进的全局迭代)。
另外,虽然示例系统500将改进的调整后的LLR值的量值设置为等于USC的数目b,但在替换实施例中,改进的调整后的LLR值的量值可被设置为等于基于值b的不同数字(例如,b+1)。
另外,虽然上面使用的示例LDPC解码器是不分层的解码器,但本发明不限于此,并且可以使用分层解码器和不分层解码器。
另外,虽然以LDPC码的上下文描述了本发明的实施例,但本发明不限于此。可以为可由图定义的任意码实现本发明的实施例,例如,tornado码、结构化IRA码,以图定义的码具有陷阱集合问题。
本发明可被表达为方法和用于实现这些方法的装置的形式。本发明可被表达为包含在有形介质内的程序代码的形式,所述有形介质诸如是磁记录介质、光学记录介质、固态存储器、软盘、CD-ROM、硬盘驱动器或任意其它机器可读的存储介质,其中当程序代码被装入诸如计算机的机器并且由其执行时,该机器成为实现本发明的装置。本发明还可被表达为,例如,存储在存储介质内的、被装入和/或由机器执行的、或在某种传输介质或载体上传输的程序代码的形式,诸如在电线或电缆上传输、通过光纤传输或通过电磁辐射传输,其中当程序代码被装入诸如计算机的机器并且由其执行时,该机器成为实现本发明的装置。当在通用处理器上实现时,该程序代码段与处理器相结合,以便提供类似于专用逻辑电路操作的独特设备。
除非明确说明,每个数值和范围应被解释为是近似的,就如同在该值或范围前面加有单词“大约”或“近似”一样。
还应当理解,本领域的技术人员可以对为了解释本发明的属性而描述和示出的部件的细节、材料和布置进行各种改变,而不脱离本发明的范围。
应当理解,此处提出的示例方法的步骤不必然需要以描述的顺序执行,并且这些方法的步骤的顺序应当被理解为仅是例子。同样,这些方法中可以包括附加步骤,并且可以在根据本发明的各种实施例的方法中忽略或组合某些步骤。
此处对“一个实施例”或“实施例”的引用意味着结合该实施例描述的特定特征、结构或特性可被包括在本发明的至少一个实施例中。在说明书各处出现的短语“在一个实施例中”不必然全部指相同的实施例,不同的或可替换的实施例也不必然互相排除在其它实施例之外。这同样适用于术语“实现”。

Claims (10)

1.一种用于对编码的码字进行解码的方法,该方法包括以下步骤:
(a)为所述编码的码字产生对数似然比值的第一集合,每个对数似然比值具有硬判决值和置信度值;
(b)基于对数似然比值的第一集合对所述编码的码字执行解码,以便产生具有数目为b的不满足校验节点的解码码字;
(c)为所述编码的码字产生对数似然比值的第二集合,至少一个对数似然比值具有基于不满足校验节点的数目b的置信度值;和
(d)基于对数似然比值的第二集合对所述编码的码字执行解码。
2.如权利要求1所述的方法,其中所述编码的码字是低密度奇偶校验码字。
3.如权利要求1所述的方法,其中所述第二集合中的每个对数似然比值具有等于不满足校验节点的数目b的置信度值。
4.如权利要求1所述的方法,其中步骤(c)和(d)与第一turbo均衡方法的单个迭代相对应。
5.如权利要求4所述的方法,还包括第一turbo均衡方法的一个或更多个附加迭代。
6.如权利要求4所述的方法,其中步骤(a)和(b)与第二turbo均衡方法的单个迭代相对应,其中所述第一集合中的对数似然比值的置信度值不基于来自所述编码的码字的任意以前解码的不满足校验节点的数目b。
7.如权利要求4所述的方法,还包括第二turbo均衡方法的一个或更多个迭代,所述第二turbo均衡方法包括以下步骤:
(1)不使任意置信度值基于来自所述编码的码字的任意以前解码的不满足校验节点数目b,来产生所述编码的码字的对数似然比值的第三集合;和
(2)基于所述对数似然比值的第三集合对所述编码的码字执行解码。
8.如权利要求7所述的方法,其中该方法包括交错第一turbo均衡方法的第一迭代集合和第二turbo均衡方法的第二迭代集合,其中:
每个第一集合包括第一turbo均衡方法的一个或更多个迭代;和
每个第二集合包括第二turbo均衡方法的一个或更多个迭代。
9.如权利要求1所述的方法,其中步骤(c)包括以下步骤:
(c1)将不满足校验节点的数目b和指定的阈值进行比较;和
(c2)如果不满足校验节点的数目b不大于所述指定的阈值,产生具有基于不满足校验节点的数目b的置信度值的至少一个对数似然比值。
10.一种用于对编码的码字进行解码的装置,该装置包括:
(a)用于为所述编码的码字产生对数似然比值的一个或更多个集合的装置,每个对数似然比值具有硬判决值和置信度值;和
(b)用于基于所述对数似然比值的一个或更多个集合之一对所述编码的码字执行解码的装置,其中:
装置(a)被配置为为所述编码的码字产生对数似然比值的第一集合;
装置(b)被配置为基于所述对数似然比值的第一集合对所述编码的码字执行解码,以便产生具有数目为b的不满足校验节点的解码码字;
装置(a)被配置为为所述编码的码字产生对数似然比值的第二集合,至少一个对数似然比值具有基于不满足校验节点的数目b的置信度值;和
装置(b)被配置为基于所述对数似然比值的第二集合对所述编码的码字执行解码。
CN200980100343.2A 2009-03-05 2009-04-02 用于迭代解码器的改进的turbo均衡方法 Expired - Fee Related CN101903890B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15767109P 2009-03-05 2009-03-05
US61/157,671 2009-03-05
PCT/US2009/039279 WO2010101578A1 (en) 2009-03-05 2009-04-02 Improved turbo-equalization methods for iterative decoders

Publications (2)

Publication Number Publication Date
CN101903890A CN101903890A (zh) 2010-12-01
CN101903890B true CN101903890B (zh) 2015-05-20

Family

ID=42709940

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980100343.2A Expired - Fee Related CN101903890B (zh) 2009-03-05 2009-04-02 用于迭代解码器的改进的turbo均衡方法

Country Status (7)

Country Link
US (1) US8291299B2 (zh)
EP (1) EP2340507A4 (zh)
JP (1) JP5506828B2 (zh)
KR (1) KR101473046B1 (zh)
CN (1) CN101903890B (zh)
TW (1) TWI473439B (zh)
WO (1) WO2010101578A1 (zh)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8935601B1 (en) 2008-12-03 2015-01-13 Marvell International Ltd. Post-processing methodologies in decoding LDPC codes
US8418019B2 (en) 2010-04-19 2013-04-09 Lsi Corporation Systems and methods for dynamic scaling in a data decoding system
DE102010044458A1 (de) * 2010-09-06 2012-03-08 Technische Universität Dortmund Verfahren und System zur Schätzung einer originalen Informationssequenz
US8681439B2 (en) 2010-09-13 2014-03-25 Lsi Corporation Systems and methods for handling sector gaps in inter-track interference compensation
US8989252B1 (en) * 2011-01-19 2015-03-24 Marvell International Ltd. Methods and apparatus for power efficient iterative equalization
US8854753B2 (en) 2011-03-17 2014-10-07 Lsi Corporation Systems and methods for auto scaling in a data processing system
US8693120B2 (en) 2011-03-17 2014-04-08 Lsi Corporation Systems and methods for sample averaging in data processing
US8611033B2 (en) * 2011-04-15 2013-12-17 Lsi Corporation Systems and methods for selective decoder input data processing
US8887034B2 (en) 2011-04-15 2014-11-11 Lsi Corporation Systems and methods for short media defect detection
US8560929B2 (en) 2011-06-24 2013-10-15 Lsi Corporation Systems and methods for non-binary decoding
US8830613B2 (en) 2011-07-19 2014-09-09 Lsi Corporation Storage media inter-track interference cancellation
US8879182B2 (en) 2011-07-19 2014-11-04 Lsi Corporation Storage media inter-track interference cancellation
US8854754B2 (en) 2011-08-19 2014-10-07 Lsi Corporation Systems and methods for local iteration adjustment
US8539328B2 (en) 2011-08-19 2013-09-17 Lsi Corporation Systems and methods for noise injection driven parameter selection
US9026572B2 (en) 2011-08-29 2015-05-05 Lsi Corporation Systems and methods for anti-causal noise predictive filtering in a data channel
US8661324B2 (en) 2011-09-08 2014-02-25 Lsi Corporation Systems and methods for non-binary decoding biasing control
US8850276B2 (en) 2011-09-22 2014-09-30 Lsi Corporation Systems and methods for efficient data shuffling in a data processing system
US8479086B2 (en) 2011-10-03 2013-07-02 Lsi Corporation Systems and methods for efficient parameter modification
US8862960B2 (en) 2011-10-10 2014-10-14 Lsi Corporation Systems and methods for parity shared data encoding
US8527858B2 (en) 2011-10-28 2013-09-03 Lsi Corporation Systems and methods for selective decode algorithm modification
US8768990B2 (en) 2011-11-11 2014-07-01 Lsi Corporation Reconfigurable cyclic shifter arrangement
US8731115B2 (en) 2012-03-08 2014-05-20 Lsi Corporation Systems and methods for data processing including pre-equalizer noise suppression
US8781033B2 (en) * 2012-06-26 2014-07-15 Lsi Corporation Apparatus and method for breaking trapping sets
RU2012135285A (ru) * 2012-08-16 2014-02-27 ЭлЭсАй Корпорейшн Ускоритель для средства проектирования и моделирования канала считывания записи
US9112531B2 (en) 2012-10-15 2015-08-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for enhanced local iteration randomization in a data decoder
RU2012146685A (ru) 2012-11-01 2014-05-10 ЭлЭсАй Корпорейшн База данных наборов-ловушек для декодера на основе разреженного контроля четности
US9009557B2 (en) 2013-01-21 2015-04-14 Lsi Corporation Systems and methods for reusing a layered decoder to yield a non-layered result
US8862959B1 (en) 2013-01-23 2014-10-14 Apple Inc. Sign equalization in iterative decoding of sparse graph codes
US8930792B2 (en) 2013-02-14 2015-01-06 Lsi Corporation Systems and methods for distributed low density parity check decoding
US8885276B2 (en) 2013-02-14 2014-11-11 Lsi Corporation Systems and methods for shared layer data decoding
US9214959B2 (en) 2013-02-19 2015-12-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for skip layer data decoding
US9281843B2 (en) 2013-03-22 2016-03-08 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for reduced constraint code data processing
US9274889B2 (en) 2013-05-29 2016-03-01 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for data processing using global iteration result reuse
US8959414B2 (en) 2013-06-13 2015-02-17 Lsi Corporation Systems and methods for hybrid layer data decoding
US8917466B1 (en) 2013-07-17 2014-12-23 Lsi Corporation Systems and methods for governing in-flight data sets in a data processing system
US8817404B1 (en) 2013-07-18 2014-08-26 Lsi Corporation Systems and methods for data processing control
US9196299B2 (en) 2013-08-23 2015-11-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for enhanced data encoding and decoding
US8908307B1 (en) 2013-08-23 2014-12-09 Lsi Corporation Systems and methods for hard disk drive region based data encoding
US9047882B2 (en) * 2013-08-30 2015-06-02 Lsi Corporation Systems and methods for multi-level encoding and decoding
US9400797B2 (en) 2013-09-17 2016-07-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for recovered data stitching
US9219503B2 (en) 2013-10-16 2015-12-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for multi-algorithm concatenation encoding and decoding
US9323606B2 (en) 2013-11-21 2016-04-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for FAID follower decoding
RU2014104571A (ru) 2014-02-10 2015-08-20 ЭлЭсАй Корпорейшн Системы и способы для эффективного с точки зрения площади кодирования данных
KR102194136B1 (ko) * 2014-03-12 2020-12-22 삼성전자주식회사 비이진 ldpc 부호를 이용한 이동 통신 시스템에서 오류 정정 장치 및 방법
US9564922B1 (en) * 2014-03-19 2017-02-07 Microsemi Storage Solutions (U.S.), Inc. Error correction code decoder with stochastic floor mitigation
US9378765B2 (en) 2014-04-03 2016-06-28 Seagate Technology Llc Systems and methods for differential message scaling in a decoding process
KR102285940B1 (ko) 2015-05-29 2021-08-05 에스케이하이닉스 주식회사 데이터 처리 회로, 데이터 처리 회로를 포함하는 데이터 저장 장치 및 그것의 동작 방법
US11611359B2 (en) * 2015-05-29 2023-03-21 SK Hynix Inc. Data storage device
EP3151434A1 (en) * 2015-10-01 2017-04-05 Mitsubishi Electric R&D Centre Europe B.V. Method for demodulating received symbols using a turbo-demodulation scheme comprising an iterative channel equalization and wherein an iterative channel decoder is used in the turbo-demodulation scheme
US9793924B1 (en) 2015-12-04 2017-10-17 Microsemi Solutions (U.S.), Inc. Method and system for estimating an expectation of forward error correction decoder convergence
US10164656B2 (en) 2016-03-30 2018-12-25 Silicon Motion Inc. Bit flipping algorithm for providing soft information during hard decision hard decoding
US10997017B2 (en) 2018-05-03 2021-05-04 SK Hynix Inc. Neighbor assisted correction error recovery for memory system and method thereof
US10872013B2 (en) * 2019-03-15 2020-12-22 Toshiba Memory Corporation Non volatile memory controller device and method for adjustment
CN117480732A (zh) 2021-09-28 2024-01-30 微芯片技术股份有限公司 具有陷阱块管理的ldpc解码

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1898874A (zh) * 2003-12-22 2007-01-17 皇家飞利浦电子股份有限公司 具有子块处理和基于子块的停止标准的siso解码器

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307901B1 (en) * 2000-04-24 2001-10-23 Motorola, Inc. Turbo decoder with decision feedback equalization
US6888897B1 (en) * 2000-04-27 2005-05-03 Marvell International Ltd. Multi-mode iterative detector
JP2002111512A (ja) 2000-09-29 2002-04-12 Sony Corp 復号装置及び方法、並びにデータ受信装置及び方法
US6950977B2 (en) 2001-03-15 2005-09-27 3G.Com, Inc. Mechanism for turbo decoding when CRC for partial blocks is provided
NO316488B1 (no) * 2002-04-26 2004-01-26 Kongsberg Defence Comm As Fremgangsmåte og apparat for mottak av digitale kommunikasjonssignaler
US7093180B2 (en) * 2002-06-28 2006-08-15 Interdigital Technology Corporation Fast H-ARQ acknowledgement generation method using a stopping rule for turbo decoding
US7231577B2 (en) 2003-02-26 2007-06-12 Qualcomm Incorporated Soft information scaling for iterative decoding
US20070234178A1 (en) 2003-02-26 2007-10-04 Qualcomm Incorporated Soft information scaling for interactive decoding
US7340671B2 (en) 2003-10-10 2008-03-04 Regents Of The University Of California Decoding low density parity codes
US7237181B2 (en) 2003-12-22 2007-06-26 Qualcomm Incorporated Methods and apparatus for reducing error floors in message passing decoders
ATE374474T1 (de) 2003-12-30 2007-10-15 Ericsson Telefon Ab L M Verfahren und system zur berechnung der bitfehlerrate eines empfangenen signals
US20050193320A1 (en) * 2004-02-09 2005-09-01 President And Fellows Of Harvard College Methods and apparatus for improving performance of information coding schemes
US7383484B2 (en) * 2004-03-12 2008-06-03 Seagate Technology Llc Cyclic redundancy check based message passing in turbo product code decoding
WO2005096509A1 (en) 2004-03-31 2005-10-13 Intel Corporation Multi-threshold message passing decoding of low-density parity check codes
GB2414638A (en) 2004-05-26 2005-11-30 Tandberg Television Asa Decoding a concatenated convolutional-encoded and block encoded signal
US20050283707A1 (en) 2004-06-22 2005-12-22 Eran Sharon LDPC decoder for decoding a low-density parity check (LDPC) codewords
US7181676B2 (en) 2004-07-19 2007-02-20 Texas Instruments Incorporated Layered decoding approach for low density parity check (LDPC) codes
US7760880B2 (en) 2004-10-13 2010-07-20 Viasat, Inc. Decoder architecture system and method
CN101103581B (zh) 2005-01-19 2012-05-30 英特尔公司 数据通信方法和装置
EP1717959A1 (en) * 2005-04-29 2006-11-02 STMicroelectronics N.V. Method and device for controlling the decoding of a LDPC encoded codeword, in particular for DVB-S2 LDPC encoded codewords
WO2006128164A2 (en) 2005-05-27 2006-11-30 Aquantia Corporation Method and apparatus for extending decoding time in an iterative decoder using input codeword pipelining
US7802172B2 (en) 2005-06-20 2010-09-21 Stmicroelectronics, Inc. Variable-rate low-density parity check codes with constant blocklength
US20060285852A1 (en) 2005-06-21 2006-12-21 Wenze Xi Integrated maximum a posteriori (MAP) and turbo product coding for optical communications systems
US7739558B1 (en) 2005-06-22 2010-06-15 Aquantia Corporation Method and apparatus for rectifying errors in the presence of known trapping sets in iterative decoders and expedited bit error rate testing
US7725800B2 (en) 2005-08-05 2010-05-25 Hitachi Global Stroage Technologies Netherlands, B.V. Decoding techniques for correcting errors using soft information
US8867336B2 (en) 2005-09-28 2014-10-21 Qualcomm Incorporated System for early detection of decoding errors
US20070089016A1 (en) 2005-10-18 2007-04-19 Nokia Corporation Block serial pipelined layered decoding architecture for structured low-density parity-check (LDPC) codes
US7844877B2 (en) 2005-11-15 2010-11-30 Ramot At Tel Aviv University Ltd. Method and device for multi phase error-correction
US7602838B2 (en) 2005-12-22 2009-10-13 Telefonaktiebolaget Lm Ericsson (Publ) Linear turbo equalization using despread values
FI20055715A0 (fi) 2005-12-30 2005-12-30 Nokia Corp Turboekvalisointimenettely
US7752523B1 (en) 2006-02-13 2010-07-06 Marvell International Ltd. Reduced-complexity decoding of parity check codes
US7805642B1 (en) 2006-02-17 2010-09-28 Aquantia Corporation Low power iterative decoder using input data pipelining and voltage scaling
US7941737B2 (en) 2006-04-19 2011-05-10 Tata Consultancy Services Limited Low density parity check code decoder
US7941726B2 (en) 2006-06-30 2011-05-10 Microsoft Corporation Low dimensional spectral concentration codes and direct list decoding
US7580469B2 (en) 2006-07-06 2009-08-25 Provigent Ltd Communication link control using iterative code metrics
US7895500B2 (en) 2006-07-28 2011-02-22 Via Telecom Co., Ltd. Systems and methods for reduced complexity LDPC decoding
FR2905209B1 (fr) * 2006-08-24 2008-10-31 St Microelectronics Sa Procede et dispositif de decodage de blocs encodes avec un code ldpc
US7644339B2 (en) 2006-10-02 2010-01-05 Broadcom Corporation Overlapping sub-matrix based LDPC (low density parity check) decoder
US7979775B2 (en) 2006-10-30 2011-07-12 Motorola Mobility, Inc. Turbo interference suppression in communication systems
FR2909499B1 (fr) 2006-12-01 2009-01-16 Commissariat Energie Atomique Procede et dispositif de decodage pour codes ldpc, et appareil de communication comprenant un tel dispositif
US8108759B2 (en) 2006-12-14 2012-01-31 Regents Of The University Of Minnesota Error detection and correction using error pattern correcting codes
US7949931B2 (en) 2007-01-02 2011-05-24 International Business Machines Corporation Systems and methods for error detection in a memory system
US8117515B2 (en) * 2007-03-23 2012-02-14 Sizhen Yang Methodology and apparatus for soft-information detection and LDPC decoding on an ISI channel
US7904793B2 (en) 2007-03-29 2011-03-08 Sandisk Corporation Method for decoding data in non-volatile storage using reliability metrics based on multiple reads
US8418023B2 (en) 2007-05-01 2013-04-09 The Texas A&M University System Low density parity check decoder for irregular LDPC codes
US8151171B2 (en) 2007-05-07 2012-04-03 Broadcom Corporation Operational parameter adaptable LDPC (low density parity check) decoder
US8127209B1 (en) 2007-07-30 2012-02-28 Marvell International Ltd. QC-LDPC decoder with list-syndrome decoding
US8140948B2 (en) * 2007-09-24 2012-03-20 Nec Laboratories America, Inc. Efficient low complexity high throughput LDPC decoding method and optimization
US8020070B2 (en) 2007-12-05 2011-09-13 Aquantia Corporation Trapping set decoding for transmission frames
US8156409B2 (en) 2008-02-29 2012-04-10 Seagate Technology Llc Selectively applied hybrid min-sum approximation for constraint node updates of LDPC decoders
US8161357B2 (en) * 2008-03-17 2012-04-17 Agere Systems Inc. Systems and methods for using intrinsic data for regenerating data from a defective medium
US8245104B2 (en) 2008-05-02 2012-08-14 Lsi Corporation Systems and methods for queue based data detection and decoding
US20090319860A1 (en) 2008-06-23 2009-12-24 Ramot At Tel Aviv University Ltd. Overcoming ldpc trapping sets by decoder reset
US8392692B2 (en) 2008-08-15 2013-03-05 Lsi Corporation Determining index values for bits of binary vector by processing masked sub-vector index values
WO2010019169A1 (en) 2008-08-15 2010-02-18 Lsi Corporation Rom list-decoding of near codewords

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1898874A (zh) * 2003-12-22 2007-01-17 皇家飞利浦电子股份有限公司 具有子块处理和基于子块的停止标准的siso解码器

Also Published As

Publication number Publication date
EP2340507A4 (en) 2012-05-30
JP2012520009A (ja) 2012-08-30
KR101473046B1 (ko) 2014-12-15
TWI473439B (zh) 2015-02-11
CN101903890A (zh) 2010-12-01
TW201126918A (en) 2011-08-01
US20110311002A1 (en) 2011-12-22
WO2010101578A1 (en) 2010-09-10
JP5506828B2 (ja) 2014-05-28
US8291299B2 (en) 2012-10-16
EP2340507A1 (en) 2011-07-06
KR20110133410A (ko) 2011-12-12

Similar Documents

Publication Publication Date Title
CN101903890B (zh) 用于迭代解码器的改进的turbo均衡方法
US7519898B2 (en) Iterative decoding of linear block codes by adapting the parity check matrix
US8918694B2 (en) Non-concatenated FEC codes for ultra-high speed optical transport networks
JP5432367B2 (ja) 書込み検証を使用した符号のエラーフロア軽減
EP1475893A2 (en) Soft input decoding for linear codes
EP2573943B1 (en) Power-optimized decoding of linear codes
US7331012B2 (en) System and method for iterative decoding of Reed-Muller codes
US10476523B2 (en) Elementary check node-based syndrome decoding using pre-sorted inputs
US9473173B2 (en) Method for early terminating decoding processes of serial concatenated coding and decoder using the same
JP2009152654A (ja) 復号装置および復号方法
Wang et al. An improved concatenation scheme of polar codes with Reed–Solomon codes
WO2007068554A1 (en) Serial concatenation scheme and its iterative decoding using an inner ldpc and an outer bch code
Li et al. Enhanced belief propagation decoding of polar codes by adapting the parity-check matrix
Jing et al. Improved adaptive belief propagation decoding of Reed-Solomon codes with SPC codes
CN111034055A (zh) 在非二进制ldpc解码器中简化的校验节点处理
US8898539B2 (en) Correcting errors in miscorrected codewords using list decoding
JP2009225325A (ja) 復号方法および復号装置、並びにプログラム
Zhang et al. CRC-aided adaptive belief propagation decoding of NR LDPC codes
Jego et al. Turbo decoding of product codes based on the modified adaptive belief propagation algorithm
Min et al. Generalized LDPC code with single-parity-check product constraints at super check nodes
Bellorado et al. Soft-input, iterative, Reed-Solomon decoding using redundant parity-check equations
Hung et al. A New High-Performance and Low-Complexity Turbo-LDPC Code
Savard et al. Optimized codes for the binary coded side-information problem
Krishnan et al. A study on the impact of locality in the decoding of binary cyclic codes
JP4862658B2 (ja) 復号方法および復号装置、並びにプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
C53 Correction of patent of invention or patent application
CB03 Change of inventor or designer information

Inventor after: Li Zongwang

Inventor after: Yang Shaohua

Inventor after: Han Yang

Inventor after: Zhong Hao

Inventor after: Li Yuanxing

Inventor after: Tan Weijun

Inventor before: Li Zongwang

Inventor before: Yang Shaohua

Inventor before: Han Yang

Inventor before: Zhong Hao

Inventor before: Li Yuanxing

Inventor before: Tan Weijun

SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) CORPORAT

Free format text: FORMER OWNER: INFINEON TECHNOLOGIES CORP.

Effective date: 20150806

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150806

Address after: Singapore Singapore

Patentee after: Avago Technologies General IP (Singapore) Pte. Ltd.

Address before: California, USA

Patentee before: LSI Corp.

TR01 Transfer of patent right

Effective date of registration: 20181018

Address after: Singapore Singapore

Patentee after: Avago Technologies General IP (Singapore) Pte. Ltd.

Address before: Singapore Singapore

Patentee before: Avago Technologies General IP (Singapore) Pte. Ltd.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150520

Termination date: 20200402

CF01 Termination of patent right due to non-payment of annual fee