CN1954502B - 用来减少在消息传递译码器中的误码基底的方法和设备 - Google Patents

用来减少在消息传递译码器中的误码基底的方法和设备 Download PDF

Info

Publication number
CN1954502B
CN1954502B CN2004800418657A CN200480041865A CN1954502B CN 1954502 B CN1954502 B CN 1954502B CN 2004800418657 A CN2004800418657 A CN 2004800418657A CN 200480041865 A CN200480041865 A CN 200480041865A CN 1954502 B CN1954502 B CN 1954502B
Authority
CN
China
Prior art keywords
decoder
message
soft
iterative
input
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
CN2004800418657A
Other languages
English (en)
Other versions
CN1954502A (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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN1954502A publication Critical patent/CN1954502A/zh
Application granted granted Critical
Publication of CN1954502B publication Critical patent/CN1954502B/zh
Expired - Fee Related 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/1128Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations
    • 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
    • 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
    • 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/2957Turbo codes and decoding
    • H03M13/296Particular turbo code structure
    • H03M13/2963Turbo-block codes, i.e. turbo codes based on block codes, e.g. turbo decoding of product 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3723Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using means or methods for the initialisation of the decoder
    • 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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • H04L1/0051Stopping criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03006Arrangements for removing intersymbol interference
    • H04L25/03171Arrangements involving maximum a posteriori probability [MAP] detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Error Detection And Correction (AREA)

Abstract

一种与软输入-软输出信号处理单元,例如ISI探测器,一道操作的迭代消息传递译码器,例如LDPC译码器,具有由译码器的次最佳消息传递性质影响的误码基底性能区。误码基底减小由一种简单的消息重新初始化机构实现。译码器的边缘状态,例如在译码器存储器中的约束到可变节点消息,对于例如一个迭代,在译码期间在由信号处理单元提供的软值已经改进之后,被重新初始化。在消息重新初始化期间并且对于某一后续量的迭代译码器处理,在外部通信环路中,从译码器反馈到信号处理单元的外在信息和/或从信号处理单元输送到译码器的软值,被临时冻结,例如使用开关和缓冲器。然后,随着译码继续恢复外部通信环路,实现改进译码性能。

Description

用来减少在消息传递译码器中的误码基底的方法和设备
技术领域
本发明涉及改进消息传递译码方法和设备,并且更具体地说,涉及改进消息传递译码器,例如低密度奇偶性校验和类似类型的译码器,及涉及减小在这样的译码器的输出中的误差的方式。 
背景技术
几乎所有形式的电子通信和存储系统都使用纠错码。纠错码通过把冗余引入到数据流中而补偿在这些系统中信息传输的固有不可靠性。纠错的数学基础由Shannon建立。Shannon发展了信道的数学概念,其中在通信系统中的信号的失真作为随机过程建造模型。Shannon的最基础结果是噪声信道定理,该定理对于信道定义一个容量,一个规定信息可通过该信道可靠地传送的最大速率的量。这个容量称作Shannon容量。在接近容量的速率下的可靠传输要求纠错码的使用。因而,纠错码设计成实现足够的可靠性,同时尽可能接近容量。由快速(turbo)代码的发明和随后再发现和发展的低密度奇偶性校验(LDPC)代码导致的纠错编码系统提供可行复杂性的编码系统,该编码系统可十分密切地接近Shannon的容量。 
在从软输入-软输出单元抽取的信息范围中的外在信息是通过处理到软输入-软输出单元的以前输入而得到的反馈信息。以前输入的信息称作先验信息。如果没有先验信息,例如在第一处理迭代的情况下,那么从软-输入软输出单元抽取的外在信息是由代替软-输入和软输出单元的先验信息的零值得到的信息。 
在供给到软输入-软输出单元的信息范围中的外在信息是通过处理软-输入和软-输出单元的以前输出而得到的反馈信息。在这种情况 下,反馈到软-输入和软-输出单元的外在信息通常理解为到软-输入和软-输出单元的先验信息。如果没有以前输出,例如在第一处理迭代的情况下,供给到软-输入软输出单元的外在信息是由代替软-输入和软输出单元的以前输出的零值得到的信息。 
LDPC代码和快速代码是迭代编码系统的例子。这样的系统通常使用互连的软输入-软输出信号处理模块实施。一般地,这样的模块实施最大后验(MAP)算法,或者近似这样一种算法。在这样一种模块中,一般有一个或两个输入,并且目的是估计我们将假定是二进制,例如为{0,1},的量X=x1,...,xn的向量。两个输入是:软值Z的向量,该软值Z代表来自例如通信信道的某种外部观察;和软值W=w1,...,Wn 的另一个向量,该软值W=w1,...,wn代表关于位x1,...,xn的先验信息。典型地先验信息取逐位独立对数-可能性比值 w i = log ( p ( x i = 0 | U ) p ( x i = 1 | U ) ) 的形式,其中U是假定独立于Z的某种信息。与信号处理模块相关联的MAP算法对于可能取决于在X、U及Z之间的和假定关系的每个位xi计算由 log ( p ( x i = 0 | W , Z ) P ( x i = 1 | W , Z ) ) 给出的后验对数-可能性比值。与后验对数-可能性比值相关的是,与所述计算相关联的所谓外在信息。在这样的系统的多种实施中,外在信息对于每个xi log ( p ( x i = 0 | W , Z ) P ( x i = 1 | W , Z ) ) - w i 给定,它理想地等于 log ( p ( x i = 0 | W \ w i , Z ) P ( x i = 1 | W \ w i , Z ) ) . 外在信息代表关于由计算提供的位xi的信息,排除在关于位xi的先验信息中清晰提供的信息。在实际中,这通过量化和/或通过其它手段近似 log ( p ( x i = 0 | W \ w i , Z ) P ( x i = 1 | W \ w i , Z ) ) , 并且一般理解,外在信息的实际形式可能不精确地满足数学定义。外在信息不必限于这里给出的具体例子,该具体例子作为在某些消息传递译码器中频繁使用的一种类型的外在信息的普通例子而提供。 
LDPC代码由二部图,常常叫做Tanner图,良好地代表;见图1图100,其中一组节点,可变节点102,与代码字的位相对应,并且其它组节点,约束节点104,有时叫做校验节点,与定义代码的奇偶 性校验约束组相对应。在图中的边缘(edge)106把可变节点102连接到约束节点104上。连接到节点上的边缘的数量称作节点的度。可变节点和约束节点说成是邻居,如果它们由在图中的边缘连接。典型地假定,一对节点由最多一个边缘连接。在这种情况下,LDPC代码可使用奇偶性校验矩阵等效地代表。图2呈现典型说明200,其中当且仅当H X=0,则指示的向量X 202是代码字,其中H 204是奇偶性校验矩阵。说明200可以是用于典型LDPC代码的图100的替代表示。 
对于每个可变节点相关联的是代码字的一位。在某些情况下,这些位的一些可能穿孔。穿孔位在一定代码结构中可能是希望的,并且它们从传输代码字中排除。 
与可变节点序列一一相关联的位序列是代码的代码字,当且仅当对于每个约束节点,相邻于所述约束的位(经它们与可变节点相关联),求和到零模二,即它们包括偶数个1。 
在图中的每个可变节点初始设有软位,命名为接收值,该接收值指示由来自例如通信信道的观察所确定的相关联位的值的估计。理想地,对于分离的位的估计是统计独立的。这种理想在实际中可能并且常常违反。接收值的集合构成接收字。为了本申请的目的,我们可以用提供到译码器的先验信息辨别接收字。用来译码LDPC代码字的译码器和译码算法通过沿Tanner图的边缘交换消息而操作。节点计算所述消息通常作为输入消息的函数,包括在可变节点情况下的接收值。这样的算法一般将称作消息传递算法。 
将认识到,与LDPC编码一道产生的接收字可通过对其进行LDPC译码操作,例如纠错和探测操作,而被处理,以产生原始代码字的重建版本。重建代码字由与由译码器计算的按位的后验信息相关联的硬判决组成。重建代码字然后可经受数据译码,以恢复被编码的原始数据。数据译码过程可以是例如从重建代码字简单地选择位的特定子集。 
如以上提到的那样,LDPC译码操作一般包括消息传递算法。有多种潜在有用的消息传递算法,并且这样的算法的使用不限于LDPC 译码。这样的算法最有力的一种称作信念传播。信念传播在Tanner图中的节点的每一个处与沿图的边缘的消息交换一起使用MAP译码。为了便于在随后章节中讨论的本发明的理解,我们现在给出信念传播的数学描述。 
用于(二进制)LDPC代码的信念传播可按如下表达。沿图的边缘传送的消息对于与可变节点相关联的位理解为对数可能性比值 
Figure S04841865720060829D000041
这里,(p0,p1)代表关于相关联位的条件概率分布,其中px 指示位取值x的概率。提供到译码器的先验信息通常也以对数可能性的形式给出。一般地,消息m代表对数可能性比值m,并且接收值或先验信息y代表对数可能性比值y。对于穿孔位,对数可能性比值接收值y设置到0,指示P0=p1=1/2。 
让我们描述信念传播的消息传递规则。消息对于从校验节点到可变节点的消息由mC2V指示,并且对于从可变节点到校验节点的消息由mV2C指示。考虑具有d个边缘的可变节点。对于每个边缘i=1,...,d,让mC2V(i)指示在边缘i上的输入消息。在译码过程的初始化时,我们对于每个边缘设置mC2V=0。一般地,来自可变节点的输出消息由  m V 2 C ( j ) = y + ( Σ j = 1 d m C 2 V ( i ) ) - m C 2 V ( j ) 给出。 
来自与这种操作相对应的节点(不是边缘消息)的输出译码软值由 x out = y + ( Σ j = 1 d m C 2 V ( i ) ) 给出。这个值是由译码器提供的后验信息。与这个输出相关联的输出硬决定由xout的符号得到。与给出位相关联的外在信息类似地由 给出。输出后验和外在信息取决于进行的迭代的数量。这是因为在这些输出量中表达的信息至少在原理上随进行的迭代数量而增大。 
在有时也称作约束节点的校验节点处,更新能以几种方式表达。用于度d的校验节点的一种数学方便形式如下 
m C 2 V ( j ) = tanh - 1 ( Π i = 1 d tanh ( m V 2 C ( i ) ) / tanh ( m V 2 C ( j ) ) ) ,
现在将描述快速(turbo)均衡器。相关的多种通信或存储信道呈现符号间干扰(ISI)。当ISI存在时,在接收器处观察到的每个符号具有来自几个传送符号的影响。这可理解为在有来自其它符号的干 扰的情况下额定的或希望的符号的观察。典型地,在这样一种情况下在接收器处发生的信号处理的部分专用于除去或减小ISI。为了说明目的,我们将假定,传输符号是二进制,例如位(bit)。ISI除去发生在软-输入软-输出信号处理模块中,该处理模块将称作ISI探测器。ISI探测器假定具有输入Z,与由信道提供的原始信息相对应,和关于构成传送信号的位X的先验信息W。常常是,位X被另外约束,因为它们也形成例如LDPC代码或快速代码的代码字。借助于LDPC或快速译码,关于作为译码过程的部分产生传送符号的外在信息可由ISI探测器用作先验信息。 
如果在译码期间产生的外在信息反馈到ISI探测器,那么通常可改进ISI除去。这然后使ISI探测器能够把改进估计(来自探测器的外在信息形式的软值)提供给译码器,该译码器然后能够把较好信息反馈到探测器。这样一种过程用来进行快速均衡。 
图3是描绘快速均衡过程的图300。快速均衡器是其中与软译码,如在反馈方案中的LDPC或快速代码译码,一道进行均衡或ISI除去的方案,其中,由译码器产生的外在信息由均衡器用作先验信息以改进其性能,并且由ISI探测器产生的外在信息由译码器用作先验信息(接收值)。通过外在信息的反馈,MAP信号处理模块、ISI探测器及译码器都改进另一个性能,由此改进提供给译码器的系统信息的整体性能。 
图3包括ISI探测器302和迭代译码器304,例如LDPC或快速译码器。外部输入306,例如包括ISI的在接收器处观察到的接收信号,输入到ISI探测器302。ISI探测器302,使用其干扰符号的知识和干扰的性质,产生外在信息308,例如软值,并且把关于传送符号(例如位)的外在信息308进给到迭代译码器304的先验输入。(在第一遍,当没有来自译码器的关于适用于探测器的传送符号的先验信息时,外在信息设置成等于后验信息。)迭代译码器304例如使用消息传递算法进行软译码。作为译码过程的部分,关于传送符号的外在信息310,例如软值,被产生并且反馈到ISI探测器302作为先验信 息。ISI探测器302可把外在信息310用作关于传送符号的先验信息,以改进ISI的除去和产生新的软值308。现在供给到迭代译码器304的新外在信息308是改进的先验。这可导致通过迭代译码器304的改进译码、和反馈到ISI探测的改进外在信息310。这种迭代过程可继续。在某一点处,性能增加的速率下降,并且可以决定,进行进一步的迭代是没有成果的。迭代译码器304输出译码器的决定,例如具有相关联概率的译码信息312。 
在快速均衡中使用的算法典型地是消息传递方案。有关于快速均衡的大量文献。参考资料之一如下:C.Douillard,M.Jezequel,C.Berrou,A.Picart,P.Didier,A.Glavieux,“Iterative correction of intersymbolinterference:turbo equalization(符号间干扰的迭代校正:快速均衡),”European Transactions Telecommunication,vol.6pp.507-511,1995年9月-10月。快速均衡可以与LPDC代码一起使用。 
尽管在消息传递译码器的范围中的快速均衡证明在多种情况下非常有益,但在某些情况下,在译码期间,在到迭代消息传递译码器的输入中的改进停止导致译码结果的改进。如果可开发改进迭代译码器的能力的方法和/或设备,以至少在其中译码器输入的改进对于最终译码结果可能没有有益影响的某些情况下,利用到译码器的输入的改进,则是希望的。 
发明内容
本发明旨在结合迭代译码操作来减小错误的最小数量,该错误不能通过使用软输入-软输出处理操作(例如ISI探测和校正操作)而校正。本发明特别良好地适于在快速均衡器中的用途,该快速均衡器与迭代消息传递译码器,例如LDPC译码器,组合地使用ISI探测器。 
与诸如软探测器之类的软输入-软输出信号处理单元,例如ISI探测器,一道使用的迭代消息传递译码器,例如LDPC译码器或快速译码器,具有由迭代译码器的次最佳消息传递性质影响的误码基底性能区。 
按照本发明,在多种情况下由简单的机构可实现误码基底减小、在较低误码率下的误码率性能的改进。本发明的各个方面和特征旨在用来实现在迭代译码器系统中的误码基底减小的设备和方法。 
软输入-软输出信号处理单元接收待译码的外部数据值。迭代译码器和软输入-软输出信号处理单元可以连接在一起,并且外部通信环路可以形成,通过该外部通信环路,反馈信息流动,例如外在信息形式的软信息值从软输入-软输出信号处理单元的输出到迭代译码器的输入,例如先验信息输入,和外在信息形式的反馈信息从迭代译码器的输出到软输入-软输出信号处理单元的输入,例如先验信息输入。作为平均,反馈信息,例如从软输入-软输出信号处理单元返回的外在信息软值,随着译码迭代进行而改进。然而,在译码过程期间,消息传递译码器可能陷入在坏状态下,例如由于译码器的性质,并且改进软信息值的充分益处因此不可能由译码器实现。 
按照本发明的特征,在已经改进由软输入-软输出信号处理单元提供的软信息值之后的译码过程期间,译码器的边缘状态,例如对于在译码器存储器中的可变节点消息的约束,被初始化或清除,例如为了迭代。这起到迭代译码器复位操作的作用。例如,译码器误差探测模块可以从译码的开始对于输入数据值组,计数迭代的预选择数量,并且如果代码字还没有成功地译码,则误差探测模块可以通知在译码器中的消息重新初始化模块。触发重新初始化的替换机构按照本发明是可能的。例如,译码系统可以具有不同水平的译码性能和/或要求,每种性能水平和/或要求具有相关联的预选择数量的迭代译码器消息传递迭代、和/或其中为了成功译码代码字或消息触发重新初始化的预选择时间量。在某些实施例中,其它约束,例如对于译码数据的输出的实时系统要求可能动态地影响消息重新初始化的决定和产生,例如,当如果在译码器内的消息在成功译码之前被重新初始化时。消息重新初始化模块可以把即将来临的重新初始化通知给译码器中的中断模块,并且清除在译码器的存储器中的C2V消息以用于一次迭代。消息重新初始化通常涉及被重新初始化到在译码开始处使用的缺省值的复 位译码器消息。 
在某些实施例中,在消息重新初始化期间和对于迭代译码器处理的某些后续量,在外部通信环路中从译码器反馈到软输入-软输出信号处理单元的外在信息和/或从信号处理单元输送到迭代译码器的软外在信息值被临时冻结。例如,开关,例如可控制开关,可以把迭代译码器的外在信息输出连接到外在信息缓冲器上,并且外在信息缓冲器可以把开关连接到软输入-软输出信号处理单元的外在信息先验信息输入上。可选择地,开关,例如可控制开关,可以把软输入-软输出信号处理单元的软信息值输出连接到软信息值缓冲器上,并且软信息值缓冲器可以把开关连接到迭代译码器的先验信息输入上。 
在某些实施例中,计时器或迭代计数器用来控制可控制开关的操作。例如,中断模块可产生到计时器或迭代计数器的复位信号,导致计时器或迭代计数器把信号发送到开关,使开关断开。然后,计时器或迭代计数器可增量,直到达到与预选择存储译码器处理时间或预选择译码器迭代数量相对应的测量时间或计数,在该情况下,到开关的信号改变以闭合开关。按照本发明,开关的可选择控制实施和开关控制是可能的。例如,控制信令可以直接在译码器与开关之间,例如中断模块控制用来断开开关的信令,并且在译码器中的恢复模块控制用来闭合开关的信令。 
通过经开关断开外部通信反馈环路和临时使用在缓冲器中的冻结信息,即使从译码器输出的外在信息的质量(例如由于代表在多次译码迭代上累积的信息的故意复位)可能临时变差,在译码器消息的重新初始化之后,作为先验信息输入到迭代译码器的软信息值的质量仍保持良好。 
在一些译码器处理量之后,例如在预定数量的译码器迭代或预定量的译码器处理时间之后,恢复外部通信环路。由于受控开关被闭合,所以缓冲器被更新,并且译码借助于闭合的外部通信环路继续,在多种情况下与如果不复位译码器消息并且在译码过程期间不临时冻结外部环路缓冲器数据相比,实现改进的性能。在某一后续点处,例如, 在预定数量的译码器迭代、预定时间量之后,实现估计译码性能水平,性能水平的改进速率落到规定水平,成功地译码代码字,和/或者外部事件请求,例如没有适于译码操作的额外时间,译码信息和相关联概率信息从译码器输出。 
各种其它复位实施例是可能的。一般地,对于可探测失效采用重新初始化过程。然而,在某些实施例中,即使没有探测到失效,例如满足所有奇偶性校验或者简单地在译码器处理期间的某点处,也可以调用消息重新初始化过程。在这样一个实施例中,在未探测失效发生的场合,重新初始化可以是有益的以改进性能。 
在某些实施例中,软输入-软输出信号处理单元,例如探测器,可以在与译码器不同的速度下操作。在这样的实施例中,外部通信反馈环路可以以与内部迭代译码器内部消息传递环路不同的速率下操作。在某些实施例中,例如,在外部通信反馈环路比内部译码器消息传递环路足够慢并且译码器和信号处理单元被同步化的场合,可以不使用开关和外在或软值缓冲器组合,并且可以进行内部译码器消息(例如校验节点到可变节点(c2v)消息)的消息重新初始化,而不断开外部环路。内部和外部环路迭代速率的差别使这样一种实施是可能的,而不需要外部环路缓冲。在这样一个实施例中,软输入-软输出信号处理单元可以起缓冲器的作用,并且在消息重新初始化之后,通过软输入-软输出信号处理单元,在内部与外部环路之间的时间差允许译码器在再次使用其外在输出之前足够地收敛。 
按照本发明的设备和方法可以用在使用纠错码的宽范围通信和/或存储装置和/或系统,例如无线通信系统、光纤通信系统、磁性存储系统、光学存储系统、等等,中的译码操作中。 
附图说明
图1是可以用来代表LDPC代码的典型二部图的图。 
图2是使用奇偶性校验矩阵的LDPC代码表示的例子。 
图3是已知快速均衡过程的例子。 
图4是用来进行译码操作的设备的典型实施例,所述设备包括按照本发明实施的误码基底减小机构,并且使用本发明的方法。 
图5是用来进行译码操作的设备的另一个典型实施例,所述设备包括按照本发明实施的误码基底减小机构,并且使用本发明的方法。 
图6是典型编码性能曲线的例子,表明可改变误码基底性能区,按照本发明导致改进的译码性能。 
图7是流程图,表明按照本发明译码待译码数据输入的典型方法。 
具体实施方式
如下面将讨论的那样,本发明应用于宽范围的LDPC译码系统以及其它类型的消息传递译码系统,例如快速代码译码器。 
当前发明尤其旨在提供用来改进译码器系统的性能的简单机构的方法和设备,该译码器系统包括与诸如软探测器,例如ISI探测器,之类的软输入-软输出信号处理单元一道的诸如LDPC译码器或快速译码器之类的译码器。由本发明提供的改进可以作为误码基底减小而实现,例如误码率性能的改进,例如在较低误码率下。本发明产生于对在消息传递译码器,例如LDPC译码器和其它类似译码器中的误码基底事件的性质的深入理解。认识到,在这样的译码器中,由于译码器的次最佳消息传递性质的结果,失效可能发生。例如,译码器可能试图找到满足所有奇偶性校验的位分配,但有时可能未能这样做。这样一种失效认为是可探测的,因为译码器可识别未满足所有奇偶性校验。然而,提出的发明也可应用于未探测失效,该未探测失效是其中满足所有奇偶性校验的失效。 
LDPC译码器的误码基底性能区通常由系统的性能曲线描述。译码器系统典型地呈现性能的快速改进,伴随着输入信号的诸如SNR之类的质量改进。生成的性能曲线常常称作瀑布曲线。然而,在某一点处,对于足够高的质量或SNR,随SNR增加的性能改进速率减小,指示瀑布区的基底。 
图6描绘典型编码性能曲线601的曲线图600。曲线图600相对 于在水平轴604上单位为dB Es/No的SNR在竖直轴602上画出帧误码率。性能曲线601包括瀑布性能区606和误码基底性能区608。在误码基底性能区608中,译码失效通常与较小数量的不正确位相对应,该不正确位产生最满意约束,但通常也产生少量不满意约束。当这发生时,在译码器中来自满意约束的消息可加强不正确决定,从而即使到译码器的输入设置到正确位,译码器也保持陷入在错误产生消息传递状态下。因而,失效作为消息传递译码器算法的动态的一部分而保持。当使用在快速均衡中的LDPC或快速译码器,例如与软ISI探测一道,期望发生这样的事。作为平均,从ISI探测器返回到译码器的所谓外在信息随迭代进行而改进。然而,消息传递译码器可能已经陷入在坏状态下,并因此不能实现改进信息的充分益处。然而,如果在已经改进由ISI探测器提供的外在信息之后,在译码器中的译码器边缘消息状态重新初始化或清除,那么校正输入可导致正确译码。因而,在假定译码还没有收敛到已知代码字,几次迭代之后在译码器中的重新初始化或清除消息,可改进整个系统的性能。在某些情况下,这种改进可能是显著的。 
在信念传播译码下,在例如在校验节点与可变节点之间来回传递消息的LDPC译码器中,重新初始化可通过在给定迭代中把所有c2v消息设置到0而进行,其中0是通常用来,例如在译码开始处,初始化这样的消息的值。即使当译码已经收敛到已知代码字时,这种操作按照本发明的一个特征也可并且时常进行,潜在地改进在未探测失效情况下的性能。重新初始化和继续译码招致复杂性成本,例如在它要求的处理操作数量和实施能够实现这样的重新初始化的译码器的复杂性方面。给定对于每次重新初始化要求的处理量,因此希望的是,在多个实施例中,限制重新初始化使用在例如对于在减小错误方面可能提供值得的益处的情形。如果限制到探测失效,那么当有探测的译码失效时(而不是在其它时间)将调用重新初始化。当操作在具有良好设计的码的误码基底区中时,探测的译码失效,例如译码结果收敛到已知代码字的失效,往往是较稀少事件。当在快速均衡器或软ISI探 测器的范围中实施本发明时,从译码器反馈到ISI探测器的外在信息、和/或从ISI探测器输送到译码器的外在信息应该,并且在某些实施中,被临时冻结,例如在重新初始化之后不立即更新。在重新初始化和冻结操作后的几次消息传递迭代之后,来自译码器的反馈信息再次供给到ISI探测器,和/或再次使能从ISI探测器反馈到译码器的外在信息。 
图4是表明进行译码操作的典型设备400的图,所述设备400包括按照本发明实施的误码基底减小机构,并且使用本发明的方法。典型设备400包括:软输入-软输出信号处理单元402,例如ISI探测器;迭代译码器404,例如LDPC或快速译码器;时间或迭代计数器406;可控制启动/停止切换电路408;及外在信息缓冲器410。设备400包括外部译码通信环路和内部译码环路。 
外部译码通信环路包括软输入-软输出信号处理单元402、迭代译码器404、可控制切换电路408、及外在信息缓冲器410,它们如图4中表示的那样连接在一起。内部译码环路,例如在约束与可变节点之间的消息传递环路,在迭代译码器404的内部。待译码的外部输入值412,例如包括ISI的接收信号,输入到软输入-软输出信号处理单元402。软输入-软输出信号处理单元402例如使用其干扰符号的知识和干扰的性质,产生和输出外在信息值414,该外在信息值414作为先验信息输入到迭代译码器404。最初,当来自译码器的外在信息不可用时,来自软输入-软输出信号处理单元402的外在信息等于后验信息。按照本发明实施的迭代译码器404,例如LDPC或快速译码器,例如使用消息传递方法进行软译码。迭代译码器404包括内部译码环路内部消息传递模块421。模块421包括消息432、约束节点434、及可变节点436。模块421以作为译码器处理的一部分的迭代方式,把c2v消息438从约束节点434传递到可变节点436,并且把v2c消息440从可变节点436传递到约束节点434。也作为译码过程的部分,关于传输符号的外在信息416,例如更新软值和/或可靠性信息,从迭代译码器404产生和输出,并且作为输入转送到启动/停止切换电路408。在这时,切换电路408在闭合位置中,并且外在信息416穿过切换电 路408,生成外在信息418而输入到外在信息缓冲器410,在该处存储外在信息418。外在信息缓冲器410输出存储信息,作为输入到软输入-软输出信号处理单元402的外在信息420,作为关于传输符号的先验信息。软输入-软输出信号处理单元402可使用原始源于译码器404的接收外在信息420,以进行改进,例如改善除去ISI的过程,并且产生新外在信息值414。现在供给到迭代译码器404的新外在信息值414是改进估计。这可导致通过迭代译码器404的改进译码,并且改进以后产生的和沿以前描述的路径向软输入-软输出信号处理单元402转送的新外在信息416。这种迭代过程可继续;然而,在某点处可能探测到译码错误(例如,可能探测到译码到已知代码字的失效),性能提高的速率可能减小在某阈值以下,可能已经进行预定数量的迭代,译码器可以决定进行进一步迭代而不复位是没有成果的,并且/或者可以调用某些其它触发机构,由此按照本发明启动译码器消息重新初始化过程。 
典型迭代译码器404包括译码器错误探测模块422、译码性能模块424、及译码器复位模块426。译码器错误探测模块422可以探测失效,例如,当例如在规定数量的迭代译码器消息传递迭代和/或预选择的时间量之后,译码器已经试图找到满足所有奇偶性校验的位分配但未能找到时,认识到不满足所有奇偶性校验。这样的探测失效信息可以转送到译码器复位模块426。译码错误性能模块424可以估计译码错误性能,评估性能的变化、和/或性能的变化速率,并且把这样的信息转送到译码器复位模块426。译码器复位模块426使用来自译码器错误模块422和译码错误性能模块424的信息,以进行关于译码器复位开始和译码器复位产生的决定。译码器复位模块426包括消息重新初始化模块442、中断模块444、及恢复模块446。当调用时译码器复位包括边缘消息432的至少一些的重新初始化,例如在消息重新初始化模块442的指导下,在用于给定迭代的迭代译码器404的存储器内,把c2v(约束到可变消息)438设置到0。在某些实施例中,在译码期间作为重新初始化的部分,也可以清除在迭代译码器存储器中的v2c (可变到约束)消息。在这时,便利的是,例如在一个时段内,不更新由软输入-软输出信号处理单元作为先验信息使用的外在信息420;因此,可控制切换电路408在中断模块444的控制下被断开,例如对于几次迭代允许译码器404部分重新收敛,并且在外在缓冲器410中存储的信息保持固定,导致合理的软外在信息值414的连续流提供到迭代译码器404的输入。当认为适当时,在恢复模块446和/或计时器或迭代计数器406的指导下,闭合开关408,完成和重新建立在译码器404与软输入-软输出信号处理单元402之间的外部通信环路反馈路径。包括把新的传递外在信息418提供到软输入-软输出信号处理单元402的闭合外部通信环路路径的译码过程恢复,并且在多种情况下,由译码器404实现与没有译码器404的重新初始化和到软输入-软输出信号处理单元402的新反馈数据的临时悬置相比更低的误码基底。在某点处,例如基于成功译码的代码字、迭代数量和/或译码性能模块的估计值,由译码器404进行决定,以输出译码器的决定,例如具有相关联概率的译码信息430。 
如图4中所示,简单可控制切换电路408可用来启动/停止外部通信环路反馈。各种替换方式可以用来控制切换电路408的断开和闭合。例如,在某些实施例中,切换电路408可以连接到计时器或迭代计数器406上并且由其控制。切换电路408被断开的点可以由复位信号427控制,该复位信号427由迭代译码器404的中断模块444产生,并且发送到计时器或迭代计数器406作为重新初始化过程的一部分。除复位信号427之外,迭代译码器404可以负责产生用来驱动计时器或迭代计数器406的迭代或其它计时信号428。计时器或迭代计数器406可以包括预选择量的译码器处理时间448和/或预选择数量的消息传递译码器迭代450,当启动复位时,它们用来确定开关408的断开持续时间。由迭代译码器404产生的复位信号427,可以通过触发计时器或迭代计数器406以产生使切换电路408断开的启动/停止信号429,而控制切换电路408的断开。然后,计时器或迭代计数器406可把启动/停止信号429保持在开关断开状态下,直到已经达到预选择 时间448或预选择数量的迭代450,其中启动/停止信号429变到使切换电路408闭合的信号。 
可选择地,在某些实施例中,由迭代译码器404的中断模块444产生的复位信号427可以直接控制切换电路408的断开,以使切换电路408断开,并且复位信号427的状态可以由迭代译码器404的恢复模块446改变,使切换电路闭合。在这样一个实施例中,预选择量的迭代译码器处理,例如预选择量的迭代译码器处理时间或消息传递译码器迭代的数量,可以被测量,并且用来确定何时译码器404将使开关断开。在开关断开后的预定量的译码器处理时间或译码器迭代之后,译码器404可以使开关闭合。 
作为继续译码信息组的过程的一部分实现的在译码器404复位时临时冻结外部反馈环路的原因如下。清除在译码器404中的边缘消息432临时降级从译码器404返回到软输入-软输出信号处理单元402的外在信息,至少对于不参加失效事件的位,当在误码基底区中操作时该失效事件通常是绝大多数。希望掩蔽来自软信息值,例如从探测器供给到译码器404的外在信息414的这种临时降级。以上指示的更新的临时冻结实现这一点。 
图5是表明用来进行译码操作的另一种典型设备的图,所述设备包括按照本发明实施的误码基底减小机构,并且使用本发明的方法。典型设备500包括:软输入-软输出信号处理单元502,例如ISI探测器;迭代译码器504,例如LDPC或快速译码器;计时器或迭代计数器506;可控制启动/停止切换电路508;及软信息值缓冲器510。设备500包括外部通信译码环路和内部译码环路。 
外部通信译码环路包括软输入-软输出信号处理单元502、可控制切换电路508、外在信息值缓冲器510、迭代译码器504。内部译码环路,例如在约束与可变节点之间的消息传递环路,在迭代译码器504的内部。待译码的外部输入值512,例如包括ISI的在接收器处接收的接收信号,输入到软输入-软输出信号处理单元502。软输入-软输出信号处理单元502使用其干扰符号的知识和干扰的性质,产生和输出 软外在信息值514,该软外在信息值514输入到可控制切换电路508。最初和在译码过程的大部分期间,可控制切换电路508被闭合,并且软外在信息值514作为传递软外在信息值516转送到缓冲器510,在该处该值被存储。外在信息值缓冲器510把存储信息转送到迭代译码器504,作为缓冲软外在信息值518。按照本发明实施的迭代译码器504,例如LDPC或快速译码器,例如使用消息传递方法进行软译码。迭代译码器504包括内部译码器环路内部消息传递模块521。模块521包括消息532、约束节点534、及可变节点536。模块521以作为迭代消息传递译码过程的一部分的迭代方式,把c2v消息538从约束节点534传递到可变节点536,并且把v2c消息540从可变节点536传递到约束节点534。作为译码过程的一部分,关于传输符号的外在信息520,例如包括可靠性信息的更新软值,作为外在信息520从译码器产生和输出。来自译码器的外在信息520输入到软输入-软输出信号处理单元502作为关于传输符号的先验信息。软输入-软输出信号处理单元502可使用源于译码器504的接收外在信息520,以改进ISI的除去和产生新的软外在信息值514。新的软外在信息值514,即改进的估计,现在穿过切换电路508和缓冲器510,并且供给到迭代译码器504,作为新缓冲外在信息518。这可导致通过迭代译码器504的改进译码,并且改进所产生的和沿以前描述的路径向软输入-软输出信号处理单元502转送的新外在信息520。这种迭代过程可继续;然而,在某点处可能探测到译码错误,性能提高的速率可能减小在某阈值以下,可能已经进行预定数量的迭代,译码器可以决定进行进一步迭代而不复位是没有成果的,并且/或者可以调用某些其它触发机构,按照本发明启动重新初始化过程。 
典型迭代译码器504包括译码器错误探测模块522、译码性能模块524、及译码器复位模块526。译码器错误探测模块522可以探测失效,例如,当例如在规定数量的迭代之后,译码器已经试图找到满足所有奇偶性校验的位分配但未能找到时,认识到不满足所有奇偶性校验。这样的探测失效信息可以转送到译码器复位模块526。译码错误 性能模块524可以估计译码错误性能,评估性能的变化、和/或性能的变化速率,并且把这样的信息转送到译码器复位模块526。译码器复位模块526使用来自译码器错误模块522和译码错误性能模块524的信息,以进行关于译码器复位开始和译码器复位产生的决定。译码器复位模块526包括消息重新初始化模块542、中断模块544、及恢复模块546。当调用时译码器复位包括边缘消息532的至少一些的重新初始化,例如在消息重新初始化模块542的指导下,在用于给定迭代的迭代译码器504的存储器内,把c2v(约束到可变消息)538设置到0(和/或v2c消息540)。在某些实施例中,也可以清除在译码器存储器中的v2c(可变到约束)消息。在这时,便利的是,不更新由迭代译码器504作为先验信息使用的软外在信息值518;因此,可控制切换电路508在中断模块544的控制下被断开,例如对于几次迭代允许译码器504至少部分地重新收敛,并且在软外在信息值缓冲器510中存储的信息保持固定,把合理软外在信息值518提供到迭代译码器504。当认为适当时,在恢复模块546和/或计时器或迭代计数器506的指导下,闭合开关508,完成在软输入-软输出信号处理单元502与译码器504之间的外部通信环路反馈路径。缓冲器510用新的传递外在信息值516更新,该新的传递外在信息值516转送到译码器504作为新缓冲软外在信息值518。包括把新缓冲软外在信息值518提供到译码器504的闭合外部环路的译码过程恢复,并且在多种情况下,由译码器504实现与没有在译码器504中的消息重新初始化和进入译码器504的新反馈数据的临时悬置相比更低的误码基底。在某点处,例如基于成功译码的代码字、迭代数量和/或来自译码性能模块524的估计值,由译码器504进行决定,以输出译码器的决定,例如具有相关联概率的译码信息530。 
如图5中所示,简单可控制切换电路508可用来启动/停止外部通信反馈环路。各种替换方式可以用来控制切换电路508的断开和闭合。例如,在某些实施例中,切换电路508可以由计时器或迭代计数器506控制。切换电路508被断开的点可以由复位信号527控制,该 复位信号527由迭代译码器504的中断模块544产生,并且发送到计时器或迭代计数器506作为重新初始化过程的一部分。除复位信号527之外,迭代译码器504可以负责产生用来驱动计时器或迭代计数器506的迭代或其它计时信号528。计时器或迭代计数器506可以包括预选择量的迭代译码器处理时间548和/或预选择数量的消息传递译码器迭代550,当启动复位时,它们用来确定开关508的断开持续时间。由迭代译码器504产生的复位信号527,可以通过触发计时器或迭代计数器506以产生使切换电路508断开的启动/停止信号529,而控制切换电路508的断开。然后,计时器或迭代计数器506可把启动/停止信号529保持在开关断开状态下,直到在开关断开后已经达到预选择时间548或预选择数量的迭代550,其中启动/停止信号529变到使切换电路508闭合的信号。 
可选择地,在某些实施例中,由迭代译码器504的中断模块544产生的复位信号527可以直接控制切换电路508的断开,以使切换电路508断开,并且复位信号527的状态可以由迭代译码器504的恢复模块556改变,使切换电路闭合。在这样一个实施例中,任何预选择量的迭代译码器处理,例如在开关508断开和/或闭合的确定中使用的任何预选择量的迭代译码器处理时间或任何预选择数量的消息传递译码器迭代,都在译码器504内部。 
图6是图线600,用来在使用典型LDPC译码器的系统中可能遇到的典型编码性能曲线的范围中,较好地解释按照本发明的想法和过程。表示具有不同误码基底的两条性能曲线。较好的例如较低帧误码率曲线与采用当前发明的实施例的快速均衡系统相对应,而另一条较高帧误码率曲线与不用当前发明的同一系统相对应。考虑在5.0dBSNR处的操作。首先考虑不用当前发明的译码。在译码过程的开始处,由典型译码器看到的有效SNR可能与在曲线601上的操作点A 610(约3dB)相对应。在这点处,译码器的期望帧误码率是约2×10-8。在快速均衡过程期间,由译码器看到的有效SNR可能改进到点C 614或更好(约8.5dB),具有约5×10-10的期望帧误码率。尽管如此,不调用 当前发明,实际帧误码率不可能显著地比由点B 612指示的5×10-9好。这是因为,译码器可能在译码过程中较早陷入在失效模式中,并且它在到译码器的输入改进时并不移动。现在考虑借助于当前发明的译码。按照本发明在由译码器看到的有效SNR改进到8.5dB之后重新初始化译码器,同时临时冻结提供到译码器的外在信息,例如软信息值,可允许译码器进行得像在具有约5×10-10的帧误码率的点C 614处(在约8.5dB下)操作。 
即使系统名义上在点B处操作,这也可能发生。作为结果,在点B处的性能曲线现在到达点C的性能,并且我们因而得到由点D指示的明显性能。 
尤其是,本发明旨在快速均衡迭代译码器系统,其中如果在几次迭代,例如预选择数量的迭代或动态确定数量的迭代之后,译码还没有收敛,则重新初始化或清除译码器的边缘状态,按照本发明在重新初始化过程之后进行进一步迭代。另外,按照本发明的一个特征,当作为正在进行的译码操作的一部分进行译码器重新初始化时,在探测器与译码器之间的反馈环路被临时切断或断开,例如为了保持译码器输入的质量。这种操作也可以在一次或足够多次迭代(例如预选择数量的消息传递译码迭代)之后进行,而不管是否探测到收敛,但这不是优选实施例。 
在LDPC译码器中的消息传递迭代可能表示,例如作为可变到校验节点处理操作的一部分的消息组的传递、和从校验节点处理元件回到进行可变节点处理操作的元件的消息的后续传递。 
图7是流程图700,表明按照本发明典型实施例译码待译码数据输入的典型方法。图7包括图7A、7B、7C、及7D的组合。 
典型译码方法在步骤702处开始。操作前进到步骤704,在该处译码器系统被初始化。在步骤704中,译码器系统的各种元件,例如迭代译码器、信号处理单元、缓冲器、计数器等,可以通电并且清除和/或复位。操作从步骤704前进到步骤706。在步骤706中,软输入-软输出(SISO)信号处理单元,例如符号间干扰(ISI)探测器,被 操作以接收待译码的输入数据705,例如,待译码的外部输入值组。其次,在步骤708中,SISO信号处理单元被操作以由输入数据705产生软信息值,如后验或外在信息值。然后在步骤710中,SISO信号处理单元被操作以向迭代译码器,例如进行LDPC译码操作的LDPC编码器,输出产生的软信息值。在其它实施例中,迭代译码器可以是不同类型的迭代译码器,例如进行快速积(turbo product)译码操作的快速译码器。操作从步骤710前进到步骤712。 
在步骤712中,迭代译码器被操作,以使用内部消息传递译码器环路进行消息传递译码器操作。步骤712包括子步骤714、716、718、720、722、724、及726。在子步骤714中,迭代译码器的内部消息传递译码器环路被操作,以接收软信息值,例如作为先验信息值。然后在子步骤716中,迭代译码器被操作,以产生可变节点到校验节点消息,并且在子步骤718中,迭代译码器把可变节点到校验节点消息存储在存储器中。操作从子步骤718前进到子步骤720。在子步骤720中,迭代译码器被操作,以产生校验节点到可变节点消息,并且在子步骤722中,迭代译码器把校验节点到可变节点消息存储在存储器中。操作从子步骤722前进到子步骤724。在子步骤724中,迭代译码器的内部消息传递环路被操作,以产生由所述SISO信号处理单元使用的外在信息,并且在子步骤726中,迭代译码器的内部消息传递环路把产生的外在信息727向SISO信号处理单元输出。单次消息传递译码器迭代表示在图712中。应该认识到,在前进到步骤724之前,步骤716至722可以迭代地进行几次。 
操作从步骤712经连接节点A 728到步骤730。在步骤730中,SISO信号处理单元被操作,以接收来自迭代译码器的外在信息727和待译码的输入数据705,例如待译码的外部输入值组。在某些实施例中,SISO信号处理单元例如在其存储器中已经保持预先在步骤706中接收的待译码的外部值组,并且在步骤730期间访问这些值。操作从步骤730前进到步骤732。在步骤732中,SISO信号处理单元被操作,以作为从迭代译码器接收的外在信息727的函数由输入数据705 产生软外在信息值。例如,SISO信号处理单元,例如ISI探测器,可以进行ISI探测操作,并且产生软外在信息值,作为来自该操作的输出。操作从步骤732前进到步骤734。 
在步骤734中,迭代译码器被操作,以使用内部消息传递译码器环路进行消息传递译码器操作。步骤734包括子步骤736、738、740、742、744、746、及748。在子步骤736中,迭代译码器的内部消息传递译码器环路被操作,以接收软外在信息值。然后,在子步骤738中,迭代译码器被操作,以产生可变节点到校验节点消息,并且在子步骤740中,迭代译码器把可变节点到校验节点消息存储在存储器中。操作从子步骤740前进到子步骤742。在子步骤742中,迭代译码器被操作,以产生校验节点到可变节点消息,并且在子步骤744中,迭代译码器把校验节点到可变节点消息存储在存储器中。操作从子步骤744前进到子步骤746。应该认识到,在前进到步骤746之前,步骤738至744可以,并且在几个实施例中,以迭代方式进行多次。在子步骤746中,迭代译码器的内部消息传递环路被操作,以产生由所述SISO信号处理单元使用的新外在信息,并且在子步骤748中,迭代译码器的内部消息传递环路把产生的新外在信息727向SISO信号处理单元输出。 
操作从步骤734前进到步骤750,在步骤750中,进行确定预选择译码条件的当前状态的监视。例如,典型译码条件可以包括由迭代译码器产生的在预选择时间量内或在预定数量的迭代译码器消息传递迭代内未能收敛到已知代码字的译码结果、和/或成功译码代码字的探测。然后,在步骤752中,操作基于在步骤750中已经探测到的当前探测译码条件是否匹配用来触发用来中断在译码器与SISO信号处理单元之间的外部通信环路中的外部通信的装置的条件而进行。 
如果还没有探测到用来触发中断的译码条件,那么操作从步骤750前进到步骤753。在步骤753中,进行关于是否成功译码代码字的校验。成功译码可以通过校验看是否满足所述奇偶性约束而确定,例如指示到有效代码字的收敛。如果代码字被成功译码,则操作经连接 节点F 755前进到步骤792;否则操作前进到步骤754。在步骤754中,译码器借助于闭合外部通信环路继续译码操作,并且操作从步骤754返回到步骤730。 
然而,如果在步骤750中已经探测到用来触发中断的译码条件,那么操作从步骤752经连接节点B 756前进到步骤758。 
在步骤758中,在包括SISO信号处理单元和迭代译码器的外部通信环路中的通信通过停止如下的至少一个而中断:i)从SISO信号处理单元到所述迭代译码器的外在信息;和ii)从SISO信号处理单元到所述迭代译码器的软外在信息值。显示了进行步骤758的两种可选择典型方法,例如对于不同的可选择译码系统实施。当在迭代译码器的外在信息输出与SISO信号处理单元的先验信息输入之间的一点处中断外部通信环路时,可以使用子步骤760和762。可选择地,当在SISO信号处理单元的外在信息输出与迭代译码器的先验信息输入之间中断外部通信环路时,可以使用子步骤764和766。 
在子步骤760中,在所述迭代译码器的外在信息输出与所述SISO信号处理单元的先验信息输入之间定位的开关被断开。然后,在子步骤762中,在所述外部环路被中断的同时,在所述外部通信环路中包括的外在信息缓冲器被操作以存储所述外在信息。例如,开关可以是与外在信息缓冲器串联的可控制开关。在外部环路被闭合的同时,更新外在信息穿过开关和缓冲器,并且转送到SISO信号处理单元;然而,当开关被断开时,在缓冲器中的信息被临时冻结。在外部通信环路保持断开的同时,冻结外在信息可适用于SISO信号处理单元的输入。 
在子步骤764中,在所述SISO信号处理单元的外在信息输出与所述迭代译码器的先验信息输入之间定位的开关被断开。然后,在子步骤766中,在所述外部通信环路被中断的同时,把所述开关的输出连接到所述迭代译码器的先验信息输入上的外在信息缓冲器被操作以存储所述外在信息。例如,步骤764的开关可以是与软信息值缓冲器串联的可控制开关。在外部环路被闭合的同时,软信息值穿过开关和 缓冲器,并且转送到迭代译码器;然而,当开关被断开时,在缓冲器中的信息被临时冻结。在外部通信环路保持断开的同时,冻结软信息值可适用于迭代译码器的输入。 
子步骤760或762的开关可以是例如包括作为可控制切换电路的一部分的可控制开关。在某些实施例中,断开开关的控制信号可以直接从迭代译码器发送到开关。在某些实施例中,迭代译码器可以把计时信号和/或开关控制信号发送到计时器或迭代计数器,该计时器或迭代计数器又产生到可控制开关的控制信号,以断开外部通信环路。 
操作从步骤758前进到步骤768。在步骤768中,迭代译码器被操作,以重新初始化在所述内部消息传递译码器环路中通信的至少某些消息,这些消息在所述输入数据值组的成功译码之前由所述迭代译码器使用。步骤768包括子步骤770。在子步骤770中,迭代译码器被操作,以复位在译码过程中使用的消息的至少一些。子步骤770包括子步骤772和774。在步骤772中,迭代译码器被操作,以清除用来存储校验节点到可变节点消息的存储器的至少一部分,例如对于一次迭代,并且在步骤774中,迭代译码器被操作,以清除用来存储可变节点到校验节点消息的存储器的至少一部分,例如对于一次迭代。在某些实施例中,清除存储的校验节点到可变节点消息,而不清除可变节点到校验节点消息。在某些实施例中,清除存储的校验节点到可变节点消息中的每一条。操作从步骤768前进到步骤776。在步骤776中,迭代译码器被操作,以使用所述重新初始化消息继续所述输入数据值组的所述译码,例如,迭代译码器内部译码器环路继续其消息传递操作,即使外部通信环路是断开的也是如此。重新初始化消息已经有效地复位迭代译码器;然而,现在迭代译码器从比在步骤712中的情形质量好的先验信息输入重新开始。操作从步骤776经连接节点C778前进到步骤780。 
在步骤780中,从外部通信环路中的通信被中断起,译码系统元件,例如迭代译码器和/或计时器或迭代计数器,单独或组合地确定迭代译码器处理量,例如消息传递译码器迭代的数量或译码器处理时间。 然后,在步骤782中,在确定的迭代译码器处理量与预选择的迭代译码器处理量,例如预选择数量的消息传递译码器迭代或预定量的迭代译码器处理时间,之间进行比较。操作从步骤782前进到步骤784。 
在步骤784中,进行关于从外部通信环路被断开起是否已经发生了预选择量的迭代译码器处理的校验。如果还没有发生预选择量的处理,那么操作从步骤784前进到步骤786。在步骤786中,对于断开的外部通信环路继续译码操作,并且操作返回到步骤780。 
然而,如果已经发生了预选择量的迭代译码器处理,则操作从步骤784前进到步骤788。在步骤788中,恢复在外部通信环路中的中断通信,例如,开关被闭合,并且允许缓冲器接收和转送新信息。开关的闭合可以通过从迭代译码器和/或计时器或迭代计数器发信号而进行。操作从步骤788前进到步骤790,在该步骤790处,迭代译码器和信号处理单元被操作,以对于闭合外部通信环路继续进行译码操作。 
在某点处,例如在规定数量的另外消息传递迭代之后、在规定量的另外时间之后、在已经到达一定估计质量水平之后、和/或基于外部事件,例如对于译码数据的需要,操作前进到步骤792。在步骤792中,迭代译码器输出决定,例如外部输入数据705的译码值,并且在某些实施例中,输出对应的相关联概率信息。从步骤792,操作前进到步骤794。 
在步骤794中,进行关于是否有另外待译码的输入值组的校验。如果有另一个待译码的输入值组,则操作从步骤794经连接节点E 796前进到步骤704。然而,如果没有另外待译码的输入值组,那么操作前进到结束步骤798。 
以上描述的方法可以在计算机系统中实施,该计算机系统包括连接在一起的存储器、CPU及一个或多个输入和/或输出装置。在这样一种实施中,存储器包括按照本发明实施的例行程序,用来控制处理器(CPU)进行译码和其它操作,该操作包括按照本发明的重新初始化操作。在某些实施例中,提供例行程序、硬件和/或硬件和软件的组 合,以控制处理器实施由在图4或5中表示的模块/元件的每一个进行的操作。当执行时,例行程序使CPU按照本发明接收、处理、及输出数据,由此在软件控制下实施由在图4或5中表示的元件进行的操作的一种或多种。 
可选择地,本发明的步骤可以使用专用硬件例如电路和/或硬件和软件的组合而实施。 

Claims (40)

1.一种用来进行译码操作的设备,所述设备包括:
软输入-软输出信号处理单元,用来处理待译码的输入值,所述软输入-软输出信号处理单元包括:反馈信息输入,用来接收反馈信息;和信息值输出,用来输出由所述软输入-软输出信号处理单元产生的信息值;
迭代译码器,用来使用内部消息传递译码器环路进行消息传递译码器操作,所述迭代译码器具有信息值输入和反馈信息输出,所述信息值输入连接到所述软输入-软输出信号处理单元的所述信息值输出上,所述反馈信息输出连接到所述软输入-软输出信号处理单元的所述反馈信息输入上;
中断装置,用来在供给到所述软输入-软输出信号处理单元的输入数据值组的译码完成前,中断包括所述软输入-软输出信号处理单元和所述迭代译码器的外部通信环路中的通信,所述中断装置停止如下至少一个的通信:i)从所述迭代译码器到所述软输入-软输出信号处理单元的反馈信息、和ii)从所述软输入-软输出信号处理单元到所述迭代译码器的信息值;及
用来在译码所述输入数据值组的同时,重新初始化在所述迭代译码器中使用的消息的至少一些的装置。
2.根据权利要求1所述的设备,还包括:
用来在通过所述迭代译码器的预选择量的迭代译码器处理之后恢复被中断的通信的装置。
3.根据权利要求2所述的设备,其中,所述预选择量的迭代译码器处理是预选择数量的消息传递译码器迭代。
4.根据权利要求2所述的设备,其中,所述预选择量的迭代译码器处理是预选择量的译码器处理时间。
5.根据权利要求1所述的设备,其中,用来重新初始化的装置复位在译码过程中使用的所述消息值的至少一些。
6.根据权利要求1所述的设备,其中,所述中断装置包括在所述迭代译码器的反馈信息输出与所述软输入-软输出信号处理单元的反馈信息输入之间定位的一个开关。
7.根据权利要求6所述的设备,还包括:
信息缓冲器,被包括在所述外部通信环路中,所述缓冲器具有连接到所述开关的输出上的输入、和连接到所述软输入-软输出信号处理单元的反馈信息输入上的输出。
8.根据权利要求1所述的设备,其中,所述中断装置包括在所述信号处理单元的信息值输出与所述迭代译码器的信息值输入之间定位的一个开关。
9.根据权利要求8所述的设备,还包括:
信息值缓冲器,把所述开关的输出连接到所述迭代译码器的信息值输入上。
10.根据权利要求1所述的设备,其中,所述迭代译码器是LDPC译码器。
11.根据权利要求1所述的设备,其中,所述迭代译码器是快速积代码译码器。
12.根据权利要求1所述的设备,其中,所述软输入-软输出处理单元是符号间干扰(ISI)探测器;
在所述反馈输出与所述反馈输入之间通信的反馈信息是外在信息;及
由所述软输入-软输出信号处理单元产生的所述信息值是软信息值。
13.根据权利要求2所述的设备,其中,
所述迭代译码器包括用来存储校验节点到可变节点消息的存储器;和
用来重新初始化所述消息的至少一些的所述装置包括清除用来存储校验节点到可变节点消息的存储器。
14.根据权利要求2所述的设备,其中,
所述迭代译码器包括用来存储可变节点到校验节点消息的存储器;和
用来重新初始化所述消息的至少一些的所述装置包括清除用来存储可变节点到校验节点消息的存储器。
15.根据权利要求2所述的设备,还包括:
探测用来触发所述中断装置的译码条件以中断在所述外部通信环路中的通信的装置。
16.根据权利要求15所述的设备,其中,所述译码条件是由所述迭代译码器产生的译码结果在预选择量的时间内收敛到已知代码字的失效。
17.根据权利要求15所述的设备,其中,所述译码条件是由所述迭代译码器产生的译码结果在预选择数量的迭代译码器消息传递迭代内收敛到已知代码字的失效。
18.一种用来译码待译码的数据输入的方法,所述方法包括:
操作软输入-软输出信号处理单元,以接收来自迭代译码器的反馈信息、和待译码的输入数据,并且按照从迭代译码器接收的反馈信息由所述输入数据产生信息值;
操作迭代译码器,以使用内部消息传递译码器环路进行消息传递译码器操作,操作迭代译码器的所述步骤包括操作内部消息传递译码器环路,以接收信息值并由此产生由所述软输入-软输出信号处理单元使用的反馈信息;
中断包括所述软输入-软输出信号处理单元和所述迭代译码器的外部通信环路中的通信,所述中断包括停止如下至少一个的通信:i)从所述迭代译码器到所述软输入-软输出信号处理单元的反馈信息、和ii)从所述软输入-软输出信号处理单元到所述迭代译码器的信息值;
重新初始化在所述内部消息传递译码器环路中通信的至少一些消息,这些消息在所述输入数据值组的成功译码前由所述迭代译码器使用;及
使用所述重新初始化后的消息继续所述输入数据值组的所述译码。
19.根据权利要求18所述的方法,还包括:
在通过所述迭代译码器的预选择量的迭代译码器处理之后恢复在外部通信环路中中断的通信。
20.根据权利要求19所述的方法,其中,所述预选择量的迭代译码器处理是预选择数量的消息传递译码器迭代,该方法还包括:
确定自外部通信环路中的通信被中断起是否已经进行预选择数量的消息传递译码器迭代。
21.根据权利要求19所述的方法,其中,所述预选择量的迭代译码器处理是预选择量的译码器处理时间,该方法还包括:
确定自外部通信环路中的通信被中断起是否已经过去预选择数量的译码器处理时间。
22.根据权利要求18所述的方法,其中,重新初始化包括复位在译码过程中使用的所述消息值的至少一些。
23.根据权利要求18所述的方法,中断在外部通信环路中的通信包括:
断开在所述迭代译码器的反馈信息输出与所述软输入-软输出信号处理单元的反馈信息输入之间定位的一个开关。
24.根据权利要求23所述的方法,还包括:
在所述外部通信环路被中断的同时操作包括在所述外部通信环路中的信息缓冲器以存储所述反馈信息,所述反馈信息是外在信息。
25.根据权利要求18所述的方法,其中,中断通信的所述步骤包括断开在所述信号处理单元的信息值输出与所述迭代译码器的信息值输入之间定位的一个开关。
26.根据权利要求25所述的方法,还包括:
在所述外部通信环路被中断的同时操作一个信息值缓冲器,该信息值缓冲器把所述开关的输出连接到所述迭代译码器的信息值输入以存储软信息值。
27.根据权利要求18所述的方法,其中,所述迭代译码操作是LDPC译码操作。
28.根据权利要求18所述的方法,其中,所述迭代译码器操作是快速积代码译码操作。
29.根据权利要求18所述的方法,其中,操作软输入-软输出处理单元的所述步骤包括进行符号间干扰(ISI)探测操作。
30.根据权利要求19所述的方法,其中,
进行迭代译码操作的所述步骤包括把校验节点到可变节点消息存储在存储器中;和
重新初始化所述消息的至少一些包括清除用来存储校验节点到可变节点消息的存储器的至少一部分。
31.根据权利要求19所述的方法,其中,
进行迭代译码操作的所述步骤包括把可变节点到校验节点消息存储在存储器中;和
重新初始化所述消息的至少一些包括清除用来存储可变节点到校验节点消息的存储器的至少一部分。
32.根据权利要求19所述的方法,还包括:
探测用来触发所述中断的译码条件以中断在外部通信环路中的通信。
33.根据权利要求32所述的方法,其中,所述译码条件是由所述迭代译码操作产生的译码结果在预选择量的时间内收敛到已知代码字的失效。
34.根据权利要求32所述的方法,其中,所述译码条件是由所述迭代译码操作产生的译码结果在预选择数量的迭代译码器消息传递迭代之后收敛到已知代码字的失效。
35.一种用来使用迭代消息传递译码器译码待译码的输入数据的方法,所述方法包括:
由所述待译码的输入数据产生软值组;
把产生的软值供给到所述迭代消息传递译码器;
操作所述迭代消息传递译码器,以进行多个消息传递译码器操作来译码供给到所述迭代消息传递译码器的所述软值,所述多个消息传递译码器操作包括产生由译码所述软值的所述迭代消息传递译码器使用的消息和产生外在信息,该外在信息可用来改进由所述输入数据产生软值;
由所述输入数据和所述外在信息产生更新的软值组;
把从所述输入数据产生的所述更新软值组供给到所述迭代消息传递译码器;
重新初始化由所述被执行的消息传递译码器操作产生的至少一些消息;及
操作所述迭代消息传递译码器,以进行多个额外消息传递译码器操作来译码供给到所述迭代消息传递译码器的所述额外软值和所述初始化后的消息,所述多个消息传递译码器操作包括额外外在信息的产生。
36.根据权利要求34所述的方法,还包括:
通过确定何时由所述迭代消息传递译码器产生的值组等于多个已知代码字之一,确定何时已经成功译码所述输入数据。
37.根据权利要求35所述的方法,其中,
操作所述迭代消息传递译码器以进行多个消息传递译码器操作的所述步骤包括把校验节点到可变节点消息存储在存储器中;和
重新初始化所述消息的至少一些包括清除用来存储校验节点到可变节点消息的存储器的至少一部分。
38.根据权利要求35所述的方法,其中,
操作所述迭代消息传递译码器以进行多个消息传递译码器操作的所述步骤包括把可变节点到校验节点消息存储在存储器中;和
重新初始化所述消息的至少一些包括清除用来存储可变节点到校验节点消息的存储器的至少一部分。
39.根据权利要求35所述的方法,其中,
操作所述迭代消息传递译码器以进行多个消息传递译码器操作的所述步骤包括把校验节点到可变节点消息存储在存储器中;和
重新初始化所述消息的至少一些包括把校验节点到可变节点消息的至少一些复位到用于消息初始化目的的预选择消息值。
40.根据权利要求35所述的方法,其中,
操作所述迭代消息传递译码器以进行多个消息传递译码器操作的所述步骤包括把可变节点到校验节点消息存储在存储器中;和
重新初始化所述消息的至少一些包括把可变节点到校验节点消息的至少一些复位到用于消息初始化目的的预选择消息值。
CN2004800418657A 2003-12-22 2004-12-17 用来减少在消息传递译码器中的误码基底的方法和设备 Expired - Fee Related CN1954502B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US53180803P 2003-12-22 2003-12-22
US60/531,808 2003-12-22
US10/892,587 US7237181B2 (en) 2003-12-22 2004-07-16 Methods and apparatus for reducing error floors in message passing decoders
US10/892,587 2004-07-16
PCT/US2004/042849 WO2005062840A2 (en) 2003-12-22 2004-12-17 Methods and apparatus for reducing error floors in message passing decoders

Publications (2)

Publication Number Publication Date
CN1954502A CN1954502A (zh) 2007-04-25
CN1954502B true CN1954502B (zh) 2011-11-16

Family

ID=34681652

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2004800418657A Expired - Fee Related CN1954502B (zh) 2003-12-22 2004-12-17 用来减少在消息传递译码器中的误码基底的方法和设备

Country Status (7)

Country Link
US (2) US7237181B2 (zh)
EP (2) EP1696786B1 (zh)
JP (1) JP4861192B2 (zh)
KR (1) KR101122878B1 (zh)
CN (1) CN1954502B (zh)
CA (1) CA2550825A1 (zh)
WO (1) WO2005062840A2 (zh)

Families Citing this family (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007075098A1 (en) * 2005-12-26 2007-07-05 Intel Corporation Generalized multi-threshold decoder for low-density parity check codes
US7730377B2 (en) * 2004-07-22 2010-06-01 Texas Instruments Incorporated Layered decoding of low density parity check (LDPC) codes
US20060195765A1 (en) * 2005-02-28 2006-08-31 Texas Instruments Incorporated Accelerating convergence in an iterative decoder
US8140930B1 (en) * 2005-05-13 2012-03-20 Nec Corporation Encoder and decoder by LDPC coding
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
KR20070025145A (ko) * 2005-08-31 2007-03-08 삼성전자주식회사 소프트 복호화 방법 및 장치, 에러 정정 방법 및 장치,소프트 출력 방법 및 장치
JP4727380B2 (ja) * 2005-10-24 2011-07-20 Kddi株式会社 復号装置および方法、ならびに復調復号装置および方法
FI20055715A0 (fi) * 2005-12-30 2005-12-30 Nokia Corp Turboekvalisointimenettely
EP1982421A1 (en) * 2006-01-31 2008-10-22 Intel Corporation Iterative decoding of concatenated low-density parity-check codes
US8091009B2 (en) * 2006-03-23 2012-01-03 Broadcom Corporation Symbol by symbol map detection for signals corrupted by colored and/or signal dependent noise
KR100738983B1 (ko) * 2006-06-07 2007-07-12 주식회사 대우일렉트로닉스 저밀도 패리티 체크 부호의 복호화 방법 및 장치, 이를이용한 광정보 재생장치
US7458139B2 (en) * 2006-09-22 2008-12-02 Kyokutoh Co., Ltd Tip dresser
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
JP2008167435A (ja) * 2006-12-27 2008-07-17 Nec Lab America Inc Bcjr等化器及び反復ldpc復号を用いた偏波モード分散補償
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
US7971127B2 (en) * 2007-03-31 2011-06-28 Sandisk Technologies Inc. Guided simulated annealing in non-volatile memory error correction control
US7975209B2 (en) * 2007-03-31 2011-07-05 Sandisk Technologies Inc. Non-volatile memory with guided simulated annealing error correction control
US7966550B2 (en) * 2007-03-31 2011-06-21 Sandisk Technologies Inc. Soft bit data transmission for error correction control in non-volatile memory
US7966546B2 (en) * 2007-03-31 2011-06-21 Sandisk Technologies Inc. Non-volatile memory with soft bit data transmission for error correction control
US8359522B2 (en) * 2007-05-01 2013-01-22 Texas A&M University System Low density parity check decoder for regular LDPC codes
KR101363411B1 (ko) * 2007-10-19 2014-02-18 포항공과대학교 산학협력단 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 신호수신 장치 및 방법
EP2066056B1 (en) * 2007-11-28 2016-04-27 STMicroelectronics N.V. Method and device for decoding a received systematic code encoded block
US8219878B1 (en) 2007-12-03 2012-07-10 Marvell International Ltd. Post-processing decoder of LDPC codes for improved error floors
US8020070B2 (en) * 2007-12-05 2011-09-13 Aquantia Corporation Trapping set decoding for transmission frames
US8196016B1 (en) * 2007-12-05 2012-06-05 Aquantia Corporation Trapping set decoding for transmission frames
US8312354B1 (en) * 2007-12-27 2012-11-13 Marvell International Ltd. Method and apparatus for improved performance of iterative decoders on channels with memory
JP4838819B2 (ja) * 2008-01-18 2011-12-14 株式会社モバイルテクノ ターボ等化装置及び方法
WO2009156935A1 (en) * 2008-06-23 2009-12-30 Ramot At Tel Aviv University Ltd. Using damping factors to overcome ldpc trapping sets
US8370711B2 (en) * 2008-06-23 2013-02-05 Ramot At Tel Aviv University Ltd. Interruption criteria for block decoding
US20090319860A1 (en) * 2008-06-23 2009-12-24 Ramot At Tel Aviv University Ltd. Overcoming ldpc trapping sets by decoder reset
US8464129B2 (en) * 2008-08-15 2013-06-11 Lsi Corporation ROM list-decoding of near codewords
US8261166B2 (en) * 2008-09-17 2012-09-04 Seagate Technology Llc Node processor for use with low density parity check decoder using multiple variable node degree distribution codes
US8161345B2 (en) 2008-10-29 2012-04-17 Agere Systems Inc. LDPC decoders using fixed and adjustable permutators
US9356623B2 (en) 2008-11-26 2016-05-31 Avago Technologies General Ip (Singapore) Pte. Ltd. LDPC decoder variable node units having fewer adder stages
US8935601B1 (en) 2008-12-03 2015-01-13 Marvell International Ltd. Post-processing methodologies in decoding LDPC codes
KR101535225B1 (ko) * 2009-01-06 2015-07-09 삼성전자주식회사 디코딩 방법 및 그 방법을 이용하는 메모리 시스템 장치
CN101903890B (zh) 2009-03-05 2015-05-20 Lsi公司 用于迭代解码器的改进的turbo均衡方法
JP2010212934A (ja) * 2009-03-10 2010-09-24 Toshiba Corp 半導体装置
CN102077173B (zh) * 2009-04-21 2015-06-24 艾格瑞系统有限责任公司 利用写入验证减轻代码的误码平层
US8578256B2 (en) * 2009-04-22 2013-11-05 Agere Systems Llc Low-latency decoder
EP2436120B1 (en) * 2009-05-27 2017-09-27 Novelsat Ltd Adaptive scheduling of iterative demodulation and ldpc decoding
US8311161B2 (en) * 2009-06-19 2012-11-13 Xilinx, Inc. Sphere detector performing depth-first search until terminated
US8677209B2 (en) * 2009-11-19 2014-03-18 Lsi Corporation Subwords coding using different encoding/decoding matrices
US8359515B2 (en) * 2009-12-02 2013-01-22 Lsi Corporation Forward substitution for error-correction encoding and the like
US8418019B2 (en) * 2010-04-19 2013-04-09 Lsi Corporation Systems and methods for dynamic scaling in a data decoding system
US8464142B2 (en) 2010-04-23 2013-06-11 Lsi Corporation Error-correction decoder employing extrinsic message averaging
US8516347B1 (en) * 2010-05-25 2013-08-20 Marvell International Ltd. Non-binary LDPC extrinsic calculation unit (LECU) for iterative decoding
US8499226B2 (en) 2010-06-29 2013-07-30 Lsi Corporation Multi-mode layered decoding
US8458555B2 (en) 2010-06-30 2013-06-04 Lsi Corporation Breaking trapping sets using targeted bit adjustment
US8504900B2 (en) 2010-07-02 2013-08-06 Lsi Corporation On-line discovery and filtering of trapping sets
US8621289B2 (en) 2010-07-14 2013-12-31 Lsi Corporation Local and global interleaving/de-interleaving on values in an information word
WO2012032371A1 (en) * 2010-09-08 2012-03-15 Agence Spatiale Europeenne Flexible channel decoder.
US8769380B1 (en) * 2010-11-02 2014-07-01 Marvell International Ltd. Methods and apparatus for error recovery in memory systems employing iterative codes
US9143166B1 (en) 2011-03-23 2015-09-22 Sk Hynix Memory Solutions Inc. Adaptive scheduling of turbo equalization based on a metric
US8843812B1 (en) * 2011-03-23 2014-09-23 Sk Hynix Memory Solutions Inc. Buffer management in a turbo equalization system
US8903027B1 (en) 2011-06-27 2014-12-02 Xilinx, Inc. Detector for a multiple-antenna receiver
US8768990B2 (en) 2011-11-11 2014-07-01 Lsi Corporation Reconfigurable cyclic shifter arrangement
US8640002B1 (en) * 2012-07-10 2014-01-28 Micron Technology, Inc. Resolving trapping sets
US8848842B2 (en) 2012-08-16 2014-09-30 Xilinx, Inc. Recursion unit scheduling
US8826109B2 (en) * 2012-09-04 2014-09-02 Lsi Corporation LDPC decoder irregular decoding of regular codes
US9264182B2 (en) 2012-09-13 2016-02-16 Novelsat Ltd. Iterative receiver loop
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 ЭлЭсАй Корпорейшн База данных наборов-ловушек для декодера на основе разреженного контроля четности
US9356649B2 (en) 2012-12-14 2016-05-31 Huawei Technologies Co., Ltd. System and method for low density spreading modulation detection
US9009557B2 (en) 2013-01-21 2015-04-14 Lsi Corporation Systems and methods for reusing a layered decoder to yield a non-layered result
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
EP2957036B1 (en) 2013-03-15 2017-04-26 Huawei Technologies Co., Ltd. Low complexity receiver and method for low density signature modulation
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
FR3009462B1 (fr) * 2013-08-02 2019-08-23 Thales Procede ameliore de decodage d'un code correcteur avec passage de message, en particulier pour le decodage de codes ldpc ou codes turbo
US8908307B1 (en) 2013-08-23 2014-12-09 Lsi Corporation Systems and methods for hard disk drive region based data encoding
US9196299B2 (en) 2013-08-23 2015-11-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for enhanced data encoding and decoding
US9298720B2 (en) 2013-09-17 2016-03-29 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for fragmented data recovery
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
US9306600B2 (en) 2014-01-06 2016-04-05 Micron Technology, Inc. Read threshold calibration for LDPC
US20150222291A1 (en) * 2014-02-05 2015-08-06 Kabushiki Kaisha Toshiba Memory controller, storage device and memory control method
RU2014104571A (ru) 2014-02-10 2015-08-20 ЭлЭсАй Корпорейшн Системы и способы для эффективного с точки зрения площади кодирования данных
US9378765B2 (en) 2014-04-03 2016-06-28 Seagate Technology Llc Systems and methods for differential message scaling in a decoding process
GB2525877B (en) * 2014-05-07 2016-08-10 Cisco Tech Inc Forward error correction with turbo/non-turbo switching
EP3149905B1 (en) * 2014-05-26 2021-04-14 Zomojo Pty Ltd A trading system
JP2016126037A (ja) * 2014-12-26 2016-07-11 ソニー株式会社 信号処理装置、および信号処理方法、並びにプログラム
EP3151432B1 (en) * 2015-10-01 2018-08-01 Mitsubishi Electric R&D Centre Europe B.V. Method and a device for demodulating received symbols using a turbo-demodulation scheme comprising an iterative mimo decoder and wherein an iterative channel decoder is used in the turbo-demodulation scheme
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
EP3151433A1 (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 de-mapping and wherein an iterative channel decoder is used in the turbo-demodulation scheme
US10784901B2 (en) 2015-11-12 2020-09-22 Qualcomm Incorporated Puncturing for structured low density parity check (LDPC) codes
US9911466B2 (en) 2016-02-16 2018-03-06 Micron Technology, Inc. Read threshold voltage selection
JP2017175352A (ja) * 2016-03-23 2017-09-28 パナソニック株式会社 ターボ等化装置およびターボ等化方法
US10291354B2 (en) 2016-06-14 2019-05-14 Qualcomm Incorporated High performance, flexible, and compact low-density parity-check (LDPC) code
KR20180009558A (ko) 2016-07-19 2018-01-29 삼성전자주식회사 저밀도-패리티 체크 코드를 이용하는 디코더 및 이를 포함하는 메모리 컨트롤러
US10379940B2 (en) * 2016-12-08 2019-08-13 Sandisk Technologies Llc Pipeline delay detection during decoding by a data storage device
US10340949B2 (en) * 2017-02-06 2019-07-02 Qualcomm Incorporated Multiple low density parity check (LDPC) base graph design
JP6847796B2 (ja) * 2017-09-20 2021-03-24 キオクシア株式会社 メモリシステム
US10304550B1 (en) 2017-11-29 2019-05-28 Sandisk Technologies Llc Sense amplifier with negative threshold sensing for non-volatile memory
TWI672930B (zh) * 2018-02-12 2019-09-21 瑞昱半導體股份有限公司 網路資料預測方法、網路資料處理裝置及網路資料處理方法
CN108521294A (zh) * 2018-03-14 2018-09-11 北京邮电大学 紫外光通信的ldpc码校验矩阵的构造方法及装置
CN109639301B (zh) * 2018-11-29 2020-06-16 电子科技大学 一种基于置信度估计的ftn均衡方法
US10643695B1 (en) 2019-01-10 2020-05-05 Sandisk Technologies Llc Concurrent multi-state program verify for non-volatile memory
KR20200124054A (ko) * 2019-04-23 2020-11-02 에스케이하이닉스 주식회사 오류 정정 디코더 및 이를 포함하는 메모리 시스템
US11024392B1 (en) 2019-12-23 2021-06-01 Sandisk Technologies Llc Sense amplifier for bidirectional sensing of memory cells of a non-volatile memory
US11626889B1 (en) * 2021-11-16 2023-04-11 L3Harris Technologies, Inc. Partial update sharing in joint LDPC decoding and ancillary processors
US11677420B1 (en) * 2022-03-01 2023-06-13 Western Digital Technologies, Inc. Externalizing inter-symbol interference data in a data channel

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1385983A (zh) * 2001-05-10 2002-12-18 华为技术有限公司 一种自适应调节迭代次数的h-arq接收方法
CN1405981A (zh) * 2002-11-15 2003-03-26 清华大学 改进的非规则低密度奇偶校验码纠错译码方法

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3542756A (en) * 1968-02-07 1970-11-24 Codex Corp Error correcting
US3665396A (en) * 1968-10-11 1972-05-23 Codex Corp Sequential decoding
US4295218A (en) * 1979-06-25 1981-10-13 Regents Of The University Of California Error-correcting coding system
US5293489A (en) * 1985-01-24 1994-03-08 Nec Corporation Circuit arrangement capable of centralizing control of a switching network
US5271042A (en) * 1989-10-13 1993-12-14 Motorola, Inc. Soft decision decoding with channel equalization
US5157671A (en) * 1990-05-29 1992-10-20 Space Systems/Loral, Inc. Semi-systolic architecture for decoding error-correcting codes
US5313609A (en) * 1991-05-23 1994-05-17 International Business Machines Corporation Optimum write-back strategy for directory-based cache coherence protocols
US5396518A (en) * 1993-05-05 1995-03-07 Gi Corporation Apparatus and method for communicating digital data using trellis coding with punctured convolutional codes
US5457704A (en) * 1993-05-21 1995-10-10 At&T Ipm Corp. Post processing method and apparatus for symbol reliability generation
US5526501A (en) * 1993-08-12 1996-06-11 Hughes Aircraft Company Variable accuracy indirect addressing scheme for SIMD multi-processors and apparatus implementing same
US5615298A (en) * 1994-03-14 1997-03-25 Lucent Technologies Inc. Excitation signal synthesis during frame erasure or packet loss
US5860085A (en) * 1994-08-01 1999-01-12 Cypress Semiconductor Corporation Instruction set for a content addressable memory array with read/write circuits and an interface register logic block
US5671221A (en) * 1995-06-14 1997-09-23 Sharp Microelectronics Technology, Inc. Receiving method and apparatus for use in a spread-spectrum communication system
US5867538A (en) * 1995-08-15 1999-02-02 Hughes Electronics Corporation Computational simplified detection of digitally modulated radio signals providing a detection of probability for each symbol
US5968198A (en) * 1996-08-16 1999-10-19 Ericsson, Inc. Decoder utilizing soft information output to minimize error rates
US5996104A (en) * 1996-09-13 1999-11-30 Herzberg; Hanan System for coding system
US5892962A (en) * 1996-11-12 1999-04-06 Lucent Technologies Inc. FPGA-based processor
US5909572A (en) * 1996-12-02 1999-06-01 Compaq Computer Corp. System and method for conditionally moving an operand from a source register to a destination register
US5970098A (en) * 1997-05-02 1999-10-19 Globespan Technologies, Inc. Multilevel encoder
US6438180B1 (en) * 1997-05-09 2002-08-20 Carnegie Mellon University Soft and hard sequence detection in ISI memory channels
GB2326253A (en) * 1997-06-10 1998-12-16 Advanced Risc Mach Ltd Coprocessor data access control
US5864703A (en) * 1997-10-09 1999-01-26 Mips Technologies, Inc. Method for providing extended precision in SIMD vector arithmetic operations
US5933650A (en) * 1997-10-09 1999-08-03 Mips Technologies, Inc. Alignment and ordering of vector elements for single instruction multiple data processing
US6195777B1 (en) * 1997-11-06 2001-02-27 Compaq Computer Corporation Loss resilient code with double heavy tailed series of redundant layers
US6073250A (en) * 1997-11-06 2000-06-06 Luby; Michael G. Loss resilient decoding technique
US6339834B1 (en) * 1998-05-28 2002-01-15 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communication Research Centre Interleaving with golden section increments
US6526538B1 (en) * 1998-09-28 2003-02-25 Comtech Telecommunications Corp. Turbo product code decoder
US6247158B1 (en) * 1998-11-30 2001-06-12 Itt Manufacturing Enterprises, Inc. Digital broadcasting system and method
US6871303B2 (en) * 1998-12-04 2005-03-22 Qualcomm Incorporated Random-access multi-directional CDMA2000 turbo code interleaver
US6397240B1 (en) * 1999-02-18 2002-05-28 Agere Systems Guardian Corp. Programmable accelerator for a programmable processor system
US6570919B1 (en) * 1999-07-30 2003-05-27 Agere Systems Inc. Iterative decoding of data packets employing decision feedback equalization
EP1085661B1 (en) * 1999-09-14 2005-03-02 Lucent Technologies Inc. Channel decoder and method of channel decoding
JP2001127647A (ja) * 1999-10-22 2001-05-11 Keio Gijuku 並列連接符号の復号器、復号方法及び復号プログラムを記録した記録媒体
FI113721B (fi) * 1999-12-15 2004-05-31 Nokia Corp Menetelmä ja vastaanotin kanavaestimaatin iteratiiviseksi parantamiseksi
US6473010B1 (en) * 2000-04-04 2002-10-29 Marvell International, Ltd. Method and apparatus for determining error correction code failure rate for iterative decoding algorithms
US6732327B1 (en) * 2000-05-05 2004-05-04 Nokia Networks Oy Scaled-feedback turbo decoder
FR2809249B1 (fr) * 2000-05-16 2004-04-23 France Telecom Procede et systeme de detection et de decodage iteratif de symboles recus, couple a une reestimation des coefficients du canal de transmission
DE60025197T2 (de) * 2000-08-11 2006-06-29 Mitsubishi Electric Information Technology Centre Europe B.V. Adaptive Entzerrung und Dekodierung für gespreizte Kanalverzögerung
US6754804B1 (en) * 2000-12-29 2004-06-22 Mips Technologies, Inc. Coprocessor interface transferring multiple instructions simultaneously along with issue path designation and/or issue order designation for the instructions
US6799295B2 (en) * 2001-01-02 2004-09-28 Icomm Technologies, Inc. High speed turbo codes decoder for 3G using pipelined SISO log-map decoders architecture
US6731700B1 (en) * 2001-01-04 2004-05-04 Comsys Communication & Signal Processing Ltd. Soft decision output generator
US6901119B2 (en) 2001-02-22 2005-05-31 International Business Machines Corporation Method and apparatus for implementing soft-input/soft-output iterative detectors/decoders
US6584143B2 (en) * 2001-03-02 2003-06-24 Motorola, Inc. Method and apparatus for joint detection of a coded signal in a CDMA system
US6976202B1 (en) 2001-03-09 2005-12-13 Ikanos Communication Inc. Method and apparatus for time-frequency domain forward error correction for digital communication systems
US6633856B2 (en) * 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US6718504B1 (en) * 2002-06-05 2004-04-06 Arc International Method and apparatus for implementing a data processor adapted for turbo decoding
US7178080B2 (en) * 2002-08-15 2007-02-13 Texas Instruments Incorporated Hardware-efficient low density parity check code for digital communications
JP3749889B2 (ja) * 2002-10-17 2006-03-01 株式会社東芝 Prml検出を適用する信号処理デバイス、同デバイスを備えたディスク記憶装置、及び同装置におけるフィードバック制御のための信号処理方法
US7418051B2 (en) * 2003-11-26 2008-08-26 Lucent Technologies Inc. Nonsystematic repeat-accumulate codes for encoding and decoding information in a communication system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1385983A (zh) * 2001-05-10 2002-12-18 华为技术有限公司 一种自适应调节迭代次数的h-arq接收方法
CN1405981A (zh) * 2002-11-15 2003-03-26 清华大学 改进的非规则低密度奇偶校验码纠错译码方法

Also Published As

Publication number Publication date
US8020078B2 (en) 2011-09-13
KR20060129285A (ko) 2006-12-15
EP1696786A4 (en) 2007-09-05
CN1954502A (zh) 2007-04-25
WO2005062840A3 (en) 2006-08-17
KR101122878B1 (ko) 2012-03-20
US20050138520A1 (en) 2005-06-23
EP2270988A3 (en) 2011-04-13
WO2005062840A2 (en) 2005-07-14
US20070234184A1 (en) 2007-10-04
EP1696786B1 (en) 2013-01-16
CA2550825A1 (en) 2005-07-14
EP2270988A2 (en) 2011-01-05
JP2007515913A (ja) 2007-06-14
US7237181B2 (en) 2007-06-26
EP1696786A2 (en) 2006-09-06
JP4861192B2 (ja) 2012-01-25

Similar Documents

Publication Publication Date Title
CN1954502B (zh) 用来减少在消息传递译码器中的误码基底的方法和设备
US8413008B2 (en) Method for recovery of lost and/or corrupted data
KR101751497B1 (ko) 행렬 네트워크 코딩을 사용하는 장치 및 방법
US20080172592A1 (en) Method and Device For Controlling the Decoding of a Ldpc Encoded Codeword, In Particular For Dvb-S2 Ldpc Encoded Codewords
CN105743515B (zh) 低密度奇偶校验解码器
CN101615913B (zh) Ldpc码的快速收敛译码方法
EP3539237B1 (en) Error detection in communication systems using polar coded data transmission
CN107423161B (zh) 应用于快闪存储器中的自适应ldpc码纠错码系统和方法
CN105052066A (zh) 用于多阶段软输入解码的系统和方法
CN105247808A (zh) 使用后期可靠性信息进行解码的系统和方法
EP3602794B1 (en) Check bit concatenated polar codes
EP4222869A1 (en) Serial concatenated codes with outer block codes and inner polarization adjusted convolutional codes
US7450033B2 (en) Apparatus and method for receiving signal in a communication system
Zhong et al. A binary communication channel with memory based on a finite queue
CN112491422A (zh) 基于高斯优化的比特翻转串行消除列表译码方法和系统
CN107026655B (zh) 用于对码字进行译码的方法及译码器
US11863202B2 (en) Polar coding and decoding for correcting deletion and/or insertion errors
CN110798312A (zh) 连续变量量子密钥分发系统的秘密协商方法
CN112165336A (zh) 一种具有重新同步机制的滑窗译码方法和系统
Nagano et al. Polar Coding with Introducing Half-Frozen Bits
US20050265491A9 (en) Add-compare-select-offset device and method in a decoder
AbdulHussein Efficient decoding and application of rateless codes

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1100856

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: QUALCOMM INC.

Free format text: FORMER OWNER: QUALCOMM FLARION TECHNOLOGY CO.,LTD.

Effective date: 20090424

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

Effective date of registration: 20090424

Address after: American California

Applicant after: Qualcomm Inc.

Address before: American California

Applicant before: Qualcomm Flarion Technologies

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1100856

Country of ref document: HK

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

Granted publication date: 20111116

Termination date: 20201217

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