CN101432970B - 使用最小和原理的低密度奇偶校验码的多阈消息传递解码 - Google Patents

使用最小和原理的低密度奇偶校验码的多阈消息传递解码 Download PDF

Info

Publication number
CN101432970B
CN101432970B CN2006800544216A CN200680054421A CN101432970B CN 101432970 B CN101432970 B CN 101432970B CN 2006800544216 A CN2006800544216 A CN 2006800544216A CN 200680054421 A CN200680054421 A CN 200680054421A CN 101432970 B CN101432970 B CN 101432970B
Authority
CN
China
Prior art keywords
value
minimum value
reliability
association process
processing unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2006800544216A
Other languages
English (en)
Other versions
CN101432970A (zh
Inventor
A·V·贝洛戈罗维
A·G·埃菲莫夫
A·V·查皮真卡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN101432970A publication Critical patent/CN101432970A/zh
Application granted granted Critical
Publication of CN101432970B publication Critical patent/CN101432970B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • H03M13/1122Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule storing only the first and second minimum values per check node
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3723Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using means or methods for the initialisation of the decoder

Landscapes

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

Abstract

使用在多次解码迭代中更新的多值阈方案提供一种用于低密度奇偶校验码(LDPC)的消息传递解码器。在一实施例中,使用最小和原理实现校验节点处理,从而对于奇偶校验矩阵的每个对应行,确定位可靠性值中的第一和第二最小值。解码器的每个行包括由行控制部件控制的一个或多个关联处理部件以用于确定两个最小值。每个列包括一个或多个关联处理部件、输入处理部件和列控制部件以用于确定硬决策位。使用处理部件来构造解码器可以减少门计数,并且减少用于对部件进行耦合的互连。

Description

使用最小和原理的低密度奇偶校验码的多阈消息传递解码
背景技术
通信环境一般涉及一群可发送/接收数据的互连的有线和/或无线装置,例如膝上型计算机、移动电话、服务器、传真机、打印机等。传送装置常常可将信息编码,然后通过装置之间提供的通信介质来传输经编码的数据。接收装置可执行解码、检错和纠错以及此类其它操作以便提取信息。
附图说明
附图中通过举例方式而非限制来说明本文描述的本发明。为了简单和清晰地进行说明,附图中所示的部件不一定按比例绘制。例如,为了清晰起见,可能将一些部件的尺寸相对于其它部件放大。此外,在认为适合的情况下,附图标记可以在附图中重复使用以指示对应或相似的部件。
图1图示包括收发器100和通信信道150的通信***的一实施例。
图2图示图1所示的解码器的操作的一实施例。
图3A图示基于关联处理操作的处理部件(PE)的一实施例。
图3B图示包括图3A的一个或多个PE的宏的一实施例。
图4图示包括图3B的一个或多个宏的解码器的一实施例。
图5说明图4的解码器的行的一实施例。
图6说明图5所说明的行的操作。
图7说明图4的解码器的列的一实施例。
图8图示包括图1的收发器100的***的一实施例。
具体实施方式
下文描述说明低密度奇偶校验(LDPC)解码器。在下文描述中,提出许多具体细节、诸如逻辑实现、资源分区/共享/复制的实现、***组件的类型和相互关系以及逻辑分区/集成选择来提供对本发明的充分理解。但是本领域的技术人员会认识到,在没有这些具体细节的情况下,仍可以实施本发明。在其它实例中,没有对控制结构、门级电路和完整的软件指令序列进行详细描述,以免妨碍对本发明的理解。本领域的技术人员通过本文包含的描述将能够不通过过多的实验即可实现适当的功能。
说明书中对“一个实施例”、“一实施例”、“示范实施例”等的引述表明,所描述的实施例可以包括特定特征、结构或特性,但是并非每个实施例都必需包含所述特定特征、结构或特性。而且,此类短语不一定指同一个实施例。此外,当结合一实施例来描述特定特征、结构或特性时,应当认为结合无论是否明确描述的其它实施例来实现此类特征、结构或特性属于本领域中的技术人员应知的。
本发明的实施例可以采用硬件、固件、软件或它们的任何结合来实现。本发明的实施例还可以作为存储在机器可读介质上的指令来实现,这些指令可以被一个或多个处理器读取并执行。机器可读介质可以包括用于以机器(例如计算装置)可读形式存储或传送信息的任何机构。例如,机器可读介质可以包括只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光存储介质;闪速存储器装置;电、光、声音或其它形式的传播信号(例如,载波、红外线信号、数字信号等)以及其它介质。而且,在本文中可能将固件、软件、例程、指令描述为执行某些动作。但是,应该认识到此类描述仅出于方便的目的,并且此类动作实际是由计算装置、处理器、控制器或其它装置执行固件、软件、例程、指令等所产生的。
图1中图示了通信***一部分的一实施例。通信***的一部分可以包括收发器100和通信介质150。收发器100可以通过通信介质150来发送和接收信号。通信介质150可以表示诸如同轴电缆、光纤的有线介质和无线介质。可以在例如网络接口卡(NIC)、物理层装置(PHY)和此类其它装置中使用收发器100。在一个实施例中,收发器100可以包括发射器120和接收器130。
发射器120可以接收数据位流或信息位,并处理该数据位流以生成信号或符号或码字,然后在通信介质150上传送该信号。在一个实施例中,发射器120可以使用诸如成帧、加扰、编码和映射等技术来处理数据位流。在一个实施例中,发射器120可以使用低密度奇偶校验(LDPC)码来对数据位流编码。发射器120可以使用脉冲振幅调制(PAM)、二进制相移键控(BPSK)和此类其它调制技术来调制位流。
接收器130可以根据接收到的信号生成数据位,然后将数据位发送到例如交换机、路由器或配置成接收数据位的任何装置以进行进一步处理。在一个实施例中,接收器130可以使用诸如解调和解码等技术来处理码字。在一个实施例中,接收器130可以使用LDPC码和迭代解码技术来对码字进行解码。
接收器30的一实施例可以包括解调器140和解码器180。在一个实施例中,解调器140可以基于接收到的符号或码字生成软决策值,并将所述软决策值提供给解码器180。在一个实施例中,软决策可以表示某个位可表示1或0的可能性。可以在根据接收到的码字确定该位的值时将软决策值纳入考虑。在一个实施例中,解码器140可以使用与接收到的码字的置信度和通信介质150的性质(例如信噪比(SNR))相关的信息来生成软决策值。
在一个实施例中,解码器180可以通过基于例如多阈决策方案将码字解码来生成数据位。解码器180可以基于LDPC编码技术来执行迭代解码。在一个实施例中,解码器180可以执行迭代解码直到根据码字生成期望的数据流为止或直到完成了等于log2 n的迭代次数为止,其中n是码字的码长度。
在一个实施例中,解码器180可以基于软决策值来生成初始可靠性值和初始硬决策值。在一个实施例中,解码器180还可以接收初始阈值(Ti),解码器180可以使用LDPC奇偶校验矩阵(H)、初始可靠性值(Ri)和初始硬决策值(Xi)来对码字进行解码。解码器180可以从Ri、Xi和Ti的初始值开始迭代地计算奇偶校验值,并且可以生成新的硬决策矢量。如果新的硬决策矢量表示期望的数据流,则解码器180可以终止迭代,或解码器180可以在确定重传的请求之前执行预定次数的迭代。
在一个实施例中,解码器180可以使用基于关联处理操作的一个或多个处理部件(PE)来执行迭代解码以将从通信介质150接收到的符号解码。在一个实施例中,这些部件可以包括处理逻辑和存储器以便与基于位置或地址来标识数据相比,执行基于存储位置的内容来标识所存储的数据的操作。例如,这些部件可以作为内容可寻址存储器(CAM)而非随机存取存储器(RAM)来操作。
在一个实施例中,解码器180可以使用这些PE来实现基于LDPC解码实现的解码器的一个或多个校验节点更新单元(CNU)和变量节点更新单元(VNU)。CNU可以基于奇偶校验矩阵(H)的对应行和列中的“1”的位置来耦合到一个或多个VNU。在一个实施例中,解码器180可以基于也可使用PE来实现的一致最大功效(UMP)、最小和或者后验概率(APP)算法来操作。
图2中图示了基于多阈决策方案实现的解码器180的操作的一实施例。在框210中,解码器180可以基于软决策值生成初始硬决策矢量(Xi)和初始可靠性矢量(Ri)。对于接收到的码字Y=(Y1,Y2,...,Yn),令N(m)是第m个奇偶校验中使用的码字位置的集合:N(m)={n:H(m,n)=1},其中H是奇偶校验矩阵,以及H(m,n)=1表明H矩阵中(m,n)位置处的值等于1。此外,M(n)可以是包括第n个码字位置的奇偶校验的集合:M(n)={m:H(m,n)=1}。
在初始化时,对于所接收的矢量的每个元素Yi,解码器180可以生成硬决策值Xi和位可靠性值Ri。在一个实施例中,解码器180可以将位可靠性值Ri设置为Yi的绝对值,以及如果Yi大于0,则将硬决策值Xi设置为1,否则将硬决策值Xi设置为0。例如,如果Yi的值等于-2.48,则解码器180可以生成Xi=0和Yi=2.48。对于属于M(n)的每个m,将奇偶校验位可靠性定义位Ymn,其中最初Ymn=Rn,并将关联的硬决策定义位Xmn,其中最初Xmn=Xn。
在框220中,解码器180开始通过基于Xi和Ri生成奇偶校验可靠性值来执行迭代解码过程。在一个实施例中,对于属于M(n)的每个n和每个m,解码器180可以确定校验和Smn。在一个实施例中,解码器180可以按如下方式确定校验和:
Smn=(Xn)XOR(Xmn′MOD 2之和),其中该求和是对属于N(m)\n的n′进行的,并且N(m)\n表示排除位′n′的集合N(m)。
在一个实施例中,解码器180可以按如下方式标识Ymn的最小值的值:
对于属于N(m)\n的n′,Ymn(min)={Ymn′}的最小值。
在框230中,解码器180可以计算阈值。在一个实施例中,对于所有的n,解码器180可以将阈设置为按如下方式对每个n定义的更新的位可靠性集合的最小值:
对于属于M(m)的m,Zn=Rn+对(-1)SmnYmn(min)求和。
更新的位可靠性Zn还可以在解码过程中用作比较可靠性Zmn。
在一个实施例中,解码器180可以通过在解码过程的每次迭代期间自适应地计算阈值来生成多值阈。在另一个实施例中,解码器180可以通过使用更新的位可靠性在第一迭代期间计算该阈的值以生成多值阈,并可以为其余的迭代提供固定的值,例如零。在另一个实施例中,解码器180可以对多值阈值赋予预定的值,预定的值可以基于通信介质150的特性,例如信噪比。
在框240中,解码器180可以基于分别在框220和230中确定的先前奇偶校验可靠性值和多值阈值来更新奇偶校验位可靠性。在一个实施例中,解码器180可以基于初始可靠性值(Rn)、校验和(Smn)和奇偶校验可靠性值的最小值Ymn(min)来计算比较可靠性Zmn。对于属于M(n)的每个n和每个m,解码器180可以按如下方式确定比较可靠性值Zmn:
对于属于N(n)\m的m′,Zmn=Rn+(-1)SmnYm′n(min)之和。
对于每个n,解码器180可以基于比较可靠性Zmn来更新奇偶校验位可靠性。更新可靠性或硬决策值包括,如果比较表明可靠性或硬决策应该保持相同,则保持可靠性或硬决策的值。在一个实施例中,解码器180可以按如下方式确定奇偶校验可靠性Ymn和Xmn:
Ymn=Zmn,(如果Zmn>0),或-Zmn,(如果Zmn<阈),或0(其它情况)。
Xmn=Xmn,(如果Zmn>阈);或(1-Xmn),如果Zmn<阈。
在框250中,解码器180可以基于比较可靠性Zmn来生成新的硬决策矢量C。解码器180可以按如下方式确定硬决策矢量的元素Ci:
Ci=Xi(如果Zmn>0);以及(1-Xi),如果Zmn<0。
在一个实施例中,如果比较可靠性Zmn表明该位应该保持相同,则解码器180可以通过保持该位的值来生成新的硬决策矢量,否则,可以通过更改该位来生成新的硬决策矢量。
在框260中,解码器180可以确定矢量C是否等于期望的数据矢量,并且如果条件为假,则控制传递到框220,否则解码过程结束。
图3A中图示处理部件(PE)310的一实施例。PE 310可以包括逻辑312和存储器316。在一个实施例中,处理部件310可以接受比较数和掩码(mask)作为输入,同时在存储器316中搜索所有存储的数据位置。处理部件310可以将比较数中被掩蔽(masked-on)的位与存储器316中的对应位匹配,并标识匹配数据字。在一个实施例中,PE310可以设置标记或标签来表明存在匹配。
图3B中图示宏350的一实施例。宏350可以包括一个或多个处理部件310。在一个实施例中,宏350可以包括64个PE 310-1至310-64。每个PE可以与其它PE共享所存储的数据,以在每次迭代期间确定新的硬决策矢量。宏350可以用于执行诸如输入处理、行和列数据处理以及行和列控制处理等不同的操作。
图4中图示解码器180的一实施例。在一个实施例中,解码器180可以使用长度为2048位的LDPC码,该码可包含信息位和用于前向纠错的冗余位。对应于2048位的码长度的奇偶校验矩阵可以包含384个行,其中每个行中具有32个“1”以及每个列中具有6个“1”。解码器180因此可以在一行中包含32个数量的宏350以及在一列中包含6个数量的宏350。
基于解码器180中的宏350的位置,宏350可以执行诸如输入数据处理、行和列数据处理以及行和列控制处理等操作。在一个实施例中,可用于执行输入数据处理的宏350可以称为输入处理部件(IPE);可用于执行行和列数据处理的宏350可以称为关联处理部件(APE);可用于执行行控制处理的宏350可以称为行控制部件(RCE);以及执行列控制处理的宏350可以称为列控制部件(CCE)。
在一个实施例中,解码器180可以包含交织器405、IPE 410-1至410-32、RCE 430-1至430-6、APE 451-1至456-32、CCE 480-1至480-32以及解交织器495。IPE、APE、RCE和CCE可以采用字并行、位串行格式来操作。在一个实施例中,类似PE的结构化布置可以减少门计数以及可用于耦合每个部件的导体路径。因此,这种方法可以减少用于实现解码器180的集成电路(IC)芯片的基板面(real estate),并且这种布置还可以增加时钟速率。
可以实现交织器405和解交织器495以用于消息路由和此类其它接口任务。在一个实施例中,交织器405可以接收码字的初始可靠性,并可以将初始可靠性值(Ri)和初始硬决策值(Xi)路由到IPE。例如,可以将与第一行中的第一个“1”对应的输入可靠性值发送到宏IPE 410-1的第一个PE。解交织器495可以收集由每个CCE发送的硬决策,然后将这些信息位向前发送。
在一个实施例中,解码器180可以包含对应于每个列的32个IPE,IPE 410-1至410-32。在一个实施例中,IPE可以基于软决策值来生成硬决策矢量和可靠性矢量。在一个实施例中,IPE可以对接收到的符号的输入可靠性进行缓冲,其中IPE 410的每个PE对一个可靠性值进行缓冲。解码器180还可以在更新列中的可靠性时使用IPE。在一个实施例中,解码器180可以使IPE 410-1至410-32与该列中的对应APE协同操作以便基于阈值和比较可靠性Zmn来生成校验和Smn。
解码器180可以在行1中包括APE 451-1至451-32,在行2中包括APE 452-1至452-32,在行3中包括APE 453-1至453-32,在行4中包括APE 454-1至454-32,在行5中包括APE 455-1至455-32,以及在行6中包括APE 456-1至456-32。在一个实施例中,APE可以存储奇偶校验矩阵(H)的每个“1”的更新的可靠性值,并且可以参与更新每个行和列中的可靠性。在一个实施例中,每个行中的APE连同对应的RCE可以在每次迭代期间确定Ymn(min)。在一个实施例中,每个行中的APE可以接收诸如comparand-1(比较数-1)、comparand-2、掩码和符号等控制值,并生成诸如Some1、Some2、More1和Sign值(符号值)等决策值。每个列中的APE连同CCE可以在每次迭代期间确定校验和Smn、Zmn和硬决策矢量中的一个或多个位。
解码器180的每个行可以包括诸如RCE等控制部件。在一个实施例中,行1可以包括RCE 430-1,其可以生成诸如comparand-1和comparand-2值、掩码值、符号值和时钟信号等控制值,以便确定APE451-1至451-32的每个PE中存储的可靠性值中的第一最小值和第二最小值。RCE 430-1可以接收诸如Some1、Some 2和More 1等决策值,这些决策值可以表明行1中存在第一最小值和第二最小值。RCE430-1可以基于二个最小值(two-min)算法来确定第一最小值和第二最小值,并且可以将该第一最小值和第二最小值存储在行1的对应APE中。
解码器180的每个列可以包括诸如CCE等控制部件。在一个实施例中,列1可以包括CCE 480-1,其可以生成诸如Zmn等更新值,并基于Zmn的值生成硬决策矢量的位。在一个实施例中,CCE 480-1可以与IPE 410-1和APE 451-1至456-1一起操作来基于Smn值和Ymn(min)值来生成比较可靠性Zmn。在一个实施例中,CCE 480-1可以基于Zmn的值和阈值来生成硬决策矢量的位。
图5中图示了在行中共同更新可靠性值的PE的一实施例。APE451-1宏可以包括一个或多个PE 501-1至501-64。图5中详细地说明了PE 501-64的逻辑图,并且可按类似方式实现各个APE 451-1至451-32的其它PE。PE 501-64可以包括逻辑551、逻辑门510-550和存储器516。
逻辑551可以基于诸如comparand-1、comparand-2、掩码和符号等控制值来生成诸如tag-1和tag-2等更新值。在一个实施例中,逻辑551可以基于如下规则来生成tag-1和tag-2值:
tag-1=1,{如果(comparand-1AND掩码)=(可靠性Yi AND掩码)},否则=0。
tag-2=1,{如果(comparand-2AND掩码)=(可靠性Yi AND掩码)},否则=0。
在一个实施例中,每个PE的OR门550可以一起基于tag-1值来生成决策值。在一个实施例中,Some1等于1可表明至少一个PE包含等于被掩蔽的位中的comparand-1的可靠性值。可以提供Some1值作为RCE 430-1的输入。在一个实施例中,逻辑门550可以使用tag-1来基于如下规则生成Some1值:
Some1=1(如果至少一个tag-1=1);否则=0。
在一个实施例中,每个APE中的每个PE的OR门520可以一起基于tag-2值来生成Some2。在一个实施例中,Some2等于1可表明至少一个PE可以包含等于被掩蔽的位中的comparand-2的可靠性值。可以提供Some2值作为RCE 430-1的输入。在一个实施例中,可以基于如下规则来确定Some2:
Some2=1(如果至少一个tag-2=1);否则=0。
在一个实施例中,Some1和Some2可以分别表明各个APE 451-1至451-32中存储的可靠性值中存在第一最小值和第二最小值。
在一个实施例中,APE 451-1至451-32的AND门540和OR门530可以共同基于tag-1值生成More1值。在一个实施例中,More1等于1可以表明多于一个APE可以包含等于第一最小值的可靠性值。在一个实施例中,AND门540可以执行tag-1与从先前PE接收的值的AND运算,并且可以提供结果值作为OR门530的输入。OR门530可以执行AND门540的输出与从先前PE接收的值的OR运算。每个APE生成的输出可以被下一个APE用来基于对应的tag-1值生成More1值。
可以提供More1值作为RCE 430-1的输入。在一个实施例中,可以基于如下规则来确定More1:
More1=1(如果一行中至少两个tag-1=1);否则=0。
在一个实施例中,可以使用XOR门510来生成符号值,并可以提供该符号值作为RCE 430-1的输入。
RCE 430-1可以生成诸如comparand-1、comparand-2、掩码和符号等控制值,然后将这些控制值发送到各个APE 451-1至451-32。在一个实施例中,RCE 430-1可以生成comparand-1和comparand-2以分别确定各个APE 451-1至451-32中存储的可靠性值的第一最小值和第二最小值。在一个实施例中,在初始迭代期间,RCE 430-1可以生成分别等于000...00和000...00的comparand-1和comparand-2,并且掩码可以等于100...0(MSB=1)。
在后续迭代期间,RCE 430-1可以基于从行1中的APE 451-1至451-32接收到的决策值Some1、Some2和More1来生成诸如comparand-1、comparand-2、掩码(Mask)和符号值等控制值。RCE 430-1可以基于如下规则来确定comparand-、compamad-2和掩码的第i位:
Comparand-1[第i位]=1,(如果Some1=1);否则=0。
Comparand-2[第i位]=1,如果{[(More1=0)AND(Comparand-1[MSB:i+1]=Comparand-2[MSB:i+1])]OR[(Some2=0)AND(Comparand-1[MSB:i+1]<>Comparand-2[MSB:i+1])]};否则=0。
Mask[第i位]=1。
RCE 430-1可以基于这些决策值来执行二个最小值搜索算法,并可以执行二个最小值搜索算法来确定对应行中的可靠性值的两个最小值。RCE 430-1可以基于第一最小值和第二最小值来更新行1的每个PE中的可靠性值。
图6中图示执行“两个最小值(two-min)”搜索算法的RCE 430-1的一实施例。在一个实施例中,两个最小值搜索算法可以确定行1中的所有值中的第一和第二最小值。这种方法可以避免对每个PE确定最小值。
在框610中,RCE 430-1可以基于决策值Some1、Some2和More1来确定在所有先前位置中第一最小值和第二最小值这两者是否相等,以及如果这两个最小值相等,则控制传递到框640,否则传递到框680。
在框640中,RCE 430-1可以检查是否(Some1等于1)AND(More1等于0),以及如果该条件为真,则控制传递到框660,否则传递到框680。在一个实施例中,RCE 430-1可以基于如下规则来确定两个最小值:第一最小值被存储到其中可靠性值不等于第一最小值的所有PE中,而第二最小值被存储到所有其它PE中。但是,第一和第二最小可靠性值可以相等。Some1等于1和More1等于0表明仅一个PE包含第一最小值,Some1等于1和More1等于1表明多于一个PE可包含第一最小值。
在框660中,RCE 430-1可以对包含第一最小值的PE赋予0,而对包含第二最小值的所有其它PE赋予1。
在框680中,RCE 430-1可以将第二最小值作为可靠性值赋予该迭代之前包含第一最小值的PE,并且可以将第一最小值作为可靠性值赋予所有其它PE。RCE 430-1可以将第一最小值赋予包含奇偶校验矩阵(H)的该行中的非零值且除包含第一最小值的PE之外的所有其它PE。RCE 430-1可以对之前存储第一最小值的PE赋予第二最小值。
例如,如果对应于奇偶校验矩阵(H)的行1中的非零值的PE可包含诸如0.1、0.2、0.3、0.4、0.5、0.6....的可靠性值,则在该两个最小值搜索过程之后,RCE 430-1可确定第一最小值(=0.1)和第二最小值(=0.2)。RCE 430-1可以将对应PE的可靠性值更改成0.2、0.1、0.1、0.1、0.1和0.1。行1的RCE 430-1可以将第二最小值0.2赋予当前迭代之前包含第一最小值的PE,并且可以将第一最小值赋予对应于奇偶校验矩阵(H)在行1中的非零值的所有其它PE。
图7中图示了共同更新列可靠性值的PE的一实施例。在一个实施例中,解码器180的列-1可以包括IPE 410-1、APE 451-1至456-1和CCE 480-1。在一个实施例中,CCE可以作为串行、并行或串行/并行混合加法器来实现。在一个实施例中,CCE 480-1可以向该列中的APE发送广播消息,这些APE可以利用诸如Xmn和Ymn(min)等可靠性值来进行响应。
在一个实施例中,CCE 480-1可以在第一次迭代期间基于初始可靠性值(Ri)和初始硬决策矢量(Xi)来生成校验和Smn。可以使用通过列处理确定的Smn的值和通过行处理确定的Ymn(min)的值来确定可用作比较可靠性Zmn的更新的可靠性值Zn。CCE 480-1可以更新奇偶校验可靠性值,并基于Zmn和阈值来生成新的硬决策矢量的位。CCE 480-1可以在后续迭代期间基于更新的可靠性值(Xmn和Zmn)来生成校验和Smn,并且迭代过程可以持续进行,直到确定无错硬决策矢量为止或直到执行了预定次数的迭代为止。
图8中图示了网络***800的一实施例。网络***800可以包括网络装置810和网络850。网络装置810可以对应于路由器、膝上型计算机、台式计算机、手持装置、网络接口卡或能够耦合到网络850的任何此类装置。
网络850可以包括一个或多个中间装置,例如交换机和路由器,中间装置可以接收分组、处理分组以及将分组发送到适合的中间装置。网络850可使诸如网络装置810等网络装置能够传送和/或接收数据。网络850的中间装置可以配置成支持TCP/IP、ATM以及任何此类通信协议。网络850能够经由通信介质耦合到诸如网络装置810等网络装置,通信介质可以传输与诸如10G以太网等技术对应的分组。
网络装置810可以生成一个或多个分组并将这些分组发送给耦合到网络850的其它网络装置。网络装置810可以经由网络850从其它网络装置接收分组。在一个实施例中,网络装置810可以包括处理器812、存储器814和网络接口618。处理器812可以响应执行指令使接口818向网络装置810的用户提供语音、数据或视频,并且存储器814可以存储处理器812执行的指令。网络接口818可以包括例如包含诸如收发器100等收发器的网络接口卡。
在一个实施例中,收发器100可以根据IEEE 802.3an系列标准定义的发展中的10GBase-T标准与网络850通信,但是也可以使用其它标准。在一些实施例中,收发器100可以使用任何类型的介质与网络850通信,这些介质诸如但不限于铜质双绞线、光信道、无线信道、电力线信道、声音/声纳信道、印刷电路板(PCB)、背板、同轴电缆或任何其它介质。例如,通信介质150可以是类别5、6、6a或7的网络电缆布线和/或任何其它屏蔽或无屏蔽电缆布线。
收发器100可以处理表示由应用所生成的以及例如通过10GbE(10吉位以太网)从网络850接收的数据的码字或符号,这些应用诸如电子邮件、语音、数据、视频或文件传输应用。诸如收发器100的发射器130等接收器可以接收码字或符号,并使用上文描述的技术将这些码字解码来生成位流。接收器130可以将这些数据流发送到用户接口,用户接口可以将这些数据流转换成对应的信号。
已参考示范实施例描述了本发明的某些特征。但是,不应将该描述视为限制意义的。与本发明相关的技术领域的技术人员显见到的对这些示范实施例以及本发明的其它实施例的各种修改被认为处于本发明的精神和范围内。

Claims (26)

1.一种用于处理数据的设备,包括:
基于关联处理进行操作的多个处理部件,所述多个处理部件耦合来以字并行、位串行格式执行操作,其中所述多个处理部件被进一步耦合以便以迭代方式使用位可靠性值将接收到的码字解码,使得对于每次迭代,基于使用阈值的比较来更新所述位可靠性值,所述阈值基于在迭代解码期间更新的多个阈值,所述位可靠性值设置为接收到的码字的每个元素的绝对值,所述多个处理部件中的每个处理部件还包括:
用于存储数据的存储单元,其中基于存储内容而不是地址来标识存储在所述存储单元中的所述数据;和
处理逻辑单元,用于将所述位可靠性值与所述阈值进行比较。
2.如权利要求1所述的设备,其中所述多个处理部件包括输入处理部件、行控制部件、列控制部件和基于低密度奇偶校验矩阵的每个行和列中存在的第一逻辑电平的存在而布置在一个或多个行和列中的关联处理部件。
3.如权利要求2所述的设备,其中每个列还包括输入处理部件,所述输入处理部件基于软决策值来确定码字的位位置的初始位可靠性和初始硬决策值,其中基于所述低密度奇偶校验矩阵来生成所述码字,以及基于位表示第一值的可能性来生成所述软决策值。
4.如权利要求3所述的设备,其中所述输入处理部件生成
所述初始位可靠性,所述初始位可靠性等于与所述位位置对应的值的绝对值,以及
如果所述软决策值为正,则生成等于第二值的所述初始硬决策值,否则生成等于第三值的所述初始硬决策值。
5.如权利要求2所述的设备,其中所述行的第一行包括第一组关联处理部件和第一行控制部件,所述第一组关联处理部件和第一行控制部件共同在第一次迭代期间确定所述第一组关联处理部件中存储的位可靠性值的第一最小值和第二最小值。
6.如权利要求5所述的设备,其中所述第一行控制部件
将所述第一最小值存储在所述第一组中包含不同于所述第一最小值的值的关联处理部件中,以及
将所述第二最小值存储在所述第一组中于所述第一迭代之前存储所述第一最小值的关联处理部件。
7.如权利要求5所述的设备,其中所述第一行控制部件
生成一个或多个控制值,所述一个或多个控制值包含用于确定所述第一组关联处理部件中存在所述第一最小值的第一比较数和掩码、用于确定所述第一组关联处理部件中存在第二最小值的第二比较数和掩码,
接收指示所述第一最小值和所述第二最小值这两者中的一个或多个的存在的一个或多个决策值,以及
基于所述一个或多个决策值来确定所述第一最小值和所述第二最小值。
8.如权利要求7所述的设备,其中所述第一组关联处理部件
接收所述一个或多个控制值,以及
生成所述一个或多个决策值,所述一个或多个决策值包含表明所述第一关联处理部件的至少一个中存在所述第一最小值的第一值、表明所述第一关联处理部件的至少一个中存在所述第二最小值的第二值、以及表明所述第一关联处理部件的至少两个中存在所述第一最小值的第三值。
9.如权利要求8所述的设备,所述第一组关联处理部件包括第一部件,所述第一部件又包括:
用于接收所述一个或多个控制值并生成更新值的所述处理逻辑单元内部的模块,其中所述更新值表示所述第一比较数的被掩蔽的位与所述第一部件中存储的位可靠性值的比较结果;以及
所述处理逻辑单元内部的一组逻辑门,用于基于所述更新值来生成所述一个或多个决策值并将所述决策值发送到第二部件。
10.如权利要求2所述的设备,其中所述列的第一列包括第一输入处理部件、第一列控制部件和第二组关联处理部件,这些部件共同确定更新的硬决策矢量的第一位。
11.如权利要求10所述的设备,其中所述第一输入处理部件、所述第一列控制部件以及所述第二组关联处理部件共同基于第一比较可靠性值和所述多个阈值的第一阈值来确定更新的硬决策矢量的第一位。
12.如权利要求11所述的设备,其中所述第一输入处理部件、所述第一列控制部件和所述第二组关联处理部件共同基于第一校验和来确定所述第一比较可靠性值,所述第一校验和是基于所述硬决策值和第一最小值来确定的,所述第一最小值表示第一行的第一组关联处理部件中存储的所述位可靠性的最小值。
13.如权利要求1所述的设备,其中所述多个处理部件基于接收低密度奇偶校验码字所通过的通信信道的第一特性来确定所述多个阈值。
14.如权利要求1所述的设备,其中所述多个处理部件持续以迭代方式将低密度奇偶校验码字解码,直到生成期望的数据流为止。
15.如权利要求1所述的设备,其中所述多个处理部件持续以迭代方式将低密度奇偶校验码字解码log2n次迭代,其中n是所述码字的码长度。
16.一种用于处理数据的方法,包括:
基于关联处理操作多个处理部件,所述多个处理部件以字并行、位串行格式执行操作,以及
利用所述多个处理部件以迭代方式使用位可靠性值将接收到的码字解码,使得对于每次迭代,基于使用阈值的比较来更新所述位可靠性值,所述阈值基于在迭代解码期间更新的多个阈值,所述位可靠性值设置为接收到的码字的每个元素的绝对值,
其中所述多个处理部件中的每个处理部件包括:
用于存储数据的存储单元,其中基于存储内容而不是地址来标识存储在所述存储单元中的所述数据;和
处理逻辑单元,用于将所述位可靠性值与所述阈值进行比较。
17.如权利要求16所述的方法,还包括:
在第一次迭代期间确定存储在第一组关联处理部件中的位可靠性值的第一最小值和第二最小值;
将所述第一最小值存储在所述第一组中包含不同于所述第一最小值的值的关联处理部件中;以及
将所述第二最小值存储在所述第一组中于所述第一迭代之前存储所述第一最小值的关联处理部件中。
18.如权利要求17所述的方法,还包括:
生成一个或多个控制值,所述一个或多个控制值包含用于确定所述第一组关联处理部件中存在所述第一最小值的第一比较数和掩码;
生成用于确定所述第一组关联处理部件中存在所述第二最小值的第二比较数和掩码;
接收表明所述第一最小值和所述第二最小值这两者中的一个或多个的存在的一个或多个决策值;以及
基于所述一个或多个决策值来确定所述第一最小值和所述第二最小值。
19.如权利要求18所述的方法,还包括:
接收所述一个或多个控制值;
生成所述一个或多个决策值,所述一个或多个决策值包含表明所述第一关联处理部件的至少一个中存在所述第一最小值的第一值;
生成所述一个或多个决策值,所述一个或多个决策值包含表明所述第一关联处理部件的至少一个中存在所述第二最小值的第二值;以及
生成所述一个或多个决策值,所述一个或多个决策值包含表明所述第一关联处理部件的至少两个中存在所述第一最小值的第三值。
20.如权利要求19所述的方法,还包括:
接收所述一个或多个控制值;
生成第一更新值,其中所述第一更新值表示所述第一比较数的被掩蔽的位与第一位可靠性值的比较结果;以及
生成第二更新值,其中所述第二更新值表示所述第二比较数的被掩蔽的位与第一位可靠性值的比较结果。
21.一种用于处理数据的***,包括:
发射器;
网络接口,用于通过通信介质来接收一个或多个码字;
接收器,包括解调器和解码器,所述解调器用于基于所述通信介质的一个或多个特性来生成所述一个或多个码字的软决策,和
解码器,其包括:
基于关联处理进行操作的多个处理部件,所述多个处理部件耦合来以字并行、位串行格式执行操作,其中所述多个处理部件被进一步耦合以便以迭代方式使用位可靠性值将接收到的码字解码,使得对于每次迭代,基于使用阈值的比较来更新所述位可靠性值,所述阈值基于在迭代解码期间更新的多个阈值,所述位可靠性值设置为接收到的码字的每个元素的绝对值,所述多个处理部件中的每个处理部件还包括:
用于存储数据的存储单元,其中基于存储内容而不是地址来标识存储在所述存储单元中的所述数据;和
处理逻辑单元,用于将所述位可靠性值与所述阈值进行比较。
22.如权利要求21所述的***,其中所述接收器根据10GBase-T标准以每秒至少10吉位的速率来接收所述一个或多个码字。
23.如权利要求21所述的***,还包括:
通过基于低密度奇偶校验码来对位流编码以生成所述一个或多个码字,并通过所述通信介质来发送所述一个或多个码字;以及
所述网络接口,用于通过所述通信介质以至少10吉位的速率来传送所述一个或多个码字。
24.如权利要求21所述的***,表示网络接口卡。
25.如权利要求21所述的***,所述***还包括计算机、交换机、路由器、手持装置、蜂窝电话或服务器这六者中的至少一个。
26.如权利要求16所述的方法,其中,所述第一组关联处理部件:
通过标识第一和第二最小值的内容而不是标识包含在机载存储器中的第一和第二最小值的地址,来确定位可靠性值的第一最小值和第二最小值;以及
以字并行、位串行格式执行操作。
CN2006800544216A 2006-04-28 2006-04-28 使用最小和原理的低密度奇偶校验码的多阈消息传递解码 Expired - Fee Related CN101432970B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2006/000219 WO2007126328A1 (en) 2006-04-28 2006-04-28 Multi-theshold message passing decoding of low density parity check codes using the min-sum principle

Publications (2)

Publication Number Publication Date
CN101432970A CN101432970A (zh) 2009-05-13
CN101432970B true CN101432970B (zh) 2012-11-14

Family

ID=37686050

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800544216A Expired - Fee Related CN101432970B (zh) 2006-04-28 2006-04-28 使用最小和原理的低密度奇偶校验码的多阈消息传递解码

Country Status (4)

Country Link
US (1) US7836383B2 (zh)
EP (1) EP2025062A1 (zh)
CN (1) CN101432970B (zh)
WO (1) WO2007126328A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7797613B1 (en) * 2006-02-22 2010-09-14 Aquantia Corporation Digital implementation of an enhanced minsum algorithm for error correction in data communications
FR2904499B1 (fr) * 2006-07-27 2009-01-09 Commissariat Energie Atomique Procede de decodage a passage de messages avec ordonnancement selon une fiabilite de voisinage.
JP2009100222A (ja) * 2007-10-16 2009-05-07 Toshiba Corp 低密度パリティ検査符号の復号装置およびその方法
US8161348B2 (en) * 2008-02-05 2012-04-17 Agere Systems Inc. Systems and methods for low cost LDPC decoding
US8156409B2 (en) * 2008-02-29 2012-04-10 Seagate Technology Llc Selectively applied hybrid min-sum approximation for constraint node updates of LDPC decoders
US8527849B2 (en) * 2011-08-19 2013-09-03 Stec, Inc. High speed hard LDPC decoder
US9213742B2 (en) * 2011-09-06 2015-12-15 Cleversafe, Inc. Time aligned transmission of concurrently coded data streams
US8645788B2 (en) * 2011-12-30 2014-02-04 Infinera Corporation Forward error correction (FEC) convergence by controlling reliability levels of decoded words in a soft FEC decoder
US9614548B1 (en) * 2013-07-08 2017-04-04 Marvell International Ltd. Systems and methods for hybrid message passing and bit flipping decoding of LDPC codes
US8930790B1 (en) 2013-09-13 2015-01-06 U-Blox Ag Method and apparatus for identifying selected values from among a set of values
KR101618854B1 (ko) * 2014-04-22 2016-05-10 아주대학교 산학협력단 비트-직렬 방식의 복호기 및 그 최소값 탐색 방법
TWI573147B (zh) * 2015-11-05 2017-03-01 大心電子股份有限公司 解碼方法、記憶體儲存裝置及記憶體控制電路單元

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6691263B2 (en) * 2001-05-03 2004-02-10 Agere Systems Inc. Interative decoding based on dominant error events

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6421804B1 (en) * 1999-12-20 2002-07-16 Agere Systems Guardian Corp. Generating reliability values for iterative decoding of block codes
WO2003021440A1 (en) 2001-09-01 2003-03-13 Bermai, Inc. Decoding architecture for low density parity check codes
KR20040036460A (ko) 2002-10-26 2004-04-30 삼성전자주식회사 Ldpc 복호화 장치 및 그 방법
US7139959B2 (en) * 2003-03-24 2006-11-21 Texas Instruments Incorporated Layered low density parity check decoding for digital communications
JP3891186B2 (ja) * 2004-03-22 2007-03-14 住友電気工業株式会社 復号装置および前処理装置
WO2005096509A1 (en) 2004-03-31 2005-10-13 Intel Corporation Multi-threshold message passing decoding of low-density parity check codes
DE602004019216D1 (de) 2004-09-29 2009-03-12 Lucent Technologies Inc Iterative Decodierung von Low-Density Parity-Check (LDPC) Codes
US20060195765A1 (en) * 2005-02-28 2006-08-31 Texas Instruments Incorporated Accelerating convergence in an iterative decoder

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6691263B2 (en) * 2001-05-03 2004-02-10 Agere Systems Inc. Interative decoding based on dominant error events

Also Published As

Publication number Publication date
US7836383B2 (en) 2010-11-16
WO2007126328A1 (en) 2007-11-08
CN101432970A (zh) 2009-05-13
WO2007126328A9 (en) 2008-12-11
US20080292025A1 (en) 2008-11-27
EP2025062A1 (en) 2009-02-18

Similar Documents

Publication Publication Date Title
CN101432970B (zh) 使用最小和原理的低密度奇偶校验码的多阈消息传递解码
US10469099B2 (en) Apparatus and method for multilevel coding (MLC) with binary alphabet polar codes
US8020070B2 (en) Trapping set decoding for transmission frames
KR100543154B1 (ko) 저밀도 패리티 검사 코드 생성 방법 및 시스템
US8196016B1 (en) Trapping set decoding for transmission frames
CA2454574C (en) Method and system for memory management in low density parity check (ldpc) decoders
KR100634940B1 (ko) 저밀도 패리티 검사(ldpc) 코드화된 신호의 동보 송신을 지원하기 위한 방법 및 장치
KR100574306B1 (ko) Ldpc 코드를 디코딩하기 위한 방법 및 시스템
US20080082895A1 (en) Method and system for generating low density parity check codes
US20080065947A1 (en) Method and system for decoding low density parity check (ldpc) codes
WO2007075098A1 (en) Generalized multi-threshold decoder for low-density parity check codes
US11652498B2 (en) Iterative bit flip decoding based on symbol reliabilities
US11677500B2 (en) Methods and apparatus for encoding and decoding of data using concatenated polarization adjusted convolutional codes
JP2004064757A (ja) 低密度のパリティチェックコードを使用する衛星通信システム
CN101091321A (zh) 用于低密度奇偶校验码的多门限解码的固定门限和信道估计
CN105052066A (zh) 用于多阶段软输入解码的***和方法
CN101176322A (zh) 用于通信环境的调制方案
Yazdani et al. Reliable communication over non-binary insertion/deletion channels
CN111181684B (zh) 解码方法以及解码装置
US8930799B1 (en) Methods and apparatus for correcting block-coded data errors with an error detection code
CN114785451B (zh) 上行图像分割多址接入传输的接收方法、装置及存储介质
WO2008039098A1 (en) A modified min-sum kernel for a low density parity check (ldpc) code decoder
CN117170927A (zh) 具有改进的纠错功能的电子设备及其操作方法
Bardis et al. Transmission error correction based on the weighted checksum
Faraj Error detection and correction using fast coding

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121114

Termination date: 20190428