CN1531708A - 用于对ldpc代码解码的方法和设备 - Google Patents

用于对ldpc代码解码的方法和设备 Download PDF

Info

Publication number
CN1531708A
CN1531708A CNA028142144A CN02814214A CN1531708A CN 1531708 A CN1531708 A CN 1531708A CN A028142144 A CNA028142144 A CN A028142144A CN 02814214 A CN02814214 A CN 02814214A CN 1531708 A CN1531708 A CN 1531708A
Authority
CN
China
Prior art keywords
message
node
storer
demoder
equipment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA028142144A
Other languages
English (en)
Other versions
CN1255761C (zh
Inventor
��ķ��ɭ
汤姆·理查森
Ī��ŵά��Ʒ�
瓦拉迪莫·诺维齐科夫
Original Assignee
Flarion Technologies 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 Flarion Technologies Inc filed Critical Flarion Technologies Inc
Publication of CN1531708A publication Critical patent/CN1531708A/zh
Application granted granted Critical
Publication of CN1255761C publication Critical patent/CN1255761C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6356Error control coding in combination with rate matching by repetition or insertion of dummy data, i.e. rate reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1114Merged schedule message passing algorithm with storage of sums of check-to-bit node messages or sums of bit-to-check node messages, e.g. in order to increase the memory efficiency
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/1137Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
    • 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/1148Structural properties of the code parity-check or generator matrix
    • 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/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • 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/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1168Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices wherein the sub-matrices have column and row weights greater than one, e.g. multi-diagonal sub-matrices
    • 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/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1177Regular LDPC codes with parity-check matrices wherein all rows and columns have the same row weight and column weight, respectively
    • 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/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • H03M13/6505Memory efficient implementations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6566Implementations concerning memory access contentions

Abstract

使用消息传递解码技术用于对代码字(902)解码的方法和设备,该技术特别适用于低密度奇偶校验(LDPC)代码,并描述了长代码字。所描述的方法允许解码图形结构,其主要由多个相同的小得多的图形(1000)拷贝组成的。较小的图形的拷贝经受被控制的置换操作(904)以生成较大的图形结构。相同的被控制的置换被直接实现,以支持在小图形的复制拷贝之间的消息传递。对应于各图形拷贝的消息存储在存储器中,并使用SIMD读或写指令按组访问,来自每一图形拷贝一个。图形置换操作可通过在来自消息存储器的每一组消息反应简单记录消息来实现,例如使用循环置换操作,使得消息传递到对应于小图形的不同拷贝的处理电路。

Description

用于对LDPC代码解码的方法和设备
相关的申请
本申请要求2001年6月15日提交的美国临时申请S.N.60/298,480的权益。
本发明的领域
本发明旨在用于检测和/或校正二进制数据中的差错的方法和设备,例如通过使用奇偶校验码,诸如低密度奇偶校验(LDPC)码。
背景
在现代信息时代,二进制值,例如一和零,用来表示并传送各类信息,例如视频,音频,统计信息等。遗憾的是,在二进制数据的存储,传送,和/或处理期间,可能有差错无意地引入,例如一可能变为零或相反。
一般来说,在数据传送的情形下,接收器观察噪声或失真的存在中每一接收的位,并只获得位值的指示。在这些情形下,解释观察值为“软”位源。软位与该估计的可靠性的某种指示一同指示位值即一或零的最好的估计。虽然差错数可能相对低,但即使小数目的差错或失真电平也能够造成数据不能使用,或在传送差错的情形下,可能必须进行数据的重新传送。
为了提供一种机制以便校验差错,并在某些情形下,为校正差错,二进制数据能够被编码以便引入仔细设计的冗余性。数据单元的编码产生通常称为代码字的概念。因为这一冗余性,代码字将常常包含比代码字从其产生的的数据输入单元多的位。
当接收或处理来自传送代码字引起的信号时,在信号中观察到的包含在代码字中的冗余信息可用来识别和/或校正在接收的信号中的差错或从其去除失真,以便恢复原来的信号单元。这种差错校验和/或校正能够作为解码过程的一部分实现。在没有差错时,或在可校正差错或失真的情形下,解码可用来从被处理的源数据恢复已被编码的原来数据单元。在不能恢复的差错的情形下,解码过程可产生某种指示原来的数据不能完全恢复。这种解码失败的指示可用来启动数据的重新传送。
虽然数据冗余能够增加被存储或传送的数据的可靠性,但这是以存储空间和/或使用宝贵的通信带宽为代价的。因而,希望以一种有效的方式增加冗余性,使对数据引入的给定的冗余量赢得的差错校正/检测容量最大化。
随着对于数据通信光纤线路增加的使用及数据能够从存储装置例如磁盘、磁带等读取和向其存储的速率的增加,不仅对有效使用数据存储和传送量,而且对以高速率编码和解码数据的能力增加了需要。
虽然编码效率和高数据速率对于在范围广泛的装置,例如消费者装置,编码和/或解码系统是重要的,但重要的是编码器和/或解码器要能够以合理的成本实现。于是,例如就硬件的成本来说,有效实现用于差错校正和/或检测目的的编码/解码方案的可能性,可能是重要的。
多年来为了差错校正的目的已使用各种类型的编码方案。最近发明了一般称为“涡轮代码”的一类代码(1993)。涡轮代码比较老的技术诸如卷积码提供了明显的好处,并发现了许多应用。
与涡轮代码的出现相结合,对另一类相关的明显更简单一般称为低密度奇偶校验(LDPC)码的代码增加了兴趣。LDPC代码实际上由Gallager在大约40年前(1961)发明,但只是现在才引起注意。涡轮代码和LDPC代码是在所谓迭代编码系统的场合使用的编码方案,就是说它们使用迭代解码器被解码。近来,已经证明LDPC代码能够提供非常好的差错检测和校正性能,涡轮代码对于大代码字例如大小超过大约1000位是优越的和匹配的,给出了LDPC编码参数的适当选择。此外,LDPC代码能够潜在地以比涡轮代码更高的速度解码。
在许多编码方案中,由于编码在较大数目位上的交互作用,较大的代码字常常对差错的检测和校正更有弹性。这样,使用长代码字就增加检测和校正差错能力来说是有益的。这对于涡轮代码和LDPC代码是特别实际的。这样,在许多应用中,希望使用长代码字,例如长度超过一千位的代码字。
在长代码字的场合,其中这种代码的使用提供了最大的希望,采用LDPC编码和涡轮编码中所遇到的主要困难,是实现这些编码系统的复杂性。在实际的情形下,复杂性直接转换为实现的成本。这两种编码系统都比传统使用的编码系统,诸如传统的代码和Reed-Solomon代码更复杂。
信号处理算法的复杂性分析通常集中在操作计数。当试图在迭代代码系统中采用硬件并行性,特别是在LDPC代码的情形下时,明显的复杂性不仅从计算需要引起,而且更从路由需要引起。问题的根源在于代码本身的结构。
LDPC代码和涡轮代码依赖于迭代过程内的交错消息。为了使代码性能良好,交错必须有良好的混合性质。这必须实现复杂的交错过程。
LDPC代码由通常称为Tanner图的二部图很好表示,其中一组结点,即可变结点对应于代码字的位,而另一组结点,即约束结点有时称为校验结点,对应于定义该代码的奇偶校验约束组。图中的边缘把可变结点连接到约束结点。可变结点和约束结点被称为邻近,如果它们由图中的一边连接。为了简化,我们一般假设一对结点由至多一条边连接。与每一可变结点相关的是代码字的一位。在某些情形下,某些这些位困难是被穿孔的已知的,如以下进一步讨论。
当且仅当对每一约束结点相邻约束(通过它们与可变结点相关)和为模二为零即将它们包括偶数个位时,与可变结点顺序一对一相关的位顺序才是代码的代码字。
用来对LDPC代码字解码的解码器和解码算法,通过在图内沿边交换消息,并基于输入的消息通过在结点处进行计算而操作。这种算法将一般称为消息传递算法。图中的每一可变结点起初使用软位提供,称为接收值,其指示通过从例如通信通路观察所确定的相关位值的估计。理想上,对分开的位的估计在是统计独立的。这一理想困难并常常在实际上是违背的。接收的值的收集构成接收的字。为了这一应用的目的,我们可能例如通过通信系统中的接收器使用接收的字识别观察的信号。
附加到一结点,即可变结点或约束结点的边的数目被称为该结点的度。正则图或代码是这样的图,对其所有可变结点有相同度例如j,并且所有约束结点有相同度例如k。这种情形下,我们说代码是(j,k)正则代码。这些是最初由Gallager(1961)所考虑的代码。与“正则”代码相对照,非正则代码具有约束代码和/或不同度的可变结点。例如,某些可变结点可能为度4,其它为度3并另外其它度为2。
虽然发正则代码为了表示和/或实现更为复杂,但已经证明,当与正则LDPC代码比较时,非正则LDPC代码能够提供极佳的差错校正/检测性能。
为了更精确地描述解码过程,我们在描述LDPC图中引入套接字的概念。套接字可看作为图中的一边与图中的一结点的相关联。每一结点对附加到它的每一边有一个套接字,且边“塞入”套接字。这样,度d的结点有附加到它的d个套接字。如果图有L个边,则在图的可变结点侧有L个称为可变套接字的套接字,并在图的约束结点侧有L个称为约束套接字的套接字。为了标识和排序的目的,可变套接字可被计数1,...,L,使得附加到一可变结点的所有可变套接字连续出现。这种情形下,如果头三个可变结点的度分别为d1,d2,d3,则可变套接1,...,d1,附加到第一可变结点,可变套接字d1+1,...,d1+d2附加到第二可变结点,且可变套接字d1+d2+1,...,d1+d2+d3附加到第三可变结点。约束结点可类似地被计数1,...,L,所有约束套接字附加到连续出现的一个约束结点。一个边可被看作是套接字的配对,其每一对的一个来自图的每一边。这样,图的边表示套接字从图的一边例如可变结点边,向另一边例如约束结点边的交错或置换。与这些系统相关的置换常常是复杂的,反映了如上所述交错的复杂性,为它们的实现需要消息传递复杂的路由。
在图上实现的消息传递算法的概念比LDPC解码更为一般。一般的观点是,带有结点的图沿图中的边交换消息,并基于输入的消息进行通信,以便传送输出消息。
一个示例性的二部图100确定长度十的一(a,6)正则LDPC,且速率一半示于图1中。长度十指示有十个可变结点V1-V10,每一以代码字X1-X10的一般来说由标号102标识的一位标识(且这种情形下没有穿孔)。速率一半指示有检验结点的一半作为可变结点,即有由标号106标识的五个检验结点C1-C5。速率一半还指示五个约束是如以下讨论的线性独立的。每一条线104表示一条边,例如该线连接的检验结点与可变结点之间的通信通路或连接。每一边标识两个套接字,一个可变套接字与一个约束套接字。可根据它们的可变套接字或它们的约束套接字对边计数。可变套接字的计数对应于在它们连接到可变结点的点处可变结点上出现边排序(上到下)。约束套接字的计数对应于在它们连接到约束结点的点处约束结点上出现边排序(上到下)。在解码期间,消息沿边的两个方向传递。这样,作为解码过程的一部分消息沿一边从约束结点向可变结点并反之传递。
虽然图1示出与长度10的代码相关的图,但可看到,表示对于长度1000的代码字的图将为100倍复杂性。
示于图表示代码的另一方式是使用诸如图2所示的矩阵表示法。在代码的矩阵表示法中,一般称为奇偶校验矩阵的矩阵H 202包括相关的边连接,可变结点和约束结点信息。在矩阵H中,每一列对应于可变结点之一,而每一行对应于列结点之一。由于在示例代码中有10个可变结点和5个约束结点,矩阵H包括10列和5行。对应于具体可变结点和具体约束结点的矩阵的项设置为1,如果边出现在图中,即如果两个结点为邻接,否则设置为0。例如,由于可变结点V1由一条边连接到约束结点C1,一位于矩阵202的左上角。然而,可变角度V不连接到约束角度C1,于是0位于矩阵202的第一行的第四位置,指示对应的的可变和约束结点不被连接。我们说,如果H的行在GF[2](2阶Galois场)上是线性独立的向量,则约束是线性独立的。通过套接字计数的可变或约束的边对应于在H中计数1。可变套接字计数对应于列内顶到底计数并从左到右从列到列进行,如矩阵208中所示。约束的套接字计数对应于在行上左到右计数以及顶到底从行到行进行,如矩阵210中所示。
在矩阵表示的情形下,被传送的代码字X能够表示为向量206,其包括被处理的位X1-Xn。位序列X1-Xn是代码字,当且仅当矩阵206与202的乘积等于零,即:Hx=0时。
在讨论与LDPC图相关的代码字的场合,应当看到,在某些情形下,代码字可能被穿孔。穿孔是从代码字去除位以实际上产生较短代码字的行动。在LDPC图的情形下,这意味着图中某些可变结点对应于实际上不被传送的位。这些可变结点及与它们相关的位常常称为状态变量。当使用穿孔时,能够使用解码器重构代码字没有通过通信通路物理上通信的部分。在穿孔的代码字被传送的情形,接收装置起初可以例如以任意方式指定的一或零填充失去的接收字值(位),随同指示(软位)这些值是完全不可靠的,即这些值可被删除。为了解释本发明的目的,我们将假设,当使用时,这些接收器-填充的值是要被处理的接收的字的部分。
考虑图3所示的系统350,系统350包括编码器352,解码器357及通信通路356。编码器352包括处理输入数据A以产生代码字X的一编码电路353。代码字X为差错检测和/或校正的目的包含某些冗余性。代码字X可通过通信通路传送。另外,代码字X能够通过数据选择装置354按某种数据选择技术分别被划分为第一和第二部分X’,X”。代码字部分之一,例如第一部分X’,这时可通过通信通路传送到包括接收器357的接收器,而第二部分X”被穿孔。作为由通信通路356产生的失真的结果,被传送的代码字部分可能丢失或被破坏。从解码器来看,被穿孔的位可被解释为丢失。
在接收器处软位被插入接收的字,以代替丢失或穿孔的位。被插入的指示X”删除的软位指示和/或位在传送中丢失。
解码器357将试图重构来自接收的字Y及任何插入的软位的全代码字X,并然后进行数据解码操,以便以从重构的代码字X产生A。
解码器357包括一通路解码器358,用于从接收的字Y重构完全的代码字X。此外它还包括数据解码器359,用于去除包含在代码字中的冗余信息,以便从重构的代码字X产生原来的输入数据A。
应当看到,与LDPC编码配合产生的接收的字能够通过对其进行LDPC解码操作被处理,例如差错校正和检测操作,以产生原来代码字的重构的版本。然后重构的代码字能够受到数据解码以恢复曾被编码的原来的数据。数据解码处理例如可以是简单地从重构代码字选择位的特定的子集。
LDPC解码操作一般包括消息传递算法。有许多潜在的有用的消息传递算法,且这些算法的使用不限于LDPC解码器。本发明能够用于实际上任何这种消息传递算法的场合,因而能够用于各种消息传递系统,而LDPC解码器只不过是其一例。
为了完整性,我们将给出称为置信传播的最好的已知消息传递算法之一的一种实现的简要的数学描述。
对于(二进制)LDPC的置信传播可表达如下。对于与可变结点相关的位沿图的边传送的消息可解释为log-似然log(p0/p1)。这里,(p0,p1)表示在相关位上的条件概率分布。由接收器提供给解码器的软位也以log-似然形式给出。这样,接收的值即接收的字的元素是取决于由通信通路提供的位的观察相关的位的log-似然。一般来说,消息m表示log-似然m而接收值y表示log-似然y。对于穿孔位接收的值y被设置为0,指示p0=p1=1/2。
让我们考虑置信传播消息传递规则。对于从校验结点到可变结点的消息消息由mC2V标记,而对于从可变结点到校验结点由mV2C标记。对于每一边j=1,...,d设mC2V(i)标记在边i上输入的消息。在解码观察的最初我们对于每一边设置mC2V=0。然后,输出消息由以下给出
m V 2 C ( j ) = y + Σ i = 1 d m C 2 V ( i ) - m C 2 V ( j ) .
在校验结点更便于使用它们的‘符号’和量值表示消息。这样,对于消息mp∈GF[2]表示消息的‘奇偶性’,即如果m≥0则mp=0,并如果m<0则mp=1。此外设mr∈[0,∞]表示m的量值。这样,我们有m=-1mpmr。在校验结点对mp和mr的更新是分开的。对于度为d的校验结点,我们有,
m p C 2 V ( j ) = ( Σ i = 1 d m p V 2 C ( i ) ) - m p V 2 C ( j ) ,
其中所有加法是对GF[2]进行的,并且
m r C 2 V ( j ) = F - 1 ( ( Σ i = 1 d F ( m r V 2 C ( i ) ) ) - F ( m r V 2 C ( j ) ) ) ,
其中我们定义F(x):=log coth(x/2)。(在以上两个方程式中,上标V2C都表示在校验结点处的输入消息)。我们注意到F是其自己,即F-1(x)=F(x)。
许多消息传递算法可看作是置信传播的近似。应当看到,在任何实际的数字实现中,消息将由有限数目的位及适当的消息更新规则构成。
明显的是,对于大代码字与表示LDPC代码相关的复杂性,至少对于试图采用并行机制的硬件实现,是令人沮丧的。此外,以能够以高速支持处理的方式实现消息传递可能是困难的。
为了更实际地使用LDPC代码,需要以有效和紧凑的方式表示对应于大代码字LDPC代码的方法,从而降低表示代码即描述相关图所需的信息量。此外,需要这样的技术,其允许与多个结点和多个边例如四个或更多结点或边相关的信息传递,以易于控制的方式并行进行,从而允许更大的代码字以合理的时间量被有效地解码。还需要一种解码器结构,其足够灵活而能够对几种不同的LDPC代码解码。这是因为许多应用需要不同长度和速率的代码。更希望的是允许特定LDPC代码的规范可编程的结构。
附图的简要说明
图1示出一示例性长度为十的正则LDPC代码二部图表示。
图2是图1中图示代码的一种矩阵表示。
图3示出数据的编码、传送和解码。
图4是一示例性非正则LDPC代码的二部图表示。
图5,包括图5a到5d的组合,示出根据图4所示的LDPC代码作为LDPC解码操作的部分所进行的步骤。
图6是小LDPC代码的图表示,其用作为很大的LDPC代码的基础,表示根据本发明的一例。
图7示出图6中图示的小LDPC代码的奇偶校验矩阵表示。
图8示出图6中所示的代码中的边如何能够按从可变结点边顺序排布,例如计数,以及相同的边将如何从约束结点边出现。
图9示出用于进行串联LDPC解码操作的系统。
图10图示出作出图6所示小LDPC图的三个拷贝的效果。
图11示出图10中所示LDPC图的奇偶校验矩阵表示。
图12示出图11中所示的代码中的边如何能够按从可变结点边顺序排布,例如计数,以及相同的边将如何从约束结点边出现。
图13示出根据本发明的一示例性实施例,以循环置换矩阵代替图11中所示的3x3恒等矩阵的效果。
图14示出图13中所示的代码中的边如何能够按从可变结点边顺序排布,以及在受到根据本发明的循环置换后,相同的边将如何从约束结点边出现。
图15示出根据本发明实现的向量化图9的解码器的LDPC解码器。
图16和17示出根据本发明实现的其它LDPC解码器。
本发明的概述
本发明旨在使用消息传递解码技术对字进行解码操作的方法和设备。本发明的技术特别适用于大LDPC代码,例如长度大于750位的代码字,但它们也能够用于较短长度。本发明的技术和设备也能够用于使用其它类型的消息传递算法的图设计和解码。然而为了解释本发明,将描述示例性的LDPC解码器和解码技术。
本发明的技术允许拥有一定层次结构的LDPC图的解码,其中全LDPC图大部分显示为由多个Z次较小的图的拷贝例如Z构成。Z图拷贝可以是恒等的。为了精确,我们将称较小的图为投影图。提供首先考虑对Z恒等小LDPC图同步且平行地解码的解码器能够最好地理解该技术。考虑对于单个小LDPC图的消息传递解码器。该解码器实现对应于消息传递算法的一系列操作。现在考虑扩充同一解码器使得它同步且并行地解码Z恒等这种LDPC图。消息传递算法中的每一操作被重复Z次。注意,解码过程的效率得到证明,因为解码总共进行Z次比较快,并因为控制消息传递过程所要求的控制机构不需要对Z个拷贝重复,而是能够由Z个拷贝共享。我们还能够把以上Z-并行解码器看作是向量解码器。我们可形成较小图的Z个拷贝的过程看作是向量化较小(投影)图:较小图的每一结点变为包括Z结点的向量结点,较小图的每一边变为由Z个边构成的向量边,解码较小的图中交换的每一消息变为包括Z个消息的向量消息。
本发明获得上述向量化的效率,同时多其进行了修改使得向量解码器实际上解码一种比投影图大Z倍的大图。这是通过被控制的方式互连投影图的Z个拷贝而实现的。具体来说,我们允许向量边中Z个边例如在它们从可变结点边向以上结点边行进时投影图的拷贝之间受到置换,或交换。在对应于Z个并行投影图的向量化的消息传递过程中,这一交换是通过在向量消息内在其从向量化的图的一侧向另一侧传递时置换消息实现的。
考虑通过1,j,...,Z索引投影LDPC图。在严格并行的解码器中图j中可变结点只连接到图j的约束结点。根据本发明,我们取一个向量边,包括一对应的边每一来自每一图的拷贝,并允许在Z个边内置换,例如我们允许对应于向量边内的边的约束套接字被置换,例如重新排序。此后,我们将常常称在向量边内的置换,例如重新排序,为旋转。
这样,根据本发明,可使用相对小的存储器表示相对大的图,例如描述。例如,一个图可通过存储描述投影图的信息及描述旋转的信息表示。另外,图的描述可作为实现描述图的连接性的功能的电路设施。
于是,本发明的图的表示技术便于并行的例如向量化的图的实现。此外,本发明的图表示技术能够用来支持带有或没有状态变量的正则的或非正则图的解码。描述投影图中结点度的信息可被存储,或提供给向量结点处理元件。注意,所有属于向量结点的结点有相同的度,于是只对一个投影图需要度信息。
在各实施例中,使解码器可编程,因而允许其以多个图描述被编程,例如以存储的投影图及存储的旋转信息或借助于实现的功能表达。因而,本发明的解码器能够被编程,以便对大数目的不同例如正则的和非正则的代码解码。在某些具体的实施例中,解码器用于固定图或用于固定度及这一信息。在这些实施例中,图描述信息可被预编程或隐含。这种情形下,解码器困难比可编程实施例有较少的灵活性,但节省了支持可编程性所需的资源。
根据本发明的一实施例,提供了一种消息存储器,其包括存储单元行,每一行对应于与投影图的一个拷贝相关联的消息。对应于Z多个投影图的消息被堆叠以形成每列的Z个消息列,这种列对应于一个向量消息。这一存储器排布允许在一个操作中,对应于向量边的向量消息,例如Z个消息集合,例如使用SIMD指令访问一列中所有Z个消息,从存储器作为单元读出或向其写入。这样,存储器支持向量消息作为单元的读和写。于是,本发明避免了需要对Z个消息集合中每一个别的消息提供不同的读/写地址。
在消息传递处理中一个或多个点处,在从存储器读出之后,Z个消息受到置换操作,例如重新排序操作。重新排序的操作对应于与互连投影图的Z个拷贝的向量边相关的旋转,以形成单一的大图。这一旋转例如可在消息被提供给对应的向量(约束的或可变的)结点处理器之前施加。另外,旋转可在由向量结点处理器处理之后施加。
可使用连接例如消息存储器与向量结点处理单元的简单的开关装置实现旋转,并在它们从存储器向向量结点处理单元传递时重新排序那些消息。在这种示例性实施例中,在向量结点处理器内,从存储器读取的每一向量消息中的消息之一提供给由开关装置施加到向量消息的旋转取得的Z个并行结点处理单元对应的之一。由开关装置实现的旋转操作,还可在其写入存储器之前及结点处理之后或另外施加到向量消息。
投影图的存储或计算的描述例如可包括关于序的信息,其中对应于投影图的行中的消息在约束和/或可变结点处理期间被读出和/或写入存储器。整体的大图的消息存储在单个行,每一行对应于小图的不同的拷贝,行的排布以形成消息列。每一消息列表示向量消息,能够作为单个的单元被访问。这样,根据本发明,关于如何访问投影图的行中的消息的信息,能够用来确定对应于投影图的多个拷贝的向量消息被访问的序。
根据读/写操作是对应于可变结点边还是约束结点边处理,向量消息被读出和/或写入存储器的序的变化,可作为对消息进行的第一置换描述。这一置换对应于与投影图相关的交错器(interleaver)。为了表示来自投影解码器图的大解码器图,除了向量消息(例如列)访问序信息之外,存储置换信息的第二集合,例如旋转信息。例如当读出和或写入存储器时,表示开关控制信息的第二置换信息(例如旋转信息)指示,在每一向量例如消息列中的消息应如何被重新排序。这两个阶段的置换把描述完全LDPC图的大置换化为通过不同机制实现的两个部分。
在一特定实施例中,使用循环置换作为二级置换,因为这种置换容易实现且其描述简洁。这种情形推动了使用旋转这一术语描述这二级供说明之用。然而,应当理解,二级置换无需限制为旋转,并能够使用其它重新排序方案实现。
在本发明的各实施例中,在所有差错已被校正或没有差错出现在接收的字中的情形下,解码器产生对应于解码器的硬决策输出例如原始代码字的多位软输出,带有一位例如每一软输出的符号或奇偶位。然后解码器输出,例如恢复的代码字,可进而被处理,以便恢复在编码时曾用来产生被传送的代码字的原始数据。
根据本发明的一个特征,考察了在可变结点处理的每一完全迭代之后产生的软和/或硬输出,以确定指示代码字的奇偶校验约束是否被当前硬决策满足。这一校验过程还有图的两阶段被分解的置换结构的好处。一旦以这一方式检测到代码字的恢复,迭代解码过程(消息传递)可被暂停。于是,在相对无差错的信号的情形下,例如在消息传递解码过程的两个或三个迭代之后,解码可完成并迅速被检测。然而,在接收的字包含多个差错的情形下,由于超时的约束,解码过程的大量迭代可能在解码成功或过程被暂停之前发生。
根据本发明,与向每一接收的字分配固定数目的解码迭代的系统相比,成功解码的迅速的检测允许更有效使用资源。
由于本发明的解码技术允许大数目的解码操作,例如约束和/或可变结点解码器处理操作并行进行,故本发明的解码器能够用来对接收的字以高速解码。此外,由于给出了本发明的新型技术,用来对与这种图相关的解码操作表示大图和/或控制消息传递,降低和/或克服了存储描述大图和控制它们的消息路由的困难。
本发明LDPC代码和解码技术一定的推广包括对较大字母不简化位的编码/解码,它们具有两个可能的值,但某种较大可能性数。也可使用本发明的方法和设备对约束结点表示非奇偶校验约束的约束的代码进行解码。本发明可适用的其它相关推广包括,消息传递算法可对图实现并具有设计该图的选项的情形。对于业内专业人员明显的是,就本发明的应用来看,如何把本发明的技术用于这些更一般的情形。
从以下详细的说明,本发明的解码技术和解码器许多附加的优点、特性和方式将是明显的。
本发明的详细说明
如上所讨论,将为示例的目的以LDPC解码器实施例的场合说明本发明的解码方法和设备。将首先参照图4和5描述LDPC代码的解码中涉及的步骤,然后是更加细致讨论本发明的各种特性。
图4使用二部图400示出示例的非正则LDPC代码。该图包含m个校验结点402,n个可变结点406,及多个边404。校验结点和可变结点之间的消息通过边404交换。对应于接收的字Y的软输入位y1到yn,和软(或硬)输出x1到xn由标号408指示。使用标号402’标识第mth校验结点,使用标号406’标识第nth可变结点,同时分别使用标号410,409标识第nth软输入yn和第nth软输出xn
可变结点406处理来自约束结点的消息连同来自接收的字y1,...,yn的输入软值,以更新对应于可变结点的输出变量x1,...,xn的值并产生到约束结点的消息。通过一可变结点对每一连接到可变结点的边产生一消息。产生的消息沿边从附加在该边的可变结点向约束结点传送。为了示例的目的,从可变结点向约束结点的消息,在本申请中将不时使用缩写V2C指示,同时从可变结点到约束结点的消息将使用缩写C2V指示。可以向这一缩写的V和C成分添加下标,以指示用作为具体的消息的源/目标可变结点和约束结点具体的一个。每一约束结点402负责通过附加到该具体约束结点的边传递从可变结点接收的消息。从可变结点接收的V2C消息由约束结点402处理,以产生C2V消息,然后其沿附加在每一约束结点的边被向回传送。然后可变结点406处理C2V消息连同软输入值,以产生并传送新的V2C消息,并产生软输出xi。在可变结点406处进行处理的序列,包括:向校验结点402传送产生的消息,在可变结点产生软输出xi,并从校验结点接收消息,可重复即迭代地进行,直到来自可变结点406的输出xi指示代码字已经成功被解码或某种其它停止准则已被满足为止,例如消息传递迭代的固定数完成。应当看到,上述的操作顺序不需要按所述的顺序严格出现。结点处理可异步进行,且约束结点处理可同步发生。然而,迭代过程的逻辑正如所述。
消息V2C和C2V可以是一个或多个位,例如每一K位,其中K是正的非零整数值。类似地软输出xi可以是一个或多个位。多位的消息和输出提供了对信息或输出的中继置信度或可靠性信息的机会。在多位的情形下,(软)输出,软输出值的符号可用来提供解对应于可变结点的码过程的单个位的硬输出,例如解码的代码字位。输出软值可对应于解码的软值,或另外对应于所谓外在的信息(排除对应的输入信息),其可用于LDPC解码器是其中唯一模块的另一较大迭代过程。
现在将对于图5a到5d进一步讨论与解码LDPC代码相关的该迭代信息传递过程。
当解码一LDPC代码时,在每一约束和可变结点的处理可独立进行。于是,可变和/或约束结点处理可偶尔对一个结点进行,例如按顺序,直到某些或所有可变与约束结点处理已经对解码过程的特定迭代完成为止。这允许处理硬件的单个单元如果需要被提供和重新使用,以进行与每一可变和/或约束结点相关的处理。LDPC解码的另一重要的特征在于,在特定处理迭代期间所使用的V2C和C2V消息不需要同时、例如在相同处理迭代期间产生。这允许实现约束和可变结点处理能够并行进行,而无需考虑所使用的消息上次何时被更新。随后足够数目的消息更新并迭代,其中所有可变和约束结点处理接收的消息并产生更新的消息,假设图是正确设计的并在接收的被处理的字中没有剩余的未被校正的差错,则可变结点的(硬)输出将收敛。
假设在每一校验结点和可变结点的处理能够被看作是独立的操作,现在将参照图5a-5d更详细讨论在单个的示例性校验结点Cn502’和可变结点Vn506’处所进行的迭代处理。为了进行说明,我们将认为消息值和软输入与输出值是数。正数对应于0的硬位决策,而负数对应于1的硬位决策。较大的量值指示较大的可靠性。这样,数零指示完全不可靠,而符号(正或负)是不相关的。这一约定符合标准的惯例,软值(消息,接收的和输出的值)表示相关位的log-似然,即软值取以下的形式
log(概率位为0/概率位为1)其中概率是以某种随机变量为条件的,例如在接收的值的情形下来自通信通路的物理观察。
图5a示出LDPC解码过程中的初始步骤。最初,对可变结点Vn506’提供软输入,例如来自被处理的接收字的接收的值(1个或更多的位)yn。在解码操作开始处的C2V消息及软输出Xn509初始设置为零。基于接收的输入,例如零值C2V消息和输入)yn,可变结点Vn506’对它所连接到的每一校验结点产生一V2C消息。典型地,在初始步骤中,这些消息的每一个将等于yn
图5b中示出产生的V2C消息沿连接到可变结点Vn506’的每一边被传送。这样,更新的V2C消息被传送到与可变结点Vn506’连接的包括校验结点Cm502’的每一校验结点502。
除了产生V2C消息之外,可变结点处理结果在于更新对应于进行处理的可变结点的软输出09’。图5c中示出软输出Xn被更新。虽然是作为不同的步骤示出的,但软输出可与V2C输出的同时被输出。
如以下进一步所讨论,根据本发明某些实施例,软输出(或它们相关的硬决策)可用来确定代码字何时已经从接收的字恢复,即何时奇偶约束已经由输出值满足。这指示成功的解码(虽然找到的代码字可能并正确,即不是被传送的代码字),从而允许迭代解码过程以及时的方式暂停,例如在某固定的最大允许的消息数通过迭代完成之前。
一旦校验结点,例如校验结点Cm502’,沿其连接的边接收V2C消息,就能够进行校验结点处理。接收的V2C消息在校验结点中处理以产生更新的C2V消息,连接到特定校验结点每一边一个。作为校验结点处理的结果,沿一个边向可变结点传回的C2V消息将与连接到该校验结点其它边接收的每一V2C消息的值相关,但(通常并最好是但不是必须)与从C2V消息向其传送的该特定可变结点所接收的V2C消息无关。这样,C2V用来传送从可变结点接收的消息产生的信息,这些可变结点不是该消息向其传送的那个结点。
图5d示出更新的C2V消息向包括结点506’的可变结点的传递。具体来说,图5d中,示出约束结点Cm502’输出两个更新的C2V消息,更新的Cm2Vn消息提供给可变结点Vn506’。Vn506’还从与其连接的另一约束结点(多)接收附加的更新C2Vn消息(多)。
随着更新的C2V消息的接收,能够重复可变结点处理以产生更新的V2C消息和软输出。然后能够重复C2V消息的更新并继续进行直到满足解码器停止准则。
这样,在第一迭代之后,使用与初始值相反的更新的消息值,将重复图5a-5d中所示的处理,直到解码过程停止。
LDPC解码过程的迭代性质,及各结点处处理能够独立于在其它结点的处理进行这一事实,提供了实现LDPC解码器时灵活性的很好的处理。然而,如上所讨论,边和结点之间的关系全部的复杂性能够使边的关系信息的存储,例如图的描述变得困难。更重要的是,图的复杂性能够使消息的传递难以以多个消息被同时传递的并行的实现方式实现。
实际的LDPC解码器实现常常包括边存储器,用于存储沿约束和/或可变结点之间的边传递的消息。此外它们包括有时称为置换映象的图描述符,其包括规定边连接,或套接字配对的信息,从而定义解码图。这种置换映象可作为存储的数据或作为计算或蕴含置换的电路实现。除了边存储器之外,需要一个或多个结点处理单元进行与一结点相关的实际的处理。
能够进行软LDPC解码器的实现,其中使用软件控制CPU作为序列处理单元操作,并使用连接到CPU存储器控制消息的传递。在软件实现中,也可使用单个的存储器存储解码器图描述,边消息,以及用来控制CPU的解码器程序。
如以下所讨论,在本发明的各实施例中,使用一个或多个边存储器。在一个示例性的多边存储器实施例中,一个第一边存储器用于存储和传递C2V消息,且一个第二边存储器用于存储并传递V2C消息。在这种实施例中,困难并常常采用多个结点处理单元,例如一个进行约束结点处理且另一个进行可变结点处理。如以下所讨论的,这些实施例允许可变和约束处理操作并行进行,结果的消息被写入两个消息存储器的每一个,供解码过程的下一个迭代期间使用。
我们现在将展示一个小型LDPC图及其表示法一简单的例子,该例子将在后继解释本发明中使用。LDPC图的讨论之后将是LDPC解码器的描述,该解码器能够用于对小型图解码。
图6以图600的形式示出一简单的非正则LDPC代码。代码的长度是五,如由5个可变结点V1到V5 602所指示。通过消息可通过其传递的总共12个边604,四个校验结点C1到C4 606连接到可变结点602。
图7使用矩阵702,704以奇偶校验矩阵的形式示出图6中所示的LDPC代码。如以上所讨论,边以使用1的置换矩阵H 702表示。位xi与可变结点Vi相关。矩阵706和708表示H中对应于图中的边的1,下标分别根据可变套接字的顺序和约束套接字的顺序。
为了示例的目的,12个边将从可变结点侧,即根据它们的可变套接字被计数。在图6中能够看见由可变结点602与校验结点606之间的边建立的连接。为了讨论的目的,对附加到可变的将其连接到校验结点C1、C2和C3的V1的边,指定对应于可变套接字计数的标号1,2,3。可变结点V2分别由边4,5和6连接到校验结点C1、C3和C4。可变结点V3分别由边7和8连接到校验结点C1和C4。此外,可变结点V4分别由边9和10连接到校验结点C2和C4,同时可变结点V5分别由边11和12连接到校验结点C2和C3。这一下标对应于图7的矩阵706,即可变套接字顺序。
图8以对它们连接的可变和校验结点的关系,示出从可变结点侧计数的图6的12个边之间的关系。行802示出5个可变结点V1到V5。在变量802之下示出对应于连接到特定可变结点的相关套接字的边1到12 804。注意,由于边从可变结点侧被排序,在行804它们按从1-12的顺序出现。让我们假设,消息按行804中指示的顺序存储在存储器中。
在可变结点处理期间,按顺序即按804中所示的顺序访问存储器中的12个边消息。这样,在可变结点处理期间,消息可简单地按顺序被读取并提供给处理单元。
行806示出出现在图6和7的代码中的四个约束结点C1到C4。注意,边在行804被重新排序以反映它们连接到约束结点的顺序,但指示的下标是从可变结点侧引导的。于是,假设边消息按从可变结点侧的顺序存储,当进行约束结点处理时消息将按行804所示的顺序被读出。就是说,在约束结点处理期间,消息将按顺序1,4,7,2,9,11,3,5,12,6,8,10从存储器读出。能够使用消息排序模块输出边消息访问信息的正确序列,例如存储器单元,用于在可变和校验结点处理操作期间,从存储器读取数据或向存储器写入数据。
现在将参照图9讨论每次一个边顺序地进行消息处理操作的串行LDPC解码器900,并将讨论使用图6所示示例性代码的解码。LDPC解码器900包括解码器控制模块910,边存储器906,结点处理器908,输出缓冲器916,硬决策存储器912及奇偶校验验证器914。
边存储器906包括L个K位存储器单元,每一K位单元对应于一个边,且其中L是所使用的LDPC图中的边的总数,而K是沿一个边交换的每消息的位数。为了具体说明,我们假设消息按由可变套接字引导的边排序的顺序存储。这样,对于例图600,对应于边1,2,...,12的消息按指示的顺序存储。硬决策存储器912包括L个1位存储器单元,每一个1位单元对应于一个边。这一存储器存储由可变结点沿它们每一边传送的硬决策,使得奇偶校验约束可被验证。在校验结点处理器接收消息时,奇偶校验验证器914接收硬位决策。在奇偶校验验证器中验证奇偶校验,并在满足所有校验的情形下,向解码器控制模块902传送一收敛信号。
消息排序模块904可作为置换映象或速查表实现,其包含描述从可变结点侧观察或从约束结点侧观察的消息在边存储器中的排序的信息。这样,对于我们的例图600,规定了从约束侧所观察的边顺序序列1,4,7,2,9,11,3,5,12,6,8,10,将有效存储在消息排序模块中。这一序列用来对约束结点处理的消息排序,并用来对从硬决策存储器912的读出的硬决策序,供奇偶验证器914处理。
图9中解码器,对应于一个边的消息在它们由结点处理器处理之后被重写。这样,边存储器将在存储V2C消息与存储C2V消息之间交替。硬决策验证发生在约束结点处理期间,例如在V2C消息从边消息存储器906读出时。
解码器控制单元902负责在操作的可变和校验结点处理结点之间切换解码器操作,用于确定何时迭代解码过程应当停止,例如因为收到收敛信号或达到最大允许达到计数,用于向结点处理单元及奇偶校验验证器提供或控制度信息的提供,并用于控制对消息排序模块904的边下标的提供。在操作期间,解码器控制模块902向消息排序模块904传送边下标。值,边下标随时间对通过图中所有边的序列增量。对被实现的图中每一边使用不同的,例如唯一的边下标。响应每一接收的边下标,消息排序模块将输出一边标识符,例如边存储器地址信息,这样选择将被访问的边存储器单元,例如在任何给定的时间读出或写入。假设可变套接字排序,在可变结点处理期间消息排序模块904将引起消息按相继的顺序读出或写回,并在约束结点处理期间引起消息按对应于约束套接字的排序的顺序读出和写回。这样,在我们以上的例子中,在可变结点处理期间消息将按顺序1,2,3,...,12读出和写回,并同时硬决策将按顺序1,2,3,...,12写入硬决策存储器912。在约束结点处理期间,消息将按顺序1,4,7,2,9,11,3,5,12,6,8,10读出和写回,并同时消息排序模块904将引起硬决策位按顺序1,4,7,2,9,11,3,5,12,6,8,10读出和写回硬决策存储器912。
在响应从解码器控制模块902收到的标识符从边存储器读取消息时,它们提供给结点处理器908。取决于操作模式,结点处理器908进行适当的约束或可变结点处理操作,从而使用收到的消息产生对应于在任何给定时间实现的特定结点的更新消息。然后结果的更新消息写回刚刚从存储器读取的边存储器重写消息。发送给特定结点的消息到达作为相连块即一个接一个的结点处理器。解码器控制模块902向结点处理器传信结点描绘,例如通过指示对应于一结点的最后的消息,从而提供结点度信息。在图600的例子的情形下,可变结点度例如将被规定为序列(3,3,2,2,2),而约束结点的度例如将被规定为序列(3,3,3,3)。这一信息可存储在结点度存储器910,然后将由解码器控制模块902在其对边下标迭代时读取。另外,度信息可被编程到每一结点处理单元。这能够最好例如当事先知道结点度将是一致的时,即图将是正则时进行。
奇偶校验验证器914大体按校验结点处理器的方式操作,所不同在于输入消息是单个的位,不计算输出消息,因而内部计算更简单。
在可变结点模式操作期间,将由结点处理单元每次一个结点进行可变结点计算,直到处理例如与每一可变结点相关的消息更新和软输出值产生操作已经完成为止。消息按可变结点侧顺序被传送给结点处理器908,使得所有对应于一个结点的消息按序列到达结点处理器908。随着可变结点处理迭代的完成,解码器控制模块902引起解码器900切换到处理操作的约束结点模式。响应C/V控制信号的变化,结点处理单元908从可变结点处理模式切换到约束结点处理模式。此外,消息排序模块904切换到一种模式,其中消息标识符将按约束套接字顺序提供给边存储器。通过C/V控制线发送的一个或多个控制信号,能够用来控制操作的约束和可变结点处理模式之间的切换。
在解码器控制电路902按约束结点序列控制解码器进行约束结点处理时,每次一个结点,存储在边存储器中的消息将再次被更新,这时是通过约束结点处理产生的C2V消息。当与约束结点的全部集合相关的处理已完成时,解码器控制电路902将切换回处理操作的可变结点模式。这样,解码器900在可变结点与约束结点处理之间切换。如所述,处理顺序进行,每次一个结点,直到解码器控制电路902确定解码操作已完成。
图9中示出的分级或顺序LDPC解码系统能够使用相对小的硬件实现。此外,其适于软件实现。但遗憾的是,处理的实现性质趋向结果相对慢的解码器实现。因而,虽然图9所示的分级结构有某些值得注意的属性,但其趋向不适于高带宽应用,诸如需要高解码速度并使用大代码字的光通信或数据存储。
在展示用于解码大线路化LDPC图的解码器之前,我们将讨论与本发明图的向量化特性相关的一般的概念和技术。向量化讨论之后将展示实施本发明的示例性向量化LDPC解码器。
为了获得对向量化LDPC图的理解,考虑有奇偶校验矩阵H的小型LDPC代码。在较大向量化图的场合中的小型图将称为投影图。设ψ标记ZxZ置换矩阵的子集。我们假设ψ中的置换的逆也在ψ中。给定小型的投影图,通过以ZxZ矩阵代替H的每一元素我们能够形成Z-倍较大的LDPC图。H的0元素以零矩阵代替,标记为0。H的1元素每一个以来自ψ的矩阵代替。这样,我们把LDPC图‘提升’到一个Z倍更大的图。表示的复杂性大体包括规定置换矩阵所需位数,|EH|log|ψ|加表示H所需的复杂性,其中|EH|标记H中的数1,且|ψ|标记ψ中不同的置换数目。例如,如果ψ是循环置换空间,则|ψ|=Z。实际上我们困难有,例如对于n≈1000,则Z=16。
H = 1 0 1 1 1 0 0 1 1 1 0 0 1 0 1 1 0 1 0 0 1 0 1 0 0 1 1 1 H = σ 1 0 σ 7 σ 9 σ 11 0 0 σ 2 σ 4 σ 8 0 0 σ 13 0 σ 3 σ 5 0 σ 10 0 0 σ 15 0 σ 6 0 0 σ 12 σ 14 σ 16
例子:提升小型奇偶校验矩阵,σi,i=1,...,16是这里所示按投影可变套接字顺序索引的ψ的元素。
一般能够使用各种准则选择子集ψ。以上结构主要动机之一是要简化解码器的硬件实现。因而,能够有益于限制ψ为能够有效以硬件实现的置换,例如以开关网络。
并行开关网络拓扑结构,是与多处理器结构和高速通信开关相联系的被很好研究的题目。适用于置换子集ψ结构的一个实际的例子是一类多层次开关网络,例如包括欧米伽(均全解调)/德尔塔网络,log移位器网络等。这些网络对子集ψ提供了合理实现的复杂性和足够的裕度。此外,多层次开关网络可很好地标度,例如它们的复杂性随N logN而上升,其中N是向网络的输入数,这使它们特别适用于大规模并行LDPC解码器。另外,在本发明相对低并行性和小Z的解码器中,置换的子集ψ能够在单层中实现。
LDPC图称为具有“多边”的,如果有任何结点对连接到一个以上的边。多边是连接由一个以上的边连接的结点对的边的集合。虽然一般不希望LDPC图有多边,但在很多情形下在构成向量化图中投影图可能必须拥有多边。能够把奇偶校验矩阵的概念,扩展到允许矩阵项表示连接相关结点对的边的数目。代码字定义仍然是相同的:代码是满足Hx=0模2的0,1向量x的集合。当以多边向量化一投影图时,根据本发明,多边内的每一边使用来自ψ的置换替代,且这些矩阵被添加以产生扩展的全代码奇偶校验矩阵。这样,在投影图的奇偶校验矩阵H中j>1将被“提升”到来自ψ的置换矩阵的和σkk+1+...+σk+j-1。通常,将选择和的元素使得σkk+1+...+σk+j-1的每一个项或为0或为1,即完全图没有多边。
上述的提升显然有一限制。在以上结构中代码长度与被编码数据单元的长度必须是Z的倍数。然而这一明显的限制易于克服。假设被编码的数据单元长度A Z+B,其中A是正整数而B在1与Z(含)之间,且所需的代码长度为C Z+D,其中C是正整数,而D在1与Z(含)之间。设E是使得E Z>=C Z+D+(Z-B)最小的正整数。能够设计一提升的图,其编码(A+1)Z长度数据单元以产生长度E Z的代码字,使得数据单元作为代码字的一部分出现,并使用其产生所需的如下的代码参数。给定长度AZ+B的数据单元,连接Z-B个零以产生长度(A+1)Z的数据单元。该数据单元被编码而产生长度EZ的代码字。Z-B个零不被传送。在代码字中除了其它EZ-(Z-B)位之外选择EZ-CZ-D-(Z-B)位并对它们穿孔,注意穿孔位数在0和Z-1(含)之间。这些位将不被传送,于是实际传送位的数目是EZ-(Z-B)-(EZ-CZ-D-(Z-B))=CZ+D,这就是所希望的代码长度。接收器,事先已知关于附加的零和穿孔位,以软位代替指示删除的穿孔位,并以软位代替已知的指示零值的零位,而有最大可能的可靠性。长度为EZ的扩展的收到的字现在可被解码以恢复原来的数据单元。实际上,通常通过只来自一个向量结点穿孔位并说明已知位只来自一个向量结点进行这些调整。
现在将研究使用以上讨论的向量化LDPC图的技术的各种解码器的含意。
如上所讨论,LDPC代码的息传递解码涉及沿表示代码的图的边传递消息,并进行基于图的结点例如可变和约束结点处那些消息的计算。
给定向量化LDPC图,能够如下使解码过程向量化。解码器如同在它同步且并行地解码投影LDPC代码的Z个拷贝那样操作。解码过程的控制对应于LDPC图并可在Z个拷贝中共享。这样,我们把解码器描述为对遍历向量边并由向量结点接收的向量消息的操作,每一向量有Z个元素。套接字也变为向量化。具体来说,向量结点处理器可能包括Z个并行结点处理器,并当消息的向量(m1,...,mz)传递到向量结点处理器时,消息mi传递给第ith个处理器。这样,在向量结点处理器内不出现消息的路由和重新排序,即向量消息与处理器的向量以固定方式配准。
从Z个投影图的纯不相交的并行执行的一个偏离在于,在消息传递过程期间消息在向量消息内被重新排序。我们称这一重新排序操作为旋转。旋转实现了由ψ定义的置换操作。因为旋转,投影图的Z个拷贝的处理通路从而混合链接它们而形成单个的大图。除了投影图所需的控制信息之外,需要规定旋转的控制信息。幸运的是,旋转控制能够使用相对小的存储器规定。
虽然对旋转根据本发明能够使用各种置换,但因为这种置换能够被实现的情形使用循环置换是特别关心的。网络简略,我们现在假设ψ包括循环置换群。这种情形下,我们的大LDPC图限制为具有准循环结构。网络这一例子的目的,设N是图中可变结点的数目,并设M是图中约束结点的数目。首先,我们假设N和M都是Z的倍数,N=nZ,M=mZ,其中Z将标记循环的阶。
让我们考虑结点被加双下标。这样,可变结点vi,j为来自投影图的第ith个拷贝的第jth个可变结点。由于ψ是循环置换群,可变结点vi,j连接到约束结点ca,b,当且仅当对于k=1,...,Z可变结点vi+kmodZ,j连接到约束结点ca+kmodZ,b
现在将参照涉及图600的向量化的附图10到16,进一步说明本发明使用小得多的图表示和旋转信息表示大图的技术。参照这些附图描述的技术能够用于更大的LDPC图。
根据本发明,能够通过复制即实现图6中所示小图的多个拷贝产生较大的图,并然后进行旋转操作,以便相互连接被复制的图的各个拷贝。我们称较大图结构内的小图为投影图。
图10是图1000,表示形成图6中所示的小图的3个并行拷贝的结果。拷贝结点602’,602”与602分别对应于第一到第三图,是形成图6的三个拷贝的结果。此外,校验结点606’,606”与606分别对应于第一到第三图,是形成三个拷贝的结果。注意没有连接该三个图之一的结点到此三个图的另一结点的边。于是,通过因子3“提升”基本图的这一拷贝过程结果是三个不相交的等同的图。
图11示出以上使用矩阵1102和1194讨论的拷贝过程的结果。注意,为了形成原来的图的三个拷贝,矩阵702中每一非零元素以3×3恒等矩阵代替。这样,矩阵702中每一个以沿其对角线有1及其余部分为0的3×3矩阵代替,以产生矩阵1102。注意,矩阵1102有矩阵702具有的3倍数目的边,图6所示的基本图的3个拷贝每一个12个边。这里,可变xij对应于可变结点Vij
图12示出构成图1000的(3×12)36个边,(3×5)15个可变结点,及(3×4)12约束结点之间的关系。如图8的情形,边从可变结侧计数。
为了注释的目的,用来标识一个结点,约束或边的第一数码指示边所属的的图的拷贝,例如第一,第二或第三图拷贝。第二个数码用来标识特别规定的基本图的拷贝内元素数。
例如,在行1202’值(1,2)用来指示图的第一拷贝的边2,而在行1202”(2,2)用来指示图的第二拷贝的边2。
注意,边的行1202’,1202”,1202就是行804的拷贝,表示图8中所示边804的行的三个拷贝,它们与可变结点相关。类似地,边的行1204’,1204”,1204表示图8中所示边804’的行的三个拷贝,它们与约束结点相关。
让我们简单讨论如何修改图9解码器900,以便解码现在定义的Z=3并行图。结点处理器908将形成向量结点处理器,能够同时并行处理3个等同的结点。所有从结点处理器908的输出将被向量化,从而带有以前所带有的3倍数据。硬决策存储器912和边消息存储器906将形成3倍宽,每一个能够在单个SIMD指令方向并行使用写或读3个单元。奇偶校验验证器914与输出缓冲器916还将适于使用所有适当并行化的处理被向量化。
现在我们考虑旋转引入我们的例子。这能够以如图13所示的3×3循环置换矩阵代替图11中所示的3x3恒等矩阵表示。注意,对于图13中使用的循环置换矩阵有三种可能性。能够通过指示置换矩阵是否具有“1”位于置换矩阵的第一行中的第一,第二和第三个位置,指出特定的置换矩阵代替恒等矩阵。例如,在矩阵1302的情形下,在左上开始并进到右下角(向量约束套接字顺序),旋转可由序列(2,2,3,3,1,1,1,3,2,1,2,3)规定。
图14示出对约束结点侧进行循环置换(旋转)的效果。由于置换从约束结点侧进行,边之间的关系,例如从可变结点侧的排序,保持如行1402’,1402”,1402中所示不变。然而从约束侧,置换的结果为列内的边,例如特定向量边内的边,被重新排序为如行1404’,1404”,1404中所示。这产生对应于投影图的不同拷贝结点之间的相互连接。
例如就图11的行1104的列1的关系考虑行1404的列1。注意,作为向量边置换、操作的结果,现在约束结点C1,1连接到与边(1,1)相对的边(2,1),约束结点C2,1连接到与边(2,1)相对的边(3,1),且约束结点C3,1连接到与边(3,1)相对的边(1,1)。
我们以上讨论如何向量化解码器900,以便对投影图的Z并行拷贝解码。通过向消息通路引入开关进行旋转,我们对图13中定义的LDPC代码解码。
图15示出配有本发明各种特性的解码器。解码器1500使用旋转完全向量化解码器600。注意,附图指示Z=4,然而我们的例子有Z=3,一般来说我们可以有任何Z>1,但实际上Z值常常最好是形式为2k,对于整数k。对于解码器600类似的情形是明显的。具体来说,解码器控制模块1502与结点度存储器1510,作为它们在解码器900中各自的对应物902和910,以相同或类似的方式发挥功能。例如,为了解码在图13和14中定义的LDPC代码,这些元件的操作将完全与它们在解码器900中当解码例图600时的对应物相同。边消息存储器1506与硬决策存储器1512,是它们在解码器900中的对应物906和912的向量化版本。而在解码器900中,存储器存储单个单元(K位消息或位),解码器1500中对应的存储器存储集合,即向量,消息,结果例如存储的是ZxK位消息。使用SIMD指令这些向量作为单个单元被写和读。这样,从消息排序模块1504发送到这些模块的消息标识符等价于或类似于解码器900中的那些标识符。消息排序模块1504有附加的角色,超过其在解码器900中的对应物904具有的角色,即存储和提供置换,例如旋转,信息。回忆起在解码例子600中,解码器900在其消息排序模块904中存储边序列(1,4,7,2,9,11,3,5,12,6,8,10)。考虑使用解码器1500,解码图13和14的代码。消息排序模块1504将存储以上相同的序列,供在约束结点处理期间访问消息向量,并还存储序列(2,2,3,3,1,1,1,3,2,1,2,3),其描述与向量消息相同的序列相关的旋转。这一序列的作用是作为产生旋转信号的基础,其由消息排序模块1504用来引起开关1520和1522旋转向量消息和向量硬决策位。(注意,硬决策位只在拷贝结点处理模式期间提供。)向量奇偶校验验证器1514是其在解码器900中的对应物914的向量版本。注意,输出收敛信号如前是标量。输出缓冲器1516与缓冲器916服务于相同的目的,但输出数据是作为向量写入。向量结点处理器1508例如是Z个结点处理器,每一个如在908中是并行的。这些结点将共享来自解码器控制模块1502的deg信号和C/V控制信号。
为了能够便于输出软或硬解码器决策,由拷贝处理单元产生的软决策提供给缓冲器1516的软决策输入。这样,在完成解码之前任何时间,可从缓冲器1516的输出获得软决策。
进一步考虑解码器1500将如何起到对图13和14例子解码的作用。起初,边消息存储器1506以0填充。解码器控制模块1502首先切换到拷贝结点处理模式。按顺序读出边消息存储器1506向量(在这点都是0),并提供给向量结点处理器1508,用于可变结点处理。然后向量结点处理器1508仅沿每一边输出从可变结点收到的值,我们将使用y标记这些第一消息以指示这一点。这样,输出的向量将是(y1,i,y2,i,y3,i),对于i=1,...,12按增序。旋转的信号用来控制由开关电路1520,1522进行的消息重新排序。来自消息排序模块1504的旋转的信号将引起向量中的消息旋转,以产生如下处理的向量:(y2,1,y3,1,y1,1),(y3,2,y1,2,y2,2),(y1,3,y2,3,y3,3),(y2,4,y3,4,y1,4),(y3,5,y1,5,y2,5),(y1,6,y2,6,y3,6),(y3,7,y1,7,y2,7),(y2,8,y3,8,y1,8),(y1,9,y2,9,y3,9),(y3,10,y1,10,y2,10),(y1,11,y2,11,y3,11),(y2,12,y3,12,y1,12)。被处理的向量一旦按指示的顺序写入边存储器1506,解码器控制模块1502将切换到约束模式。然后存储的向量消息按顺序(1,4,7,2,9,11,3,5,12,6,8,10)读出。这样,它们将按顺序(y2,1,y3,1,y1,1),(y2,4,y3,4,y1,4),(y3,7,y1,7,y2,7),(y3,2,y1,2,y2,2),(y1,9,y2,9,y3,9),(y1,11,y2,11,y3,11),(y1,3,y2,3,y3,3),(y3,5,y1,5,y2,5),(y2,12,y3,12,y1,12),(y1,6,y2,6,y3,6),(y2,8,y3,8,y1,8),(y3,10,y1,10,y2,10)呈现给向量结点处理器1508。向量结点处理器1508作为三(Z=3)个结点处理器并行实现。分别是每一消息向量(消息集合)的第1元素(消息)传递给第1个结点处理器;第2消息传递给第2个处理器;第3消息传递给第3个处理器。指示当前被处理的结点度的度(deg)信号,由度存储器1510提供给向量结点处理器1508的三个并行处理器。在这点度信号指示约束(都)为度3,于是第1处理器将对于其第一约束结点传递y2,1,y2,4和y3,7,且对于其第二约束结点传递y3,2,y1,9,y1,11。类似地,第2处理器将对其第一约束结点处理y3,1,y3,4,y1,7,以及对于其第二约束结点传递y1,2,y2,9,y2,11
设mi,j标记对应于输入yi,j的输出消息。在向量从向量结点处理器1508出现时,到开关1520的旋转信号将引起向量被重新排序,使得先前的旋转反向,因而它们作为(m1,j,m2,j,m3,j)以顺序j=1,4,7,2,9,11,3,5,12,6,8,10到达边存储器。根据它们被读出消息指示符的顺序,消息被回写到存储器,于是在写之后它们作为(m1,j,m2,j,m3,j)以顺序j=1,...,12出现在存储器中。消息排序模块1504现在响应由解码器控制模块1502提供的C/V信号切换到可变结点处理模式。然后消息向量以顺序j=1,...,12被读出并传递给向量结点处理器1508,供可变结点处理。这完成了一个迭代。
在可变结点处理期间向量结点处理器1508还输出软解码的向量,其存储在输出缓冲器1516中。它还输出提供给开关电路1522的硬决策。一位的硬决策向量受到如消息向量在对应的时间相同的旋转操作。然后由开关电路1522产生的旋转的硬决策向量排列在它们被存储的硬决策存储器1512中。作为向消息向量施加同一旋转的结果,硬决策可以在约束结点处理期间向量消息被读出的相同的顺序被读出。在约束结点处理期间,硬决策传递到并行进行Z个奇偶校验的向量奇偶校验验证器1514。如果所有奇偶校验被满足,则产生收敛信号CON并被发出。响应接收指示成功解码的收敛信号,解码器控制模块1502停止解码过程。
明显的是,对解码器1500有许多每一都可实施当前发明的变形。例如,开关1520能够另外沿边消息存储器1506和向量结点处理器1508之间的数据通路放置。类似地,开关1522能够另外沿硬决策存储器1512和向量奇偶校验验证器1514之间的数据通路放置。这种替换方式还将涉及旋转信号定时的适当调整。对于进行固定数迭代的实施例,不需要使用硬决策存储器1512,向量奇偶校验验证器1514和附属的数据通路并被删除,因而不需要收敛检测。就本发明观点而言,对于业内专业人员许多进一步的变形是明显的。
图16示出解码器1600,其根据本发明的另一实施例实现。解码器1600包括许多与解码器1500的元件相同或类似的元件。于是,为了简略,将使用与图15中使用的相同的标号标识这些元件,并不再详细讨论。同时,解码器1600能够例如同时和独立地进行可变结点与约束结点两者处理操作,例如消息更新操作。图15解码器,因为其在可变结点和约束结点处理迭代之间切换的方式,可描述为一侧到另一侧的解码器,与该解码器的实现相比,解码器1600,由于其可变结点和约束结点处理操作能够独立例如同时进行,其可描述为异步迭代解码器。
解码器电路1600包括一解码器控制模块1602,一消息排序模块1604,一个第一开关电路1621,V2C边消息存储器1606,一个约束结点向量处理器(例如并行的Z-约束结点处理器)1609,一个第二开关电路1620,C2V边消息存储器1607,可变结点向量处理器1608(例如并行Z-可变结点处理器),一个硬决策存储器1612,及一个第三开关1622,如图16所示连接在一起。
各约束结点处理器和各可变结点处理器的各种实施例,其Z个可并行用于分别实现约束结点向量处理器1609和可变结点处理器1608,在以下文献中有详细说明美国临时申请60/328,469,标题“Node Processors ForUse in Parity Check Decoders”,其在October 10,2001提交,并据此特地结合以资对比。本专利申请的发明人也命名为该结合的临时专利申请的发明人。
为了支持图16中约束和可变消息的独立和/或并行的更新,分开的边存储器1606,1607及开关电路1620,1621分别用来支持约束结点和可变结点处理操作。如同图15的实施例,每一消息存储器1606,1607能够存储L(ZxK-位)向量消息。存储器1606,1607中每一向量消息,例如ZxK-位消息的列,能够以单个的读出或写操作读出或写入。
V2C边消息存储器1606用来存储V2C消息并因而具有连接到开关电路1621输出的写输入,该开关电路1621从可变结点向量处理器1608接收数据。C2V消息存储器1607用来存储C2V边消息,并因而具有连接到约束结点向量处理器1609的输出的写输入。
开关1620和1621用来把可变结点向量处理器1608,连接到V2C边消息存储器的输入以及C2V边消息存储器的输出。在一特定实施例中,消息向量按向量约束套接字顺序存储。消息向量被写入C2V边消息存储器1607,并按向量约束套接字顺序例如线性地从V2C边消息存储器1606读出,这样,不需要外部控制(来自解码器控制模块1602的边下标输出通过线性排序模块1604无变化传递给其约束边下标输出)。消息向量从C2V边消息存储器1607读出,并按向量可变套接字顺序写入V2C边消息存储器1606。消息排序模块1604产生指示这一排序的可变边下标信号。注意,这一信号控制C2V边消息存储器1607的读取,并在被延迟之后传递到V2C边消息存储器1606。该延迟考虑了由开关1620和1621及向量可变结点处理器1608进行的处理所需的时间。这一延迟可以是被处理的结点度的一个功能,如图16中由可变结点度信号所指示。
为了避免处理管路由于可变延迟而阻塞,约束和可变结点都这样排序,使得相同的度的结点以类型的方式被处理。通过按度以单调的方式例如增加或降低度顺序存储结点组,可进一步降低出现在有不同度的结点组边界上的管路阻塞。为了实现的简化,实施例900,1500和1600都假设增加度的顺序。
在图16所示的特定实施例中,向量按向量约束结点旋转顺序存储。在每一C2V向量消息进到可变结点向量常常冷却608时,开关1620把每一向量中的消息旋转到可变旋转,并然后开关1621向对应于同一向量边的输出V2C向量消息施加逆向旋转。在与向量约束结点处理器中的处理时间匹配的延迟之后,传递给开关1620的旋转信号通过旋转逆向电路1624传递给开关1621。这一延迟可取决于约束结点度,如由度存储器1610约束结点度信号输出所指示。
解码器1600包含解码器控制模块1602。该解码器控制模块操作方式类似于先前讨论的控制模块1502。然而,在1602中没有C/V控制信号产生。通过一计数器可提供边下标产生功能,该计数器在重新起动之前通过向量边的整个集合循环。
除了输出软决策之外,每当产生向量V2C消息时,通过向量可变结点处理器1608中的每一Z-可变结点处理单元,每边一个产生硬决策。在向量消息写入V2C边消息存储器1606时,在由开关1622旋转之后Zx1位硬决策输出写入硬决策输出存储器1612。开关1622与硬决策存储器1612分别在与开关1621及V2C边消息存储器1606相同的控制信号下操作。
结果的Zx1旋转向量传递给向量奇偶校验验证器1614,该验证器包括Z个并行连接的奇偶校验验证器。验证器1614确定奇偶校验是否被满足,并如果所有被满足则产生一收敛信号发送到解码器控制模块。响应接收指示收敛的信号,解码器控制模块停止对接收的代码字的解码。在实施例1600中,由于对来自迭代N的数据的约束验证是在迭代N+1期间进行的,且收敛信号在完成迭代N+1时可得,收敛检测信号是在代码字已写入输出缓冲器之后可得的一迭代。
以采用不同收敛检测电路的解码器1600,图17示出类似于解码器1700的实施例,约束验证在ZxK-位输出值X写入输出缓冲器1716时“在飞行时”完成。这种情形下,在向量约束由来自可变结点处理器1708的硬决策输出更新时,块1712保持对约束状态的跟踪。每一约束状态存储器单元对应于一个代码字奇偶校验约束。在任何约束状态单元最后的更新时验证这些奇偶校验值。如果在的N期间所有验证被满足,则将产生一收敛信号,并在迭代N之后立即由向量奇偶校验验证器1714输出。这将向解码器控制模块1702证明,输出缓冲器1716中的数据是有效的。图17的实施例中,消息排序模块1704产生附加的信号,定义在图18实施例中没有产生的约束结点下标(与边下标相对)。约束结点下标指示当前V2C消息的约束结点目标。这一字段的作用是作为它被提供的约束状态存储器1712的下标。
虽然比图15的实施例需要的电路更小,但图16和图17实施例的优点是,由于在每一处理迭代期间充分使用了两个向量结点处理器,向量约束和可变结点处理器1609/1709,1608/1708的使用更加有效。此外,与图15实施例相比,由于约束和可变结点处理并行进行,例如同时进行,故降低了解码时间。
以上所述解码方法允许消息传递解码,例如LDPC解码,可使用软件及能够支持SIMD操作的通用计算机进行。在这些实施例中,一个或多个并行处理器作为向量处理单元,或单个处理器内的硬件可用来并行进行多个向量处理操作。在这些实施例中,边存储器,置换映象与关于每结点信息数的信息都存储在共用的存储器中,例如计算机主存储器。信息传递控制逻辑和解码器控制逻辑,可作为在计算机处理单元上执行的软件程序实现。此外,可使用软件和一个或多个SIMD处理指令实现开关装置。
以上所述LDPC解码方法允许在各种硬件平台,诸如现场可编程门阵列上或在专用集成电路中实现。本发明特别可用于明确开发简单并行机制的这些设置中。
就本发明以上的说明来看,对于业内专业人员明显的是关于本发明的解码方法和设备可以有许多另外的变形。这些变形认为在本发明的范围内。

Claims (49)

1.一种用于进行消息传递解码操作的设备,该设备包括:
存储器,包括存储单元的一个集合,用于存储Z个K-位消息的L个集合,其中Z是大于一的正整数,而K和L是非零正整数;
一个结点处理器,包括多个结点处理单元,每一结点处理单元用于进行约束结点处理操作和可变结点处理操作的至少之一;以及
一个开关装置,连接到存储器并连接到结点处理单元,该开关装置用于在所述存储器和所述结点处理器之间传递Z个K-位消息的集合,并响应开关控制信息用于以所述信息集合至少之一对消息重新排序。
2.权利要求1的设备,还包括:
一个消息排序控制模块,连接到所述开关装置用于产生所述开关控制信息,该开关控制信息用来控制所述信息的至少一个集合中消息的重新排序。
3.权利要求2的设备,其中开关装置包括用于进行消息旋转操作的电路,以便对包含在消息集合中的消息重新排序。
4.权利要求2的设备,其中消息排序控制模块存储关于从存储器读出的消息序集合的信息,及指示由所述开关对从存储器读出的各消息集合要进行消息的什么重新排序的信息。
5.权利要求2的设备,其中消息排序控制模块还连接到所述存储器并相继产生集合标识符,每一集合标识符控制存储器作为单个的读或写操作的一部分访问对应于消息集合的存储单元。
6.权利要求5的设备,其中每一集合标识符是单个的存储器地址。
7.权利要求2的设备,其中所述多个结点处理单元包括并行排布的Z个结点处理单元,Z个结点处理单元的每一个并行操作,以处理所述存储器与所述结点处理器之间传递的Z个消息每一集合中的不同消息。
8.权利要求7的设备,其中所述存储器包括一地址输入,其允许消息的每一集合作为一单元被寻址,从而使消息的一集合能够在单个的SIMD读操作中从所述存储器被读出。
9.权利要求7的设备,其中所述存储器包括一地址输入,其允许消息的每一集合作为一单元被寻址,从而使消息的一集合能够在单个的SIMD读操作中向所述存储器写入。
10.权利要求1的设备,其中所述多个结点处理单元的每一个包括一控制信号输入,用于接收控制信号,以便在处理操作的约束结点模式与处理操作的可变结点模式之间,切换结点处理单元操作。
11.权利要求10的设备,还包括:
一解码器控制装置,连接到所述多个结点处理单元,该解码器控制装置产生所述控制信号,用来控制所述多个结点处理单元。
12.权利要求11的设备,其中Z个处理单元的每一个进行可变结点低密度奇偶校验消息传递操作,以便由从所述开关装置接收的至少一个消息产生至少一新的消息。
13.权利要求10的设备,
其中多个结点处理单元至少之一包括指示在多个相继可变结点处理操作的每一个中使用的消息数的信息。
14.权利要求7的设备,
其中解码器控制装置还连接到消息传递控制装置;以及
其中消息传递控制装置规定,在处理操作的可变结点模式期间不同于处理操作的约束结点模式期间,Z个消息的L个集合的每一个从存储器被读出的顺序。
15.权利要求2的设备,还包括连接到消息排序模块的解码器控制模块,解码器控制模块包括用于向消息排序模块提供信息的装置,该信息用来控制Z个消息的L个集合的每一个从所述存储器被读出的顺序。
16.权利要求15的设备,其中解码器控制装置还包括向信息排序模块提供边下标的装置,该下标控制提供给所述存储器的集合标识符的产生。
17.权利要求16的设备,还包括连接到结点处理器的度存储器,用于存储结点度信息的集合。
18.权利要求17的设备,其中控制装置还产生结点下标,用来确定在任何给定的时间存储的结点度信息集合中哪一个结点度信息将提供给结点处理器。
19.权利要求1的设备,还包括:
连接到所述存储器的一个第二结点处理器,该第二结点存储器包括第二多个结点处理单元,第二多个结点处理单元的每一个用于进行约束结点处理操作和可变结点处理操作至少之一。
20.权利要求19的设备,还包括:
把所述结点处理器连接到所述第二结点处理器的附加存储器,该附加存储器包括附加的存储单元集合,用于存储Z个K-位消息的L个集合。
21.权利要求20的设备,还包括:
把所述结点处理器连接到所述附加存储器的第二开关装置,该第二开关装置用于在所述结点处理器与所述附加存储器之间传递Z个K-位消息集合,并用于对由第二开关传递的消息集合至少之一中的消息重新排序。
22.权利要求21的设备,
其中所述结点处理器是可变结点处理器,用于进行可变结点解码器奇偶校验处理操作;
其中所述附加结点处理器是约束结点处理器,用于进行约束结点奇偶校验解码器处理操作。
23.权利要求21的设备,还包括:
奇偶校验检验器,连接到所述附加结点处理器,用于从包含在其中的第二多个处理单元的每一个的输出确定奇偶校验解码操作何时已成功完成。
24.一种用于进行消息传递解码操作的设备,该设备包括:
第一存储器,包括存储单元的第一集合,用于存储Z个K-位消息的L个集合,其中L和Z是大于一的正整数,而K是非零正整数;
一个第一结点处理器,包括第一多个结点处理单元,每一结点处理单元用于接收提供给第一结点处理器的Z个K-位消息的每一集合中至少一个K-位消息;以及
一个第一开关装置,把第一存储器连接到第一结点处理器,第一开关装置用于在第一结点处理器与第一存储器之间传递消息集合,并用于对由所述第一开关传递的至少某些消息集合中的消息重新排序。
25.权利要求24的设备,还包括:
一个第二存储器,连接到所述第一结点处理器,包括存储单元的一第二集合用于存储Z个K-位消息的L个集合;以及
一个第二结点处理器,连接到所述第二存储器及所述第一存储器,第二结点处理器包括一个第二多个结点处理单元。
26.权利要求25的设备,还包括:
一个附加开关装置,把附加的存储器连接到第二结点处理器,该附加开关装置用于从所述附加存储器装置接收Z个K-位消息的集合,并用于向所述第二多个结点处理单元之一提供每一接收的Z个消息的集合中的一个消息。
27.权利要求24的设备,其中第一结点处理器是可变结点处理器,该设备还包括:
连接到包含在所述第一结点处理器的所述多个处理单元的装置,用于从所述第一多个结点处理单元的每一个的输出,确定何时解码操作已成功完成。
28.一种用于进行消息传递解码处理的方法,包括以下步骤:
在一存储器中存储k-位消息的L个集合,每一k-位消息的集合包含第一到Z消息,其中L和Z是大于一的正整数,而K是非零正整数;
从存储器读取K-位消息集合之一;
对所述读取的K-位消息集合进行消息重新排序,以产生重新排序的Z个K-位消息的集合;
并行地向向量处理器提供重新排序的消息集合中的Z个消息;以及
操作向量处理器,以便使用Z个提供的消息作为输入进行消息传递解码器操作。
29.权利要求26的方法,其中所述消息传递解码器操作从所提供的消息重新排序集合中的Z个消息产生Z个解码器消息的一集合。
30.权利要求29的方法,其中操作向量处理器产生Z个解码器消息的步骤,包括以下步骤:
并行地进行Z个结点处理操作。
31.权利要求30的方法,其中Z个结点处理操作每一是约束结点处理操作与可变结点处理操作之一。
32.权利要求28的方法,还包括:
产生一消息集合标识符,指示从存储器读出的Z个消息的集合。
33.权利要求32的方法,其中读取K-位消息所述集合之一的步骤包括:
使用所述消息集合标识符进行SIMD读操作,以识别从存储器读取的消息集合。
34.权利要求28的方法,还包括:
进行第二消息重新排序操作,第二消息重新排序操作是对产生的Z个解码器消息集合进行,以产生重新排序的已产生的解码器消息集合。
35.权利要求34的方法,还包括:
在所述存储器中存储重新排序的已产生的解码器消息集合。
36.权利要求35的方法,其中存储已产生的解码器消息重新排序集合的步骤包括进行SIMD写操作,以便向存储器写入已产生的解码器消息的所述重新排序集合。
37.权利要求34的方法,其中进行第二消息重新排序操作的步骤包括,进行对从存储器读取的K-位消息的所述集合所进行的消息重新排序操作的逆。
38.权利要求28的方法,还包括:
访问存储的消息集合置换信息;以及
其中进行信息重新排序操作的步骤包括步骤:
根据所访问的存储的消息集合置换信息,进行所述重新排序。
39.权利要求37的方法,其中所述消息集合置换信息包括循环旋转信息。
40.权利要求28的方法,
其中所述消息传递解码器操作是可变结点处理操作,每一可变结点处理操作包括产生一决策值,以及
其中该方法还包括:
检验通过操作向量处理器产生的决策值,以确定解码条件是否已满足。
41.一种进行消息传递解码处理的方法,该方法包括以下步骤:
操作结点向量处理器以产生Z个K-位消息的集合,其中L和Z是大于一的正整数,而K是非零正整数;
对产生的Z个K-位消息的集合进行消息重新排序操作,以产生重新排序的Z个K-位消息集合;
进行单个写操作以便在存储器装置中存储重新排序的Z个K-位消息集合。
42.权利要求41的方法,其中进行单个写操作的步骤包括进行SIMD写操作,以便向存储器并行地写入重新排序的消息集合中的Z个消息。
43.权利要求41的方法,其中操作结点向量处理器的步骤以产生Z个K-位消息的集合,包括以下步骤:
并行进行Z个结点处理操作,每一结点处理操作产生所述Z个K-位消息的所述集合中一个消息。
44.权利要求43的方法,其中Z个结点处理操作是可变结点处理操作。
45.权利要求43的方法,其中Z个结点处理操作是约束结点处理操作。
46.权利要求43的方法,其中对产生的Z个K-位消息集合进行消息重新排序操作包括:
通过进行开关操作旋转Z个K-位消息集合中的消息,以对消息集合中的消息重新排序。
47.一种进行低密度奇偶校验解码器操作的方法,该方法包括:
进行SIMD读操作以便读取存储的消息集合;
对存储的消息集合进行消息重新排序操作;
向包括并行排布的多个结点处理单元的结点处理器,提供重新排序的消息集合;以及
操作多个结点处理单元,以便根据提供的重新排序消息集合,产生更新的消息集合。
48.权利要求47的方法,还包括以下步骤:
使用SIMD写操作向存储器装置写入所述更新的消息集合中已更新的消息。
49.权利要求48的方法,还包括以下步骤:
在向存储器装置写入更新消息之前,对所述更新的消息集合中已更新的消息进行消息重新排序操作。
CNB028142144A 2001-06-15 2002-05-31 用于对ldpc代码解码的方法和设备 Expired - Lifetime CN1255761C (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US29848001P 2001-06-15 2001-06-15
US60/298,480 2001-06-15
US09/975,331 2001-10-10
US09/975,331 US6633856B2 (en) 2001-06-15 2001-10-10 Methods and apparatus for decoding LDPC codes

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN 200610068104 Division CN1825771A (zh) 2001-06-15 2002-05-31 用于对ldpc代码解码的方法和设备

Publications (2)

Publication Number Publication Date
CN1531708A true CN1531708A (zh) 2004-09-22
CN1255761C CN1255761C (zh) 2006-05-10

Family

ID=26970692

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028142144A Expired - Lifetime CN1255761C (zh) 2001-06-15 2002-05-31 用于对ldpc代码解码的方法和设备

Country Status (8)

Country Link
US (3) US6633856B2 (zh)
EP (2) EP2264907B1 (zh)
JP (1) JP4109191B2 (zh)
CN (1) CN1255761C (zh)
AT (1) ATE514231T1 (zh)
ES (1) ES2516765T3 (zh)
TW (1) TWI284460B (zh)
WO (1) WO2002103631A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102412847B (zh) * 2004-11-23 2014-10-22 三星电子株式会社 用联合节点处理来解码低密度奇偶校验码的方法和设备
CN106301389A (zh) * 2015-06-05 2017-01-04 华为技术有限公司 译码方法和设备

Families Citing this family (391)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7107511B2 (en) 2002-08-15 2006-09-12 Broadcom Corporation Low density parity check (LDPC) code decoder using min*, min**, max* or max** and their respective inverses
US7383485B2 (en) * 2000-09-12 2008-06-03 Broadcom Corporation Fast min*- or max*-circuit in LDPC (low density parity check) decoder
US7031371B1 (en) * 2000-09-25 2006-04-18 Lakkis Ismail A CDMA/TDMA communication method and apparatus for wireless communication using cyclic spreading codes
US7339955B2 (en) * 2000-09-25 2008-03-04 Pulse-Link, Inc. TDMA communication method and apparatus using cyclic spreading codes
GB0031009D0 (en) * 2000-12-20 2001-01-31 Robson Brian Ceramic core and/or mould for metal casting
US6567465B2 (en) * 2001-05-21 2003-05-20 Pc Tel Inc. DSL modem utilizing low density parity check codes
US6633856B2 (en) * 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US6938196B2 (en) * 2001-06-15 2005-08-30 Flarion Technologies, Inc. Node processors for use in parity check decoders
US7673223B2 (en) * 2001-06-15 2010-03-02 Qualcomm Incorporated Node processors for use in parity check decoders
US6948109B2 (en) * 2001-10-24 2005-09-20 Vitesse Semiconductor Corporation Low-density parity check forward error correction
JP3896822B2 (ja) * 2001-11-12 2007-03-22 株式会社豊田自動織機 斜板型圧縮機
US7154936B2 (en) * 2001-12-03 2006-12-26 Qualcomm, Incorporated Iterative detection and decoding for a MIMO-OFDM system
US7289494B2 (en) * 2001-12-06 2007-10-30 Pulse-Link, Inc. Systems and methods for wireless communication over a wide bandwidth channel using a plurality of sub-channels
US7349478B2 (en) * 2001-12-06 2008-03-25 Pulse-Link, Inc. Ultra-wideband communication apparatus and methods
US20050058180A1 (en) * 2001-12-06 2005-03-17 Ismail Lakkis Ultra-wideband communication apparatus and methods
US8045935B2 (en) * 2001-12-06 2011-10-25 Pulse-Link, Inc. High data rate transmitter and receiver
US7391815B2 (en) * 2001-12-06 2008-06-24 Pulse-Link, Inc. Systems and methods to recover bandwidth in a communication system
US20050053121A1 (en) * 2001-12-06 2005-03-10 Ismail Lakkis Ultra-wideband communication apparatus and methods
US7257156B2 (en) * 2001-12-06 2007-08-14 Pulse˜Link, Inc. Systems and methods for equalization of received signals in a wireless communication network
US7406647B2 (en) * 2001-12-06 2008-07-29 Pulse-Link, Inc. Systems and methods for forward error correction in a wireless communication network
US20050152483A1 (en) * 2001-12-06 2005-07-14 Ismail Lakkis Systems and methods for implementing path diversity in a wireless communication network
US7483483B2 (en) * 2001-12-06 2009-01-27 Pulse-Link, Inc. Ultra-wideband communication apparatus and methods
US7317756B2 (en) * 2001-12-06 2008-01-08 Pulse-Link, Inc. Ultra-wideband communication apparatus and methods
US20050201473A1 (en) * 2001-12-06 2005-09-15 Ismail Lakkis Systems and methods for receiving data in a wireless communication network
US7450637B2 (en) * 2001-12-06 2008-11-11 Pulse-Link, Inc. Ultra-wideband communication apparatus and methods
US7349439B2 (en) * 2001-12-06 2008-03-25 Pulse-Link, Inc. Ultra-wideband communication systems and methods
US20050103272A1 (en) * 2002-02-25 2005-05-19 Leo Elektronenmikroskopie Gmbh Material processing system and method
US7197690B2 (en) * 2002-05-31 2007-03-27 Broadcom Corporation Bandwidth efficient coded modulation scheme based on MLC (multi-level code) signals having multiple maps
US7139964B2 (en) 2002-05-31 2006-11-21 Broadcom Corporation Variable modulation with LDPC (low density parity check) coding
US7587659B2 (en) 2002-05-31 2009-09-08 Broadcom Corporation Efficient front end memory arrangement to support parallel bit node and check node processing in LDPC (Low Density Parity Check) decoders
ES2459065T3 (es) * 2002-06-11 2014-05-07 Digital Fountain, Inc. Descodificación de códigos de reacción en cadena por inactivación
US9240810B2 (en) * 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
US6829308B2 (en) * 2002-07-03 2004-12-07 Hughes Electronics Corporation Satellite communication system utilizing low density parity check codes
US7020829B2 (en) 2002-07-03 2006-03-28 Hughes Electronics Corporation Method and system for decoding low density parity check (LDPC) codes
CN1593012B (zh) * 2002-07-03 2015-05-20 Dtvg许可公司 一种用于通信系统中编码信号的装置和方法
US7577207B2 (en) 2002-07-03 2009-08-18 Dtvg Licensing, Inc. Bit labeling for amplitude phase shift constellation used with low density parity check (LDPC) codes
US7266750B1 (en) 2002-07-10 2007-09-04 Maxtor Corporation Error recovery strategies for iterative decoders
US7864869B2 (en) * 2002-07-26 2011-01-04 Dtvg Licensing, Inc. Satellite communication system utilizing low density parity check codes
US20040019845A1 (en) * 2002-07-26 2004-01-29 Hughes Electronics Method and system for generating low density parity check codes
US7350130B2 (en) * 2002-08-15 2008-03-25 Broadcom Corporation Decoding LDPC (low density parity check) code with new operators based on min* operator
US7409628B2 (en) * 2002-08-15 2008-08-05 Broadcom Corporation Efficient design to implement LDPC (Low Density Parity Check) decoder
US7447985B2 (en) * 2002-08-15 2008-11-04 Broadcom Corporation Efficient design to implement min**/min**- or max**/max**- functions in LDPC (low density parity check) decoders
US7395487B2 (en) * 2002-08-15 2008-07-01 Broadcom Corporation Common circuitry supporting both bit node and check node processing in LDPC (Low Density Parity Check) decoder
US7178080B2 (en) * 2002-08-15 2007-02-13 Texas Instruments Incorporated Hardware-efficient low density parity check code for digital communications
US6961888B2 (en) * 2002-08-20 2005-11-01 Flarion Technologies, Inc. Methods and apparatus for encoding LDPC codes
US7630456B2 (en) * 2002-09-09 2009-12-08 Lsi Corporation Method and/or apparatus to efficiently transmit broadband service content using low density parity code based coded modulation
US7216283B2 (en) * 2003-06-13 2007-05-08 Broadcom Corporation Iterative metric updating when decoding LDPC (low density parity check) coded signals and LDPC coded modulation signals
CN100539439C (zh) 2002-10-05 2009-09-09 数字方敦股份有限公司 连锁反应码的系统编码和解码系统和方法
EP1568140A1 (en) * 2002-11-27 2005-08-31 Koninklijke Philips Electronics N.V. Running minimum message passing ldpc decoding
JP4062435B2 (ja) * 2002-12-03 2008-03-19 日本電気株式会社 誤り訂正符号復号装置
US7032166B2 (en) * 2002-12-03 2006-04-18 Massachusetts Institute Of Technology Method and apparatus for protecting data
KR100502608B1 (ko) * 2002-12-24 2005-07-20 한국전자통신연구원 계산이 간단한 저밀도 패리티 검사 부호를 위한 메시지 전달 복호기
US7296216B2 (en) * 2003-01-23 2007-11-13 Broadcom Corporation Stopping and/or reducing oscillations in low density parity check (LDPC) decoding
US7162684B2 (en) * 2003-01-27 2007-01-09 Texas Instruments Incorporated Efficient encoder for low-density-parity-check codes
US20040157626A1 (en) * 2003-02-10 2004-08-12 Vincent Park Paging methods and apparatus
US20070234178A1 (en) * 2003-02-26 2007-10-04 Qualcomm Incorporated Soft information scaling for interactive decoding
US6957375B2 (en) * 2003-02-26 2005-10-18 Flarion Technologies, Inc. Method and apparatus for performing low-density parity-check (LDPC) code operations using a multi-level permutation
KR101058324B1 (ko) * 2003-02-26 2011-08-22 콸콤 인코포레이티드 멀티-레벨 퍼뮤테이션을 사용한 저밀도 패리티 검사(ldpc)코드 동작들을 수행하는 방법 및 장치
KR100959425B1 (ko) * 2003-02-26 2010-05-26 콸콤 인코포레이티드 반복 디코딩을 위한 소프트 정보 스케일링
US7139959B2 (en) * 2003-03-24 2006-11-21 Texas Instruments Incorporated Layered low density parity check decoding for digital communications
US8196000B2 (en) * 2003-04-02 2012-06-05 Qualcomm Incorporated Methods and apparatus for interleaving in a block-coherent communication system
US7434145B2 (en) * 2003-04-02 2008-10-07 Qualcomm Incorporated Extracting soft information in a block-coherent communication system
US7231557B2 (en) * 2003-04-02 2007-06-12 Qualcomm Incorporated Methods and apparatus for interleaving in a block-coherent communication system
JP4224777B2 (ja) * 2003-05-13 2009-02-18 ソニー株式会社 復号方法および復号装置、並びにプログラム
JP4225163B2 (ja) * 2003-05-13 2009-02-18 ソニー株式会社 復号装置および復号方法、並びにプログラム
US6940429B2 (en) * 2003-05-28 2005-09-06 Texas Instruments Incorporated Method of context based adaptive binary arithmetic encoding with decoupled range re-normalization and bit insertion
US6876317B2 (en) * 2003-05-30 2005-04-05 Texas Instruments Incorporated Method of context based adaptive binary arithmetic decoding with two part symbol decoding
US7436902B2 (en) * 2003-06-13 2008-10-14 Broadcom Corporation Multi-dimensional space Gray code maps for multi-dimensional phase modulation as applied to LDPC (Low Density Parity Check) coded modulation
US7159170B2 (en) * 2003-06-13 2007-01-02 Broadcom Corporation LDPC (low density parity check) coded modulation symbol decoding
US7383493B2 (en) * 2003-06-13 2008-06-03 Broadcom Corporation LDPC (Low Density Parity Check) coded modulation hybrid decoding using non-Gray code maps for improved performance
US7322005B2 (en) * 2003-06-13 2008-01-22 Broadcom Corporation LDPC (Low Density Parity Check) coded modulation symbol decoding using non-Gray code maps for improved performance
US7185270B2 (en) * 2003-07-29 2007-02-27 Broadcom Corporation LDPC (low density parity check) coded modulation hybrid decoding
US7222284B2 (en) * 2003-06-26 2007-05-22 Nokia Corporation Low-density parity-check codes for multiple code rates
US7430396B2 (en) * 2003-07-03 2008-09-30 The Directv Group, Inc. Encoding low density parity check (LDPC) codes through an LDPC decoder
US7296208B2 (en) * 2003-07-03 2007-11-13 The Directv Group, Inc. Method and system for generating parallel decodable low density parity check (LDPC) codes
US8140931B2 (en) * 2003-07-03 2012-03-20 Dtvg Licensing, Inc. Method and system for generating parallel decodable low density parity check (LDPC) codes
US20050100076A1 (en) * 2003-08-04 2005-05-12 Gazdzinski Robert F. Adaptive holographic wideband communications apparatus and methods
US20050041746A1 (en) * 2003-08-04 2005-02-24 Lowell Rosen Software-defined wideband holographic communications apparatus and methods
US20050084033A1 (en) * 2003-08-04 2005-04-21 Lowell Rosen Scalable transform wideband holographic communications apparatus and methods
KR100809619B1 (ko) * 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
US7237174B2 (en) * 2003-09-04 2007-06-26 The Directv Group, Inc. Method and system for providing short block length low density parity check (LDPC) codes in support of broadband satellite applications
US7334181B2 (en) * 2003-09-04 2008-02-19 The Directv Group, Inc. Method and system for providing short block length low density parity check (LDPC) codes
KR101170629B1 (ko) 2003-10-06 2012-08-02 디지털 파운튼, 인크. 단일 송신기 또는 다중 송신기를 갖는 통신 시스템의 에러 정정 다중-스테이지 코드 생성기 및 디코더
US7340671B2 (en) * 2003-10-10 2008-03-04 Regents Of The University Of California Decoding low density parity codes
KR100955952B1 (ko) * 2003-10-13 2010-05-19 삼성전자주식회사 무선 통신 시스템에서 리프팅 저밀도 패러티 검사 부호를이용한 시공간 부호화 방법 및 장치
KR100922956B1 (ko) * 2003-10-14 2009-10-22 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 방법
US7376883B2 (en) * 2003-10-27 2008-05-20 The Directv Group, Inc. Method and system for providing long and short block length low density parity check (LDPC) codes
US7234098B2 (en) * 2003-10-27 2007-06-19 The Directv Group, Inc. Method and apparatus for providing reduced memory low density parity check (LDPC) codes
KR100975060B1 (ko) * 2003-11-28 2010-08-11 삼성전자주식회사 저밀도 패리티 검사를 위한 에러 정정 방법 및 장치
US7458003B2 (en) * 2003-12-01 2008-11-25 Qualcomm Incorporated Low-complexity, capacity-achieving code for communication systems
EP1545011B1 (en) * 2003-12-17 2008-07-09 Alcatel Lucent Optimized interleaving of digital signals
KR100523708B1 (ko) * 2003-12-17 2005-10-26 한국전자통신연구원 Ldpc 부호에 사용되는 거스 조건화된 패러티 검사행렬의 형성 방법
KR100744343B1 (ko) * 2003-12-19 2007-07-30 삼성전자주식회사 이동 통신 시스템에서 불균일 오류 확률을 갖는 부호화에따른 데이터 송수신 방법 및 장치
US7395494B2 (en) * 2003-12-22 2008-07-01 Electronics And Telecommunications Research Institute Apparatus for encoding and decoding of low-density parity-check codes, and method thereof
US7237181B2 (en) 2003-12-22 2007-06-26 Qualcomm Incorporated Methods and apparatus for reducing error floors in message passing decoders
US7406648B2 (en) * 2003-12-24 2008-07-29 Electronics And Telecommunications Research Institute Methods for coding and decoding LDPC codes, and method for forming LDPC parity check matrix
US20050160351A1 (en) * 2003-12-26 2005-07-21 Ko Young J. Method of forming parity check matrix for parallel concatenated LDPC code
US7383487B2 (en) * 2004-01-10 2008-06-03 Broadcom Corporation IPHD (iterative parallel hybrid decoding) of various MLC (multi-level code) signals
US7395495B2 (en) * 2004-01-12 2008-07-01 Intel Corporation Method and apparatus for decoding forward error correction codes
JP4296949B2 (ja) * 2004-02-03 2009-07-15 ソニー株式会社 復号装置及び方法、並びに情報処理装置及び方法
US7149953B2 (en) 2004-02-03 2006-12-12 Broadcom Corporation Efficient LDPC code decoding with new minus operator in a finite precision radix system
US20050193320A1 (en) * 2004-02-09 2005-09-01 President And Fellows Of Harvard College Methods and apparatus for improving performance of information coding schemes
US7260763B2 (en) * 2004-03-11 2007-08-21 Nortel Networks Limited Algebraic low-density parity check code design for variable block sizes and code rates
US7240236B2 (en) * 2004-03-23 2007-07-03 Archivas, Inc. Fixed content distributed data storage using permutation ring encoding
JP3875693B2 (ja) * 2004-03-24 2007-01-31 株式会社東芝 Lpc符号を用いた符号化ビットのマッピング方法及び送信装置
WO2007075098A1 (en) * 2005-12-26 2007-07-05 Intel Corporation Generalized multi-threshold decoder for low-density parity check codes
WO2005096509A1 (en) * 2004-03-31 2005-10-13 Intel Corporation Multi-threshold message passing decoding of low-density parity check codes
CN100449948C (zh) * 2004-04-05 2009-01-07 美国博通公司 Ldpc编码信号位-校验并行解码的方法及装置
US7281192B2 (en) * 2004-04-05 2007-10-09 Broadcom Corporation LDPC (Low Density Parity Check) coded signal decoding using parallel and simultaneous bit node and check node processing
KR100594818B1 (ko) * 2004-04-13 2006-07-03 한국전자통신연구원 순차적 복호를 이용한 저밀도 패리티 검사 부호의 복호장치 및 그 방법
EP1592137A1 (en) 2004-04-28 2005-11-02 Samsung Electronics Co., Ltd. Apparatus and method for coding/decoding block low density parity check code with variable block length
US7243287B2 (en) * 2004-05-03 2007-07-10 Broadcom Corporation Decoding LDPC (Low Density Parity Check) code and graphs using multiplication (or addition in log-domain) on both sides of bipartite graph
KR101205758B1 (ko) 2004-05-07 2012-12-03 디지털 파운튼, 인크. 파일 다운로드 및 스트리밍 시스템
KR20050118056A (ko) * 2004-05-12 2005-12-15 삼성전자주식회사 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치
JP4138700B2 (ja) * 2004-05-31 2008-08-27 株式会社東芝 復号装置および復号回路
FR2871965B1 (fr) * 2004-06-17 2006-09-01 Turboconcept Soc Par Actions S Procede et dispositif de decodage de codes correcteurs d'erreurs et systemes les mettant en oeuvre
US20050283707A1 (en) * 2004-06-22 2005-12-22 Eran Sharon LDPC decoder for decoding a low-density parity check (LDPC) codewords
US7581157B2 (en) * 2004-06-24 2009-08-25 Lg Electronics Inc. Method and apparatus of encoding and decoding data using low density parity check code in a wireless communication system
JP4282558B2 (ja) 2004-06-30 2009-06-24 株式会社東芝 低密度パリティチェック符号復号器及び方法
US7263335B2 (en) 2004-07-19 2007-08-28 Purewave Networks, Inc. Multi-connection, non-simultaneous frequency diversity in radio communication systems
US7181676B2 (en) * 2004-07-19 2007-02-20 Texas Instruments Incorporated Layered decoding approach for low density parity check (LDPC) codes
US7460839B2 (en) 2004-07-19 2008-12-02 Purewave Networks, Inc. Non-simultaneous frequency diversity in radio communication systems
US7346832B2 (en) * 2004-07-21 2008-03-18 Qualcomm Incorporated LDPC encoding methods and apparatus
US7395490B2 (en) * 2004-07-21 2008-07-01 Qualcomm Incorporated LDPC decoding methods and apparatus
US7730377B2 (en) * 2004-07-22 2010-06-01 Texas Instruments Incorporated Layered decoding of low density parity check (LDPC) codes
US7127659B2 (en) * 2004-08-02 2006-10-24 Qualcomm Incorporated Memory efficient LDPC decoding methods and apparatus
US7203897B2 (en) * 2004-08-12 2007-04-10 Motorola, Inc. Method and apparatus for encoding and decoding data
US7188297B2 (en) * 2004-08-12 2007-03-06 Motorola, Inc. Method and apparatus for encoding and decoding data
US7506238B2 (en) * 2004-08-13 2009-03-17 Texas Instruments Incorporated Simplified LDPC encoding for digital communications
US7698623B2 (en) * 2004-08-13 2010-04-13 David Hedberg Systems and methods for decreasing latency in a digital transmission system
US20060218459A1 (en) * 2004-08-13 2006-09-28 David Hedberg Coding systems and methods
CN101341659B (zh) 2004-08-13 2012-12-12 Dtvg许可公司 用于多输入多输出通道的低密度奇偶校验码的码设计与实现的改进
WO2006016261A1 (en) * 2004-08-13 2006-02-16 Nokia Corporation Structured puncturing of irregular low-density parity-check (ldpc) codes
US7559010B2 (en) * 2004-08-18 2009-07-07 Broadcom Corporation Short length LDPC (Low Density Parity Check) code and modulation adapted for high speed Ethernet applications
US7515642B2 (en) * 2004-08-25 2009-04-07 Broadcom Corporation LDPC (Low Density Parity Check) coded 128 DSQ (Double Square QAM) constellation modulation and associated labeling
US7587008B2 (en) * 2004-08-25 2009-09-08 Broadcom Corporation Decoding error correcting codes transmitted through multiple wire twisted pair cables with uneven noise on the wires
US7689892B2 (en) * 2004-09-08 2010-03-30 Nokia Corporation System and method for adaptive low-density parity-check (LDPC) coding
US7562280B2 (en) * 2004-09-10 2009-07-14 The Directv Group, Inc. Code design and implementation improvements for low density parity check codes for wireless routers using 802.11N protocol
US7401283B2 (en) * 2004-09-28 2008-07-15 Broadcom Corporation Amplifying magnitude metric of received signals during iterative decoding of LDPC (Low Density Parity Check) code and LDPC coded modulation
JP2008515342A (ja) * 2004-10-01 2008-05-08 トムソン ライセンシング 低密度パリティ検査(ldpc)復号器
US20060085720A1 (en) * 2004-10-04 2006-04-20 Hau Thien Tran Message passing memory and barrel shifter arrangement in LDPC (Low Density Parity Check) decoder supporting multiple LDPC codes
US7760880B2 (en) * 2004-10-13 2010-07-20 Viasat, Inc. Decoder architecture system and method
CN100550655C (zh) * 2004-11-04 2009-10-14 中兴通讯股份有限公司 一种低密度奇偶校验码的编码器/译码器及其生成方法
JP4551740B2 (ja) * 2004-11-08 2010-09-29 株式会社東芝 低密度パリティチェック符号復号器及び方法
US7581159B2 (en) * 2004-11-23 2009-08-25 Texas Instruments Incorporated Simplified decoding using structured and punctured LDPC codes
US7752520B2 (en) * 2004-11-24 2010-07-06 Intel Corporation Apparatus and method capable of a unified quasi-cyclic low-density parity-check structure for variable code rates and sizes
KR100913876B1 (ko) * 2004-12-01 2009-08-26 삼성전자주식회사 저밀도 패리티 검사 부호의 생성 방법 및 장치
US8201047B2 (en) * 2004-12-02 2012-06-12 Mitsubishi Electric Corporation Decoding apparatus and communications apparatus
KR100641052B1 (ko) * 2004-12-08 2006-11-02 한국전자통신연구원 Ldpc 부호기 및 복호기, 및 ldpc 부호화 방법 및복호화 방법
US7555696B2 (en) * 2004-12-09 2009-06-30 General Instrument Corporation Method and apparatus for forward error correction in a content distribution system
KR100846869B1 (ko) 2004-12-16 2008-07-16 한국전자통신연구원 저 복잡도 ldpc복호 장치 및 그 방법
CN100583651C (zh) * 2004-12-22 2010-01-20 Lg电子株式会社 用于使用信道代码解码的装置和方法
CN101091321A (zh) * 2004-12-29 2007-12-19 英特尔公司 用于低密度奇偶校验码的多门限解码的固定门限和信道估计
US7516390B2 (en) * 2005-01-10 2009-04-07 Broadcom Corporation LDPC (Low Density Parity Check) coding and interleaving implemented in MIMO communication systems
US7549105B2 (en) * 2005-01-10 2009-06-16 Broadcom Corporation Construction of irregular LDPC (low density parity check) codes using RS (Reed-Solomon) codes or GRS (generalized Reed-Solomon) code
US7617439B2 (en) * 2005-01-10 2009-11-10 Broadcom Corporation Algebraic construction of LDPC (Low Density Parity Check) codes with corresponding parity check matrix having CSI (Cyclic Shifted Identity) sub-matrices
US7617441B2 (en) * 2005-07-18 2009-11-10 Broadcom Corporation Efficient construction of LDPC (Low Density Parity Check) codes with corresponding parity check matrix having CSI (Cyclic Shifted Identity) sub-matrices
US7536629B2 (en) 2005-01-10 2009-05-19 Broadcom Corporation Construction of LDPC (Low Density Parity Check) codes using GRS (Generalized Reed-Solomon) code
US20080028281A1 (en) * 2005-01-14 2008-01-31 Shunji Miyazaki Encoding method, decoding method, and devices for same
WO2006075382A1 (ja) * 2005-01-14 2006-07-20 Fujitsu Limited 符号化方法、復号方法及びそれらの装置
CN100486150C (zh) * 2005-01-23 2009-05-06 中兴通讯股份有限公司 基于非正则低密度奇偶校验码的编译码器及其生成方法
US7500172B2 (en) * 2005-02-26 2009-03-03 Broadcom Corporation AMP (accelerated message passing) decoder adapted for LDPC (low density parity check) codes
US20060195765A1 (en) * 2005-02-28 2006-08-31 Texas Instruments Incorporated Accelerating convergence in an iterative decoder
EP1699138A1 (en) * 2005-03-02 2006-09-06 STMicroelectronics N.V. Method and device for decoding LDPC encoded codewords, in particular DVB-S2 LDPC encoded codewords
EP1715589A1 (en) * 2005-03-02 2006-10-25 STMicroelectronics N.V. LDPC decoder in particular for DVB-S2 LDCP code decoding
US7475103B2 (en) * 2005-03-17 2009-01-06 Qualcomm Incorporated Efficient check node message transform approximation for LDPC decoder
US20060212721A1 (en) * 2005-03-21 2006-09-21 Sehat Sutardja DVD system for distributing protected content
CN101147326B (zh) * 2005-03-31 2010-08-18 三菱电机株式会社 纠错编码装置
US7447984B2 (en) 2005-04-01 2008-11-04 Broadcom Corporation System correcting random and/or burst errors using RS (Reed-Solomon) code, turbo/LDPC (Low Density Parity Check) code and convolutional interleave
TWI255608B (en) * 2005-04-01 2006-05-21 Univ Nat Chiao Tung Transmission method combining trellis coded modulation code (TCM) and low-density parity check code (LDPC), and structure thereof
US7447981B2 (en) * 2005-04-01 2008-11-04 Broadcom Corporation System correcting random and/or burst errors using RS (Reed-Solomon) code, turbo/LDPC (Low Density Parity Check) code and convolutional interleave
TWI291290B (en) * 2005-04-21 2007-12-11 Univ Nat Chiao Tung Method for updating check-node of low-density parity-check (LDPC) codes decoder and device using the same
JP4622654B2 (ja) * 2005-04-25 2011-02-02 ソニー株式会社 復号装置および復号方法
JP4617985B2 (ja) * 2005-04-25 2011-01-26 ソニー株式会社 符号装置および符号化方法
KR101157246B1 (ko) * 2005-05-16 2012-06-15 삼성전자주식회사 저밀도 패리티 검사 부호의 패딩 및 천공 방법
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
JP2006339799A (ja) 2005-05-31 2006-12-14 Toshiba Corp イレギュラー低密度パリティチェック符号復号器及び方法
KR100727316B1 (ko) * 2005-06-01 2007-06-12 삼성전자주식회사 저밀도채리티체크 채널 디코딩 방법 및 장치
US7958424B2 (en) * 2005-06-22 2011-06-07 Trident Microsystems (Far East) Ltd. Multi-channel LDPC decoder architecture
US7571372B1 (en) 2005-06-23 2009-08-04 Marvell International Ltd. Methods and algorithms for joint channel-code decoding of linear block codes
US7499490B2 (en) * 2005-06-24 2009-03-03 California Institute Of Technology Encoders for block-circulant LDPC codes
US7783961B2 (en) * 2005-07-01 2010-08-24 Nec Laboratories America, Inc. Rate-compatible low density parity check coding for hybrid ARQ
US7617442B2 (en) * 2005-07-18 2009-11-10 Broadcom Corporation Efficient construction of LDPC (Low Density Parity Check) codes with corresponding parity check matrix having CSI (Cyclic Shifted Identity) sub-matrices
WO2007020677A1 (ja) 2005-08-12 2007-02-22 Fujitsu Limited 送信装置
EP1914896B1 (en) 2005-08-12 2017-07-26 Fujitsu Limited Transmitter apparatus
US7757149B2 (en) * 2005-10-12 2010-07-13 Weizhuang Xin Broadcast message passing decoding of low density parity check codes
EP1775839B1 (en) * 2005-10-17 2009-12-16 Samsung Electronics Co., Ltd. Method for constructing a parity check matrix of a low density parity check code
KR100809616B1 (ko) * 2005-10-19 2008-03-05 삼성전자주식회사 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
US7661037B2 (en) 2005-10-27 2010-02-09 Samsung Electronics Co., Ltd. LDPC concatenation rules for IEEE 802.11n systems
US7797611B2 (en) * 2005-11-14 2010-09-14 International Business Machines Corporation Creating an error correction coding scheme and reducing data loss
US7844877B2 (en) 2005-11-15 2010-11-30 Ramot At Tel Aviv University Ltd. Method and device for multi phase error-correction
US7818649B1 (en) * 2005-11-30 2010-10-19 Aquantia Corporation Efficient message passing scheme of iterative error correcting decoders
US8122315B2 (en) * 2005-12-01 2012-02-21 Electronics And Telecommunications Research Institute LDPC decoding apparatus and method using type-classified index
US7661055B2 (en) * 2005-12-05 2010-02-09 Broadcom Corporation Partial-parallel implementation of LDPC (Low Density Parity Check) decoders
US7707479B2 (en) * 2005-12-13 2010-04-27 Samsung Electronics Co., Ltd. Method of generating structured irregular low density parity checkcodes for wireless systems
US7620880B2 (en) * 2005-12-20 2009-11-17 Samsung Electronics Co., Ltd. LDPC concatenation rules for IEEE 802.11n system with packets length specified in OFDM symbols
US7584406B2 (en) 2005-12-20 2009-09-01 Samsung Electronics Co., Ltd. LDPC concatenation rules for IEEE 802.11n system with packets length specific in octets
US7562278B2 (en) * 2005-12-29 2009-07-14 Intel Corporation Incremental forward error correction redundancy
US7617433B2 (en) * 2006-01-03 2009-11-10 Broadcom Corporation Implementation of LDPC (low density parity check) decoder by sweeping through sub-matrices
US7530002B2 (en) * 2006-01-03 2009-05-05 Broadcom Corporation Sub-matrix-based implementation of LDPC (Low Density Parity Check) decoder
US7631246B2 (en) * 2006-01-09 2009-12-08 Broadcom Corporation LDPC (low density parity check) code size adjustment by shortening and puncturing
GB2434946B (en) * 2006-02-01 2008-07-23 Toshiba Res Europ Ltd Wireless communications apparatus
CN101686107B (zh) 2006-02-13 2014-08-13 数字方敦股份有限公司 使用可变fec开销和保护周期的流送和缓冲
US7461073B2 (en) * 2006-02-14 2008-12-02 Microsoft Corporation Co-clustering objects of heterogeneous types
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
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
US7934143B1 (en) 2006-04-24 2011-04-26 Marvell International Ltd. Parity insertion for inner architecture
US7657821B1 (en) * 2006-05-09 2010-02-02 Cisco Technology, Inc. Error detecting code for multi-character, multi-lane, multi-level physical transmission
US7971129B2 (en) 2006-05-10 2011-06-28 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient users of the communications systems
US7793201B1 (en) 2006-05-11 2010-09-07 Seagate Technology Llc Bit error detector for iterative ECC decoder
US8042029B2 (en) * 2006-05-21 2011-10-18 Ramot At Tel Aviv University Ltd. Error correction decoding by trial and error
US8028216B1 (en) 2006-06-02 2011-09-27 Marvell International Ltd. Embedded parity coding for data storage
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US7689896B2 (en) * 2006-06-21 2010-03-30 Broadcom Corporation Minimal hardware implementation of non-parity and parity trellis
US7831895B2 (en) * 2006-07-25 2010-11-09 Communications Coding Corporation Universal error control coding system for digital communication and data storage systems
US7752529B2 (en) * 2006-07-26 2010-07-06 Broadcom Corporation Combined LDPC (low density parity check) encoder and syndrome checker
JP4748007B2 (ja) * 2006-09-12 2011-08-17 富士通株式会社 Ldpc復号器の演算制御データ生成方法及びldpc復号器
US7827461B1 (en) * 2006-09-18 2010-11-02 Marvell International Ltd. Low-density parity-check decoder apparatus
WO2008034254A1 (en) * 2006-09-22 2008-03-27 Mcgill University Stochastic decoding of ldpc codes
US20080155293A1 (en) * 2006-09-29 2008-06-26 Schweitzer Engineering Laboratories, Inc. Apparatus, systems and methods for reliably detecting faults within a power distribution system
US7644339B2 (en) * 2006-10-02 2010-01-05 Broadcom Corporation Overlapping sub-matrix based LDPC (low density parity check) decoder
WO2008069231A1 (ja) * 2006-12-07 2008-06-12 Nec Corporation 復号装置、復号方法
US8504890B2 (en) * 2006-12-17 2013-08-06 Ramot At Tel Aviv University Ltd. Scheduling for LDPC decoding
US7913149B2 (en) * 2006-12-20 2011-03-22 Lsi Corporation Low complexity LDPC encoding algorithm
US20080155372A1 (en) * 2006-12-21 2008-06-26 Radiospire Networks, Inc. Methods and apparatus for improving error indication performance in systems with low-density parity check codes
US20080168215A1 (en) * 2007-01-05 2008-07-10 Anxiao Jiang Storing Information in a Memory
JP5351045B2 (ja) * 2007-01-09 2013-11-27 モジクス, インコーポレイティッド サプライチェーン管理および在庫管理を保護するシステムおよび方法
US7743058B2 (en) * 2007-01-10 2010-06-22 Microsoft Corporation Co-clustering objects of heterogeneous types
KR20080068218A (ko) * 2007-01-18 2008-07-23 삼성전자주식회사 통신 시스템에서 데이터 수신 방법 및 장치
AU2008207799B2 (en) 2007-01-24 2010-12-02 Qualcomm Incorporated LDPC encoding and decoding of packets of variable sizes
US8261155B2 (en) * 2007-03-09 2012-09-04 Qualcomm Incorporated Methods and apparatus for encoding and decoding low density parity check (LDPC) codes
KR101370903B1 (ko) * 2007-03-16 2014-03-10 엘지전자 주식회사 Ldpc 코드를 이용한 부호화 및 복호화 방법
AU2008230844B2 (en) * 2007-03-27 2011-06-09 Shell Internationale Research Maatschappij B.V. Wellbore communication, downhole module, and method for communicating
US8341506B2 (en) * 2007-03-30 2012-12-25 HGST Netherlands B.V. Techniques for correcting errors using iterative decoding
KR101119302B1 (ko) * 2007-04-20 2012-03-19 재단법인서울대학교산학협력재단 통신 시스템에서 저밀도 패리티 검사 부호 부호화 장치 및방법
US8418023B2 (en) 2007-05-01 2013-04-09 The Texas A&M University System Low density parity check decoder for irregular LDPC codes
US8316258B2 (en) * 2007-05-03 2012-11-20 Oracle America, Inc. System and method for error detection in a data storage system
US8151171B2 (en) * 2007-05-07 2012-04-03 Broadcom Corporation Operational parameter adaptable LDPC (low density parity check) decoder
TW200908569A (en) * 2007-05-21 2009-02-16 Ramot At Tel Aviv University Co Ltd Memory-efficient LDPC decoding
WO2008141453A1 (en) * 2007-05-23 2008-11-27 The Royal Institution For The Advancement Of Learning/Mcgill University Method for implementing stochastic equality nodes
US8117523B2 (en) * 2007-05-23 2012-02-14 California Institute Of Technology Rate-compatible protograph LDPC code families with linear minimum distance
US7945842B2 (en) * 2007-06-19 2011-05-17 International Business Machines Corporation Method and apparatus for rateless source coding with/without decoder side information
US20090013239A1 (en) * 2007-07-02 2009-01-08 Broadcom Corporation LDPC (Low Density Parity Check) decoder employing distributed check and/or variable node architecture
US8010881B2 (en) * 2007-07-02 2011-08-30 Broadcom Corporation Multi-code LDPC (low density parity check) decoder
ATE487982T1 (de) 2007-07-02 2010-11-15 Technology From Ideas Ltd Erzeugung von paritätsprüfmatrizen
US7958429B2 (en) * 2007-07-02 2011-06-07 Broadcom Corporation Distributed processing LDPC (low density parity check) decoder
KR101129260B1 (ko) 2007-09-12 2012-03-27 디지털 파운튼, 인크. 신뢰성 있는 통신들을 가능하게 하는 소스 식별 정보 생성 및 통신
CN100462986C (zh) * 2007-09-13 2009-02-18 南京大学 基于可编程门阵列的低密度奇偶校验编解码硬件仿真系统
KR20100061409A (ko) * 2007-09-28 2010-06-07 에이저 시스템즈 인크 복잡성이 감소된 데이터 프로세싱을 위한 시스템들 및 방법들
US8478865B2 (en) * 2007-10-09 2013-07-02 Cleversafe, Inc. Systems, methods, and apparatus for matching a connection request with a network interface adapted for use with a dispersed data storage network
JP4487212B2 (ja) * 2007-10-19 2010-06-23 ソニー株式会社 復号装置および方法、送受信システム、受信装置および方法、並びにプログラム
US7778247B2 (en) * 2007-10-26 2010-08-17 Nokia Siemens Networks Oy Cross layer network optimization for OFDMA systems using message passing algorithm
EP2220771A2 (en) * 2007-10-26 2010-08-25 Qualcomm Incorporated Optimized viterbi decoder and gnss receiver
TWI410055B (zh) * 2007-11-26 2013-09-21 Sony Corp Data processing device, data processing method and program product for performing data processing method on computer
US8181081B1 (en) 2007-11-30 2012-05-15 Marvell International Ltd. System and method for decoding correlated data
RU2446585C2 (ru) * 2007-12-06 2012-03-27 Самсунг Электроникс Ко., Лтд. Способ и устройство для кодирования и декодирования канала в системе связи с использованием кодов проверок на четность с малой плотностью
AU2012200530B2 (en) * 2007-12-06 2014-02-20 Postech Academy Industry Foundation Method and apparatus for encoding and decoding channel in a communication system using low-density parity-check codes
EP2381582B1 (en) * 2007-12-06 2013-04-10 Samsung Electronics Co., Ltd. Method and apparatus for channel encoding in a communication system using low-density parity-check codes
WO2009078653A2 (en) * 2007-12-17 2009-06-25 Electronics And Telecommunications Research Institute Preprocessing apparatus and method for group-based decoding
KR20090065411A (ko) * 2007-12-17 2009-06-22 한국전자통신연구원 그룹 단위 복호화를 위한 전처리 장치 및 그 방법
CN101471674A (zh) * 2007-12-28 2009-07-01 三星电子株式会社 低密度奇偶校验码译码方法及装置
US8832518B2 (en) * 2008-02-21 2014-09-09 Ramot At Tel Aviv University Ltd. Method and device for multi phase error-correction
KR101503059B1 (ko) * 2008-02-26 2015-03-19 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호/복호 방법 및 장치
US20110113312A1 (en) * 2008-06-09 2011-05-12 Hideki Kobayashi Check matrix generating method, check matrix, decoding apparatus, and decoding method
US8209592B2 (en) * 2008-06-20 2012-06-26 Samsung Electronics Co., Ltd. Method and apparatus for software-defined radio LDPC decoder
US8296640B2 (en) * 2008-06-20 2012-10-23 Samsung Electronics Co., Ltd. Method and apparatus for parallel processing multimode LDPC decoder
TW201008135A (en) * 2008-06-23 2010-02-16 Univ Ramot Using damping factors to overcome LDPC trapping sets
US8108760B2 (en) * 2008-07-15 2012-01-31 The Royal Institute For The Advancement Of Learning/Mcgill University Decoding of linear codes with parity check matrix
US8103931B2 (en) * 2008-08-27 2012-01-24 Mitsubishi Electric Research Laboratories, Inc. Method for constructing large-girth quasi-cyclic low-density parity-check codes
US8145986B2 (en) * 2008-09-22 2012-03-27 Broadcom Corporation Multi-CSI (Cyclic Shifted Identity) sub-matrix based LDPC (Low Density Parity Check) codes
US8266497B1 (en) * 2008-10-17 2012-09-11 Link—A—Media Devices Corporation Manufacturing testing for LDPC codes
US20100138618A1 (en) * 2008-12-03 2010-06-03 Vns Portfolio Llc Priority Encoders
US8335979B2 (en) * 2008-12-08 2012-12-18 Samsung Electronics Co., Ltd. Contention-free parallel processing multimode LDPC decoder
US8443270B2 (en) * 2008-12-09 2013-05-14 Entropic Communications, Inc. Multiple input hardware reuse using LDPC codes
US8397125B2 (en) * 2008-12-31 2013-03-12 Stmicroelectronics, Inc. Encoding apparatus, system, and method using low density parity check (LDPC) codes
TW201029337A (en) * 2009-01-16 2010-08-01 Ralink Technology Corp Method for decoding LDPC code and the circuit thereof
US8560917B2 (en) * 2009-01-27 2013-10-15 International Business Machines Corporation Systems and methods for efficient low density parity check (LDPC) decoding
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US8458114B2 (en) * 2009-03-02 2013-06-04 Analog Devices, Inc. Analog computation using numerical representations with uncertainty
TW201037529A (en) 2009-03-02 2010-10-16 David Reynolds Belief propagation processor
TWI427936B (zh) * 2009-05-29 2014-02-21 Sony Corp 接收設備,接收方法,程式,及接收系統
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US8832534B1 (en) * 2010-01-04 2014-09-09 Viasat, Inc. LDPC decoder architecture
US8566668B1 (en) * 2010-01-04 2013-10-22 Viasat, Inc. Edge memory architecture for LDPC decoder
US8972831B2 (en) 2010-01-11 2015-03-03 Analog Devices, Inc. Belief propagation processor
KR20120137354A (ko) 2010-01-28 2012-12-20 샌디스크 아이엘 엘티디 슬라이딩-윈도우 에러 정정
CN102934100B (zh) * 2010-02-22 2016-06-15 美国亚德诺半导体公司 分布式因子图形系统
US8914709B1 (en) 2010-03-04 2014-12-16 Sk Hynix Memory Solutions Inc. Manufacturing testing for LDPC codes
JP5112468B2 (ja) * 2010-03-26 2013-01-09 株式会社東芝 誤り検出訂正回路、メモリコントローラ、および半導体メモリ装置
US20110280311A1 (en) 2010-05-13 2011-11-17 Qualcomm Incorporated One-stream coding for asymmetric stereo video
WO2012039798A2 (en) 2010-06-15 2012-03-29 California Institute Of Technology Rate-compatible protograph ldpc codes
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US8806050B2 (en) 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
US8677227B2 (en) * 2010-08-25 2014-03-18 Royal Institution for the Advancement of Learning / McGill University Method and system for decoding
US8650464B1 (en) * 2010-09-07 2014-02-11 Applied Micro Circuits Corporation Symmetric diagonal interleaving and encoding/decoding circuit and method
US8650456B2 (en) * 2010-09-08 2014-02-11 Marvell World Trade Ltd. Decoder based data recovery
US8441768B2 (en) 2010-09-08 2013-05-14 Schweitzer Engineering Laboratories Inc Systems and methods for independent self-monitoring
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US8756478B2 (en) * 2011-09-07 2014-06-17 Lsi Corporation Multi-level LDPC layer decoder
CN103023603B (zh) * 2011-09-20 2015-07-08 澜起科技(上海)有限公司 基于ldpc校验矩阵的比特交织编码调制的实现方法
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
KR101922990B1 (ko) * 2011-11-11 2018-11-28 삼성전자주식회사 멀티미디어 통신 시스템에서 준순환 저밀도 패리티 검사 부호 송/수신 장치 및 방법
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
US9007731B2 (en) 2012-03-26 2015-04-14 Schweitzer Engineering Laboratories, Inc. Leveraging inherent redundancy in a multifunction IED
US9130589B2 (en) * 2012-12-19 2015-09-08 Avago Technologies General Ip (Singapore) Pte. Ltd. Low density parity check decoder with dynamic scaling
US8930789B1 (en) * 2013-01-23 2015-01-06 Viasat, Inc. High-speed LDPC decoder
US9094132B1 (en) 2013-01-23 2015-07-28 Viasat, Inc. High data rate optical transport network using 8-PSK
US9092353B1 (en) 2013-01-29 2015-07-28 Pmc-Sierra Us, Inc. Apparatus and method based on LDPC codes for adjusting a correctable raw bit error rate limit in a memory system
US8977938B2 (en) * 2013-02-08 2015-03-10 Altera Corporation Parallel decomposition of Reed Solomon umbrella codes
JP6542132B2 (ja) * 2013-02-13 2019-07-10 クゥアルコム・インコーポレイテッドQualcomm Incorporated 高レート、高並列性、および低エラーフロアのために、疑似巡回構成を使用し、パンクチャするldpc設計
US9813080B1 (en) 2013-03-05 2017-11-07 Microsemi Solutions (U.S.), Inc. Layer specific LDPC decoder
US10230396B1 (en) * 2013-03-05 2019-03-12 Microsemi Solutions (Us), Inc. Method and apparatus for layer-specific LDPC decoding
US8990661B1 (en) * 2013-03-05 2015-03-24 Pmc-Sierra Us, Inc. Layer specific attenuation factor LDPC decoder
US9397701B1 (en) 2013-03-11 2016-07-19 Microsemi Storage Solutions (Us), Inc. System and method for lifetime specific LDPC decoding
US9450610B1 (en) 2013-03-15 2016-09-20 Microsemi Storage Solutions (Us), Inc. High quality log likelihood ratios determined using two-index look-up table
US9590656B2 (en) 2013-03-15 2017-03-07 Microsemi Storage Solutions (Us), Inc. System and method for higher quality log likelihood ratios in LDPC decoding
US9454414B2 (en) 2013-03-15 2016-09-27 Microsemi Storage Solutions (Us), Inc. System and method for accumulating soft information in LDPC decoding
KR20150005853A (ko) 2013-07-05 2015-01-15 삼성전자주식회사 송신 장치 및 그의 신호 처리 방법
KR102002559B1 (ko) * 2013-07-05 2019-07-22 삼성전자주식회사 송신 장치 및 그의 신호 처리 방법
KR20150024489A (ko) * 2013-08-26 2015-03-09 삼성전자주식회사 메모리 시스템에서의 ldpc 디코딩 방법 및 이를 이용한 ldpc 디코더
US20160197703A1 (en) * 2013-09-10 2016-07-07 Electronics And Telecommunications Research Institute Ldpc-rs two-dimensional code for ground wave cloud broadcasting
US8930790B1 (en) 2013-09-13 2015-01-06 U-Blox Ag Method and apparatus for identifying selected values from among a set of values
US9276610B2 (en) * 2014-01-27 2016-03-01 Tensorcom, Inc. Method and apparatus of a fully-pipelined layered LDPC decoder
US20170019212A1 (en) * 2014-03-13 2017-01-19 Lg Electronics Inc. Method and device for decoding low-density parity check code for forward error correction in wireless communication system
BR112016021595B1 (pt) * 2014-03-19 2022-09-20 Samsung Electronics Co., Ltd Aparelho transmissor, e método de intercalação de um aparelho transmissor
US9391817B2 (en) 2014-03-24 2016-07-12 Tensorcom, Inc. Method and apparatus of an architecture to switch equalization based on signal delay spread
US9602141B2 (en) 2014-04-21 2017-03-21 Sandisk Technologies Llc High-speed multi-block-row layered decoder for low density parity check (LDPC) codes
US9748973B2 (en) 2014-04-22 2017-08-29 Sandisk Technologies Llc Interleaved layered decoder for low-density parity check codes
KR101599336B1 (ko) * 2014-04-22 2016-03-04 아주대학교 산학협력단 저밀도 패리티 검사 코드의 복호화 방법 및 그 장치
US9503125B2 (en) * 2014-05-08 2016-11-22 Sandisk Technologies Llc Modified trellis-based min-max decoder for non-binary low-density parity-check error-correcting codes
US9344116B2 (en) * 2014-05-29 2016-05-17 Yuan Ze University Method for determining layer stoppage in LDPC decoding
US9417804B2 (en) 2014-07-07 2016-08-16 Microsemi Storage Solutions (Us), Inc. System and method for memory block pool wear leveling
US9489259B2 (en) * 2014-08-14 2016-11-08 Electronics And Telecommunications Research Institute Low density parity check encoder having length of 16200 and code rate of 2/15, and low density parity check encoding method using the same
US10313054B2 (en) * 2015-01-07 2019-06-04 Avago Technologies International Sales Pte. Limited Low density parity check (LDPC) codes for communication devices and systems
CN104767536B (zh) * 2015-03-19 2018-05-25 深圳市力合微电子股份有限公司 基于ofdm电力线通信系统的qc-ldpc译码方法和译码器
US10332613B1 (en) 2015-05-18 2019-06-25 Microsemi Solutions (Us), Inc. Nonvolatile memory system with retention monitor
US9595978B2 (en) * 2015-05-19 2017-03-14 Samsung Electronics Co., Ltd. Transmitting apparatus and interleaving method thereof
US9705530B2 (en) * 2015-05-19 2017-07-11 Samsung Electronics Co., Ltd. Transmitting apparatus and interleaving method thereof
US9692453B2 (en) * 2015-05-19 2017-06-27 Samsung Electronics Co., Ltd. Transmitting apparatus and interleaving method thereof
US9847794B2 (en) 2015-05-19 2017-12-19 Samsung Electronics Co., Ltd. Transmitting apparatus and interleaving method thereof
US9634692B2 (en) * 2015-05-19 2017-04-25 Samsung Electronics Co., Ltd. Transmitting apparatus and interleaving method thereof
US9716516B2 (en) * 2015-05-19 2017-07-25 Samsung Electronics Co., Ltd. Transmitting apparatus and interleaving method thereof
US9680505B2 (en) * 2015-05-19 2017-06-13 Samsung Electronics Co., Ltd. Transmitting apparatus and interleaving method thereof
CN106330200B (zh) * 2015-07-09 2019-09-10 华邦电子股份有限公司 执行于通量图形处理器的低密度奇偶校验解码方法
US9799405B1 (en) 2015-07-29 2017-10-24 Ip Gem Group, Llc Nonvolatile memory system with read circuit for performing reads using threshold voltage shift read instruction
CN106656409B (zh) * 2015-10-30 2020-02-14 华为技术有限公司 一种校验码穿孔和解穿孔方法及装置
US10784901B2 (en) 2015-11-12 2020-09-22 Qualcomm Incorporated Puncturing for structured low density parity check (LDPC) codes
US9886214B2 (en) 2015-12-11 2018-02-06 Ip Gem Group, Llc Nonvolatile memory system with erase suspend circuit and method for erase suspend management
US9892794B2 (en) 2016-01-04 2018-02-13 Ip Gem Group, Llc Method and apparatus with program suspend using test mode
WO2017126733A1 (ko) * 2016-01-19 2017-07-27 연세대학교 산학협력단 고신뢰도 및 저지연 통신에 적합한 ldpc 부호화를 위한 장치 및 방법
US9899092B2 (en) 2016-01-27 2018-02-20 Ip Gem Group, Llc Nonvolatile memory system with program step manager and method for program step management
US10548158B2 (en) * 2016-03-10 2020-01-28 Huawei Technologies Co., Ltd. Message passing algorithm decoder and methods
US11043966B2 (en) 2016-05-11 2021-06-22 Qualcomm Incorporated Methods and apparatus for efficiently generating multiple lifted low-density parity-check (LDPC) codes
US10454499B2 (en) 2016-05-12 2019-10-22 Qualcomm Incorporated Enhanced puncturing and low-density parity-check (LDPC) code structure
US10320421B2 (en) * 2016-05-13 2019-06-11 Hyperstone Gmbh Method and device for error correction coding based on high-rate generalized concatenated codes
US9917675B2 (en) 2016-06-01 2018-03-13 Qualcomm Incorporated Enhanced polar code constructions by strategic placement of CRC bits
US10313057B2 (en) 2016-06-01 2019-06-04 Qualcomm Incorporated Error detection in wireless communications using sectional redundancy check information
US10291354B2 (en) 2016-06-14 2019-05-14 Qualcomm Incorporated High performance, flexible, and compact low-density parity-check (LDPC) code
KR102626162B1 (ko) * 2016-06-14 2024-01-18 삼성전자주식회사 연산 복잡도를 감소시킬 수 있는 디코더의 동작 방법과 이를 포함하는 데이터 저장 장치의 동작 방법
CN109478959B (zh) 2016-07-27 2021-08-06 高通股份有限公司 用于极化码的混合自动重复请求(harq)反馈比特的设计
US10291263B2 (en) 2016-07-28 2019-05-14 Ip Gem Group, Llc Auto-learning log likelihood ratio
US10283215B2 (en) 2016-07-28 2019-05-07 Ip Gem Group, Llc Nonvolatile memory system with background reference positioning and local reference positioning
US10236915B2 (en) 2016-07-29 2019-03-19 Microsemi Solutions (U.S.), Inc. Variable T BCH encoding
WO2018058294A1 (en) 2016-09-27 2018-04-05 Qualcomm Incorporated Harq techniques for polar codes
US10419027B2 (en) 2016-10-13 2019-09-17 Qualcomm Incorporated Adjusted min-sum decoder
US10778371B2 (en) 2016-11-02 2020-09-15 Qualcomm Incorporated Deeply-pipelined high-throughput LDPC decoder architecture
US10511328B2 (en) 2016-11-04 2019-12-17 Qualcomm Incorporated Efficient list decoding of LDPC codes
US10340949B2 (en) * 2017-02-06 2019-07-02 Qualcomm Incorporated Multiple low density parity check (LDPC) base graph design
US10348329B2 (en) 2017-02-13 2019-07-09 Qualcomm Incorporated Low density parity check (LDPC) circular buffer rate matching
US10778366B2 (en) 2017-03-31 2020-09-15 Qualcomm Incorporated Techniques for rate matching and interleaving in wireless communications
US10680646B2 (en) 2017-05-12 2020-06-09 Qualcomm Incorporated Row orthogonality in LDPC rate compatible design
US10312939B2 (en) 2017-06-10 2019-06-04 Qualcomm Incorporated Communication techniques involving pairwise orthogonality of adjacent rows in LPDC code
JP6912648B2 (ja) 2017-07-07 2021-08-04 クアルコム,インコーポレイテッド 低密度パリティ検査コードのベースグラフ選択を適用する通信技法
US10735134B2 (en) 2017-08-11 2020-08-04 Qualcomm Incorporated Self-decodable redundancy versions for low-density parity-check codes
TWI672930B (zh) 2018-02-12 2019-09-21 瑞昱半導體股份有限公司 網路資料預測方法、網路資料處理裝置及網路資料處理方法
CN110166166B (zh) * 2018-02-14 2022-01-28 瑞昱半导体股份有限公司 网络数据处理装置及方法
TWI684856B (zh) * 2018-04-20 2020-02-11 慧榮科技股份有限公司 解碼方法及相關的快閃記憶體控制器與電子裝置
TWI759672B (zh) * 2018-04-20 2022-04-01 慧榮科技股份有限公司 解碼方法及相關的快閃記憶體控制器與電子裝置
US20230353169A1 (en) * 2020-06-23 2023-11-02 Telefonaktiebolaget Lm Ericsson (Publ) Network node and method performed therein for handling received signal
US20230222323A1 (en) * 2020-07-02 2023-07-13 Interdigital Patent Holdings, Inc. Methods, apparatus and systems for graph-conditioned autoencoder (gcae) using topology-friendly representations
US11874736B2 (en) * 2021-08-11 2024-01-16 Apple Inc. Calculating soft metrics depending on threshold voltages of memory cells in multiple neighbor word lines

Family Cites Families (52)

* 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
US4561092A (en) * 1983-05-13 1985-12-24 The Bdm Corporation Method and apparatus for data communications over local area and small area networks
US5293489A (en) * 1985-01-24 1994-03-08 Nec Corporation Circuit arrangement capable of centralizing control of a switching network
US4914657A (en) * 1987-04-15 1990-04-03 Allied-Signal Inc. Operations controller for a fault tolerant multiple node processing system
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
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
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
US6073250A (en) * 1997-11-06 2000-06-06 Luby; Michael G. Loss resilient decoding technique
US6163870A (en) * 1997-11-06 2000-12-19 Compaq Computer Corporation Message encoding with irregular graphing
US6195777B1 (en) * 1997-11-06 2001-02-27 Compaq Computer Corporation Loss resilient code with double heavy tailed series of redundant layers
US6081909A (en) * 1997-11-06 2000-06-27 Digital Equipment Corporation Irregularly graphed encoding technique
US6081918A (en) * 1997-11-06 2000-06-27 Spielman; Daniel A. Loss resilient code with cascading series of redundant layers
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
ATE270795T1 (de) * 1998-09-28 2004-07-15 Comtech Telecomm Corp Turbo produktkode decodierer
US6247158B1 (en) * 1998-11-30 2001-06-12 Itt Manufacturing Enterprises, Inc. Digital broadcasting system and method
US6397240B1 (en) * 1999-02-18 2002-05-28 Agere Systems Guardian Corp. Programmable accelerator for a programmable processor system
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
US6539367B1 (en) 2000-05-26 2003-03-25 Agere Systems Inc. Methods and apparatus for decoding of general codes on probability dependency graphs
US20020002695A1 (en) * 2000-06-02 2002-01-03 Frank Kschischang Method and system for decoding
JP4389373B2 (ja) * 2000-10-11 2009-12-24 ソニー株式会社 2元巡回符号を反復型復号するための復号器
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
US6731700B1 (en) * 2001-01-04 2004-05-04 Comsys Communication & Signal Processing Ltd. Soft decision output generator
US6633856B2 (en) * 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US6938196B2 (en) * 2001-06-15 2005-08-30 Flarion Technologies, Inc. Node processors for use in parity check decoders
US6842872B2 (en) * 2001-10-01 2005-01-11 Mitsubishi Electric Research Laboratories, Inc. Evaluating and optimizing error-correcting codes using projective analysis
US6619430B2 (en) * 2001-10-12 2003-09-16 Carrier Corporation Refrigerant gas buffered seal system
US6700867B2 (en) * 2001-12-20 2004-03-02 Motorola, Inc. Method and system for reduced memory hybrid automatic repeat request
US6757122B1 (en) * 2002-01-29 2004-06-29 Seagate Technology Llc Method and decoding apparatus using linear code with parity check matrices composed from circulants
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
US6961888B2 (en) * 2002-08-20 2005-11-01 Flarion Technologies, Inc. Methods and apparatus for encoding LDPC codes
JP4062435B2 (ja) * 2002-12-03 2008-03-19 日本電気株式会社 誤り訂正符号復号装置
US6957375B2 (en) * 2003-02-26 2005-10-18 Flarion Technologies, Inc. Method and apparatus for performing low-density parity-check (LDPC) code operations using a multi-level permutation
US6771197B1 (en) * 2003-09-26 2004-08-03 Mitsubishi Electric Research Laboratories, Inc. Quantizing signals using sparse generator factor graph codes
US7174495B2 (en) * 2003-12-19 2007-02-06 Emmanuel Boutillon LDPC decoder, corresponding method, system and computer program
US6973375B2 (en) * 2004-02-12 2005-12-06 Mykrolis Corporation System and method for flow monitoring and control

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102412847B (zh) * 2004-11-23 2014-10-22 三星电子株式会社 用联合节点处理来解码低密度奇偶校验码的方法和设备
CN106301389A (zh) * 2015-06-05 2017-01-04 华为技术有限公司 译码方法和设备
CN106301389B (zh) * 2015-06-05 2019-09-20 华为技术有限公司 译码方法和设备

Also Published As

Publication number Publication date
JP4109191B2 (ja) 2008-07-02
CN1255761C (zh) 2006-05-10
EP2264907B1 (en) 2014-08-13
EP2264907A3 (en) 2012-03-28
US20050278606A1 (en) 2005-12-15
EP1407420B1 (en) 2011-06-22
EP1407420A1 (en) 2004-04-14
US20030033575A1 (en) 2003-02-13
EP2264907A2 (en) 2010-12-22
US6633856B2 (en) 2003-10-14
ES2516765T3 (es) 2014-10-31
US7133853B2 (en) 2006-11-07
WO2002103631A1 (en) 2002-12-27
TWI284460B (en) 2007-07-21
ATE514231T1 (de) 2011-07-15
US20060242093A1 (en) 2006-10-26
JP2004531972A (ja) 2004-10-14
EP1407420A4 (en) 2008-05-21
US7552097B2 (en) 2009-06-23

Similar Documents

Publication Publication Date Title
CN1255761C (zh) 用于对ldpc代码解码的方法和设备
CN101803206B (zh) 近码字的rom列表解码
CN1113295C (zh) 错误校正编码方法及其设备
Sasidharan et al. A high-rate MSR code with polynomial sub-packetization level
CN101044688A (zh) 节省存储器的ldpc译码方法和装置
CN101080873A (zh) 用于使用信道代码解码的装置和方法
CN101079639A (zh) 基于节点存储器的低密度奇偶校验解码装置和方法
US20190020353A1 (en) Efficient encoding of data for storage in polymers such as dna
CN101232288B (zh) 一种基于奇偶校验矩阵的ldpc码的译码方法及译码器
US8468438B2 (en) Method and apparatus for elementary updating a check node during decoding of a block encoded with a non-binary LDPC code
Nguyen et al. Two-bit bit flipping algorithms for LDPC codes and collective error correction
JP2009005343A (ja) 通信路を介して受信されるシンボルの系列を誤り訂正符号の符号語に復号する方法およびシステム
CN101047392A (zh) 一种多码率的ldpc码的译码器装置及译码方法
Hamoum et al. Channel model with memory for DNA data storage with nanopore sequencing
JP2014022848A (ja) 誤り訂正符号の符号化方法及び復号方法
CN1825771A (zh) 用于对ldpc代码解码的方法和设备
JP4981122B2 (ja) 抑制されたベクトル量子化
CN101777920A (zh) 低密度奇偶校验码的编码方法和编码译码装置
Jan et al. A novel flip-list-enabled belief propagation decoder for polar codes
Laendner et al. Characterization of small trapping sets in LDPC codes from Steiner triple systems
Dong et al. Double polar codes for joint source and channel coding
CN1518799A (zh) 用于传输数字消息的方法和实现所述方法的系统
Tapia et al. DNA barcoding through quaternary LDPC codes
WO2020139234A1 (en) Performance enhancement of polar codes for short frame lengths considering error propagation effects
CN110119328A (zh) 为了容错改进以时分方式利用嵌入有本地码的全局码进行迭代消息传递解码

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: QUALCOMM FLARION TECHNOLOGIES INC.

Free format text: FORMER OWNER: FLARION TECHNOLOGIES INC.

Effective date: 20060714

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

Effective date of registration: 20060714

Address after: American California

Patentee after: Flarion Technologies, Inc.

Address before: American New Jersey

Patentee before: Flarion Technologies Inc.

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

Effective date of registration: 20081205

Address after: American California

Patentee after: Qualcomm Inc.

Address before: American California

Patentee before: Flarion Technologies, Inc.

ASS Succession or assignment of patent right

Owner name: QUALCOMM INC.

Free format text: FORMER OWNER: QUALCOMM FLARION TECHNOLOGIES INC.

Effective date: 20081205

CX01 Expiry of patent term

Granted publication date: 20060510

CX01 Expiry of patent term