CN1312846C - 使用射影分析来评价和最优化纠错码 - Google Patents

使用射影分析来评价和最优化纠错码 Download PDF

Info

Publication number
CN1312846C
CN1312846C CNB028031032A CN02803103A CN1312846C CN 1312846 C CN1312846 C CN 1312846C CN B028031032 A CNB028031032 A CN B028031032A CN 02803103 A CN02803103 A CN 02803103A CN 1312846 C CN1312846 C CN 1312846C
Authority
CN
China
Prior art keywords
projection
message
node
probability
correcting code
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
CNB028031032A
Other languages
English (en)
Other versions
CN1476674A (zh
Inventor
J·S·耶迪达
E·B·苏德斯
J·-P·布朝德
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of CN1476674A publication Critical patent/CN1476674A/zh
Application granted granted Critical
Publication of CN1312846C publication Critical patent/CN1312846C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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/1191Codes on graphs other than LDPC codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/01Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • 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

Landscapes

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

Abstract

一种方法评价和最优化待通过噪声信道传输并由迭代消息传递解码器来解码的纠错码。用被模型化为具有多个变量节点和校验节点的二部图的奇偶校验矩阵来表示纠错码。为解码器提供一个组消息传递规则集合。分析解码器以获得包括运算符和运算数的一个密度演化规则集合,该运算符和运算数然后被变换为射影运算符和射影运算数以产生一个射影消息传递规则集合。迭代地将射影消息传递规则应用于由二部图模型化的纠错码,直到达到终止条件。然后通过评价对应的运算数来确定纠错码所选位的错误率。错误率可被传递给最优化器以最优化纠错码。

Description

使用射影分析来评价和最优化纠错码
技术领域
本发明通常涉及用于数据存储和数据传输的纠错码的领域,更具体而言,涉及评价和最优化纠错码。
背景技术
数据存储和通信领域申的基本问题是纠错码(ECC)的评价。用于本发明所针对的问题的一般框架如图1中所示。源110欲将由矢量u111表示的k位的块传输给目标150。源110通过使源符号经过编码器120而将冗余位加给它们。编码器的输出是由矢量x121表示的N位的块。N位的块经过信道130,经历噪声135,在这里该块可能被掺杂为由矢量y表示的另一个N个输出符号131的块。然后信道的输出被解码140为用于目标150的由k位的矢量v141表示的所接收的块。
理想的是,所接收的块141将匹配所传输块111。然而,在实际条件下,有时将出现一些解码错误。当所接收的块中的至少一个位与所传输块中的位不一致时,出现被称为块错误的解码错误。块错误率是所传输决的至少一个位将被错误地接收的概率在所传输决的概率分布上的平均。在许多情况下,较好的指标量度是位错误率,它是任何给定位将被错误地接收的概率。评价纠错码的主要目的是确定其位错误率。
由稀疏广义奇偶校验矩阵描述的纠错码近来已成为高度理论关注的主题。这些类型的码是在“Low-density parity check codcs,”Vol.21,Research Monograph Series,MIT Press,1963中由R.G.Gallager首先描述的,但直到最近才被正确理解。然而,在最后十年中,由稀疏广义奇偶校验矩阵限定的各种改进码已被描述,如turbo码、不规则低密度奇偶校验(LDPC)码、Kanter-Saad码、repeat-accumulate码和不规则repeat-accumulate码。
这些改进码具有三个特别值得注意的优点。第一,该码可使用消息传递迭代解码方法来有效地解码,该方法有时被称为“信念传播”(BP)方法。第二,这些码的性能常常可使用密度演化(density evolution)方法从理论上来评价,至少是在无限块长度的极限情况下。第三,通过使用密度演化方法,可证明当使用BP时,这些码是几乎最优的码。具体而言,在无限块长度的极限情况下,密度演化方法典型地证明,BP解码正确地恢复具有在一些阈级以下的噪声级的所有数据块,并且阈级常常不远离香农极限。有关这种码及其关联BP解码方法的报告的收集,见Special Issue on Codes on Graphs and Iterative Algorithms,IEEETransaction on Information Theory,Feb.2001。
密度演化方法开始于已在以上引用的R.G.Gallager的工作。密度演化方法在“Practical Loss-Resilient Codes,”Proceedings 29thAnnual ACM Symposium on the Theory of Computing,1997,pp.150-159中由M.Luby,M.Mitzenmacher,M.A.Shokrollahi,D.Spielman和V.Stemann在无记忆BEC的情况下被再次介绍。当该方法通用于其它信道,包括无记忆二元对称信道(BSC)时,名称“密度演化”是在“TheCapacity of Low-Density Parity Check Codes Under Message-PassingDecoding”IEEE Trans.Inform.Theory,vol 47.,pp.599-618,Feb.2000中由T.Richardson和R.Urbanke实际介绍的。
密度演化方法的重要缺点是,它仅当已知为二部或二部图的码的图形表示没有循环时是精确的。幸运的是,对于各种码,已表明在码的块长度N接近无限的极限情况下,二部图表示中循环的存在可被忽略,并且密度演化方法的结果变为精确的。由于所有最佳性能的码的确在其二部图表示中具有循环,这实际上意味着密度演化方法的应用被局限于其块长度N接近无限的极限情况下的一些码。
给出一种方法来量度码的性能,可设计使性能最优化的纠错码。用于设计将用BP解码来解码的改进码的优选现有技术方式已被用于使用密度演化方法来最优化无限块长度极限的特定类别码,并希望按比例缩小的版本仍产生近乎最优的码。例如,见T.Richardson和R.Urbanke,“Design of Capacity-Approaching Irregular Low-Density Parity-Check Codes”IEEE Trans.Inform.Theory,vol 47.,pp.619-637,Feb.2000。
该方法的问题是,即使对于很大的块长度,如长度N小于104的块,仍明显远离无限块长度极限。具体而言,许多解码错误被发现于由无限块长度计算所预测的远在阈级以下的噪声级的情况。此外,可能未必存在按比例缩小从密度演化方法得到的码的方式,这可能也是不必要的。例如,在N→∞的极限情况下有给定速率的最佳已知不规则LDPC码常常具有参与几百甚至几千个奇偶校验的位,当奇偶校验的总数是100或以下时,这是没有意义的。
有中等块长度的码,例如小于104的块长度,对许多应用是重要的。因此,在通过BP解码方法来解码时,需要实际方法来直接评价任意中等块长度纠错码的性能。除了其作为码设计方法的一部分的效用以外,这种方法还可被用于码校验。奇偶校验码的BP解码的性能目前一般由“蒙特卡洛”模拟来判断,其随机产生几千或几百万的噪声块。
不幸的是,如在例如磁盘驱动或光纤信道应用中,当需要解码错误率非常小时,这种模拟作为码校验技术变得不实用。这在评价常常经受“错误向下舍入(error-floor)”现象的turbo码或LDPC码的过程中是严重的问题,如果错误向下舍入处于足够低的解码错误率,则难以检测该现象。
此外,理想的是,当信道是二元存疑信道或二元对称信道时,所述方法可被使用。因此,那些信道、奇偶校验码、迭代解码方法和密度演化方法被较详细地描述。
二元存疑信道(BEC)和二元对称信道(BSC)
二元存疑信道(BEC)是一个二元输入信道,其有两个输入符号0和1并有三个输出符号:0、1和可由问号“?”表示的存疑。经过该信道的位将以概率1-x被正确接收,并将以概率x被接收为存疑。
二元对称信道(BSC)是有两个输入符号0和1并有两个输出符号:0和1的二元输入信道。一个位将经过该信道并以概率1-x在其被传输的状态下被正确接收,并将以概率x被不正确地转变为其它状态。
所述方法应当可适用于BEC和BSC的无记忆版本。在无记忆信道中,每个位独立于每个其它位而被存疑或转变。许多实际信道对好的近似是无记忆的。在任何情况下,无记忆BEC和无记忆BSC对于评价和设计新的纠错码是极好的试验台,即使当它们不总是理想的实际模型时。
可假定BEC的存疑概率或BSC的转变概率对于每个位是相同的,这是因为那是一般的理想状况。然而,方便的将是让存疑概率或转变概率明确地依赖于块中位的位置。这样,块中的位以字母i作为索引,而第i位的BEC中的存疑概率或BSC中的转变概率被取为xi。如果需要,在分析结束时,所有位的概率xi可被最终设置为相等。
奇偶校验码
线性块二元纠错码可根据奇偶校验矩阵来限定。在奇偶校验矩阵A中,列表示被传输的变量位,而行限定变量位之间的线性约束或校验。更具体而言,矩阵A限定一组有效矢量或码字z以使z的每个分量是0或1,并且
Az=0,                          (1)
其中所有乘法和加法是以2为模的。
如果奇偶校验矩阵具有N列和N-k行,则矩阵通常限定块长度N和传输速率k/N的纠错码。如果一些行是线性相关的,则一些奇偶校验将是冗余的,并且码实际上将具有较高的传输速率。
如图2中所示,有每个奇偶校验矩阵的对应的二部图,见R.M.Tanner,“A recursive method to low complexity codes,”IEEE Trans.Info.Theory,IT-27,pages 533-547,1981。Tanner图是有两种类型节点的二部图:由圆圈201表示的变量节点i(1-6)和由方块202表示的校验节点A、B和C。在二部图中,每个校验节点被连接于参与校验的所有变量节点。例如,奇偶校验矩阵
A = 1 1 0 1 0 0 1 0 1 0 1 0 0 1 1 0 0 1 - - - ( 2 )
由图2中所示的二部图表示。
在实际应用中,表示码的图典型地包括以任何数量的不同方式被连接的几千个节点,并包含许多回路(loop)(循环)。评价由这样的图限定的码或者设计性能最优的码是很困难的。
由奇偶校验矩阵限定的纠错码是线性的。这意味着每个码字是其它码字的线性组合。在校验矩阵中,有2k个可能的码字,每个的长度为N。对于以上给出的实例,码字为000000、001011、010110110、011101、100110、101101、110011、111000。由于线性特性,假定信道在输入0和1之间对称,如在BEC或BSC中,则任何码字是代表性的。
为了评价一个码,一般假定全为零的码字被传输。
广义奇偶校验矩阵
广义奇偶校验矩阵限定许多现代的纠错码,如turbo码、Kanter-Saad码和repeat-accumulate码。在广义奇偶校验矩阵中,附加的列被加给奇偶校验矩阵以表示“隐”变量节点。隐变量节点参与奇偶校验并帮助约束码的可能码字,但它们不是通过信道发送的。这样,块的接收器必须解码没有任何直接信息的位值——在某种意义上,可认为所有隐节点到达时是“被存疑的”。隐藏变量节点的优点是可提高码的传输速率。用于隐状态变量的一个好的标记法是在奇偶校验矩阵中的对应列之上的水平线,例如,可写出
A = 1 - 1 0 1 0 0 1 0 1 0 1 0 0 1 1 0 0 1 - - - ( 47 )
以表示第一变量节点是隐节点的码。为表示变量节点是隐节点,使用中空的(open)圆圈,而不是被填充的圆圈。概括二部图的这种图被称为“Wiberg图”,见N.Wiberg,“Codes and decoding on general graphs”,Ph.D.Thesis,University of Linkoping,1996,和N.Wiberg等,“Codesand iterative decoding on general graphs”Euro.Trans.Telecom,Vol.6,pages 513-525,1995。
迭代消息传递解码
理想的是,提供一种为码而评价迭代消息传递解码器的性能的方法,其中每个消息的每个可能状态可取有限数量的离散值。这种解码方法的好的实例是用于BEC的信念传播(BP)解码方法和用于ESC的“Gallager A”解码方法,其在以下被较详细地描述。这种解码器的其它实例是量化信念传播解码器,其由T.Richardson和R.Urbanke详述于“The Capacity of Low-Density Parity Check Codes UnderMessage-Passing Decoding”IEEE Trans.Inform.Theory,vol 47.,pp.599-618,Feb.2000。
BEC中的信念传播解码
重要的是注意BEC从不将位从0转变为1,反之亦然。如果全为零的码字被传输,则所接收的字必须因此全部由零和存疑组成。在BEC的情况下,BP解码通过在二部图的节点之间传递离散消息来工作。每个变量节点i将消息mia发送给每个所连接的校验节点a。该消息表示变量节点i的状态。通常,该消息可以是三个状态:1、0或?之一,但由于全为零的码字总是被传输,mia具有位值一的可能性可被忽略。
类似地,有从每个校验节点a被发送给连接于校验节点的所有变量节点i的消息mai。这些消息被理解为从校验节点a到变量节点i的有关变量节点应处于什么状态的指示。该消息基于被连接于校验节点的其它变量节点的状态。原则上,对位校验(check-to-bit)的消息可以取位值0、1或?,但当全为零的码字被传输时,同样仅两个消息0和?是相关的。
在用于BEC的BP解码过程中,从变量节点i到校验节点a的消息mia等于非存疑的所接收的消息,这是因为这样的消息在BEC中总是正确的,或者当所有进入的消息是存疑时,等于存疑。当来自参与校验的另一个节点的任何进入的消息是存疑时,从校验节点a到变量节点i的消息mai是存疑。否则,消息取来自参与校验的其它节点的所有进入的消息的模2和值。
BP解码是迭代的。迭代以整数t作为索引,t必须大于或等于一。在第一次迭代时,当t=1时,变量到校验节点消息被初始化,从而使不被信道存疑的所有变量节点发送出等于对应的所接收的位的消息。然后,校验到变量消息由以上提到的标准规则来确定。在第一次迭代结束时,如果任何其进入的消息是非存疑的,则变量节点可认为是被解码的。这样的消息必定总是正确的,因此位被解码为由消息指示的值。
在每个随后的迭代时,首先更新从变量节点到校验节点的所有消息,然后更新从校验节点到变量节点的所有消息,然后校验每个位以查看它是否已被解码。当达到某些准则时,例如在固定数量的迭代之后,或在消息收敛于静止状态时,停止迭代。对于非常简单的BEC,消息可在BP解码过程中仅从存疑消息到非存疑消息改变,因此迭代解码过程最终必定收敛。
用于BSC的“Gallager A”解码方法
用于BSC的“Gallager A”解码方法是在“Low-density parity checkcodes,”Vol.21,Research Monograph Series,MIT Press,1963中由R.G.Gallager首先描述的。其工作如下。如在用于BEC的BP解码中,有两个类别的消息:从变量节点到校验节点的消息;从校验节点到变量节点的消息。然而,消息的含义略为不同。
通过每个变量节点发送消息给每个所连接的校验节点来初始化该解码方法。消息是0或1依赖于通过信道接收的位值。反过来,每个校验节点发送消息给所连接的变量节点。该消息是0或1并被理解为有关变量节点应处于的状态的命令。具体而言,消息是校验节点从其连接的其它变量节点接收的消息的模2和。
在Gallager A解码方法的进一步迭代中,每个变量节点继续将所接收的位值发送给所连接的校验节点,除非变量节点接收了足够的矛盾消息。具体而言,如果除了作为消息接受者的校验节点以外的所有其它所连接的校验节点把与它从信道接收的位值矛盾的消息发送给变量节点,则变量节点发送它从所有其它校验节点接收的消息。
Gallager A解码方法被迭代直到某些准则被达到,如固定数量的迭代。在每一次迭代时,每个位被解码为变量节点从信道接收的位值,除非来自所连接校验节点的所有进入的消息在其它位值上达成一致。
密度演化
密度演化是一种使用上述迭代消息传递解码来评价奇偶校验码的方法。具体而言,密度演化可确定码的平均位错误率。现在,在BEC中的BP解码的情况下描述密度演化。已经为其它迭代消息传递解码器而得到类似密度演化方法,从而使每个消息仅可处于有限数量的离散状态,例如上述的Gallager A解码方法或量化信念传播解码器。通常,密度演化方法被表示为涉及解码器中所用的每个消息处于每个其状态的概率的规则集。
在用于BEC中的BP解码的密度演化方法的情况下,每个消息是存疑的、在所有可能所接收的块上被平均的概率被考虑。迭代以整数t为索引。表示在迭代t时消息mia是存疑的概率的实数pia(t)被与从变量节点到校验节点的每个消息mia关联。类似地,表示在迭代t时消息mai是存疑的概率的实数qai(t)被与从校验节点到变量节点的每个消息mai关联。在密度演化方法中,只要表示纠错码的二部图没有回路,概率pia(t)和qai(t)以精确的方式被确定。
确定概率pia(t)的“规则”是
P ia ( t + 1 ) = x i Π b ∈ N ( i ) \ a q bi ( t ) , - - - ( 3 )
其中j∈N(i)\a表示被直接连接于相邻变量节点i的所有校验节点,除了校验节点a。注意,在密度演化中,该规则包括运算数x和q以及乘法运算符。
该规则可从以下事实得到:对于待作为存疑的消息mia,变量节点i必须在传输期间被存疑,并且来自其它校验节点的所有进入的消息也必须是存疑。当然,如果进入的消息qai(t)是统计相关的,则该规则是不正确的。然而,在密度演化方法中,这种相关性被系统地忽略。在没有回路的二部图中,每个进入的消息事实上独立于所有其它消息,因此密度演化方法是精确的。
类似地,规则
q ai ( t ) = 1 - Π j ∈ N ( a ) \ i ( 1 - p ja ( t ) ) - - - ( 4 )
可从以下事实得到:当所有进入的消息处于非存疑状态时,消息mai仅可处于非存疑状态,再次忽略进入的消息pja(t)之间的统计相关性。
密度演化规则(3)和(4)是通过迭代来评价的。对于从变量节点到校验节点的所有消息,适当的初始化是pia(t=1)=xi。在每次迭代t时,从以下规则有可能确定作为在变量节点i处解码错误的概率的bi(t)
b i ( t ) = x i Π a ∈ N ( i ) q ai ( t ) , - - - ( 5 )
换句话说,规则(3、4和5)使得能够根据其位错误率来评价码。
小码的精确解
如以上所述,当码具有没有回路的二部图表示时,密度演化规则(3、4和5)是精确的。很重要的是要理解,当二部图表示的确具有回路的实际码时,密度演化规则是不精确的,这是因为在此情况下,BP消息不是独立的,这与规则(3、4和5)下的假定是矛盾的。
作为没有回路的二部图的实例,考虑由奇偶校验矩阵
A = 1 1 0 0 0 1 1 1 - - - ( 6 )
限定并由图2中所示的对应的二部图表示的纠错码。该码具有四个码字:0000、0011、1101和1110。如果0000消息被传输,则有十六个可能的所接收的消息:0000、000?、00?0、00??、0?00等。接收有ne个存疑的消息的概率是xne(1-x)4-n3,其中我们已取所有的xi等于相同的值x。
在已通过在所有十六个可能的所接收的消息的解码结果上被其概率加权而求和从而完成解码的t次迭代之后,容易确定给定位保留存疑的精确概率。例如,在解码到收敛之后,当以下消息之一被接收时:???0、??0?或????,第一位将仅未能解码为0,因此第一位将不解码为0的精确概率是2x3(1-x)+x4=2x3-x4
如果重点在最后一位,则该位将最终被正确解码,除非以下消息之一被发送:00??、0???、?0??、??0?或????。因此,第四位被不正确解码的总概率是x2(1-x)2+3x3(1-x)+x4=x2+x3-x4
在密度演化方法中,应用于该码,以下变量的值:p11(t),p21(t),P22(t),p32(t),p42(t),q11(t),q12(t),q22(t),q23(t),q24(t),b1(t),b2(t),b3(t),b4(t),
由以下确定
p11(t)=x                        (7)
p21(t+1)=xq22(t)                (8)
p22(t+1)=xq12(t)                 (9)
p32(t)=x                        (10)
p42(t)=x                        (11)
q11(t)=p21(t)                    (12)
q12(t)=p11(t)                    (13)
q22(t)=1-(1-p32(t))(1-p42(t))    (14)
q23(t)=1-(1-p22(t))(1-p42(t))    (15)
q24(t)=1-(1-p22(t))(1-p42(t))    (16)
以及
b1(t)=xq11(t)          (17)
b2(t)=xq12(t)q22(t)    (18)
b3(t)=xq23(t)          (19)
b4(t)=xq24(t)          (20)
初始条件为
p11(t=1)=p21(t=1)=p22(t=1)=p32(t=1)=p42(t=1)=x.    (21)
解这些规则得到每次迭代的精确位错误率。例如,可得到b4(t=1)=2x2-x3和b4(t≥2)=x2+x3-x4。这些结果对应于以下事实:在第一次迭代之后在第四位,00??、0?0?、0???、?0??、??0?和????消息将不被解码为零,因此在第四位的解码错误的概率是2x2(1-x)2+3x3(1-x)+x4=2x2-x3;但在两次或多次迭代之后,0?0?被正确解码,因此在第四位的解码错误的概率是x2(1-x)2+3x3(1-x)+x4=x2+x3-x4
大的块长度的极限
如果二部图中所有局部邻域是相同的,则密度演化方法可被简化。例如,考虑由稀疏随机奇偶校验矩阵表示的规则Gallager码,该矩阵的特征在于限定每行精确地包含dc个一并且每列精确地包含dv个一。在此情况下,可假定所有pia(t)等于相同的值p(t),所有qai(t)等于相同的值q(t),并且所有bi(t)等于相同的值b(t)。则,
p(t+1)=xq(t)dv-1   (22)
q(t)=1-(1-p(t))dc-1     (23)
b(t)=xq(t)dv,         (24)
这些是用于(dv,dc)规则Gallager码的密度演化规则,在N→∞的极限情况下有效。
在无限块长度的极限情况下,这些规则有效的直观原因是,随着N→∞,规则Gallager码的二部图表示中典型回路的大小趋向于无限。因此,至节点的所有进入的消息是独立的,并且规则Gallager码表现得像象是在没有回路的图上所限定的码。在被称为“阈”的临界存疑值xc以下,为dv和dc的特定值解规则(22、23和24)可得到解p(t→∞)=q(t→∞)=b(t→∞)=0。这意味着对于阈以下的存疑概率,解码是理想的。在xc以上,b(t→∞)具有非零极限,这对应于解码错误。值xc容易从数值上被确定。例如,如果dv=3且dc=5,则xc≈0.51757。
无限块长度时对阈的确定可被推广到不规则Gallager码或其它码,如具有有限数量不同类别的有不同邻域的节点的不规则repeat-accumulate码。在这个推广中,可得到规则系统,典型地有用于离开每个类别节点的消息的一个规则。通过解该规则系统,可再次得到临界阈xc,在其以下解码是理想的。这种码可由此通过寻找具有最大噪声阈xc的码,在N→∞的极限情况下被最优化。这是现有技术密度演化方法已被用于评价纠错码的方式。
密度演化方法的缺点
不幸的是,对于图形表示具有回路的有有限块长度的码,常规密度演化方法是错误的。可能会想到有可能为任何有限码来解规则(3、4和5),并且希望忽略回路的存在不是过于重要的错误。然而,这并不产生作用,如可通过考虑规则Gallager码所看到的。对于有限块长度规则Gallager码,规则(3、4和5)精确地具有与在无限块长度的极限情况下所将得到的相同的解,因此人们将不预测任何有限大小的影响。然而,已知有限块长度规则Gallager码的真实性能比由这种自然(na ve)方法预测的相当地差。在实际中,密度演化方法的应用被局限于块长度很大的码,因此误差的量级不是过大。
因此,需要一种方法来正确评价有限长度纠错码,而不经受现有技术评价方法的问题。
发明内容
本发明提供一种用于评价纠错码性能的方法,该纠错码由任意的广义奇偶校验矩阵表示,并经历无记忆二元存疑信道或无记忆二元对称信道,由发送离散消息的迭代消息传递方法来解码。
与码的第i个变量位关联的是信道噪声级xi,其表示用于二元存疑信道的那个位的存疑的概率或用于二元对称信道的那个位的倒置概率。
对应于评价纠错码性能的现有技术密度演化方法的规则集被提供。在现有技术密度演化方法中,规则的输出在每次迭代期间被作为实数进行评价。该实数表示消息在解码器的迭代期间处于特定状态的概率。
本发明将现有技术密度演化方法变换为“射影”规则。该变换以“射影”多项式来代替表示在解码器的每次迭代时每个消息的可能状态的实数。射影多项式是xi的多项式,其中没有多项式的项具有阶大于一的指数。此外,对应于现有技术密度演化方法的规则集内的普通运算符被替换为“射影”运算符。在对两个射影多项式的射影运算中,大于一的任何结果指数幂被减小为一的幂。
射影变换产生用于射影多项式的迭代更新规则集。在解码方法中,一个兴趣参数集,包括迭代数,和兴趣变量位,或兴趣特定消息,被指定。用于迭代的指定数量的迭代提供了在兴趣位或消息时用于码的错误率的精确结果。
在无记忆BEC的情况下,可使用较为有效的实施,其中每个射影多项式仅由小量的正首项来表示,并且射影乘法被修改以使仅射影多项式中的正主项被保留。这种表示被称为“停止集合表示”,并且在无记忆BEC的情况下是精确的。
射影方法需要随码的块长度成指数增长的计算时间和存储器的量。为了使用存储器和计算时间的合理量为有长的块长度的码获得结果,通过包含有限数量的项的射影多项式来近似射影多项式。通过仅保留精确射影多项式中的项的子集,可获得关于由射影多项式表示的概率的下限。对于BEC,通过仅保留射影多项式的停止集合表示中的项的子集,可更为有效地获得下限。对于BEC,上限是通过使用射影多项式的停止集合表示并相继将成对的项替换为包含涉及该项对的节点交集(intersection)的另一项而获得的。
在实际应用中,通过根据作为噪声的函数的解码错误来搜索有最佳性能的指定数据块大小和传输速率的纠错码,本发明可被用于最优化纠错码。用于所传输变量位的解码错误率被用于指导搜索最优码。导致解码错误的有噪声的所传输位的精确模式(pattern)亦可通过所述方法获得,并亦可被用于指导搜索最优码。
附图说明
图1是针对解码通过噪声信道传输的编码消息的问题的方块图;
图2是表示简单纠错码的二部图;
图3是依照本发明用于评价纠错码性能的射影分析方法的方块图;
图4是依照本发明评价的二部图。
具体实施方式
本发明评价纠错码(ECC)的性能,该纠错码通过每个消息可处于有限数量的不同离散状态的消息传递解码过程来解码。在解码过程的每次迭代时,本方法跟踪由解码过程发送的每个消息处于任何其可能状态的概率。与现有技术密度演化方法相比,本方法对于由奇偶校验矩阵表示的任何码是精确的,包括二部图表示包含循环(回路)的码。
与使用实数来表示概率的现有技术密度演化方法相比,本方法用“射影多项式”来表示每个兴趣概率。通过射影多项式,我们以xi的形式来表示多项式,其中多项式没有项具有阶大于一的指数。
而且,对射影多项式进行的运算必须是“射影的”,理解为:包含大于一的指数的作为结果的多项式中的任何项将其指数减到一。兴趣概率被保留为射影多项式,直到其实际值是所需的,此时通过将所有参数xi替换为适当值来评价它们。
系统概述
图3示出本发明的射影评价方法300。给定的纠错码301由广义奇偶校验矩阵来表示。给定的信道302是二元存疑信道(BEC)或二元对称信道(BSC)。给定的解码器303使用迭代消息传递方法以使每个消息可处于有限数量的离散状态。对于给定的码301、信道302和解码器303,为待在通过信道传输之后被解码的码构建310表示密度演化(D.E.)方法的密度演化规则集311。
该迭代密度演化规则集311表示解码器302中每个消息的状态的概率之间的关系。该规则集亦明确地依赖于参数xi,其表示第i位在BEC中被存疑或在BSC中被转变的概率。如以上所述为密度演化方法而得到的规则集311被变换320为用于依照本发明的方法和系统300的对应的射影分析(P.A.)规则集321。
变换320将每个实值变量即表示密度演化规则311中的概率的运算数替换为射影规则321中的所变换变量。射影分析规则321中的运算数是在以下更详细描述的“射影多项式”的形式。还有,密度演化规则311中的每个运算符被替换为将亦在以下进一步描述的“射影”运算。
给定信道302和解码器303,作为结果的射影规则321然后被用于评价330码301。在解码过程的任何迭代时,射影规则321可被用于获得任何位的错误率或者任何消息处于任何其状态的概率。若需要,可获得进一步的信息,包括导致解码错误的位存疑或反转的精确模式。
评价330迭代地应用规则321以更新射影多项式的值。射影多项式表示消息将处于任何其状态的概率或任何位将被错误解码的概率。当达到终止条件时迭代停止。然后,对于码301的所选位或所有位,错误率作为实数被评价。这样,例如在所有位上被平均的位错误率被确定。然后,评价330的结果360可被传递给最优化器370以产生最优化的纠错码390,如在以下更详细的描述。
射影运算数和射影运算
首先描述被应用于射影多项式的“射影多项式”和“射影乘法”的概念。射影多项式是多项式的每一项没有阶大于一的指数的多项式。例如,m(x1,x2,x3)=1-x1x2+x2x3-2x1x2x3是x1、x2和x3的射影多项式,但p(x1,x2,x3)=1-x1x2+x2x3-x1 2x2x3不是,尽管它是多项式,这是因为在x1 2x2x3项中,变量x1是被平方的。
两个射影多项式的加法必然产生另一个射影多项式。然而,两个射影多项式的乘法可能不会产生射影多项式。举一个简单的实例,x1和x1x2都是射影多项式,但用普通乘法,其乘积为x1 2x2,这不是射影多项式。因此,当相乘射影多项式时,使用“射影乘法”。在该运算中,以普通方式相乘两个射影多项式,然后将从两个射影多项式的乘法得到的任何指数,即大于一的指数减小到一。
减小多项式中的指数的运算被称为“射影”,这是因为它将多项式的空间减小到射影多项式的子空间。我们以m1_m2来表示两个射影多项式m1和m2的射影乘法,并将这种乘积称为“射影积”。
射影多项式是在普通加法和射影乘法下的“域(field)”。这意味着可使用交换律、结合律和分配律。
用于确定错误概率的射影评价
我们的射影分析对确定处于统计独立的二元随机变量的可能状态的事件的概率是有用的。例如在这里描述的评价和最优化纠错码的实际应用中。
考虑N个统计独立的二元随机变量,Y1,Y2,...,YN,其取值0或1。作为实例,在如本方法描述的评价BEC中的纠错码的应用中,离散值1或0表示所接收的位是否被存疑。
我们以xi来表示Yi=1的概率并以1-xi表示Yi=0的概率。有用于Y1,Y2,...,YN的联合样本空间(joint sample space)的2N个元素,每个都包括用于每个随机变量的设置。我们把联合样本空间的元素称为“基本事件”。
由于二元随机变量是统计独立的,基本事件的概率是诸如xi或(1-xi)的项的乘积。例如,如果N=3,则八个基本事件之一为(Y1=1,Y2=0,Y3=1),并且其概率为x1(1-x2)x3。基本事件的概率总是作为变量xi的函数的射影多项式。
我们以P(F)来表示基本事件F的概率。有用的将是,注意,对于任何基本事件F,
P(F)_P(F)=P(F)    (25)
并且对于任何两个不同的基本事件F1和F2
P(F1)_P(F2)=0     (26)
例如,如果N=i,则P(Y1=1)=x1并且P(Y1=0)=1-x1,但x1_(1-x1)=0,x1_x1=x1,并且(1-x1)_(1-x1)=1-x1,与规则(25)和(26)一致。
遵循概率理论中的一般用法,我们将“事件”E定义为基本事件的一个集合。例如,当N=3时,Y1=Y2=Y3的事件由两个基本事件(Y1=0,Y2=0,Y3=0)和(Y1=1,Y2=1,Y3=1)的集合组成。事件的概率P(E)为射影多项式的和,例如P(Y1=Y2=Y3)=x1x2x3+(1-x1)(1-x2)(1-x3)。通常,如果事件E包括k个基本事件F1,F2,...,Fk的一个集合,则 P ( E ) = Σ i = 1 k P ( F i ) . 记号E1∩E2表示事件E1和E2都发生的事件。事件E1∩E2是属于E1中和E2中基本事件交集的基本事件的集合。服从基本事件是统计独立的二元变量的联合状态的假定情况,事件E1∩E2的概率可通过使用射影乘法来获得:
P(E1∩E2)=P(E1)_P(E2).                (27)
通过将事件E1和E2展开为其基本事件并注意,依照规则(25)和(26),仅剩余的交叉项是E1中的基本事件与E2中的基本事件相同的那些,可证明规则(27)的正确性。这样,剩余项精确地给出属于事件E1和E2的交集的基本事件的概率和。
概率理论的基本定义是,如果两个事件E1和E2同时发生的概率是其概率的乘积,则它们是统计独立的:
P(E1∩E2)=P(E1)P(E2).                  (28)
规则(28)仅对于统计独立的事件是有效的,但通过使用射影乘法来代替普通乘法,规则(27)对任何两个事件是有效的,这服从事件是从作为N个统计独立的二元变量的联合状态的基本事件来构建的情况。
我们以E1∪E2来表示事件的E1或E2任何一个或者两者均发生的事件。事件E1∪E2包括属于E1中和E2中的基本事件的并集的基本事件。再次服从基本事件是统计独立的二元变量的联合状态的假定情况,事件E1∪E2的概率如下:
P(E1∪E2)=P(E1)+P(E2)-P(E1)_P(E2).    (29)
规则(29)从规则(27)和概率的一般定律得出。
规则(27)和(29)一起精确地确定两个事件都将发生或者其至少一个将发生的概率,即使这两个事件是统计相关的。这些规则足以精确地确定在BEC或BSC中通过迭代解码方法解码的纠错码的性能。
用于在BEC中由BP解码的纠错码的射影评价
本方法300可被应用于无记忆BEC和无记忆BSC信道中、有用于每个消息的有限数量离散状态、由迭代消息传递解码方法解码的任何奇偶校验码。
由于本方法在对无记忆BEC中的奇偶校验码的信念传播解码中具有重要实际应用,现在来描述在此情况下的本方法。我们用字母i来作为码的N个变量节点的索引,并用xi来标记第i个节点的存疑率。注意,本方法区分每个节点处的存疑率,即使当存疑率实际上相等的情况下,通常情况是这种情形。
考虑在许多块上的BP解码错误的平均概率。迭代用整数t作为索引。如在密度演化方法中,用变量pia(t)来表示迭代t时消息mia为存疑的概率。
然而,在现有技术密度演化方法中,概率pia(t)为实数,而在本射影方法中,pia(t)为作为xi的函数的射影多项式。类似地,用射影多项式qai(t)来表示迭代t时消息mai为存疑的概率,而用射影多项式bi(t)来表示迭代t时节点i被解码为存疑的概率。
与现有技术相比,当规则321中的概率是由射影多项式而不是由实数来表示时,并且当普通乘法被替换为射影乘法时,本评价方法300对任何奇偶校验码是精确的。这样,为从射影多项式qai(t)来确定射影多项式pia(t)的值,我们使用密度演化规则(3)的模拟:
p ia ( t + 1 ) = x i ⊗ Π b ∈ N ( i ) \ a q bi ( t ) , - - - ( 30 )
其中乘法是如以上定义的射影乘法。
从直观上,规则(30)可被理解如下。当被信道存疑时(其以概率xi发生),变量节点i将存疑消息发送给校验节点a,并且来自除了a以外的邻域校验节点的所有进入的消息也是存疑。这样,因为要发生的存疑,多个不同事件必定全部发生,并因此规则(27)需要射影乘法。即使当不同进入的消息qai(t)为统计相关时,规则(30)也是正确的。
其它必要的规则被类似地从现有技术密度演化版本被变换:
q ai ( t ) = 1 - Π j ∈ N ( a ) \ i ( 1 - p ja ( i ) ) - - - ( 31 )
b i ( t ) = x i ⊗ Π a ∈ N ( i ) q ai ( t ) , - - - ( 32 )
其中乘法现在被理解为射影乘法。
由于当任何至节点a的进入的消息是存疑时,从校验节点a到变量节点i的消息是存疑,因此规则(31)是正确的。由于仅当变量节点被信道存疑并且所有进入的消息也是存疑时,变量节点被不正确地解码,因此规则(32)是正确的。
射影评价
为评价330射影规则321,我们应用规则(30、31和32)并指定输入参数集331。兴趣参数集可包括迭代数L、兴趣变量位集B或解码方法303中的兴趣特定消息集M。
我们初始化射影多项式pia(t=1)=xi。然后迭代规则(31)、(32),然后再次是(30)、(31)和(32),以该顺序求得每次迭代时的新射影多项式。
为将射影多项式转换为由实数表示的概率,我们指定用于所有xi的BEC存疑率x的真实值,并评价作为结果的多项式。注意,在现有技术密度演化中,概率在每次迭代时都被计算为实数。
评价330产生用于码301的精确结果360。这样,我们可输入码301、信道302和解码器303,并获得作为输出的二部图的任何所选节点即位的位置处的位错误率的精确预测。
示例码
图4示出射影方法300如何正确评价被现有技术密度演化方法不正确地评价的纠错码的性能。考虑一个由奇偶校验矩阵限定的很小的示例码
A = 1 1 1 1 . - - - ( 33 )
该奇偶校验码具有两个变量位401,以及两个约束校验位402,其一显然是冗余的。冗余约束已被引入以导致用于该码的二部图400中的回路。即使在没有冗余约束时,较大的实际码一般也具有回路。
示例码的精确结果
通过为BEC中的该码在所有可能的所接收的消息上明确(explicitly)平均,我们精确地评价BP解码的性能,从而比较现有技术密度演化方法和依照本发明的射影方法。这种精确评价当然仅对小码是可能的。然而,本方法的效用亦扩展到较大的纠错码,对于其,通过对所有可能的所接收的码明确地求和来精确评价是不实际的。
如果“00”块被传输,在通过BEC传输之后可接收四个可能的块:00、0?、?0和??。第一位以概率x1被存疑,而第二位以概率x2被存疑。这些存疑概率可以并且一般是相等的,但我们允许它们不同,因此可与来自射影方法的结果进行详细比较。
接收“00”块的概率是(1-x1)(1-x2);接收“0?”决的概率是(1-x1)x2;接收“?0”块的概率是x1(1-x2);接收“??”块的概率是x1x2
如果“00”块被接收,则没有由BP解码过程发送的消息可能是存疑消息。如果“??”块被接收,则由BP解码过程发送的所有消息都是存疑消息,并且该块不能被解码。如果“0?”块被接收,则第一变量节点最初向两个校验节点发送“0”消息,而第二变量节点向两个校验节点发送存疑消息。然后,在第一次迭代时,校验节点向第一变量节点发送存疑消息并向第二变量节点发送“0”消息。该块在一次迭代之后被成功解码,这是因为第一位将通过信道接收“0”消息,而第二位将从被连接于第一位的两个校验节点接收“0”消息。没有另外的存疑消息被发送。对于“?0”块的分析是类似的,除了第一和第二类的角色被颠倒。
通过对被其概率加权的四个可能的所接收的块求和,我们看到第一位最初以概率x1将存疑发送给两个校验节点,但在一次或多次迭代之后,它发送存疑的概率是x1x2。考虑到先前建立的记号,
p1a(t=1)=p1b(t=1)=x1,                            (34)
p1a(t≥2)=p1b(t≥2)=x1x2,                          (35)
在四个可能的所接收的块上求和,考虑到先前的记号,亦得到
p2a(t=1)=p2b((t=1)=x2,                           (36)
p2a(t≥2)=p2b(t≥2)=x1x2,                          (37)
qa1(t=1)=qb1(t=1)=x2,                            (38)
qa2(t=1)=qb2(t=1)=x1,                            (39)
qa1(t≥2)=qb1(t≥2)=qa2(t≥2)=qb2(t≥2)=x1x2,   (40)
b1(t≥1)=b2(t≥1)=x1x2,                            (41)
比较用于小示例码的密度演化和射影分析的结果
现在,我们确认本射影方法再现用于该实例的精确结果。我们初始化:
p1a(t=1)=p1b(t=1)=x1,     (42)
p2a(t=1)=p2b(t=1)=x2,     (43)
其对应于规则(34)和(36)。然后,使用射影规则(31),得到
qa1(t=1)=qb1(t=1)=x2,     (44)
qa2(t=1)=qb2(t=1)=x1,     (45)
与规则(38)和(39)一致。使用射影规则(32),得到
b1(t=1)=b2(t=1)=x1x2,     (46)
与规则(41)一致。注意,本射影方法在此时已校正了将由现有技术密度演化方法给出的错误结果。密度演化方法错误地给出b1(t=1)=x1x2 2和b2(t=1)=x1 2x2,注意多项式中的二次幂。然而,以本射影方法,不合规的二次幂被减小回到一。
密度演化方法给出错误答案的原因是,它没有认识到校验节点a发送存疑消息给变量节点1的概率统计相关于校验节点b发送存疑消息给变量1的概率。它不正确地把这些事件当做是独立的,但它们不是。
使用射影规则(30),得到
p1a(t=2)=p2a(t=2)=p1b(t=2)=p2b(t=2)=x1x2    (47)
与规则(35)和(37)一致。
基于对我们的规则的进一步迭代,我们恢复以上所列的所有精确结果。相比而言,通过密度演化方法获得的结果随着每次迭代逐渐变得更不精确,并且实际上,对于x1=x2=x<1,与正确结果b1(t)=b2(t)=x2相比,密度演化方法预测b1(t)=b2(t)=x2t+1,其随着t趋向于无限而接近零。正确结果仅仅是由于解码失败、必须接收“??”块(以概率x2发生)的事实的反映。
密度演化方法结果逐渐变得更不正确是因为它把存疑概率相乘就好像它们是相互独立的,并因此随着每次迭代,它们不正确地看来变得更小的可能。在规则Gallager码的密度演化分析中出现类似的现象。
回想密度演化方法不正确地预测,如果存疑率在某个阈以下,则对于有限块长度,规则Gallager码解码所有的块。这个不正确和过于乐观的预测是源于忽略用于码的图中的回路以及消息之间的作为结果的统计相关性。
本射影方法成功的原因是,它正确地跟踪导致每个消息发送存疑的精确基本事件,并可因此正确地说明消息之间的统计相关性。例如,当qa1=qb1=x1x2时,意味着校验节点a和b基于“??”块被接收的基本事件向变量节点1仅发送存疑。
停止集合表示
当射影方法被应用于BEC上的BP解码时,射影多项式能以较为有效的形式被存储,我们称之为“停止集合表示”,而射影运算有对应的变化。
在用于BEC上的BP解码的射影方法中产生的一般射影多项式可被展开为多项的和,其每项是有整系数的xi的乘积。
例如,典型的射影多项式为m(x1,x2,x3)=x1x3+x2-x1x2x3,展开为三项。我们说给定项依赖于节点的集合,如果它包含对应于那些节点的xi因数。例如,项x1x3依赖于节点1和3。
射影多项式中的“最小项”是依赖于不具有以下任何节点子集的节点集合的项:该节点子集是射影多项式中的另一项所依赖的节点集合。例如,在射影多项式m(x1,x2,x3)=x1x3+x2-x1x2x3中,项x1x3和x2是最小项,但项x1x2x3不是最小项,这是因为它依赖于具有以下子集(节点2的集合或节点1和3的集合)节点集合:该子集是射影多项式中的其它项所依赖的节点集合。最小项所依赖的节点被称为射影多项式的“停止集合”。
对于在用于评价BEC中的BP解码的射影方法中产生的所有射影多项式,完整的射影多项式可从最小项的列表来重构。
为从最小项的列表来重构完整的射影多项式,对列表中的每个最小项求和,然后减去每对最小项的射影积,然后加上每三个最小项的射影积,然后减去每四个最小项的射影积,等等,直到我们穷尽列表中最小项的所有可能组合。例如,如果我们有最小项列表{x1x2,x2x3,x4},则它应被展开为完整射影多项式m(x1,x2,x3,x4)=x1x2+x2x3+x4-x1x2x3-x1x2x4-x2x3x4+x1x2x3x4
根据其最小项列表的射影多项式的表示(我们称为“停止集合”表示)显然比普通表示更加紧凑。该表示也是好且直观的一种,因为停止集合表示了导致BEC中BP解码的解码错误的节点存疑的最小模式。
当射影多项式由其停止集合表示来表示时,射影更新规则所涉及的运算被简化。具体而言,通过直接取表示其它事件的最小项列表的并集然后从结果列表中删除不再是最小项的任何项,依赖于其它事件的事件的概率能以停止集合表示来确定。这样,对于规则(31),通过取所有pja(t)最小项列表的并集,然后从该列表中删除不再是最小项的任何项,我们确定表达式 q ai ( t ) = 1 - Π j ∈ N ( a ) \ i ( 1 - p ja ( t ) ) . 例如,如果
q=1-(1-P1)(1-P2)        (48)
并且
p1={x1x2,x2x3}         (49)
p2={x1x2x3,x3x4}       (50)
则我们得到
q={x1x2,x2x3,x3x4}    (51)
而无需费力展开射影多项式到其完整表示然后应用射影积。
常常需要取两个射影多项式的射影积为其停止集合表示,如在规则(30)和(32)中。简化运算如下。
从两个射影多项式形成所有成对的最小项的射影积的一个列表,然后从该列表删除不再是最小项的任何项。例如,为用p1和p2计算p1_p2,如由规则(49)和(50)所给,通常生成四项的列表{x1x2_x1x2x3,x1x2_x3x4,x2x3_x1x2x3,x2x3_x3x4},其简化为列表{x1x2x3,x1x2x3x4,x1x2x3,x2x3x4},然后通过删除非最小项,得到
   p1_p2={x1x2x3,x2x3x4}       (52)
有效地获得上下限
我们迄今为止描述的射影方法是精确的评价方法。不幸的是,存储所有射影多项式所需的存储器量随着正在分析的码的块长度迅速增长。在超出依赖于可用存储器量的某个块长度时,存储所有射影多项式变得不实际。这样,以需要较小的存储器的方式来近似射影多项式是有用的。
通常,可进行多种这样的近似。在减小每个射影多项式中的项数的同时,可能还想要获得射影多项式的上下限。上下限意味着射影多项式的最大值和最小值。下限可通过去除保证为正的项来获得。通过将成对的项替换为保证具有比该对大的量级的单项可获得上限。
为了获得一致的下限(和相应的上限),需要保证当从所有射影多项式的下限(和相应的上限)开始时,在应用射影分析规则之后仍具有关于结果的下限(和相应的上限)。在某些情况下,类似于我们在以下讨论的BEC上的BP解码的情况,所述保证是直截了当的,但在别的方面,可能需要修改射影分析规则以确保上下限被一致地维持。
举例来说,我们获得在用于BEC上BP解码的射影方法的情况下的上下限。在此情况下,可采用射影多项式的停止集合表示。为获得关于射影多项式的下限,去除其停止集合表示中的一些最小项。例如,如果m(x1,x2,x3,x4)={x1x2,x2x3,x1x3x4},则通过去除任何三项中的任何项来获得射影多项式的下限。
回想所有概率xi最终具有小于或等于一的值。一般来说,将因此选择去除依赖于较大数量节点的项,这是因为这些必须是较小的量级并且结果近似将是较好的。这样,一般选择从以上给出的射影多项式中去除x1x3x4项。
许多其它可能的系统的下限近似方案是可能的。例如,可限定每个射影多项式为固定数量的项,保留具有最少节点的项。可选的是,保留具有比某些最大数量少的节点的项。第三个可能性是使项中容许节点的最大数与有最少节点的项中的节点数相关。本领域的技术人员可设计其它可能性。
为获得射影多项式的上限,通过使用比在原始射影多项式中更少的项,将停止集合表示中的成对最小项替换为仅依赖于两个停止集合的交集中的节点的另一项。例如,为获得射影多项式m(x1,x2,x3,x4)={x1x2,x2x3,x1x3x4}的上限,去除两项x1x2和x2x3,并将这些项替换为项x2,从而获得上限射影多项式{x2,x1x3x4}。上限过程在这些情况下起作用是因为我们知道对于0≤xi≤1,
x2≥x1x2+x2x3-x1x2x3      (53)
同样,许多系统的上限近似方案是可能的。例如,可将成对的项替换为单项,直到剩下不大于某个最大项数。可选的是,当不减小任何项所具有的节点的最小数量的替换不存在时,可停止替换成对的项。同样,许多其它特定方案是可能的。
如果从被应用于BEC的BP解码的射影分析方法中的每次计算中获得的每个射影多项式使用采取停止集合表示的下限(和相应的上限),则通过使用规则而确定的所有作为结果的兴趣概率亦被保证是下限(和相应的上限)。
这可被理解如下。使用停止集合表示的下限(和相应的上限)将总是以有严格较少(和相应较多)基本事件的另一事件的概率来近似事件的概率。BEC上BP解码的射影分析仅涉及事件的并集或交集的概率。包含较少(和相应较多)基本事件的事件并集或交集必须亦包含比原始事件的并集或交集少(和相应多)的基本事件。因此,它也将是下限(和相应的上限)。
最优化较好的纠错码
假定密度演化方法在过去被用作生成人所共知的实际纠错码的指导,用我们的射影方法可生成更好的码。给定信道和解码方法,用依照本发明的射影方法可输入由任意广义奇偶校验矩阵限定的纠错码并获得作为输出的每个节点的位错误率的预测。
可在目标函数中将该输出用于被指导地搜索可能改进的码的空间。例如,当通过用于BEC信道的BP来解码时,可尝试寻找以最高可能存疑率达到小于10-15的位错误率、没有隐状态的N=100的块长度、传输速率1/2的码。这是通过以下来实现的:通过使用本射影方法并使用任何已知的搜索技术例如欲张下降(greedy descent)、模拟退火(simulatedannealing)、遗传过程(genetic process)等以搜索有效奇偶校验矩阵的空间,从而迭代地评价正确块长度和速率的码。
由于我们直接聚焦于正确的指标量度,即位错误率本身而不是无限块长度的极限情况下的阈,依照本发明的搜索改进了使用现有技术密度演化过程所获得的结果。可指导搜索是因为我们具有关于每个节点的位错误率的信息。例如,通过添加附加的奇偶校验节点来“强化”有高的位错误率的弱变量节点是有意义的,或者可通过将弱节点转变为隐节点来“弱化”有低的位错误率的强节点由此增加传输速率。
尽管本发明已通过优选实施例的实例来描述,应理解,可在本发明的精神和范围内进行各种其它的改进和修改。因此,所附的权利要求的目的是覆盖在本发明真正精神和范围内的所有这些变化和修改。

Claims (15)

1.一种用于评价和最优化待通过噪声信道传输并由迭代消息传递解码器来解码的纠错码的方法,包括:
用奇偶校验矩阵来表示纠错码;
将奇偶校验矩阵模型化为具有多个变量节点和校验节点的二部图;
为解码器提供消息传递规则集;
分析解码器以获得包括运算符和运算数的密度演化规则集;
将运算符变换为射影运算符并将运算数变换为射影运算数,从而产生射影消息传递规则集;以及
迭代地将射影消息传递规则应用于由二部图模型化的纠错码,直到达到终止条件;并且
通过评价对应的射影运算数来确定纠错码所选位的错误率,
其中射影运算数是射影多项式的形式。
2.权利要求1的方法,进一步包括:
将错误率传递给最优化器以最优化纠错码。
3.权利要求1的方法,其中二部图包括至少一个回路。
4.权利要求1的方法,其中应用射影消息传递规则之后的结果的每一项都具有不大于一的指数。
5.权利要求1的方法,其中信道是二元对称信道。
6.权利要求1的方法,其中信道是二元存疑信道。
7.权利要求1的方法,进一步包括:
确定射影多项式的下限。
8.权利要求1的方法,进一步包括:
确定射影多项式的上限。
9.权利要求1的方法,进一步包括:
将特定射影多项式表示为最小项的列表,其中射影多项式的每个最小项依赖于不具有以下任何变量节点子集的二部图变量节点集合:该变量节点子集是射影多项式中的另一项所依赖的变量节点集合。
10.权利要求9的方法,进一步包括:
确定射影多项式的下限。
11.权利要求10的方法,进一步包括:
通过消除最小项列表中的所选最小项来近似特定的射影多项式。
12.权利要求9的方法,进一步包括:
确定射影多项式的上限。
13.权利要求12的方法,进一步包括:
通过将最小项列表中的成对最小项替换为较大量级的另一个最小项来近似特定的射影多项式。
14.权利要求1的方法,其中终止条件是预定数量的迭代。
15.权利要求1的方法,进一步包括:
确定射影消息将处于特定状态的概率。
CNB028031032A 2001-10-01 2002-09-30 使用射影分析来评价和最优化纠错码 Expired - Fee Related CN1312846C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/968,182 US6842872B2 (en) 2001-10-01 2001-10-01 Evaluating and optimizing error-correcting codes using projective analysis
US09/968,182 2001-10-01

Publications (2)

Publication Number Publication Date
CN1476674A CN1476674A (zh) 2004-02-18
CN1312846C true CN1312846C (zh) 2007-04-25

Family

ID=25513867

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028031032A Expired - Fee Related CN1312846C (zh) 2001-10-01 2002-09-30 使用射影分析来评价和最优化纠错码

Country Status (5)

Country Link
US (1) US6842872B2 (zh)
EP (1) EP1433261A1 (zh)
JP (1) JP4031432B2 (zh)
CN (1) CN1312846C (zh)
WO (1) WO2003032498A1 (zh)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633856B2 (en) * 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US7673223B2 (en) * 2001-06-15 2010-03-02 Qualcomm Incorporated Node processors for use in parity check decoders
US6938196B2 (en) * 2001-06-15 2005-08-30 Flarion Technologies, Inc. Node processors for use in parity check decoders
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
JP3917624B2 (ja) * 2002-07-03 2007-05-23 ヒューズ・エレクトロニクス・コーポレーション 低密度パリティチェック(ldpc)デコーダにおける経路指定方法およびシステム
US7020829B2 (en) * 2002-07-03 2006-03-28 Hughes Electronics Corporation Method and system for decoding low density parity check (LDPC) codes
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
KR20050039843A (ko) * 2002-08-14 2005-04-29 텔레폰악티에볼라겟엘엠에릭슨(펍) 절사 데이터를 디코딩하는 수신기 및 방법
US7178080B2 (en) * 2002-08-15 2007-02-13 Texas Instruments Incorporated Hardware-efficient low density parity check code for digital communications
US7162684B2 (en) 2003-01-27 2007-01-09 Texas Instruments Incorporated Efficient encoder for low-density-parity-check codes
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
US7139959B2 (en) * 2003-03-24 2006-11-21 Texas Instruments Incorporated Layered low density parity check decoding for digital communications
US6771197B1 (en) * 2003-09-26 2004-08-03 Mitsubishi Electric Research Laboratories, Inc. Quantizing signals using sparse generator factor graph codes
KR101170629B1 (ko) * 2003-10-06 2012-08-02 디지털 파운튼, 인크. 단일 송신기 또는 다중 송신기를 갖는 통신 시스템의 에러 정정 다중-스테이지 코드 생성기 및 디코더
US7191376B2 (en) * 2003-12-04 2007-03-13 Mitsubishi Electric Research Laboratories, Inc. Decoding Reed-Solomon codes and related codes represented by graphs
US7200603B1 (en) * 2004-01-08 2007-04-03 Network Appliance, Inc. In a data storage server, for each subsets which does not contain compressed data after the compression, a predetermined value is stored in the corresponding entry of the corresponding compression group to indicate that corresponding data is compressed
US20050193320A1 (en) * 2004-02-09 2005-09-01 President And Fellows Of Harvard College Methods and apparatus for improving performance of information coding schemes
KR100762619B1 (ko) * 2004-05-21 2007-10-01 삼성전자주식회사 저밀도 패리티 검사 코드를 이용한 복호화 장치 및 방법
US7127659B2 (en) * 2004-08-02 2006-10-24 Qualcomm Incorporated Memory efficient LDPC decoding methods and apparatus
ES2378309T3 (es) * 2004-08-10 2012-04-11 Rohde & Schwarz Gmbh & Co. Kg Procedimiento para realizar una prueba estadística en la que el experimento es multinomial
US7506238B2 (en) * 2004-08-13 2009-03-17 Texas Instruments Incorporated Simplified LDPC encoding for digital communications
KR100684168B1 (ko) * 2004-12-09 2007-02-20 한국전자통신연구원 최적붙임방법을 이용한 다중 부호율 ldpc 부호의디자인 방법
US7581159B2 (en) * 2004-11-23 2009-08-25 Texas Instruments Incorporated Simplified decoding using structured and punctured LDPC codes
US20060117133A1 (en) * 2004-11-30 2006-06-01 Crowdsystems Corp Processing system
US7562282B1 (en) 2005-05-23 2009-07-14 Western Digital Technologies, Inc. Disk drive employing error threshold counters to generate an ECC error distribution
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
US7707479B2 (en) 2005-12-13 2010-04-27 Samsung Electronics Co., Ltd. Method of generating structured irregular low density parity checkcodes for wireless systems
US8117523B2 (en) 2007-05-23 2012-02-14 California Institute Of Technology Rate-compatible protograph LDPC code families with linear minimum distance
JP4982898B2 (ja) * 2007-11-15 2012-07-25 独立行政法人産業技術総合研究所 低密度パリティ検査符号の生成方法及び生成システム
WO2009023298A1 (en) * 2008-04-10 2009-02-19 Phybit Pte. Ltd. Method and system for factor graph soft-decision decoding of error correcting codes
US8560917B2 (en) * 2009-01-27 2013-10-15 International Business Machines Corporation Systems and methods for efficient low density parity check (LDPC) decoding
US8621321B2 (en) * 2010-07-01 2013-12-31 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US9294132B1 (en) * 2011-11-21 2016-03-22 Proton Digital Systems, Inc. Dual-stage data decoding for non-volatile memories
US8996971B2 (en) * 2012-09-04 2015-03-31 Lsi Corporation LDPC decoder trapping set identification
US9553608B2 (en) * 2013-12-20 2017-01-24 Sandisk Technologies Llc Data storage device decoder and method of operation
US10073738B2 (en) 2015-08-14 2018-09-11 Samsung Electronics Co., Ltd. XF erasure code for distributed storage systems
EP3451561A1 (en) * 2017-08-28 2019-03-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Hybrid decoder for coded slotted aloha

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4295218A (en) * 1979-06-25 1981-10-13 Regents Of The University Of California Error-correcting coding system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6073250A (en) 1997-11-06 2000-06-06 Luby; Michael G. Loss resilient decoding technique
US6195777B1 (en) 1997-11-06 2001-02-27 Compaq Computer Corporation Loss resilient code with double heavy tailed series of redundant layers
US6651213B2 (en) * 2001-03-19 2003-11-18 International Business Machines Corporation Programmable multi-level track layout method and system for optimizing ECC redundancy in data storage devices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4295218A (en) * 1979-06-25 1981-10-13 Regents Of The University Of California Error-correcting coding system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Analysis of Sum-Product Decoding of Low-DensityParity-Check Codes Using a Gaussian Approximation Sae.Young Chung et al.,IEEE TRANSACTIONS ON INFORMATION THEORY,Vol.47 No.2 2001 *
Turbo Decoding as an Instance of Pearl’s "BeliefPropagation" Algorithm Robert J. McEliece et al.,IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS,Vol.16 No.2 1998 *

Also Published As

Publication number Publication date
JP4031432B2 (ja) 2008-01-09
EP1433261A1 (en) 2004-06-30
CN1476674A (zh) 2004-02-18
WO2003032498A1 (en) 2003-04-17
JP2005505981A (ja) 2005-02-24
US6842872B2 (en) 2005-01-11
US20030065989A1 (en) 2003-04-03

Similar Documents

Publication Publication Date Title
CN1312846C (zh) 使用射影分析来评价和最优化纠错码
JP4046543B2 (ja) 有限サイズのデータブロックに対して誤り訂正符号を評価する方法
CN103888148B (zh) 一种动态阈值比特翻转的ldpc码硬判决译码方法
EP1460766A1 (en) Ldpc code inspection matrix generation method
Esfahanizadeh et al. Finite-length construction of high performance spatially-coupled codes via optimized partitioning and lifting
Chilappagari et al. On trapping sets and guaranteed error correction capability of LDPC codes and GLDPC codes
US7191376B2 (en) Decoding Reed-Solomon codes and related codes represented by graphs
EP1526647B1 (en) Generation of a check matrix for irregular low-density parity-check (LDPC) codes
CN101814975A (zh) 多级解码器和符号块解码方法
Yazdi et al. Optimal design of a Gallager B noisy decoder for irregular LDPC codes
Chilappagari et al. Instanton-based techniques for analysis and reduction of error floors of LDPC codes
Zhang et al. Spatially coupled split-component codes with iterative algebraic decoding
Hareedy et al. A channel-aware combinatorial approach to design high performance spatially-coupled codes
US9727419B2 (en) Non-binary low density parity check code column rotation
Yang et al. Can a noisy encoder be used to communicate reliably?
Murata et al. Performance analysis of CRC codes for systematic and nonsystematic polar codes with list decoding
Shibata et al. Design of irregular LDPC codes without markers for insertion/deletion channels
Yu et al. Complexity-optimized low-density parity-check codes for Gallager decoding algorithm B
US20140189458A1 (en) Soft input, soft ouput mappers and demappers for block codes
Laendner et al. CTH02-4: When Does One Redundant Parity-Check Equation Matter?
Davey et al. Monte Carlo simulations of infinite low density parity check codes over GF (q)
Cohen et al. LDPC Codes Over the $ q $-ary Multi-Bit Channel
Semerenko ON THE ERROR-CORRECTING CAPABILITIES OF ITERATIVE ERROR CORRECTION CODES.
Yang et al. A new two‐stage decoding scheme with unreliable path search to lower the error‐floor for low‐density parity‐check codes
Lechner et al. Optimization of binary LDPC codes for the q-ary symmetric channel with moderate q

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

Granted publication date: 20070425

Termination date: 20160930

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