CN101233693B - 利用ldpc编码的编码器和解码器 - Google Patents

利用ldpc编码的编码器和解码器 Download PDF

Info

Publication number
CN101233693B
CN101233693B CN2006800165262A CN200680016526A CN101233693B CN 101233693 B CN101233693 B CN 101233693B CN 2006800165262 A CN2006800165262 A CN 2006800165262A CN 200680016526 A CN200680016526 A CN 200680016526A CN 101233693 B CN101233693 B CN 101233693B
Authority
CN
China
Prior art keywords
memory
matrix
minimum value
classification
node
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
CN2006800165262A
Other languages
English (en)
Other versions
CN101233693A (zh
Inventor
丸次夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of CN101233693A publication Critical patent/CN101233693A/zh
Application granted granted Critical
Publication of CN101233693B publication Critical patent/CN101233693B/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/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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/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/112Soft-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 with correction functions for the min-sum rule, e.g. using an offset or a scaling factor
    • 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
    • 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/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/114Shuffled, staggered, layered or turbo decoding schedules
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3723Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using means or methods for the initialisation of the decoder
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)

Abstract

提供了一种LDPC编码方法,用于以高性能、高速度、高效地实现适合于移动通信的通信领域的纠错码编码器和解码器。用于利用变量节点和校验节点来表达代码的Tanner图被用于将各节点分类成多个类别。在重复解码中的概率传播计算中,对于要传播的对数似然比(LLR),进行针对各个类别的预定加权。

Description

利用LDPC编码的编码器和解码器
技术领域
本发明涉及LDPC(Low-Density Parigy-Check,低密度奇偶校验)编码方案的解码器和编码器,该LDPC编码方案是一种纠错编码方案。
背景技术
LDPC编码方案于1962年由Gallager提出。LDPC码是指一种具有测试矩阵的线性码,该测试矩阵的元素大部分为“0”。在经典的编码理论中,测试矩阵被确定来设计代码。对于源自据说引入了编码理论新时代的turbo原理的LDPC编码方案,也可作出类似的定义。但是,本发明采用了基于更抓住本质的Tanner图而作出的定义。
Tanner图是一种两部分图,其中代码由被称为变量节点(variablenode)和校验节点(check node)的两类节点来表示,其中连接到每个节点的分支被称为“边缘”,并且连接到每个节点的分支的数目被称为“节点阶数(order of the node)”。分支的总数等于测试矩阵中设置的“1”的数目。测试矩阵的列方向上的“1”的数目被称为“列权重”,行方向上的“1”的数目被称为“行权重”。在LDPC编码方案中,该测试矩阵不是唯一的。LDPC编码方案的解码取决于测试矩阵,并且是通过利用被称为“迭代解码”的方法计算概率传播来执行的。
近年来,一种进一步发展具有据说更接近Shannon极限的强大纠错能力的LDPC码的方法涉及利用DE(密度演化(Density Evolution)的缩写)来找出阶数分布,并且针对奇异LDPC码扩展这种方法,以在Tanner图上各节点之间的概率传播计算中,基于该图所拥有的代码的局部结构,在为经历传播的对数似然比(LLR)执行的概率传播计算中,搜索良好的阶数分布,其中DE是这样一种方法,该方法利用基于随机配置的代码和重复的概率解码的方法,对于与具有某种阶数分布的LDPC相同的代码的全体,针对每次重复计算LLR的概率密度函数的变化。在这一点上,由节点阶数相等的正则图所确定的代码被称为“正则LDPC码”,而阶数不等的则被称为“与奇异LDPC相同的代码”。
Tanner图上的概率传播计算一般是一种被称为“和积(sum-product)”的消息传输类型算法,但是,如果尝试如实地执行该计算,则会发生电路规模的增大。因此,在Min(Max)Log(最小(最大)对数)区域进行了大胆的近似。在这一点上,MaxLog区域的近似在LDPC编码中也被称为“minSum算法”。
如上所述,必须使用符合基于DE的阶数分布的奇异LDPC码来实现接近Shannon极限的强大纠错能力。但是,DE最初对于代码长度实际上无穷大的情形表现出迭代解码的特性极限,并且实际上需要用于存储例如大约至少106-107比特的巨大代码长度的存储器,并且还需要很高的大约100-200的最大阶数来进行加权分布。在这里,阶数越高就意味着电路大小相应地越大。
近年来,在通信(例如移动通信)领域,研究取得了积极进展,并且对于纠错码的编码器和解码器,强烈地需要更高的性能、更高的速度和更高的效率。但是,存在这样的问题:即使能够实现接近Shannon极限的高性能,对于移动体来说这也是不现实的。
近来,为了应对该问题,已经尝试降低奇异LDPC码的高加权分布,其中采用了一种方法,用于将节点分类成类别(category),以考虑到在低加权分布下很可能出现的误差平台(error floor)。在这一点上,这些类别还包括具有权重为“1”的节点的类别和穿透变量节点的类别。
此外,Min(Max)Log区域的大胆近似已被采用来取代和积以实现可行的电路规模,但是出现这样的问题,即该近似导致不可忽略的特性恶化。
此外,即使反编码器通过为其生成矩阵使用低加权分布来采用稀疏的测试矩阵,但也几乎可以肯定这不是稀疏矩阵。稀疏意味着复杂度低。因此,在“Efficient encoding of low-density parity-check codes”,IEEETransactions on information theory,Volume 47,Issue 2,pp.638-656中公开了一种用于生成代码并同时利用稀疏测试矩阵的计算方法。
专利文献1(JP-2005-65271A)公开了一种用于turbo编码方案中的解码的所谓“Max-Log-MAP”算法。LDPC编码方案是一种与turbo编码方案不同的方案,其编码结构完全不同。然而,在执行迭代解码方面,它们是类似的。
对于迭代解码处理中的MaxLog近似中的加权,似乎在专利文献1中执行了两类加权(Wc、Wa),但两类加权之一(Wc)只对接收到的信号中的信息序列(Ac(xt,0))执行,该信息序列(Ac(xt,0))在迭代解码处理期间取相同的值。换言之,这与在迭代解码处理中经历概率传播的LLR是不相关的。实质上,对接收信号的加权应当在不仅考虑到信息序列和奇偶序列而且考虑到调制/解调中的信号点映射的情况下确定,并且应当与在迭代解码处理中经历概率传播的LLR分开考虑。这样总结起来,可以了解到在此示例中经历概率传播的LLR是外来对数似然比(extrinxic LLR,以下缩写为“外来LLR”)之一。在turbo码中的Max-Log-MAP中对该外来LLR执行的加权处理已经是已知的事实,并且例如专利文献2(日本专利No.3246484)在图1中公开了这样一个示例,其中0.75倍的加权通过偏移求和对外来LLR执行,并且以较低的复杂度实现。
专利文献1在图5中公开了这样一个示例,其中,对于每半次迭代,对外来LLR执行加权处理。
换言之,turbo编码方案的迭代解码,包括专利文献1中公开的技术,基本上是针对被称为外来对数似然比(外来LLR)的单个概率传播主题来控制的。
专利文献3(JP-2004-266463A)进而公开了一种生成方法,该方法执行密度演化方法(密度演化)并且使用拉丁方(Latin square),该密度演化方法是一种在LDPC编码方案中通过高斯近似法(高斯近似;以下缩写为“GA”)进行分析的方法,高斯近似法也是一种方法。
具体而言,专利文献3中使用的方法是这样一种方法,该方法可以仅利用均值对概率分布执行踪迹分析,并且最终同时跟踪概率传播处理中的方差,其保持了被称为“对称条件”的关系。
非专利文献1:“Efficient encoding of low-density parity-checkcodes”,IEEE Transactions on information theory,Volume 47,issue 2,pp.638-656
专利文献1:JP-2005-65271A
专利文献2:日本专利No.3246484
专利文献3:JP-2004-266463A
发明内容
要解决的问题
为了提供接近Shannon极限的强大纠错能力,必须根据基于DE的阶数分布来使用奇异LDPC码,但是出现这样的问题,即需要存储器来存储巨大的代码长度,并且电路规模增大。另外,存在这样的问题:即使能够实现接近Shannon极限的高性能,对于移动体来说这也是不现实的。
虽然已经尝试降低奇异LDPC码的高加权分布,但是存在这样的问题,即这导致不可忽略的特性恶化。
虽然对于编码器来说需要稀疏矩阵,即使生成矩阵采用具有低加权分布的稀疏测试矩阵,但是几乎可以肯定这不是稀疏矩阵。虽然非专利文献1公开了一种用于生成代码并同时利用稀疏测试矩阵的计算方法,但它只是简单地公开了用于创建程序的计算方法,而完全没有提到实现高速操作的体系结构。
本发明是在考虑到如上所述的现有技术所固有的问题的情况下进行的,本发明的一个目的是提供一种解码器和编码器,其在能够安装在用于通信(例如移动通信)领域的移动体中的电路规模中,采用了具有接近Shannon极限的强大纠错能力的LDPC编码方案。
此外,本发明的另一个目的是提供一种方法,即使当在前述目的的实现之中各节点被分类成类别时诸如MaxLog近似(也称为“minSum算法”)之类的近似计算被用于概率传播计算以便减小电路规模时,它也能展示出高性能。
本发明的另一个目的是提供一种LDPC解码器的体系结构,其实现高性能和高速度。
本发明的另一个目的是提供一种配置,用于甚至在作为LDPC解码器的逆的LDPC编码器中,也实现电路规模的减小和更高的速度。
解决问题的手段
本发明的一种LDPC解码器使用LDPC编码方案中的Tanner图,其中每个节点可被分类成多个类别,该LDPC解码器被配置成特征在于:在迭代解码中的概率传播计算中,对于经历传播的对数似然比(以下缩写为“LLR”),执行为每个类别预先确定的加权。
在这种情况下,迭代解码中的概率传播计算可以是MaxLog近似(或minSum算法),并且可以根据属于每个类别的测试矩阵的列权重来确定加权值。
对于该Tanner图,该LDPC解码器可以在多个类别内具有RA结构(这是重复累积结构的缩写,也被称为“Z字形结构”)的类别,其中此类别的加权大于其他类别的加权。
根据本发明的另一方面的一种LDPC解码器使用LDPC编码方案中的Tanner图,其中形成图的一部分的每个节点可根据其测试矩阵的列权重而被分类成多个群组,该LDPC解码器被配置成特征在于:在迭代解码中的概率传播计算中,对于经历传播的对数似然比(以下缩写为“LLR”),执行为每个群组确定的加权。
根据本发明的另一方面的一种LDPC解码器使用LDPC编码方案中的Tanner图,其中每个节点可被分类为多个类别,该LDPC解码器的特征在于:根据属于每个类别的测试矩阵的权重分布,改变用于存储经历传播的对数似然比(LLR)的划分的存储体的数目,使得能够对对数似然比进行并行访问。
在这种情况下,该LDPC解码器使用LDPC编码方案中的Tanner图,其中每个节点可被分类成多个类别,并且该LDPC解码器可以具有这样的结构,该结构根据属于每个类别的测试矩阵的权重分布,改变用于存储经历传播的对数似然比(LLR)的划分的存储体的数目的结构,并且该LDPC解码器可通过具有FIFO功能的缓存电路执行对对数似然比的并行访问。
该LDPC解码器还可以具有第一最小值检测器电路和第二最小值检测器电路,第一最小值检测器电路检测第一最小值,第二最小值检测器电路屏蔽与所检测到的第一最小值相对应的输入,并且在迭代解码中的概率传播计算通过MaxLog近似(也称为“minSum算法”)来执行时检测第二最小值,其中,可按流水线结构来配置第一和第二最小值检测电路,从而在一个时钟中等效地执行近似计算。
另外,该LDPC解码器可具有:第一存储器,用于在迭代解码中的概率传播计算通过MaxLog近似(也称为“minSum算法”)来执行时暂时存储变量节点的LLR;以及用于校验节点的第二存储器,用于保存根据权利要求7的第一最小值和第二最小值,以及由对其输入的模2相加导致的极性信号,其中对第一存储器的输入是通过基于由Tanner图基于根据权利要求7的第一最小值和第二最小值而确定的连接而被添加到第一存储器的保存值来顺序地执行的,第一存储器可根据权利要求2被分类成类别,为每个类别预先确定的加权可针对第一存储器的输出执行。该解码器可执行迭代解码,该迭代解码可包括将经加权的LLR和接收值LLR相加,然后减去通过由Tanner图基于作为第二存储器累积结果的第一最小值和第二最小值以及由模2相加导致的极性信号而确定的连接信息所选择的值,并且可再次执行MaxLog近似(也称为“minSum算法”)。
另外,可以在第一存储器输入上或者在返回到MaxLog近似(也称为“minSum算法”)输出的路径上,而不是在第一存储器输出上,对每个类别执行加权。
另外,由Tanner图确定的连接信息可以以索引形式保存测试矩阵中的1的位置。
另外,该LDPC解码器可具有两个面的第一存储器,用于暂时保存变量节点的LLR,以及两个面的用于校验节点的第二存储器,用于保存第一最小值和第二最小值,以及由对其输入的模2相加导致的极性信号,其中当存储器之一被用作输出时,另一存储器被用作输入,并且存储器的输入和输出在迭代解码处理中的重复周期之间可被交替地切换。
本发明的一种LDPC编码器被配置成特征在于具有:装置1,用于通过对测试矩阵H的矩阵操作来产生矩阵A、B、T,该矩阵A、B、T具有由下式表示的上三角零矩阵的关系:
[式1]
H = A B T C D E
其中包括在对角线元素处具有“1”的下三角矩阵T;装置2,用于从上三角零矩阵产生由下式表示的矩阵F:
[式2]
F=(-E·T-1·B+D)-1·(E·T-1·A-C)
其中,装置1和2是预先计算的离线过程,具有存储器1,用于以索引形式累积所得到的矩阵F中的元素1的位置;存储器2,用于存储信息比特序列S;第一行计数器;第一电路,用于通过取存储器2的输出的异或,来产生第一奇偶序列p1,存储器2还被存储器1输出的索引所寻址,存储器1被第一行计数器寻址;存储器3,用于通过取奇偶序列p1和从离线过程产生的矩阵B的乘积、取信息比特序列S与从离线过程产生的矩阵A的乘积,并且取乘积的异或,来存储由下式表示的序列:
[式3]
-A·sT-B·p1 T
存储器4,用于以索引形式累积从离线过程产生的矩阵T的元素1的位置;存储器5,用于存储第二奇偶序列p2;第二行计数器;第二电路,用于取存储器5的输出和存储器3的输出的异或以产生第二奇偶序列p2,并且写存储器4,存储器5还被存储器4输出的索引顺序地读取和寻址,存储器4被第二行计数器寻址,存储器3被第二行计数器寻址,存储器4被第二行计数器写入和寻址,其中编码处理是通过离线过程和第一和第二电路进行的在线过程来执行的。
在这种情况下,用于存储第二奇偶序列p2的存储器5可包括数个镜像存储器,镜像存储器的数目等于矩阵T的行权重的数目,用于存储矩阵T的元素1的位置作为索引的存储器4被格式化成输出数个索引到单位地址,索引的数目等于行权重的数目,并且这些索引可被读取和寻址到每个镜像存储器,以同时对行权重执行异或。
根据本发明的另一方面的一种LDPC解码器,使用利用变量节点和校验节点来表示代码的Tanner图,该LDPC解码器的特征在于包括:
第一变量节点存储器,包括多个存储体,用于逐类别地存储分类成类别的经历传播的对数似然比;
第二变量节点存储器,包括多个存储体,用于逐类别地为多个类别中的每一个存储加权值;
加权处理单元,用于根据经历传播的对数似然比,为第二变量节点存储器中存储的每个类别确定加权值;以及
校验节点处理装置,用于从第一变量节点存储器和第二变量节点存储器中的每个类别的存储内容中,执行迭代解码中的概率传播计算,以输出到第一变量节点存储器和加权处理单元,作为经历传播的对数似然比。
在这种情况下,校验节点处理单元中的迭代解码中的概率传播计算可通过MaxLog近似或minSum算法执行,并且加权值可根据属于每个类别的测试矩阵的列权重来确定。
该LDPC解码器还可在多个类别内具有包括RA结构的类别,其中对于此类别的加权大于对于其他类别的加权。
根据本发明的另一方面的一种LDPC解码器,是使用利用变量节点和校验节点来表示代码的Tanner图的LDPC解码器,该LDPC解码器的特征在于包括:
第一变量节点存储器,包括多个存储体,用于逐类别地根据测试矩阵的列权重,存储经历了分类成多个群组的传播的对数似然比;
第二变量节点存储器,包括多个存储体,用于逐群组地为多个群组中的每一个存储加权值;
加权处理单元,用于根据经历传播的对数似然比,为第二变量节点存储器中存储的每个群组确定加权值;以及
校验节点处理装置,用于从第一变量节点存储器和第二变量节点存储器中的每个群组的存储内容中,执行迭代解码中的概率传播计算,以输出到第一变量节点存储器和加权处理单元,作为经历传播的对数似然比。
根据本发明的另一方面的一种LDPC解码器,是使用利用变量节点和校验节点来表示代码的Tanner图的LDPC解码器,该LDPC解码器的特征在于包括:
第一变量节点存储器,包括多个存储体,用于逐类别地存储分类成类别的经历传播的对数似然比;
第二变量节点存储器,包括多个存储体,用于逐类别地为多个类别中的每一个存储加权值;
加权处理单元,用于根据经历传播的对数似然比,为第二变量节点存储器中存储的每个类别确定加权值;以及
校验节点处理装置,用于从第一变量节点存储器和第二变量节点存储器中的每个类别的存储内容中,执行迭代解码中的概率传播计算,以输出到第一变量节点存储器和加权处理单元,作为经历传播的对数似然比,
其中第一变量节点存储器中的存储体的数目可根据属于每个类别的测试矩阵的权重分布而改变,从而使得能够对第一变量节点存储器进行并行访问。
在这种情况下,该LDPC解码器可包括具有FIFO功能的缓存电路,用于执行对第一变量节点存储器的并行访问。
另外,校验节点处理装置可包括:
第一最小值电路,用于利用第一最小值检测器电路来检测第一最小值;以及
第二最小值检测器电路,用于屏蔽与由第一最小值电路所检测的第一最小值相对应的输入,并且检测第二最小值,
其中,第一和第二最小值电路可以流水线结构配置,并且可在一个时钟中等效地执行近似计算。
另外,校验节点处理装置可包括:
第一存储器,用于暂时保存输出到第一变量节点存储器的分类成多个类别的并且输出到加权处理单元的对数似然比;以及
用于校验节点的第二存储器,用于保存第一最小值和第二最小值,以及由对其输入的模2相加导致的极性信号;
基于由Tanner图基于第一最小值和第二最小值而确定的连接,可将对第一存储器的输入顺序地添加到第一存储器中的保存值;并且
对于第一存储器输出可执行预先为每个类别确定的加权,并且执行迭代解码,该迭代解码包括将经加权的LLR和接收值LLR相加,然后减去由Tanner图基于作为第二存储器累积结果的第一最小值和第二最小值以及由模2相加导致的极性信号而确定的连接信息所选择的值,并且再次执行MaxLog近似或者“minSum算法”。
另外,校验节点处理装置可包括:
第一存储器,用于暂时保存输出到第一变量节点存储器的分类成多个类别的并且输出到加权处理单元的对数似然比;以及
用于校验节点的第二存储器,用于保存第一最小值和第二最小值,以及由对其输入的模2相加导致的极性信号;
基于由Tanner图基于第一最小值和第二最小值而确定的连接,可将对第一存储器的输入顺序地添加到第一存储器中的保存值;并且
可以对于第一存储器输出或者返回到MaxLog近似或minSum算法输出的路径执行预先为每个类别确定的加权,并且执行迭代解码,该迭代解码包括将经加权的LLR和接收值LLR相加,然后减去由Tanner图基于作为第二存储器累积结果的第一最小值和第二最小值以及由模2相加导致的极性信号而确定的连接信息所选择的值,并且再次执行MaxLog近似或者“minSum算法”。
在这种情况下,由Tanner图确定的连接信息可以索引形式保存测试矩阵中的1的位置。
另外,第一变量节点存储器和第二变量节点存储器,以及第一存储器和第二存储器可以是这样的:当其中任何一个被用作输出时,另一个被用作输入,并且输入和输出在迭代解码中的重复周期之间被交替地切换。
根据本发明的另一方面的一种LDPC编码器,其特征在于包括:
第一装置,用于通过预先计算的离线过程,通过对测试矩阵H的矩阵操作,来产生矩阵A、B、T,该矩阵A、B、T具有由下式表示的上三角零矩阵的关系:
[式4]
H = A B T C D E
其中包括在对角线元素处具有“1”的下三角矩阵T;
第二装置,用于通过预先计算的离线过程,从上三角零矩阵产生由下式表示的矩阵F:
[式5]
F=(-E·T-1·B+D)-1·(E·T-1·A-C)
第一存储器,用于以索引形式累积由第一装置和第二装置产生的矩阵F中的第一元素的位置;
第二存储器,用于存储信息比特序列S;
第一行计数器;
第一电路,用于通过取第二存储器的输出的异或,来产生第一奇偶序列p1,第二存储器被第一存储器输出的索引所寻址,第一存储器被第一行计数器寻址;
第三存储器,用于存储通过取奇偶序列p1和由离线过程产生的矩阵B的乘积、取信息比特序列S与由离线过程产生的矩阵A的乘积,并且取乘积的异或,来得到的由下式表示的序列:
[式6]
-A·sT-B·p1 T
第四存储器,用于以索引形式累积矩阵T的第一元素的位置;
第五存储器,用于存储第二奇偶序列p2;
第二行计数器;以及
第二电路,用于取第五存储器的输出和第三存储器的输出的异或以产生第二奇偶序列p2,并且写第五存储器,第五存储器被第四存储器输出的索引顺序地读取和寻址,第四存储器被第二行计数器寻址,第三存储器被第二行计数器寻址,第五存储器被第二行计数器写入和寻址,
其中编码处理是通过离线过程和第一和第二电路进行的在线过程来执行的。
在这种情况下,用于存储第二奇偶序列p2的第五存储器可包括数个镜像存储器,镜像存储器的数目等于矩阵T的行权重的数目,并且
用于存储矩阵T的元素1的位置作为索引的第四存储器被格式化成输出数个索引到单位地址,索引的数目等于行权重的数目,并且这些索引被读取和寻址到每个镜像存储器,以同时对行权重执行异或。
本发明的LDPC解码器可校正对于不同类别来说不同的LLR的概率分布的偏差,以提高性能,因为在Tanner图中每个节点可被分类成多个类别,并且在迭代解码中的概率传播计算中,可以对于经历传播的对数似然比(以下缩写为“LLR”),执行为每个类别预先确定的加权。
另外,由于迭代解码中的概率传播计算可以是MaxLog近似(或minSum算法),并且可以根据属于每个类别的测试矩阵的列权重来确定加权值,因此本发明的LDPC解码器可根据列权重的差异来校正LLR,以提高性能,其中列权重的差异是LLR的概率分布偏差的原因。
另外,该LDPC解码器在Tanner图中的多个类别内具有RA结构(这是重复累积结构的缩写,也被称为“Z字形结构”)的类别,其中该类别的加权可大于其他类别的加权,从而使得本发明的LDPC解码器可通过引入RA结构而有效地改进特性,校正与具有大偏差的LLR的其他类别的差异,并且进一步提高性能。
另外,在LDPC编码方案中的Tanner图中,可根据其测试矩阵的列权重而将形成图的一部分的每个节点分类成多个群组,并且在迭代解码中的概率传播计算中,对于经历传播的对数似然比(以下缩写为“LLR”),执行为每个群组确定的加权,从而使用本发明的LDPC解码器可逐群组地统一偏差,可利用适当的加权进行校正,并且可具有提高性能的效果。
另外,在LDPC编码方案中的Tanner图中可将每个节点分类为多个类别,并且根据属于每个类别的测试矩阵的权重分布,改变用于存储经历传播的对数似然比(LLR)的划分的存储体的数目,使得能够对对数似然比进行并行访问,从而使得本发明的LDPC解码器可通过对存储体的适当划分来有效地实现具有低复杂度的高效快速操作。
另外,在LDPC编码方案中的Tanner图中,每个节点可被分类成多个类别,并且具有这样的结构,该结构根据属于每个类别的测试矩阵的权重分布,改变用于存储经历传播的对数似然比(LLR)的划分的存储体的数目的结构,其中对对数似然比的并行访问通过具有FIFO功能的缓存电路执行,从而使得本发明的LDPC解码器即使在访问暂时集中的情况下也可取平均,通过增大划分的存储体的数目并减小芯片上总线的数目来减小LSI的芯片面积,并且降低成本。
另外,本发明的LDPC解码器还具有第二最小值检测器电路,用于利用第一最小值检测器电路检测第一最小值,屏蔽与所检测到的第一最小值相对应的输入,并且在迭代解码中的概率传播计算通过MaxLog近似(也称为“minSum算法”)来执行时检测第二最小值,其中,可按流水线结构来配置第一和第二最小值检测电路,从而在一个时钟中等效地执行近似计算,从而使得能够在小电路规模中有效地实现快速操作。
另外,本发明的LDPC解码器具有:第一存储器,用于在迭代解码中的概率传播计算通过MaxLog近似(或者所谓的“minSum算法”)来执行时暂时存储变量节点的LLR;以及用于校验节点的第二存储器,用于保存根据权利要求7的第一最小值和第二最小值,以及由对其输入的模2相加导致的极性信号,其中对第一存储器的输入是通过基于由Tanner图基于第一最小值和第二最小值而确定的连接而被添加到第一存储器的保存值来顺序地执行的,第一存储器可被分类成类别,为每个类别预先确定的加权可针对第一存储器的输出执行。由于该解码器可实现迭代解码,其中该迭代解码可包括将经加权的LLR和接收值LLR相加,然后减去通过由Tanner图基于作为第二存储器累积结果的第一最小值和第二最小值以及由模2相加导致的极性信号而确定的连接信息所选择的值,并且然后包括再次执行MaxLog近似(或者所谓的“minSum算法”),因此,通过适当的加权校正,有效地增大了利用小存储器配置和近似的帮助实现的电路规模减小效果,并且增大了速度和性能。
此外,由于本发明的LDPC解码器考虑了在第一存储器输入上或者在返回到MaxLog近似(或者所谓的“minSum算法”)输出的路径上而不是在第一存储器输出上对每个类别执行的加权,因此在设计LDPC解码器时有效地提供了自由度。
另外,由于由Tanner图确定的连接信息采取以索引形式保存测试矩阵中的1的位置的形式,因此本发明的LDPC解码器利用小存储器容量有效地保存了连接形式,并且减小了电路规模。
另外,本发明的LDPC解码器可具有两个面的第一存储器,用于暂时保存变量节点的LLR,以及两个面的用于校验节点的第二存储器,用于保存根据权利要求7的第一最小值和第二最小值,以及由对其输入的模2相加导致的极性信号,其中当存储器之一被用作输出时,另一存储器被用作输入,并且存储器的输入和输出在迭代解码处理中的重复周期之间可被交替地切换,因此速度可增大两倍,并且能够高效地使用存储器。
另外,本发明的一种LDPC编码器具有:装置1,用于通过对测试矩阵H的矩阵操作来产生矩阵A、B、T,该矩阵A、B、T具有由下式表示的上三角零矩阵的关系:
[式7]
H = A B T C D E
其中包括在对角线元素处具有“1”的下三角矩阵T;装置2,用于从上三角零矩阵产生由下式表示的矩阵F:
[式8]
F=(-E·T-1·B+D)-1·(E·T-1·A-C)其中,装置1和2是预先计算的离线过程;存储器1,用于以索引形式累积所得到的矩阵F中的元素1的位置;存储器2,用于存储信息比特序列S;第一行计数器;第一电路,用于通过取存储器2的输出的异或,来产生第一奇偶序列p1,存储器2还被存储器1输出的索引所寻址,存储器1被第一行计数器寻址;存储器3,用于通过取奇偶序列p1和从离线过程产生的矩阵B的乘积、取信息比特序列S与从离线过程产生的矩阵A的乘积,并且取乘积的异或,来存储由下式表示的序列:
[式9]
-A·sT-B·p1 T
存储器4,用于以索引形式累积从离线过程产生的矩阵T的元素1的位置;存储器5,用于存储第二奇偶序列p2;第二行计数器;第二电路,用于取存储器5的输出和存储器3的输出的异或以产生第二奇偶序列p2,并且写存储器4,存储器5还被存储器4输出的索引顺序地读取和寻址,存储器4被第二行计数器寻址,存储器3被第二行计数器寻址,存储器4被第二行计数器写入和寻址,其中编码处理是通过离线过程和第一和第二电路进行的在线过程来执行的,从而使得该LDPC编码器有效地保持稀疏测试矩阵的有效性,并且可以利用由于简单的异或操作所引起的小存储器容量和小电路规模来有效地实现编码处理。
另外,由于用于存储第二奇偶序列p2的存储器5包括数个镜像存储器,镜像存储器的数目等于矩阵T的行权重的数目,用于存储矩阵T的元素1的位置作为索引的存储器4被格式化成输出数个索引到单位地址,索引的数目等于行权重的数目,并且这些索引可被读取和寻址到每个镜像存储器,以同时对行权重执行异或,因此本发明的LDPC编码以高速有效地执行编码处理。
本发明的LDPC编码方案计算在被称为“Tanner图”的两部分图上的概率传播,该Tanner图是完全不同于专利文献1中公开的turbo码的编码结构,从而执行了迭代解码处理。在迭代解码中的概率传播计算中,将形成Tanner图的一部分的节点分类成多个类别,并且对经历传播的对数似然比执行预先独立地为每个分类的类别确定的加权,这构成了本发明。这样,不仅消除了误差平台,而且实现了更高的性能。由于本发明利用MaxLog近似(minSum算法)来分析非线性处理,因此“对称条件”的关系不再被保持,从而使得本发明的方法必须被使用。
本发明是LDPC编码方案的编码器和解码器,并且不要求保护其分析方法。另外,作为本发明的理论基础的该分析方法不同于专利文献3,并且专利文献3中公开的分析方法无法分析本发明的编码方案。
发明效果
如上所述,根据本发明的LDPC编码方案的编码器和解码器可提供能够在通信(例如移动通信)领域中的可行的电路规模中实现更高性能、更高速度和效率的手段。
为此,Tanner图的每个节点被分类成多个类别,处理规模通过低权重分布而得以减小,并且电路规模的巨大减小通过Min(Max)Log区域的大胆近似而不是和积而得以实现,并且本发明可提供能够实现更高性能、更高速度和效率而不会引起性能的恶化的手段。
另外,本发明可提供一种解码器,其利用具有低权重分布的测试矩阵实现了更高的性能、更高的速度和效率,而编码也可受益于具有低权重分布的测试矩阵,并且可提供能够实现以高速工作的体系结构的手段。
附图说明
图1是示出根据本发明的LDPC编码方案的解码器的实施例的图。
图1A是示出图1所示的解码器的具体电路配置的图。
图2是示出根据本发明的LDPC编码方案被分类成类别的Tanner图(插口(socket)模型)的示例的图。
图3是示出根据本发明的LDPC编码方案被分类成类别的测试矩阵的示例的图。
图4是示出根据本发明的LDPC编码方案被分类成类别的变量节点和校验节点的加权分布的示例的图。
图5是示出Monte Carlo仿真的误比特率特性的图,其中示出了根据本发明的LDPC编码方案的用于对每个类别进行权重的方案的效果。
图6是示出使用传统的单加权方案时Monte Carlo仿真的误比特率特性的图。
图7是示出由校验节点处理中的双曲正切规则近似的电路以及从中简化而来的Min(Max)Log区域的图。
图8是示出根据本发明的LDPC编码方案的编码器体系结构的第一电路的图。
图9是示出根据本发明的LDPC编码方案的编码器体系结构的第二电路的图。
图10是示出使根据本发明的LDPC编码方案的编码器体系结构的第二电路加速的电路的图。
标号描述
101用于存储变量节点LLR的存储器
102用于存储变量节点LLR的存储器
103加权处理单元
104减法器
105校验节点处理单元
106校验节点存储器
107加权处理单元
801第一存储器
802第二存储器
803第一行计数器
804异或
805延迟元件
806用于奇偶序列p1的存储器
901第三存储器
902第四存储器
903第五存储器
904行计数器
905异或
906延迟元件
1001第三存储器
1002第四存储器
1003第五存储器
1003-1,2镜像存储器
1004第二行计数器
1005异或
具体实施方式
接下来,在参考式子和附图描述本发明的实施例之前,首先将描述作为本发明背景的分析,以及密度演化(以下缩写为“DE”)的分析结果,所述DE中包括由MaxLog近似(也称为“minSum算法”)导致的非线性处理。
首先,将描述利用高斯近似(以下缩写为“GA”)的普通DE和包括非线性处理的DE。
普通GA是通过在利用和积的迭代解码处理的前提下,跟踪将被传播的LLR的均值来执行的。具体而言,对于列权重i的符号vi,其均值mv,i为:
[式10]
m v , i = E [ v i ] = m u 0 + ( i - 1 ) · m u - - - ( 1 )
假定在总体平均中,当变量节点的阶数分布由下式表达时:
[式11]
λ ( x ) = Σ i = 2 d v λ i · x i - 1
得出以下关系
[式12]
E [ tanh ( v 2 ) ] = Σ i = 2 d i λ i · E [ tanh ( v i 2 ) ] - - - ( 2 )
在这里,利用后面描述的方差,以及均值的条件:
[式13]
σ2=2·μ
[式14]
E [ tanh ( v i 2 ) ] = 1 4 π · m v , i ∫ tanh ( v i 2 ) · exp [ - ( v i - m v , i ) 2 4 m v , i ] du - - - ( 3 )
使用满足下式的Φ(x):
[式15]
φ ( x ) = 1 - 1 4 π · x ∫ tanh ( u 2 ) · exp [ - ( u - x ) 2 4 x ] du if x > 0 1 if x = 0 - - - ( 4 )
得出
[式16]
E [ tanh ( v i 2 ) ] = 1 - φ ( m v , i )
因此,得出以下关系。
[式17]
E [ tanh ( v 2 ) ] = Σ i = 2 d i λ i · ( 1 - φ ( m v , i ) ) = Σ i = 2 d i ( λ i - λ i · φ ( m v , i ) ) = 1 - Σ i = - 2 d i λ i · φ ( m v , i ) · · · Σ i = 2 d i λ i = 1 - - - ( 5 )
另外,根据和积解码方法中的“tanh规则”,具有行权重j的符号uj的均值mu,j
[式18]
1 - φ ( m u , j ) = E [ tanh ( u j 2 ) ] = E [ tanh ( v 2 ) ] j - 1 · · · m u , j = φ - 1 ( 1 - E [ tanh ( v 2 ) ] j - 1 ) - - - ( 6 )
假定校验节点的阶数分布由下式表达:
[式19]
ρ ( x ) = Σ i = 2 d c ρ j · x j - 1
假定总体平均
[式20]
m u = Σ j = 2 d r ρ j · m u , j
利用上述Φ(x)
[式21]
E [ tanh ( u j 2 ) ] = 1 - φ ( m u , j )
[式22]
m u , j = φ - 1 ( 1 - E [ tanh ( v ( l ) 2 ) ] j - 1 )
因此,最终,
[式23]
m u = Σ j = 2 d r ρ j · φ - 1 ( 1 - E [ tanh ( v ( l ) 2 ) ] j - 1 ) - - - ( 7 )
此外,在式(5)中使用
[式24]
E [ tanh ( v 2 ) ] = Σ i = 2 d i λ i · ( 1 - φ ( m v , i ) ) = Σ i = 2 d i ( λ i - λ i · φ ( m v , i ) ) = 1 - Σ i = 2 d i λ i · φ ( m v , i )
则得出以下式子:
[式25]
m u = Σ j = 2 d r ρ j · φ - 1 ( 1 - [ 1 - Σ i = 2 d i λ i · φ ( m v , i ) ] j - 1 ) - - - ( 8 )
此外,在式(1)中使用
[式26]
m v , i = E [ v i ] = m u 0 + ( i - 1 ) · m u
则得出以下用于奇异性的递归式
[式27]
m u = Σ j = 2 d r ρ j · φ - 1 ( 1 - [ 1 - Σ i = 2 d i λ i · φ ( m u 0 + ( i - 1 ) · m u ) ] j - 1 ) - - - ( 9 )
迭代解码过程中的平均行为可由以上式(9)看出,该式(9)是在预先给定的阶数轮廓下的递归式。在时间上发展至无穷大则得出无误差操作,而在中间停止的发展则不能得出无误差操作。其间的边界被称为重复阈值(Threshold),并且与平均的接收LLR值相对应的Eb/No:
[式28]
m u 0
是实现无误差操作所需的水平。
在这里,用于跟踪上述式子的发展过程的参数可以只是一个变量。这可以从下面这个容易理解的示例中看出来。现在假定在行权重dC的情况下考虑双曲正切规则
[式29]
tanh ( u 2 ) = Π k = 1 d c - 1 tanh ( v k 2 )
以使得必须考虑期望值,对于左侧的随机变量u的统计性质(方差σu2和均值mu),和右侧的随机变量的统计性质(方差σv2和均值mv):
[式30]
vk k=1,2,…,dc-1
在这里,假定右侧的第一变量,
[式31]
E [ { Π k = 1 d c - 1 tanh ( v k 2 ) - E [ Π k = 1 d c - 1 tanh ( v k 2 ) ] } 2 ] = E [ { Π k = 1 d c - 1 tanh ( v k 2 ) } 2 ] - { E [ Π k = 1 d c - 1 tanh ( v k 2 ) ] } 2 - - - ( 10 )
在这里,假定:
[式32]
vk k=1,2,…,dc-1
彼此独立且具有相同的随机性质,
[式33]
E [ Π k = 1 d c - 1 tanh ( v k 2 ) ] = Π k = 1 d c - 1 E [ tanh ( v k 2 ) ] = Π k = 1 d c - 1 E [ tanh ( v k 2 ) ] = ( 1 - φ ( m v ) ) d c - 1
其中; φ ( x ) = 1 - E [ tanh ( v k 2 ) ] = 1 - 1 4 πx ∫ - ∞ + ∞ tanh ( v k 2 ) · exp [ - ( v k - x ) 2 4 x ] d v k
- - - ( 11 )
其中:
[式34]
E [ tanh ( x 2 ) ] = 1 2 π σ 2 ∫ - ∞ + ∞ tanh ( x 2 ) · exp [ - ( x - m ) 2 2 σ 2 ] dx = 1 4 πm ∫ - ∞ + ∞ tanh ( x 2 ) · exp [ - ( x - m ) 2 4 m ] dx ( · · · σ 2 = 2 · m ) E [ tanh 2 ( x 2 ) ] = 1 2 π σ 2 ∫ - ∞ + ∞ tanh 2 ( x 2 ) · exp [ - ( x - m ) 2 2 σ 2 ] dx = 1 4 πm ∫ - ∞ + ∞ tanh 2 ( x 2 ) · exp [ - ( x - m ) 2 4 m ] dx ( · · · σ 2 = 2 · m ) - - - ( 12 )
两者之差为:
[式35]
E [ tanh ( x 2 ) ] - E [ tanh 2 ( x 2 ) ] = 1 4 πm ∫ - ∞ + ∞ tanh ( x 2 ) { 1 - tanh ( x 2 ) } · exp [ - ( x - m ) 2 4 m ] dx - - - ( 13 )
在上述式子中,省略了一个固定值,因为它与是否得出“0”无关,并且对于指数表示的tanh,以下列方式看到了非积分项:
[式36]
( e x - 1 e x + 1 ) · ( 1 - e x - 1 e x + 1 ) · e - ( x - m ) 2 4 m = ( e x - 1 e x + 1 ) · ( 2 e x + 1 ) · e - ( x - m ) 2 4 m = 2 e x - 2 ( e x + 1 ) 2 · e - x 2 4 m · e x 2 · e - m 4 - - - ( 14 )
上述式子中最后的元素:
[式37]
e - m 4
被省略,因为它不包括积分变量,而是固定的值,并且剩余的非积分函数由下式表达:
[式38]
f(x)
[式39]
f ( x ) = 2 e x - 2 ( e x + 1 ) 2 · e - x 2 4 m · e x 2 - - - ( 15 )
此函数的对称函数由下式表达:
[式40]
f ( - x ) = 2 e x - 2 ( e - x + 1 ) 2 · e - x 2 4 m · e - x 2 = 2 - 2 e x ( 1 + e x ) 2 · e - x e - 2 x · e - x 2 · e - x 2 4 m = - 2 e x - 2 ( e x + 1 ) 2 · e x 2 · e - x 2 4 m = - f ( x ) - - - ( 16 )
可以理解非积分函数:
[式41]
f(x)
是奇函数。因此成立
[式42]
∫ - ∞ + ∞ f ( x ) dx = 0
在满足任意
[式43]
2=2m)
的GA中,
[式44]
E [ tanh ( u 2 ) ] = E [ tanh 2 ( u 2 ) ]
- - - ( 17 )
因此,式(10)中的方差的第一项为:
[式45]
E [ { Π k = 1 d c - 1 tanh ( v k 2 ) } 2 ] = E [ Π k = 1 d c - 1 tanh 2 ( v k 2 ) ] = Π k = 1 d c - 1 E [ tanh 2 ( v k 2 ) ] = Π k = 1 d c - 1 E [ tanh ( v k 2 ) ] = ( 1 - φ ( m v ) ) d c - 1 5 - - - ( 18 )
因此,式(10)中的方差为:
[式46]
E [ { Π k = 1 d c - 1 tanh ( v k 2 ) - E [ Π k = 1 d c - 1 tanh ( v k 2 ) ] } 2 ] = ( 1 - φ ( m v ) ) d c - 1 - ( ( 1 - φ ( m v ) ) d c - 1 ) 2 - - - ( 19 )
接下来,利用左侧的随机变量u的统计性质(方差σu2和均值mu),考虑左侧的方差
[式47]
E [ { tanh ( u 2 ) - E [ tanh ( u 2 ) ] } 2 ] = E [ { tanh ( u 2 ) } 2 ] - { E [ tanh ( u 2 ) ] } 2 = E [ tanh ( u 2 ) ] - { E [ tanh ( u 2 ) ] } 2
= ( 1 - φ ( m u ) ) - ( 1 - φ ( m u ) ) 2 ( · · · Eq ( 17 ) ) - - - ( 20 )
最终,由于根据:
[式48]
tanh ( u 2 ) = Π k = 1 d c - 1 tanh ( v k 2 )
左侧和右侧之间的关系为:
[式49]
Var { tanh ( u 2 ) } = Var { Π k = 1 d c - 1 tanh ( v k 2 ) }
两侧的统计性质(方差σu2和均值mu)和(方差σv2和均值mv)能够保持平衡状态,其满足:
[式50]
( 1 - φ ( m u ) ) - ( 1 - φ ( m u ) ) 2 ⇔ ( 1 - φ ( m v ) ) d c - 1 - ( ( 1 - φ ( m v ) ) d c - 1 ) 2 - - - ( 21 )
换言之,具有成立此条件的统计性质(方差σu2和均值mu)的u是输出。
另一方面,对于平均值,在不与以下结果相矛盾的情况下看是否保持该状态:
[式51]
E [ tanh ( u 2 ) ] = E [ Π k = 1 d c - 1 tanh ( v k 2 ) ]
据此,右侧为:
[式52]
E [ Π k = 1 d c - 1 tanh ( v k 2 ) ] = Π k = 1 d c - 1 E [ tanh ( v k 2 ) ] = ( 1 - φ ( m v ) ) d c - 1
当然,左侧为:
[式53]
E [ tanh ( u 2 ) ] = ( 1 - φ ( m u ) )
因此,从均值的观点来看,两侧的统计性质(方差σu2和均值mu)和(方差σv2和均值mv)能够保持平衡状态,其满足:
[式54]
( 1 - φ ( m u ) ) ⇔ ( 1 - φ ( m v ) ) d c - 1 - - - ( 22 )
考察式(21)和式(22)之间的关系,例如,当利用满足式(22)的关系的条件来计算式(21)左侧时,
[式55]
Var { tanh ( u 2 ) } = ( 1 - φ ( m u ) ) - ( 1 - φ ( m u ) ) 2
= ( 1 - φ ( m v ) ) d c - 1 - ( ( 1 - φ ( m v ) ) d c - 1 ) 2 = Var { Π k = 1 d c - 1 tanh ( V k 2 ) } - - - ( 23 )
从该式可以了解到,式(21)和式(22)的关系,即均值和方差之间的关系,是没有矛盾地成立的。换言之,即使只利用均值的踪迹,均值的踪迹及其在双曲正切规则中的方差也会同时跟踪方差,只需要观察一个变量。
由于此关系将随机变量看作彼此独立的,因此对于取决于Φ(*)而不同的统计环境的随机变量,它也能成立。因此,对于如下所示的被分类成类别的Tanner图,它能够被按原样使用。下面,在分类成类别的Tanner图中注记(note)GA。
在传统的奇异LDPC的GA中,所有的LLR都以总体平均形式被当作单个均值处理。在分类成类别的Tanner图中,每个类别被总体平均,使得详细且正确的过程能够被相应地评估。具体而言,从变量节点到校验节点的消息和从校验节点到变量节点的消息被逐类别地分开考虑。现在假定类别数目为ne,并且以类别i的一个区域的分支外出的方向和以类别i的(di-1)分支进入的方向,类别j(≠i)的分支dj连接到校验节点(变量节点)。考虑这个状态下的GA。
虽然通过SumProduct进行的每个更新过程的均值被跟踪,但考虑是逐类别地分开进行的,并且向量表示被用于阶数:
[式57]
d = ( d 1 , d 2 , · · · , d n e )
其是为每个
[式56]
vbd(i.e.0.5,0.3,0.2,0.2)
而收集的。
换言之,对于消息V(i)d,具有任意阶数d的类别i中的列权重di的均值:
[式58]
m(i)v,d
为:
[式59]
m ( i ) v , d = E [ V ( i ) d ] = m ( i ) u 0 + ( d i - 1 ) · m ( i ) u + Σ j = 1 j ≠ i n e d j · m ( j ) u - - - ( 24 )
在这里,以下关系
[式61]
v x i ( r , x ) ≡ dv ( r , x ) dx i = d dx i ( Σ b , d v b , d · r b · x d ) = d dx i ( Σ b , d v b , d · Π j = 0 n τ r j b j · Π j = 1 n e x j d j )
= Σ b , d d i ≠ 0 d i · v b , d · ( Π j = 0 n τ r j b j ) · ( x i d i - 1 · Π j = 1 j ≠ i n e x j d j ) · · · v x i ( 1,1 ) = Σ b , d d i ≠ 0 d i · v b , d - - - ( 25 )
被用于注记在类别i的分支内连接到任意选择的阶数的节点的分支的比例:
[式60]
d = ( d 1 , d 2 , · · · , d n e )
由于类别i中的分支的总数为:
[式62]
Σ d d i ≠ 0 d i · v b , d
因此,连接到任意选择的阶数的节点的分支的比例:
[式63]
d = ( d 1 , d 2 , · · · , d n e )
最终为
[式64]
d i · v b , d Σ b , d d i ≠ 0 d i · v b , d = d i · v b , d v x i ( 1,1 )
因此,考虑到类别i中的总体平均,得出以下关系:
[式65]
E [ tanh ( V ( i ) 2 ) ] = Σ d d i ≠ 0 d i · v b , d v x i ( 1,1 ) · E [ tanh ( V ( i ) d 2 ) ] - - - ( 26 )
在这里,使用Φ(x),
[式66]
E [ tanh ( V ( i ) d 2 ) ] = 1 - φ ( m ( i ) v , d )
因此,得出以下关系:
[式67]
E [ tanh ( V ( i ) 2 ) ] = Σ d d i ≠ 0 d i · v b , d v x i ( 1,1 ) · ( 1 - φ ( m ( i ) v , d ) ) = Σ d d i ≠ 0 ( d i · v b , d v x i ( 1,1 ) - d i · v b , d v x i ( 1,1 ) · φ ( m ( i ) v , d ) )
= 1 - Σ d d i ≠ 0 ( d i · v b , d v x i ( 1,1 ) · φ ( m ( i ) v , d ) ) · · · Σ d d i ≠ 0 ( d i · v b , d v x i ( 1,1 ) ) = Σ d d i ≠ 0 d i · v b , d v x i ( 1,1 ) = v x i ( 1,1 ) v x i ( 1,1 ) = 1 - - - ( 27 )
以类似的方式,假定类别j(≠i)的dj分支以类别i的(di-1)分支进入的方向连接,因为考虑是逐类别地分开进行的,因此向量表示被用于阶数:
[式69]
d = ( d 1 , d 2 , · · · , d n e )
其是对每个
[式68]
vbd(i.e.0.5,0.3,0.2,0.2)
而收集的。
在具有任意阶数d的类别i内,列权重di的LLRU(i)d的均值:
[式70]
m(i)U,d
为:
[式71]
1 - φ ( m ( i ) U , d ) = E [ tanh ( U ( i ) d 2 ) ] = E [ tanh ( V ( i ) 2 ) ] i - 1 · Π j = 1 j ≠ i n e E [ tanh ( V ( j ) 2 ) ] j
· · · m ( i ) U , d = φ - 1 ( 1 - E [ tanh ( V ( i ) 2 ) ] i - 1 · Π j = 1 j ≠ i n e E [ tanh ( V ( j ) 2 ) ] j ) - - - ( 28 )
其中在sumProduct中使用了“tanh规则”。在这里,以下关系:
[式73]
μ x i ( x ) ≡ dμ ( x ) dx i = d dx i ( Σ d μ d · x d ) = d dx i ( Σ d μ d · Π j = 1 n e x j d j )
= Σ d d i ≠ 0 d i · μ d · ( x i d i - 1 · Π j = 1 j ≠ i n e x j d j ) · · · μ x i ( 1,1 ) = Σ d d i ≠ 0 d i · μ a - - - ( 29 )
被用于注记在类别i的分支内连接到任意选择的阶数的节点的分支的比例:
[式72]
d = ( d 1 , d 2 , · · · , d n e )
由于类别i中的分支的总数为:
[式74]
Σ d d i ≠ 0 d i · μ d
因此,连接到任意选择的阶数的节点的分支的比例:
[式75]
d = ( d 1 , d 2 , · · · , d n e )
为:
[式76]
d i · μ d Σ d d i ≠ 0 d i · μ d = d i · μ d μ x i ( 1 )
因此,假定类别i中的总体平均,得出以下关系:
[式77]
m ( i ) U = Σ d d i ≠ 0 d i · μ d μ x i ( 1 ) · m ( i ) U , d
在这里,使用Φ(x),
[式78]
E [ tanh ( U ( i ) d 2 ) ] = 1 - φ ( m ( i ) U , d )
根据以上式子,
[式79]
m ( i ) U , d = φ - 1 ( 1 - E [ tanh ( V ( i ) 2 ) ] i - 1 · Π j = 1 j ≠ i n e E [ tanh ( V ( j ) 2 ) ] j )
最终,
[式80]
m ( i ) U = Σ d d i ≠ 0 d i · μ d μ x i ( 1 ) · φ - 1 ( 1 - E [ tanh ( V ( i ) 2 ) ] i - 1 · Π j = 1 j ≠ i n e E [ tanh ( V ( j ) 2 ) ] j ) - - - ( 30 )
另外,由于上述式子:
[式81]
E [ tanh ( V ( i ) 2 ) ] = 1 - Σ d d i ≠ 0 ( d i · v b , d v x i ( 1,1 ) · φ ( m ( i ) v , d ) )
对于j也类似地成立,得出以下式子
[式82]
m ( i ) U =
Σ d d i ≠ 0 d i · μ d μ x i ( 1 ) · φ - 1 ( 1 - [ 1 - Σ d d i ≠ 0 ( d i · v b , d v x i ( 1,1 ) · φ ( m ( i ) v , d ) ) ] i - 1 Π j = 1 j ≠ i n e [ 1 - Σ d d j ≠ 0 ( d j · v b , d v x j ( 1,1 ) · φ ( m ( j ) v , d ) ) ] j ) - - - ( 31 )
此外,利用前述:
[式83]
m ( i ) v , d = E [ V ( i ) d ] = m ( i ) u 0 + ( d i - 1 ) · m ( i ) u + Σ j = 1 j ≠ i n e d j · m ( j ) u
对于分类成类别的Tanner图中的GA,得出以下递归式:
[式84]
m ( i ) u =
Σ d d i ≠ 0 d i · μ d μ x i ( 1 ) · φ - 1 1 - [ 1 - Σ d d i ≠ 0 ( d i · v b , d v x i ( 1,1 ) · φ ( m ( i ) u 0 + ( d i - 1 ) · m ( i ) u + Σ j = 1 j ≠ i n e d j · m ( j ) u ) ) ] i - 1 × Π j = 1 j ≠ i n e [ 1 - Σ d d j ≠ 0 ( d j · v b , d v x j ( 1,1 ) · φ ( m ( j ) u 0 + ( d j - 1 ) · m ( j ) u + Σ k = 1 k ≠ j n e d k · m ( k ) u ) ) ] j - - - ( 32 )
在预先给定的阶数轮廓下:
[式85]
v ( r , x ) ≡ Σ b , d v b , d · r b · x d ≡ Σ b , d v b , d · Π i = 0 n τ r i b i · Π j = 1 n e x j d j ( = Σ b , d v b , d · r 0 b 0 · r 1 b 1 · Π j = 1 n e x j d j ) μ ( x ) ≡ Σ d μ d · x d ≡ Σ d μ d · Π j = 1 n e x j d j - - - ( 33 )
在利用递归式(32)的迭代解码过程中,可以看到平均行为。当均值从一次重复到另一次重复发展到无穷大时,可实现误差操作,而当发展停止在中间时,则无法实现无误差操作。其边界被称为重复阈值(Thresho1d),并且此时与通信路径LLR平均m(i)u0i=1-ne相对应的Eb/N0是实现无误差操作所需要的水平。另外,在上述式子中,成立了
[式86]
v x i ( r , x ) ≡ dv ( r , x ) dx i = d dx i ( Σ b , d v b , d · r b · x d ) = d dx i ( Σ b , d v b , d · Π j = 0 n τ r j b j · Π j = 1 n e x j d j ) = Σ b , d d i ≠ 0 d i · v b , d · ( Π j = 0 n τ r j b j ) · ( x i d i - 1 · Π j = 1 j ≠ i n e x j d j ) · · · v x i ( 1,1 ) = Σ b , d d i ≠ 0 d i · v b , d μ x i ( x ) ≡ dμ ( x ) dx i = d dx i ( Σ d μ d · x d ) = d dx i ( Σ d μ d · Π j = 1 n e x j d j ) = Σ d d i ≠ 0 d i · μ d · ( x i d i - 1 · Π j = 1 j ≠ i n e x j d j ) · · · μ x i ( 1 ) = Σ d d i ≠ 0 d i · μ d - - - ( 34 )
前述是使用了基于sumProduct的双曲正切规则的情况,其中即使在迭代解码处理中,也能没有矛盾地成立式(21)和式(22)的关系,即均值和方差之间的关系。换言之,这是可以只观察一个变量的情况,因为在双曲正切规则中均值的踪迹及其方差是这样的:即使只有均值的踪迹也能同时跟踪方差。
但是,在包括由于MaxLog近似(或者所谓的“minSum算法”)而导致的非线性处理的GA的情况下,式(21)、式(22)的关系不再成立,从而无法获得只利用均值的踪迹就能同时跟踪方差的优点。
因此,在迭代解码处理期间跟踪均值和方差两者,并且根据SNR是否充分增长来作出确定。如果SNR在中间停止增大,则性能较差。参考边界处与通信路径LLR平均m(i)u0i=1-ne相对应的Eb/N0来确定必要水平。
为此,必须找出MaxLog近似(或者所谓的“minSum算法”)中的概率分布。下面,将描述概率分布,给出行权重为4的示例。
由于行权重为4,dC-1=3,因此将为三个变量找出概率分布。
现在假定在行方向上的处理,每个节点处的对数似然比被标记为LLR。因此,LLR由dC-1个独立随机变量确定,除了要估计的节点的数目之外,并且这些随机变量在下式中以向量表示法来表示:
[式87]
Z = [ z 1 , z 2 , · · · , z d c - 1 ]
并且相应的概率密度函数表示为:
[式88]
P z j ( z j , m j , σ 2 j )
其中mj是均值,σ2j是方差。另外,概率函数的定义如下。对于
[式89]
x>0
[式90]
φ + ( x , m j , σ 2 j ) = ∫ x + ∞ P z j ( z j , m j , σ 2 j ) dz j φ - ( x , m j , σ 2 j ) = ∫ - ∞ - x P z j ( z j , m j , σ 2 j ) dz j - - - ( 35 )
具体而言,
[式91]
φ+(x)
[式92]
φ-(x)
表示具有等于或大于x的量值的随机变量:
[式93]
zj
当其为正和负时。
为了找出作为LLR的概率密度分布(pdf)的QL(x),计算累积概率分布(cdf)。
对于
[式94]
l<0
成立
[式95]
Pr ( L < l ) = Pr { oddnumberofnegativevalueinZ , and | z j | > | l | , &ForAll; j }
具体而言,当所有
[式96]
|zj|
都等于或大于:
[式97]
|l|
时,
[式98]
min{|zj|}
也等于或大于:
[式99]
|l|
因此,即使由:
[式100]
L &ap; &Pi; jwon sgn ( z j ) &CenterDot; min jwon { | z j | }
近似的负区域中的最小值(Z中奇数个负值)
[式101]
min{|zj|}
满足:
[式102]
|zj|>|l|
使得:
[式103]
L<l<0
成立,使得区域中的所有事件由下式定义:
[式104]
{Z中奇数个负值,并且
Figure GSB00000482631400361
}
被包括在:
[式105]
Pr(L<l)
中。
相反,除非所有
[式106]
|zj|
都不等于或大于:
[式107]
|l|
等于或小于:
[式108]
|l|
的事件必定存在,因此它们不被包括在:
[式109]
Pr(L<l)
中。
因此,具有行权重4和三个变量的累积分布FL(1)为:
[式110]
在l<0
FL(l)=Pr(L<l)=φ-(|l|,m1,σ2 1)·φ+(|l|,m2,σ2 2)·φ+(|l|,m3,σ2 3)
-(|l|,m2,σ2 2)·φ+(|l|,m1,σ2 1)·φ+(|l|,m3,σ2 3)
-(|l|,m3,σ2 3)·φ+(|l|,m1,σ2 1)·φ+(|l|,m2,σ2 2)
-(|l|,m1,σ2 1)·φ-(|l|,m2,σ2 2)·φ-(|l|,m3,σ2 3)----------------------(36)
因此,通过用1来对上述式(36)的L的累积概率分布(cdf)进行微分,来要找出的L的概率密度分布QL(1):
[式111]
在l<0
Q L ( l ) = P z 1 ( z 1 , m 1 , &sigma; 2 1 ) &CenterDot; &phi; + ( | l | , m 2 , &sigma; 2 2 ) &CenterDot; &phi; + ( | l | , m 3 , &sigma; 2 3 )
+ &phi; - ( | l | , m 1 , &sigma; 2 1 ) &CenterDot; P z 2 ( - z 2 , m 2 , &sigma; 2 2 ) &CenterDot; &phi; + ( | l | , m 3 , &sigma; 2 3 )
+ &phi; - ( | l | , m 1 , &sigma; 2 1 ) &CenterDot; &phi; + ( | l | , m 2 , &sigma; 2 2 ) &CenterDot; P z 3 ( - z 3 , m 3 , &sigma; 2 3 )
+ P z 2 ( z 2 , m 2 , &sigma; 2 2 ) &CenterDot; &phi; + ( | l | , m 1 , &sigma; 2 1 ) &CenterDot; &phi; + ( | l | , m 3 , &sigma; 2 3 )
+ &phi; - ( | l | , m 2 , &sigma; 2 2 ) &CenterDot; P z 1 ( - z 1 , m 1 , &sigma; 2 1 ) &CenterDot; &phi; + ( | l | , m 3 , &sigma; 2 3 )
+ &phi; - ( | l | , m 2 , &sigma; 2 2 ) &CenterDot; &phi; + ( | l | , m 1 , &sigma; 2 1 ) &CenterDot; P z 3 ( - z 3 , m 3 , &sigma; 2 3 )
+ P z 3 ( z 3 , m 3 , &sigma; 2 3 ) &CenterDot; &phi; + ( | l | , m 1 , &sigma; 2 1 ) &CenterDot; &phi; + ( | l | , m 2 , &sigma; 2 2 )
+ &phi; - ( | l | , m 3 , &sigma; 2 3 ) &CenterDot; P z 1 ( - z 1 , m 1 , &sigma; 2 1 ) &CenterDot; &phi; + ( | l | , m 2 , &sigma; 2 2 )
+ &phi; - ( | l | , m 3 , &sigma; 2 3 ) &CenterDot; &phi; + ( | l | , m 1 , &sigma; 2 1 ) &CenterDot; P z 2 ( - z 2 , m 2 , &sigma; 2 2 )
+ P z 1 ( z 1 , m 1 , &sigma; 2 1 ) &CenterDot; &phi; - ( | l | , m 2 , &sigma; 2 2 ) &CenterDot; &phi; - ( | l | , m 3 , &sigma; 2 3 )
+ &phi; - ( | l | , m 1 , &sigma; 2 1 ) &CenterDot; P z 2 ( z 2 , m 2 , &sigma; 2 2 ) &CenterDot; &phi; - ( | l | , m 3 , &sigma; 2 3 )
+ &phi; - ( | l | , m 1 , &sigma; 2 1 ) &CenterDot; &phi; - ( | l | , m 2 , &sigma; 2 2 ) &CenterDot; P z 3 ( z 3 , m 3 , &sigma; 2 3 )
- - - ( 37 )
在1>0时发现相同的结果,这里省略。
根据式(37),可以利用下式计算MaxLog近似(也称为“minSum算法”)的均值:
[式112]
&Integral; - &infin; + &infin; l &CenterDot; Q L ( l ) dl - - - ( 38 )
另一方面,方差可由下式计算:
[式113]
&Integral; - &infin; + &infin; l 2 &CenterDot; Q L ( l ) dl - { &Integral; - &infin; + &infin; l &CenterDot; Q L ( l ) dl } 2 - - - ( 39 )
将此代入式(32)中,产生包括由于MaxLog近似(或者所谓的“minSum算法”)而导致的非线性处理的、分类成类别的Tanner图中的GA。利用GA搜索最佳加权的结果将在下面的示例中示出。
示例
多变量多项式
[式114]
v ( r , x ) &equiv; &Sigma; b , d v b , d &CenterDot; r 0 b 0 &CenterDot; r 1 b 1 &CenterDot; &Pi; j = 1 4 x j d j = 0.8 &CenterDot; r 1 &CenterDot; x 1 2 + 0 . 1 &CenterDot; r 1 &CenterDot; x 2 8 + 0.2 &CenterDot; r 0 &CenterDot; x 3 3 &CenterDot; x 4 3 + 0.1 &CenterDot; r 0 &CenterDot; x 3 2 &CenterDot; x 4 3 + 0.3 &CenterDot; r 1 &CenterDot; x 5 &mu; ( x ) &equiv; &Sigma; d &mu; d &CenterDot; &Pi; j = 1 n e x j d j = 0.8 &CenterDot; x 1 2 &CenterDot; x 2 &CenterDot; x 3 + 0.3 &CenterDot; x 4 3 &CenterDot; x 5 - - - ( 40 )
所实现的插口模型在图2中示出;测试矩阵在图3中示出;对应表在图4中示出。
此示例被称为“多类型”,其中对于每种类型提供了类别。从上述式(40)的多项式中可以了解到,图2至4中的插口模型等等是具有行权重4的单个行权重。利用包括由于MaxLog近似(或者所谓的“minSum算法”)而导致的非线性处理的、在本示例中分类成类别的Tanner图中的GA来搜索最佳加权。与加权相对应的位置如图1中方框图所示。具体而言,这被配置为使每个不同的类别被独立地加权。对于图上相应位置的加权展示出最高性能的值被按以下方式写在下表的左侧:
[表1]
Figure GSB00000482631400391
加权系数
如该结果所示,在具有RA结构的列权重2中,0.98处的加权最高,其他的大约在0.58至0.62的范围内。推测起来,这是因为具有RA结构的类别中的节点被给予了来自其他较高的列权重的可靠度高的LLR,而非RA结构的类别中的节点被给予了来自从RA结构而来的较低的行权重的可靠度低的LLR,因此具有RA结构的类别的权重较重,而其他类别的权重较轻。
虽然已知当MaxLog近似(或者所谓的“minSum算法”)被用于未分类成类别的Tanner图中时通过加权进行了校正,但是这对所有节点执行了单一加权。或者,加权是在关注行权重而不是列权重的情况下执行的。另一方面,应当注意,本发明在关注列权重的情况下执行加权。
例如,假定在关注行权重的情况下执行加权,则在上述示例中所有行权重都为4,导致同一加权值。尽管如此,通过逐类别地改变权重(这相对于以前是一个重大差异),表现出了特性的改进,这是由在上述类别化状态下尝试包括非线性处理的DE的本发明首次阐释的,并且本发明是基于此分析结果来进行的。
基于前述结果,使用实际MaxLog近似,利用LDPC解码器执行的Monte Carlo仿真的结果在图5中示出。在图5中,左侧的线表示使用和积的特性,右侧的线表示使用MaxLog近似(或者所谓的“minSum算法”)的特性。在此条件下使用的加权如下:
[表2]
加权系数
在最后的Monte Carlo仿真中,具有RA结构的、列权重为2的位置处的加权也是对于0.9999最高,其他的呈现0.58至0.69范围内的值,如以上结果所示。可以理解,即使由于要优化的若干个对象的操作点不同而引起值的轻微偏移,也会看到相同的趋势。
另一方面,图6示出了利用在其他方面具有完全相同内容的所有传统节点执行单一加权并且执行Monte Carlo仿真的方法来优化加权系数的结果。在此情况下使用的加权系数的表在下面示出。
[表3]
Figure GSB00000482631400402
加权系数
从图6的特性可见,使用MaxLog近似(或者所谓的“minSum算法”)的右侧线不能只以单个加权系数来使用,因为会发生误差平台。
前述是作为本发明的基础的分析结果,并且表明逐类别的加权对于采用通过分类成类别的Tanner图进行的MaxLog近似(或者所谓的“minSum算法”)的解码器来说是有效的。
下面,将参考图1描述本发明的一个实施例。图1是示出利用通过分类成类别的Tanner图进行的MaxLog近似(或者所谓的“minSum算法”)来逐类别地执行加权的解码器的配置,图1A是示出其具体电路配置的图。
图1所示的解码器包括:存储器100,其包括变量节点存储器101和102;加权处理单元103、107;减法器104;校验节点处理单元105;以及校验节点存储器106。
用于存储变量节点的变量节点存储器101和102在使用时分别被切换到输出和输入,并且它们的内部根据Tanner图中的类别划分被划分成存储体(未示出)。另外,提供用于存储接收值LLR的区域,并且负责变量节点输出的输出部件将接收值LLR添加到变量节点,并在其输出变量节点时输出结果。
在下面的描述中,基于变量节点存储器101和102当前分别被用于输出和输入这一假定来进行描述。
对于从存储着MaxLog近似(或者所谓的“minSum”)的第一最小值、第二最小值、由模2相加导致的极化信号以及最小值的位置的校验节点存储器106生成的值,即变量节点LLR:
[式115]
v1~vn
通过进行由下式所表示的选择和极化,对应于某个类别,以前述方式输出的变量节点LLR被加权处理单元103加权:
[式116]
u j = min ( | v 1 | , | v 2 | , &CenterDot; &CenterDot; &CenterDot; , | v n | ) &CenterDot; &Pi; i = 1 n sgn ( v i ) - - - ( 41 )
并且在用于输出与加权处理单元103相同的加权值的加权处理单元107的输出值被减法器104减去之后,以前述方式输出的变量节点LLR被输出到校验节点处理单元105。
校验节点处理单元105检测MaxLog近似(或者所谓的“minSum”)的第一最小值、第二最小值、由模2相加导致的极化信号以及最小值的位置。
校验节点处理单元105的具体电路配置在图7中示出。如图7(a)所示,双曲正切规则通过在Min(Max)Log区域中的近似自满而实现。在这里,校验节点处理中的消息更新准则被称为“双曲正切规则”,并且在并行配置中被流水线化,如图7(b)所示,使得平均起来操作在一个时钟中完成。电路操作在树配置中执行最小值检测(min),并且在最小值已被标记的情况下执行第二最小值检测(Sub-min)。通过两步的操作,所有处理都在一个时钟中等效地完成,因为它们被流水线化了。应当注意,图中省略了流水线的F/Fs,因为不然的话它们会导致复杂。
返回图1,在该校验节点处理被校验节点处理单元105执行之后,所得到的值(min、Sub-min、作为由模2相加导致的极性信号的符号,以及关于最小值的位置的位置指示)被存储在校验节点存储器106中。
校验节点存储器106包括两个存储器单元,它们像存储器100那样被用作输入或输出,并且将校验节点处理单元105的处理所产生的值存储在输入存储器单元中。另外,同时,LLR,即通过使用它们进行选择和极化而得出的式(41)中的u的值被存储在变量节点存储器102中。在这种情况下,在被存储在变量节点存储器102中之前,预先逐类别地确定的加权在加权处理单元103中执行。
对于这一点,虽然在此框图中加权处理是在存储时执行的,但是加权处理也可在接收值LLR在作为输出的变量节点存储器101中被添加之前执行,或者加权处理可以在输出时在校验节点处理单元105中执行。
在下一周期中,配置被切换,使得这一次变量节点存储器102是输出,而变量节点存储器101是输入。虽然为了避免复杂在图中进行了省略了,但加权处理单元103也适合于作用于作为输入的变量节点存储器101。同样,两部分配置中的校验节点存储器106也在输入和输出之间切换,并且用于在不同周期之间交替地重复切换存储器的输入和输出的处理一直被执行,直到达到预先确定的重复次数。
在根据类别中的权重分布逐类别地划分的存储体内,按照存储体进一步划分对这些存储器的访问,以使得处理并行地进行。另外,由于存储器访问操作是在考虑到由于每个类别中的权重分布关系引起在某个时刻并行访问暂时集中的情形的同时,通过具有FIFO功能的缓存电路执行的,因此由平均作用来完成所划分的存储体数目的增加和芯片上总线数目的减少。
另外,在图中虽然没有具体描述,但由Tanner图所确定的连接信息具有以索引形式保存测试矩阵中1的位置的存储器,并且LLR连接控制是利用较小的存储器容量来进行的。
另外,从图2、3、4可以了解到,在本示例中,类别和列权重之间的关系基本上对应。具体而言,虽然可以不考虑列权重地、通过类别化来自由确定加权,但是像本示例一样,在类别中也可包括基于列权重的分组。
以上参考图1描述了解码器的体系结构。接下来,将描述根据本发明的编码器。
由低阶轮廓确定的测试矩阵H涉及少量的用于解码的处理,并且适合于较低的复杂度,因为它是稀疏矩阵。但是,由于几乎可以肯定与稀疏的测试矩阵H相对应的生成矩阵G不是稀疏矩阵,因此相对于解码处理来说,编码处理是不可忽略的。但是,已知一种计算方法,其在使用此稀疏测试矩阵的同时生成代码。因此,将参考附图描述允许速度增大并且处理规模较小的体系结构。
本发明的编码处理操作包括用于预先执行计算(预计算)的离线过程(Offline process),和基于硬件的在线过程(Online process)。预先执行的离线过程执行矩阵变换,同时保持测试矩阵的稀疏性。另一方面,基于硬件的在线过程基于四个矩阵A、B、T和F以高速执行编码处理操作,该四个矩阵是在维持测试矩阵的稀疏性的同时创建的。
(1)预计算(Offline process)
下面的上三角零矩阵H是通过测试矩阵的行切换和列切换而产生的:
[式117]
H = A B T C D E - - - ( 42 )
其中T是在对角线元素处具有“1”的下三角矩阵,并且被乘以:
[式118]
I 0 - E &CenterDot; T - 1 I - - - ( 43 )
其来自以下矩阵的左结果:
[式119]
A B T - E &CenterDot; T - 1 &CenterDot; A + C - E &CenterDot; T - 1 &CenterDot; B + D 0 - - - ( 44 )
在这里,作为编码器输出的码字按下面的方式以向量表示法来表示:
[式120]
X=[s p1 p2]
在向量中的相同向量中,s表示信息比特序列,p1、p2分别表示奇偶比特序列。
由于由:
[式121]
H·X=0
表示的关系存在于码字向量X和以下测试矩阵H之间:
[式122]
A B T - E &CenterDot; T - 1 &CenterDot; A + C - E &CenterDot; T - 1 &CenterDot; B + D 0 &CenterDot; s T p 1 T p 2 T = 0 - - - ( 45 )
由此得出以下关系:
[式123]
A &CenterDot; s T + B &CenterDot; p 1 T + T &CenterDot; p 2 T = 0 &DoubleRightArrow; T &CenterDot; p 2 T = ( 1 - A &CenterDot; s T - B &CenterDot; p 1 T ) - ( E &CenterDot; T - 1 &CenterDot; A + C ) &CenterDot; s T + ( - E &CenterDot; T - 1 &CenterDot; B + D ) &CenterDot; p 1 T = 0 &DoubleRightArrow; ( - E &CenterDot; T - 1 &CenterDot; B + D ) &CenterDot; p 1 T = ( E &CenterDot; T - 1 &CenterDot; A - C ) &CenterDot; s T - - - ( 46 )
(2)硬件编码(Online process)
基于上述式子,以高速从给定的信息比特序列生成作为编码器输出的一部分的奇偶比特序列p1。
i.s-->p1:来自上述式子中的第二关系
[式124]
p1 T=(-E·T-1·B+D)-1·(E·T-1·A-C)·sT
=F·sT    其中;预先计算的矩阵F=(-E·T-1·B+D)-1·(E·T-1·A-C)----------------------(47)
上式中的处理都在GF(2)上执行,并且向量p1的大小在被称为“缝隙(gap)”的部分中是非常小的。因此,它可以由如图8所示的简单电路来实现。在图8中,第一存储器801累积由离线过程产生的矩阵F的元素1的位置作为索引,并且信息比特序列S被存储在第二存储器802中,该第二存储器802被第一行计数器803寻址,并且还由该第一存储器801输出的索引所寻址。因此,由于按1(其是矩阵F的元素)的索引输出的信息比特S被异或电路804和延迟元件805进行模2积分,因此,用于累积目的地的奇偶序列p1的存储器806存储
式(47)中的
[式125]
p1 T=F·sT
ii.s,p1-->p2:来自上述式子(46)中的第一关系:
[式126]
T·p2 T=(-A·sT-B·p1 T)----------------------(48)
其中矩阵T是按以下方式在对角线元素处具有“1”的下三角矩阵。因此
[式127]
T p 2 T - As T - B p 1 T
1 0 T 21 1 &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; 1 T n 1 T n 2 &CenterDot; &CenterDot; &CenterDot; 1 &CenterDot; p 1 p 2 &CenterDot; &CenterDot; &CenterDot; p n = a 1 a 2 &CenterDot; &CenterDot; &CenterDot; a n - - - ( 49 )
据此得出以下关系:
[式128]
p 1 = a 1 p 2 = a 2 &CirclePlus; T 21 &CenterDot; p 1 p 3 = a 3 &CirclePlus; T 31 &CenterDot; p 1 &CirclePlus; T 32 &CenterDot; p 2 &CenterDot; &CenterDot; &CenterDot; p n = a n &CirclePlus; T n 1 &CenterDot; p 1 &CirclePlus; T n 2 &CenterDot; p 2 &CirclePlus; &CenterDot; &CenterDot; &CenterDot; &CirclePlus; T nn - 1 &CenterDot; p n - 1 - - - ( 50 )
以上式子中的处理都在GF(2)上执行,并且矩阵T是下三角矩阵,并且还是稀疏矩阵。此外,由于A和B都是稀疏矩阵,因此它们可以由如图9所示的简单电路来实现。
在图9中,第三存储器901存储以下两个乘积之和:按式(47)由离线过程产生的奇偶序列p1与由上述离线过程产生的矩阵B的乘积,以及上述信息比特序列S和由离线过程产生的矩阵A的乘积:
[式129]
(-A·sT-B·p1 T)
并且第四存储器902累积由离线过程产生的矩阵T中元素“1”的位置,作为索引。
第五存储器903是存储第二奇偶序列p2的存储器,并且使用由第二行计数器904寻址的第四存储器902所输出的索引作为读地址,并且选择器907被第二行计数器904控制,使得第五存储器903的输出和存储:
[式130]
(-A·sT-B·p1 T)
的第三存储器901的输出在第一次时只取异或,然后,选择器907切换到第二奇偶序列p2,从而使得异或电路905和延迟元件906执行式(50)的处理。在这一点上,
[式131]
(-A·sT-B·p1 T)
的基于硬件的处理是普通的设计问题,因此这里省略对其的描述。
本发明的编码器由图8和9所示的前述离线过程和基于硬件的在线过程所配置。
图10是图9的电路的更高速度的版本,它负责编码处理的大多数负荷,并且以类似于图9所示的方式,使用由第二行计数器1004寻址的存储器102中矩阵T的元素1的位置作为索引来进行操作。
图10与图9所示的配置的不同之处仅在于索引的数目等于行权重的数目,并且同一行内的所有1的位置的索引都被并行寻址到存储第二奇偶序列p2的存储器1003。为此,镜像存储器1003-1,2被添加作为用于存储第二奇偶序列p2的存储器,并且式(50)的处理被异或电路1005与第三存储器1001的输出一起同时执行,该第三存储器1001存储:
[式132]
(-A·sT-B·p1 T)
并且结果被存储在包括镜像存储器1003-1,2的存储器1003中,其存储第二奇偶序列p2以完成快速操作。

Claims (26)

1.一种用于LDPC解码器的方法,所述LDPC解码器使用LDPC编码方案中的Tanner图,其中,每个节点可被分类成多个类别,所述方法的特征在于:将所述LDPC解码器配置为在迭代解码中的概率传播计算中,对于经历传播的对数似然比,执行为每个所述类别预先确定的加权。
2.根据权利要求1所述的方法,特征在于:所述迭代解码中的概率传播计算是MaxLog近似或minSum算法,并且所述LDPC解码器根据属于每个类别的测试矩阵的列权重来确定加权值。
3.根据权利要求1或权利要求2所述的方法,特征在于:对于所述Tanner图,在所述多个类别内具有RA结构的类别,其中所述RA结构是重复累积结构,也被称为Z字形结构,其中所述具有RA结构的类别的加权大于其他类别的加权。
4.根据权利要求2所述的方法,特征在于:配置所述LDPC解码器使得其具有第一最小值检测器电路和第二最小值检测器电路,其中第一最小值检测器电路检测第一最小值,第二最小值检测电路屏蔽与所检测到的第一最小值相对应的输入,并且当所述迭代解码中的概率传播计算通过MaxLog近似或minSum算法来执行时,检测第二最小值,所述方法还具有以下特征:以流水线结构配置所述第一和第二最小值检测电路,从而在一个时钟中等效地执行近似计算。
5.根据权利要求4所述的方法,特征在于配置所述LDPC解码器使得其具有:第一存储器,用于当所述迭代解码中的概率传播计算通过MaxLog近似或minSum算法来执行时,暂时存储变量节点的对数似然比;以及用于校验节点的第二存储器,用于保存根据权利要求4的所述第一最小值和所述第二最小值,以及由对其输入的模2相加而导致的极性信号,其中对所述第一存储器的输入是通过基于由所述Tanner图基于根据权利要求4的所述第一最小值和所述第二最小值而确定的连接而被添加到所述第一存储器的保存值来顺序地执行的,所述第一存储器根据权利要求2被分类成类别,为每个类别预先确定的加权是针对所述第一存储器的输出而执行的,所述解码器被配置成特征在于迭代解码,所述迭代解码包括将经加权的对数似然比和接收值对数似然比相加,然后减去通过由所述Tanner图基于作为第二存储器累积结果的所述第一最小值和所述第二最小值以及所述由模2相加导致的极性信号而确定的连接信息所选择的值,并且再次执行MaxLog近似或minSum算法。
6.根据权利要求5所述的方法,特征在于:在所述第一存储器输入上或者在返回到MaxLog近似或minSum算法输出的路径上,而不是在所述第一存储器输出上,对每个类别执行加权。
7.根据权利要求5或权利要求6所述的方法,特征在于:由所述Tanner图确定的连接信息以索引形式保存所述测试矩阵中的1的位置。
8.根据权利要求5所述的方法,特征在于:配置所述LDPC解码器使得其具有两个面的所述第一存储器,用于暂时保存所述变量节点的对数似然比,以及两个面的用于校验节点的所述第二存储器,用于保存根据权利要求4的所述第一最小值和第二最小值,以及由对其输入的模2相加导致的极性信号,其中,当所述存储器之一被用作输出时,另一存储器被用作输入,并且所述存储器的输入和输出在所述迭代解码中从一个重复周期到另一个重复周期时被交替地切换。
9.一种用于LDPC解码器的方法,所述LDPC解码器使用LDPC编码方案中的Tanner图,其中,形成图的一部分的每个节点可根据其测试矩阵的列权重而被分类成多个群组,所述方法特征在于:将所述LDPC解码器配置为在迭代解码中的概率传播计算中,对于经历传播的对数似然比,执行为每个所述群组确定的加权。
10.一种用于LDPC解码器的方法,所述LDPC解码器使用LDPC编码方案中的Tanner图,其中,每个节点可被分类成多个类别,所述方法特征在于:将所述LDPC解码器配置为根据属于每个类别的测试矩阵的权重分布,改变用于存储经历传播的对数似然比的划分的存储体的数目,使得能够对所述对数似然比进行并行访问。
11.根据权利要求10所述的方法,其中,每个节点可被分类成多个类别,所述方法特征在于:配置所述LDPC解码器使得其具有用于根据属于每个类别的测试矩阵的权重分布,改变用于存储经历传播的对数似然比的划分的存储体的数目的结构,并且所述方法特征还在于通过具有FIFO功能的缓存电路执行对所述对数似然比的并行访问。
12.一种LDPC编码器,被配置成特征在于:具有装置1,用于通过对测试矩阵H的矩阵操作来产生矩阵A、B、T,所述矩阵A、B、T具有由下式表示的上三角零矩阵的关系:
[式1]
H = A B T C D E
其中包括对角线元素为1的下三角矩阵T;具有装置2,用于从所述上三角零矩阵产生由下式表示的矩阵F:
[式2]
F=(-E·T-1·B+D)-1·(E·T-1·A-C)
其中,所述装置1和2是预先计算的离线过程,并且具有:存储器1,用于以索引形式累积所得到的矩阵F中的元素1的位置;存储器2,用于存储信息比特序列S;和第一行计数器;所述LDPC编码器具有第一电路,用于通过得出所述存储器2的输出的异或,来产生第一奇偶序列p1,所述存储器2还通过所述存储器1输出的索引来寻址,所述存储器1通过所述第一行计数器来寻址;所述LDPC编码器具有存储器3,用于存储通过得出奇偶序列p1和从所述离线过程产生的矩阵B的乘积、得出信息比特序列S与从所述离线过程产生的矩阵A的乘积,并且得出所述乘积的异或,而得到的由下式表示的序列:
[式3]
-A·sT-B·p1 T
所述LDPC编码器具有存储器4,用于以索引形式累积从所述离线过程产生的矩阵T的元素1的位置;存储器5,用于存储第二奇偶序列p2;和第二行计数器;所述LDPC编码器具有第二电路,用于得出所述存储器5的输出和所述存储器3的输出的异或以产生第二奇偶序列p2,并且写所述存储器4,所述存储器5还通过所述存储器4输出的索引顺序地读取和寻址,所述存储器4通过所述第二行计数器来寻址,所述存储器3通过所述第二行计数器来寻址,所述存储器4通过所述第二行计数器写入和寻址,其中编码处理是通过所述离线过程和所述第一和第二电路进行的在线过程来执行的。
13.根据权利要求12所述的LDPC编码器,被配置成特征在于:所述用于存储第二奇偶序列p2的存储器5包括多个镜像存储器,所述镜像存储器的数目等于所述矩阵T的行权重的数目,所述用于存储所述矩阵T的元素1的位置作为索引的存储器4被格式化成输出多个所述索引到单位地址,所述索引的数目等于行权重的数目,并且这些索引同时被读取和寻址到每个镜像存储器以对所述行权重执行异或。
14.一种LDPC解码器,使用利用变量节点和校验节点来表示代码的Tanner图,所述LDPC解码器的特征在于包括:
第一变量节点存储器,包括多个存储体,用于逐类别地存储分类成多个类别的经历传播的对数似然比;
第二变量节点存储器,包括多个存储体,用于逐类别地为所述多个类别中的每一个存储加权值;
加权处理单元,用于根据所述经历传播的对数似然比,为所述第二变量节点存储器中存储的每个类别确定加权值;以及
校验节点处理装置,用于从所述第一变量节点存储器和第二变量节点存储器中的每个类别的存储内容中,执行迭代解码中的概率传播计算,以输出到所述第一变量节点存储器和加权处理单元,作为所述经历传播的对数似然比。
15.根据权利要求14所述的LDPC解码器,其特征在于:所述校验节点处理装置中的所述迭代解码中的概率传播计算是通过MaxLog近似或minSum算法执行的,并且加权值是根据属于每个类别的测试矩阵的列权重来确定的。
16.根据权利要求14或权利要求15所述的LDPC解码器,其特征在于:在所述多个类别中具有RA结构的类别,其中对于所述RA结构的类别的加权大于对于其他类别的加权。
17.一种LDPC解码器,使用利用变量节点和校验节点来表示代码的Tanner图,所述LDPC解码器的特征在于包括:
第一变量节点存储器,包括多个存储体,用于逐类别地根据测试矩阵的列权重,存储分类成多个群组的经历传播的对数似然比;
第二变量节点存储器,包括多个存储体,用于逐群组地为所述多个群组中的每一个存储加权值;
加权处理单元,用于根据所述经历传播的对数似然比,为所述第二对数节点存储器中存储的每个群组确定加权值;以及
校验节点处理装置,用于从所述第一变量节点存储器和第二变量节点存储器中的每个群组的存储内容中,执行迭代解码中的概率传播计算,以输出到所述第一变量节点存储器和加权处理单元,作为所述经历传播的对数似然比。
18.一种LDPC解码器,使用利用变量节点和校验节点来表示代码的Tanner图,所述LDPC解码器的特征在于包括:
第一变量节点存储器,包括多个存储体,用于逐类别地存储分类成多个类别的经历传播的对数似然比;
第二变量节点存储器,包括多个存储体,用于逐类别地为所述多个类别中的每一个存储加权值;
加权处理单元,用于根据所述经历传播的对数似然比,为所述第二对数节点存储器中存储的每个类别确定加权值;以及
校验节点处理装置,用于从所述第一变量节点存储器和第二变量节点存储器中的每个类别的存储内容中,执行迭代解码中的概率传播计算,以输出到所述第一变量节点存储器和加权处理单元,作为所述经历传播的对数似然比,
其中,所述第一变量节点存储器中的存储体的数目可根据属于每个类别的测试矩阵的权重分布而改变,从而使得能够对所述第一变量节点存储器进行并行访问。
19.根据权利要求18所述的LDPC解码器,其特征在于包括具有FIFO功能的缓存存储器电路,用于执行对所述第一变量节点存储器的并行访问。
20.根据权利要求15所述的LDPC解码器,其特征在于:
所述校验节点处理装置包括:
第一最小值电路,用于利用第一最小值检测器电路来检测第一最小值;以及
第二最小值检测器电路,用于屏蔽与由所述第一最小值电路检测到的第一最小值相对应的输入,并且检测第二最小值,
其中,所述第一和第二最小值电路是以流水线结构配置的,并且在一个时钟中等效地执行近似计算。
21.根据权利要求20所述的LDPC解码器,其特征在于:
所述校验节点处理装置包括:
第一存储器,用于暂时保存输出到所述第一变量节点存储器的分类成所述多个类别并输出到所述加权处理单元的对数似然比;以及
用于校验节点的第二存储器,用于保存所述第一最小值和第二最小值,以及由对其输入的模2相加导致的极性信号;
基于由所述Tanner图基于所述第一最小值和第二最小值而确定的连接,将对所述第一存储器的输入顺序地添加到所述第一存储器中的保存值;并且
对于所述第一存储器输出,执行预先为每个类别确定的加权,并且执行迭代解码,所述迭代解码包括将经加权的对数似然比和接收值对数似然比相加,然后减去由所述Tanner图基于作为第二存储器累积结果的所述第一最小值和所述第二最小值以及所述由模2相加导致的极性信号而确定的连接信息所选择的值,并且再次执行MaxLog近似或者minSum算法。
22.根据权利要求20所述的LDPC解码器,其特征在于:
所述校验节点处理装置包括:
第一存储器,用于暂时保存输出到所述第一变量节点存储器的分类成所述多个类别并输出到所述加权处理单元的对数似然比;以及
用于校验节点的第二存储器,用于保存所述第一最小值和第二最小值,以及由对其输入的模2相加导致的极性信号;
基于由所述Tanner图基于所述第一最小值和第二最小值而确定的连接,将对所述第一存储器的输入顺序地添加到所述第一存储器中的保存值;并且
对于所述第一存储器输出或者返回到MaxLog近似或minSum算法输出的路径,执行预先为每个类别确定的加权,并且执行迭代解码,所述迭代解码包括将经加权的对数似然比和接收值对数似然比相加,然后减去由所述Tanner图基于作为第二存储器累积结果的所述第一最小值和所述第二最小值以及所述由模2相加导致的极性信号而确定的连接信息所选择的值,并且再次执行MaxLog近似或者minSum算法。
23.根据权利要求21或权利要求22所述的LDPC解码器,被配置成特征在于:由所述Tanner图确定的连接信息以索引形式保存所述测试矩阵中的1的位置。
24.根据权利要求21所述的LDPC解码器,其特征在于:所述第一变量节点存储器和所述第二变量节点存储器,以及所述第一存储器和第二存储器是这样的:当其中任何一个被用作输出时,另一个被用作输入,并且所述输入和输出在所述迭代解码中从一个重复周期到另一个重复周期时被被交替地切换。
25.一种LDPC编码器,其特征在于包括:
第一装置,用于通过预先计算的离线过程,通过对测试矩阵H的矩阵操作,来产生矩阵A、B、T,所述矩阵A、B、T具有由下式表示的上三角零矩阵的关系:
[式4]
H = A B T C D E
其中包括对角线元素为“1”的下三角矩阵T;
第二装置,用于通过预先计算的离线过程,从所述上三角零矩阵产生由下式表示的矩阵F:
[式5]
F=(-E·T-1·B+D)-1·(E·T-1·A-C)
第一存储器,用于以索引形式累积由所述第一装置和第二装置产生的矩阵F中的第一元素的位置;
第二存储器,用于存储信息比特序列S;
第一行计数器;
第一电路,用于通过得出所述第二存储器的输出的异或,来产生第一奇偶序列p1,所述第二存储器通过所述第一存储器输出的索引来寻址,所述第一存储器通过所述第一行计数器来寻址;
第三存储器,用于存储通过得出奇偶序列p1和由所述离线过程产生的矩阵B的乘积、得出信息比特序列S与由所述离线过程产生的矩阵A的乘积,并且得出所述乘积的异或,而得到的由下式表示的序列:
[式6]
-A·sT-B·p1 T
第四存储器,用于以索引形式累积所述矩阵T的第一元素的位置;
第五存储器,用于存储第二奇偶序列p2;
第二行计数器;以及
第二电路,用于得出所述第五存储器的输出和所述第三存储器的输出的异或以产生第二奇偶序列p2,并且写所述第五存储器,所述第五存储器通过所述第四存储器输出的索引顺序地读取和寻址,所述第四存储器通过所述第二行计数器来寻址,所述第三存储器通过所述第二行计数器来寻址,所述第五存储器通过所述第二行计数器写入和寻址,
其中,编码处理是通过所述离线过程和所述第一和第二电路进行的在线过程来执行的。
26.根据权利要求25所述的LDPC编码器,其特征在于:
所述用于存储第二奇偶序列p2的第五存储器包括多个镜像存储器,所述镜像存储器的数目等于所述矩阵T的行权重的数目,并且
所述用于存储矩阵T的元素1的位置作为索引的第四存储器被格式化成输出多个所述索引到单位地址,所述索引的数目等于行权重的数目,并且这些索引同时被读取和寻址到每个镜像存储器,以对所述行权重执行异或。
CN2006800165262A 2005-05-13 2006-04-18 利用ldpc编码的编码器和解码器 Expired - Fee Related CN101233693B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005141588 2005-05-13
JP141588/2005 2005-05-13
PCT/JP2006/308116 WO2006120844A1 (ja) 2005-05-13 2006-04-18 Ldpc符号化方式によるエンコーダ及びデコーダ

Publications (2)

Publication Number Publication Date
CN101233693A CN101233693A (zh) 2008-07-30
CN101233693B true CN101233693B (zh) 2012-11-14

Family

ID=37396357

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800165262A Expired - Fee Related CN101233693B (zh) 2005-05-13 2006-04-18 利用ldpc编码的编码器和解码器

Country Status (6)

Country Link
US (1) US8140930B1 (zh)
EP (1) EP1881610B1 (zh)
JP (1) JP5315693B2 (zh)
KR (4) KR101356808B1 (zh)
CN (1) CN101233693B (zh)
WO (1) WO2006120844A1 (zh)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4526451B2 (ja) 2005-06-30 2010-08-18 ルネサスエレクトロニクス株式会社 復号装置と方法並びにプログラム
JP4526450B2 (ja) * 2005-06-30 2010-08-18 ルネサスエレクトロニクス株式会社 復号装置と方法並びにプログラム
US8359522B2 (en) * 2007-05-01 2013-01-22 Texas A&M University System Low density parity check decoder for regular LDPC codes
US8473824B1 (en) * 2008-09-08 2013-06-25 Marvell International Ltd. Quasi-cyclic low-density parity-check (QC-LDPC) encoder
JP4645640B2 (ja) * 2007-11-30 2011-03-09 住友電気工業株式会社 復号器、受信装置及び符号化データの復号方法
CN101299612B (zh) * 2008-06-10 2013-04-24 上海瀚讯无线技术有限公司 一种快速树图分解方法
TWI372523B (en) * 2008-11-14 2012-09-11 Realtek Semiconductor Corp Recording controller and decoder for parity-check code
JP5197544B2 (ja) * 2009-10-05 2013-05-15 株式会社東芝 メモリシステム
EP2529486B1 (en) * 2010-01-27 2014-10-15 Telefonaktiebolaget LM Ericsson (publ) Error floor reduction in iteratively decoded fec codes
US8661326B1 (en) * 2010-08-04 2014-02-25 Marvell International Ltd. Non-binary LDPC code decoding early termination
JP5091996B2 (ja) * 2010-09-09 2012-12-05 株式会社東芝 誤り訂正復号器、メモリコントローラ及び受信機
CN102130693B (zh) 2010-11-10 2013-06-05 华为技术有限公司 一种低密度奇偶校验码的译码方法和装置
JP5132758B2 (ja) * 2010-12-13 2013-01-30 株式会社東芝 誤り訂正復号器及び記憶装置
JP5413701B2 (ja) * 2011-03-22 2014-02-12 日本電気株式会社 誤り訂正符号化装置、誤り訂正符号化方法および誤り訂正符号化プログラム
JP5648852B2 (ja) * 2011-05-27 2015-01-07 ソニー株式会社 データ処理装置、及び、データ処理方法
JP5664919B2 (ja) * 2011-06-15 2015-02-04 ソニー株式会社 データ処理装置、及び、データ処理方法
CN104221291B (zh) * 2012-03-28 2018-02-23 英特尔公司 更新与迭代解码器关联的变量节点
US9191256B2 (en) * 2012-12-03 2015-11-17 Digital PowerRadio, LLC Systems and methods for advanced iterative decoding and channel estimation of concatenated coding systems
US9178653B2 (en) * 2013-01-16 2015-11-03 Broadcom Corporation Very short size LDPC coding for physical and/or control channel signaling
US9154261B2 (en) * 2013-01-16 2015-10-06 Broadcom Corporation Low density parity check (LDPC) coding in communication systems
US8995302B1 (en) 2013-01-16 2015-03-31 Pmc-Sierra Us, Inc. Method and apparatus for translated routing in an interconnect switch
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
US9128858B1 (en) 2013-01-29 2015-09-08 Pmc-Sierra Us, Inc. Apparatus and method for adjusting a correctable raw bit error rate limit in a memory system using strong log-likelihood (LLR) values
US9813080B1 (en) 2013-03-05 2017-11-07 Microsemi Solutions (U.S.), Inc. Layer specific LDPC decoder
US8990661B1 (en) 2013-03-05 2015-03-24 Pmc-Sierra Us, Inc. Layer specific attenuation factor LDPC decoder
US10230396B1 (en) 2013-03-05 2019-03-12 Microsemi Solutions (Us), Inc. Method and apparatus for layer-specific LDPC decoding
US9397701B1 (en) 2013-03-11 2016-07-19 Microsemi Storage Solutions (Us), Inc. System and method for lifetime specific LDPC decoding
US8935598B1 (en) * 2013-03-12 2015-01-13 Pmc-Sierra Us, Inc. System and method for adaptive check node approximation in LDPC decoding
US8984365B1 (en) 2013-03-14 2015-03-17 Pmc-Sierra Us, Inc. System and method for reduced memory storage in LDPC decoding
US8984376B1 (en) 2013-03-14 2015-03-17 Pmc-Sierra Us, Inc. System and method for avoiding error mechanisms in layered iterative decoding
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
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
US9235467B2 (en) 2013-03-15 2016-01-12 Pmc-Sierra Us, Inc. System and method with reference voltage partitioning for low density parity check decoding
US9454414B2 (en) 2013-03-15 2016-09-27 Microsemi Storage Solutions (Us), Inc. System and method for accumulating soft information in LDPC decoding
US8930790B1 (en) * 2013-09-13 2015-01-06 U-Blox Ag Method and apparatus for identifying selected values from among a set of values
EP3082267A4 (en) * 2013-12-09 2017-08-16 Mitsubishi Electric Corporation Error-correction decoding device
US9417804B2 (en) 2014-07-07 2016-08-16 Microsemi Storage Solutions (Us), Inc. System and method for memory block pool wear leveling
US9590657B2 (en) * 2015-02-06 2017-03-07 Alcatel-Lucent Usa Inc. Low power low-density parity-check decoding
US9935654B2 (en) 2015-02-06 2018-04-03 Alcatel-Lucent Usa Inc. Low power low-density parity-check decoding
FR3032571B1 (fr) * 2015-02-11 2017-03-10 Commissariat Energie Atomique Methode de decodage iteratif de sequences lfsr a faible probabilite de fausse alarme
US10332613B1 (en) 2015-05-18 2019-06-25 Microsemi Solutions (Us), Inc. Nonvolatile memory system with retention monitor
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
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
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
US10318389B2 (en) * 2016-07-15 2019-06-11 Quantum Corporation Joint de-duplication-erasure coded distributed storage
US10291263B2 (en) 2016-07-28 2019-05-14 Ip Gem Group, Llc Auto-learning log likelihood ratio
US10157677B2 (en) 2016-07-28 2018-12-18 Ip Gem Group, Llc Background reference positioning and local reference positioning using threshold voltage shift read
US10236915B2 (en) 2016-07-29 2019-03-19 Microsemi Solutions (U.S.), Inc. Variable T BCH encoding
CN108574493B (zh) 2017-03-10 2021-12-24 华为技术有限公司 数据处理的方法和装置
TWI657669B (zh) * 2017-11-28 2019-04-21 財團法人資訊工業策進會 低密度奇偶檢查碼解碼器及其解碼方法
US11200484B2 (en) * 2018-09-06 2021-12-14 International Business Machines Corporation Probability propagation over factor graphs
WO2020077596A1 (zh) * 2018-10-18 2020-04-23 华为技术有限公司 Ldpc码的译码方法和装置
CN111208538B (zh) * 2018-11-21 2022-04-26 展讯通信(上海)有限公司 电文的解调方法及装置
KR20200084687A (ko) 2019-01-03 2020-07-13 삼성전자주식회사 비이진 폴라 코드를 수신하는 장치 및 이의 디코딩 방법

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6938196B2 (en) * 2001-06-15 2005-08-30 Flarion Technologies, Inc. Node processors for use in parity check decoders
JP3808769B2 (ja) 2001-12-27 2006-08-16 三菱電機株式会社 Ldpc符号用検査行列生成方法
JP3833545B2 (ja) 2002-02-13 2006-10-11 三菱電機株式会社 通信システム、受信機、送信機および通信方法
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
KR100891782B1 (ko) 2002-06-11 2009-04-07 삼성전자주식회사 고속 데이터 전송 시스템에서 순방향 오류 정정 장치 및방법
JP2004088470A (ja) * 2002-08-27 2004-03-18 Sony Corp 復号装置及び復号方法
US7219288B2 (en) * 2002-11-27 2007-05-15 Koninklijke Philips Electronics N.V. Running minimum message passing LDPC decoding
JP4062435B2 (ja) * 2002-12-03 2008-03-19 日本電気株式会社 誤り訂正符号復号装置
JP4163023B2 (ja) 2003-02-28 2008-10-08 三菱電機株式会社 検査行列生成方法および検査行列生成装置
KR20040101743A (ko) * 2003-05-26 2004-12-03 삼성전자주식회사 통신 시스템에서 저밀도 패리티 검사 코드의 복호 장치 및방법
US7391826B2 (en) 2003-08-08 2008-06-24 Lucent Technologies Inc. Decoding method and apparatus
US7174495B2 (en) * 2003-12-19 2007-02-06 Emmanuel Boutillon LDPC decoder, corresponding method, system and computer program
US7237181B2 (en) * 2003-12-22 2007-06-26 Qualcomm Incorporated Methods and apparatus for reducing error floors in message passing decoders
KR20060032464A (ko) * 2004-10-12 2006-04-17 삼성전자주식회사 효율적인 저밀도 패리티 검사 코드 복호 방법 및 장치
KR100703271B1 (ko) * 2004-11-23 2007-04-03 삼성전자주식회사 통합노드 프로세싱을 이용한 저밀도 패리티 검사 코드복호 방법 및 장치
US7562279B2 (en) * 2005-05-20 2009-07-14 Mitsubishi Electric Research Laboratories, Inc. 2D-normalized min-sum decoding for ECC codes

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Farhad Zarkeshvari等.On Implementation of Min-Sum Algorithm for Decoding Low Density Parity-Check Codes.Global Telecommunicaions Conference.2002,2(2),1349-1353. *
Sae-Young Chung等.Analysis of Sum-Product Decoding of Low-Density Parity-Check Codes Using a Gaussian Approximation.IEEE TRANSATIONS ON INFORMATION THEORY.2001,47(2),657-670. *
Thomas J.Richardon等.Efficient Encoding of Low-Density Parity-Check Codes.IEEE TRANSACTIONS ON INFORMATION THEORY.2001,47(2),638-656. *

Also Published As

Publication number Publication date
JP5315693B2 (ja) 2013-10-16
KR20080004609A (ko) 2008-01-09
KR20110125266A (ko) 2011-11-18
JPWO2006120844A1 (ja) 2008-12-18
CN101233693A (zh) 2008-07-30
KR101390544B1 (ko) 2014-04-30
US8140930B1 (en) 2012-03-20
KR20130038399A (ko) 2013-04-17
EP1881610B1 (en) 2015-06-03
KR100945991B1 (ko) 2010-03-09
KR101356808B1 (ko) 2014-01-28
EP1881610A4 (en) 2010-10-06
EP1881610A1 (en) 2008-01-23
WO2006120844A1 (ja) 2006-11-16
KR20090106620A (ko) 2009-10-09

Similar Documents

Publication Publication Date Title
CN101233693B (zh) 利用ldpc编码的编码器和解码器
US9286154B2 (en) Error correction for entangled quantum states
CN101079639B (zh) 基于节点存储器的低密度奇偶校验解码装置和方法
EP1659726B1 (en) Method and apparatus for decoding low density parity check code using united node processing
US8347170B2 (en) Method and apparatus for performing decoding using LDPC code
KR101895164B1 (ko) 코드 디코딩 에러 정정 방법 및 장치
CN100589357C (zh) 基于单位阵及其循环移位阵的ldpc码向量译码装置和方法
CN107979445B (zh) 使用预先排序的输入的基于基本校验节点的校正子解码
CN101154948A (zh) 利用共享硬件及顺序和-积体系结构进行低密度奇偶校验解码的方法和设备
Yang et al. Fault-tolerant distributed logistic regression using unreliable components
Du Crest et al. Stabilizer inactivation for message-passing decoding of quantum LDPC codes
CN104639282A (zh) 通信系统中rs译码方法及其装置
US10554226B2 (en) Method for controlling a check node of a NB-LDPC decoder and corresponding check node
Wu et al. Updating conflict solution for pipelined layered LDPC decoder
US8347167B2 (en) Circuits for implementing parity computation in a parallel architecture LDPC decoder
Brkic et al. Adaptive gradient descent bit-flipping diversity decoding
US20080178066A1 (en) Method and apparatus for receiving data in communication system
Sarkis et al. Relaxed half-stochastic decoding of LDPC codes over GF (q)
Vasić et al. Low complexity memory architectures based on LDPC codes: Benefits and disadvantages
CN114421972B (zh) 一种多进制ldpc码译码方法
Brkic et al. Hard-decision decoding of LDPC codes under timing errors: Overview and new results
Vasić et al. Multi-bit flipping algorithms with probabilistic gradient descent
CN117220689A (zh) 一种基于模型驱动深度学习的非二进制ldpc译码方法
Sathish et al. An Efficient Fault Tolerance System Design for Cmos/Nanodevice Digital Memories

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: 20121114

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