CN101496292B - 采用依赖于邻区可靠性的调度的消息传递解码方法 - Google Patents

采用依赖于邻区可靠性的调度的消息传递解码方法 Download PDF

Info

Publication number
CN101496292B
CN101496292B CN200780028126.8A CN200780028126A CN101496292B CN 101496292 B CN101496292 B CN 101496292B CN 200780028126 A CN200780028126 A CN 200780028126A CN 101496292 B CN101496292 B CN 101496292B
Authority
CN
China
Prior art keywords
nodes
node
parity check
variable
message
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
CN200780028126.8A
Other languages
English (en)
Other versions
CN101496292A (zh
Inventor
V·萨温
D·肯特纳斯
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.)
Commissariat a lEnergie Atomique et aux Energies Alternatives CEA
US Atomic Energy Commission (AEC)
Original Assignee
US Atomic Energy Commission (AEC)
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 US Atomic Energy Commission (AEC) filed Critical US Atomic Energy Commission (AEC)
Publication of CN101496292A publication Critical patent/CN101496292A/zh
Application granted granted Critical
Publication of CN101496292B publication Critical patent/CN101496292B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • 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/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

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明涉及一种用于对纠错码进行解码的消息传递类型迭代解码方法,所述纠错码能够采用具有多个变量结点和多个控制结点的二部图来表示。对于所述方法的多次解码迭代中每次迭代,将变量结点或校验结点,取决于对应的这些结点的邻区(Vn (d),Vm (d))内可用的解码信息的可靠度对其进行分类,其中具有较高可靠度的结点被分类在具有较低可靠度的结点之前;依据由上述分类过程所定义的顺序,每个如此分类的结点将至少一条消息(αmn,βmn)传递给相邻结点。本发明还涉及用于实现所述解码方法的计算机程序。

Description

采用依赖于邻区可靠性的调度的消息传递解码方法
技术领域
本发明涉及通信或数据记录领域中对纠错码的解码。更确切地,本发明涉及一种可以在二部图中显示、通过消息传递来对纠错码进行解码的迭代方法,例如LPDC(低密度奇偶校验)或turbo码。
背景技术
可以由二部图来显示的纠错码包括各种编码,特别是LDPC码和turbo码,其中LDPC码由R.加拉格尔最初在其下面这篇文章中描述:《低密度奇偶校验码》(“Low density parity check codes”),发表于电气和电子工程师协会信息理论学报(IEEE Trans.Inform.Theory),第IT-8卷,第21~26页,1962年,其令人感兴趣的内容最近被重新发现,而turbo码由C.贝鲁等在其下面发现性的文章中提出:《接近最优的纠错编码和解码:turbo码》(“Nearoptimum error correcting coding and decoding:turbo-codes”),发表于电气和电子工程师协会信息理论学报(IEEE Trans.Inform.Theory),第44卷,第10期,第1261~1271页,1996年。
二部图是一种无向图,其中所有结点由两个单独的子集组成,使得单个子集中的任意两个结点没有通过图的边连接在一起。
一些纠错码显示为二部图。该图被划分成与构成码字的符号相关联的第一结点子集以及与码约束(通常是奇偶校验)相关联的第二结点子集。与一组约束相关联的二部图也称作坦纳(Tanner)图。
码字中的符号通常为伽罗瓦(Galois)体元素F2={0,1},换言之即比特,但它们更一般地可以是体
Figure G2007800281268D00011
的元素,其具有任意2字符且从而是2p进制的字母表。下面,不失一般性,我们将限制在p=1的情形,换言之即二进制码。
可以使用迭代消息传递(MP)或BP(置信传播)解码来对通过二部图的其他表示码进行解码。这种解码方法的一般描述在N.维贝尔格1996年题为《一般图的码和解码》(“Codes and decoding on general graphs”)的论文中给出。MP类型的迭代解码实际上是解码领域内公知的算法,即用于turbo码的“向前-向后”以及用于LDPC码的加拉格尔(Gallager)算法的一般化。
为了简化的原因,下面包括在LDPC码框架内通过消息传递进行迭代解码的原理的描述。我们将考虑线性码(K,N),其中K是表示信息比特数的码的大小,N是表示编码比特数的码的长度。M=N-K等于奇偶比特数,或者等价地,奇偶约束的数目。
图1示出了线性码(K,N)的坦纳图。图的左边示出了该码中的比特对应的结点,也称为“变量”类型结点或简称为“变量”,右边示出了奇偶校验对应的结点,也称为“校验”类型结点或简称为“校验”。该图的关联矩阵对应于该码的具有M×N维度的奇偶矩阵。因而,二部图包括N个“变量”类型结点和M个“校验”类型结点,当且仅当hmn=1时变量结点n连接到校验结点m。例如,图1中的图对应于码(10,5),其具有如下奇偶矩阵:
H = 1 1 1 1 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 1 0 0 1 0 1 0 1 0 0 0 1 0 0 1 0 1 1 - - - ( 1 )
一般地,记住线性码是由生成矩阵G来定义的,其元素为二进制值,码字x=(x1,x2,..,xN)根据具有信息位a=(a1,a2,..,aK)的字通过下式来获得:
x=aG    (2)
由于所有码字都满足奇偶校验,我们得到下面的关系:
H.GT=0    (3)
其中GT表示矩阵G的转置。
码字x在通信信道上传输或者在数据载体上记录。x具有噪声的版本,即y=(y1,y2,..,yN)是在接收时或读取载体时进行恢复的。解码操作包括从观察y开始,找出x,从而找出a。
在描述迭代消息传递解码的原理以前,我们将采用如下记号:
H(n)表示与二部图中变量n相关的所有检验,换言之,与结点n相邻的所有结点;
H(m)为与二部图中与校验m相连接的变量集合,换言之,与结点m相邻的所有结点;
αn表示二部图中关于变量n的先验信息,换言之,关于码字中第n个比特的先验信息。该信息考虑了接收到的信号以及传输信道的特征。其组成对于解码器的输入,并通常由解调器以软数值(soft value)的形式即以似然的形式来提供:
α n = ( p n 0 , p n 1 ) - - - ( 4 )
其中 p n a = Pr ( x n = a | y n ) , a∈{0,1},
或者,更方便地,以对数似然比(LLR)的形式来提供:
α n = ln ( Pr ( x n = 0 | y n ) Pr ( x n = 1 | y n ) ) - - - ( 5 )
因此,对于中心的高斯白噪声以及BPSK调制,解调器只是计算:
α n = 2 σ 2 y n - - - ( 6 )
其中σ2是噪声方差。
αmn表示由变量n传输到校验m∈H(n)的消息。通过参考turbo码,αmn也称作外信息(extrinsic information);
对称地,βnm表示由校验m传输到变量n∈H(m)的消息。其也可以作为外信息;
Figure G2007800281268D00035
表示与变量n相关的后验信息:其考虑先验信息αn以及在解码过程中变量n从其相邻校验接收到的消息βnm
αn是对应于软数值
Figure G2007800281268D00036
的硬数值,换言之,针对比特xn做出的判定。
图2示出了通过信息传递进行迭代解码的原理。
在步骤210中,消息αmn对于每个变量n和校验m∈H(n)对进行初始化。消息αmn由先验信息进行初始化,换言之αmn=αn ∀ m ∈ H ( n ) . 迭代计数器Iter也初始化为0。
初始化步骤后为迭代循环,其包括下述步骤:
在220中,将校验初始化。更确切地,对于每个校验m,计算从校验m到对应的变量n∈H(m)的消息βmn,即:
βmn=FC({αmn′|n′∈H(m)-{n}})    (7)
其中FC是校验处理函数。对于任意给定的结点对m,n∈H(m),根据校验m自身从变量n′∈H(m)-{n}接收到的消息来计算消息βmn。从而,观察到没有外信息被从变量结点转发到其自身。校验处理步骤也称为水平步骤。
在230中,对变量对称地进行处理。更确切地,对于每个变量n,计算目标为对应的校验m∈H(n)的消息αmn,即:
αmn=FV({βm′n|m′∈H(n)-{m}})    (7’)
其中变量处理函数记为FV。对于给定的结点对n,m∈H(n),根据变量n自身从校验m′∈H(n)-{m}接收到的消息来计算消息αmn,使得没有外信息被从结点转发到其自身,如前面所述。变量处理步骤也称为垂直步骤。
在240中,后验信息
Figure G2007800281268D00041
根据先验信息αn以及由变量n从其相邻校验结点m∈H(n)接收到的消息βmn来估计,以符号表示为:
α ^ n = F AP ( { α n } ∪ { β mn | m ∈ H ( n ) } ) - - - ( 8 )
其中后验估计函数记为FAP
在250中,关于硬数值(hard value)αn的判定根据软数值
Figure G2007800281268D00043
来做出,即:
α ‾ n = F D ( α ^ n ) - - - ( 8 , )
其中判定函数记为FD。通常,对于BPSK调制,该判定依据软数值的符号做出,即 α ‾ n = sgn ( α ^ n ) . 下面,为了方便,比特值将以其调制值来识别。通常,比特“0”将由数值“+1”来表示,“1”将由数值“-1”来表示。
在260中,对向量α=(α1,α2,..,αN)是否为码字进行校验,换言之,其是否满足奇偶校验。如果满足,循环在步骤265终止,已解码字为α。否则,迭代次数在步骤267中增加,在步骤270中的比较对已迭代次数Iter是否已达到阈值Iter_max进行判断。如果未达到,循环返回步骤220,来继续进行迭代解码。默认情形下,推断为解码操作失败,循环在步骤275中终止。
迭代循环中步骤的顺序可以与图2中所示的顺序不同。具体地,变量和校验的处理顺序可以相反,并且有可能对消息βmn如下进行初始化:βmn=0, ∀ n ∈ { 1 , . . . N } ∀ m ∈ H ( n ) .
根据图2中示出的迭代解码的原理,可以先对所有的校验进行处理,然后是所有的变量,或者,如上所述,可以先对所有的变量进行处理,然后是所有的校验。这称为并行调度或泛洪调度(flooding scheduling)。其他类型的调度已在文献中提出;它们可以分成两类:
-串行类型调度,该类型可以包括“串行调度”、“混洗BP(shuffled-BP)”、“水平混洗”或者“垂直混洗”调度。串行类型调度同样地适用于校验和变量。针对对于校验的应用,解码采用下面的策略:
●首先,通过计算将要发送给变量n∈H(m)的消息βmn来处理单个校验m;
●对来自每个变量n∈H(m)的要被发送给校验m′∈H(n)-{m}的消息进行更新和传输。与这些变量相关的后验信息
Figure G2007800281268D00053
也被更新;
●处理下一个校验,并对前两个步骤进行迭代,直到没有校验为止。
类似地,与按校验进行处理相对地,可以采用按变量进行处理。依赖于所处的情形,将使用术语“水平混洗”或“垂直混洗”调度。
上面所述两种调度类型还可以以“混合”或者“成组混洗”调度的方式进行混合。对于对应的混合调度解码策略的描述在由J.张等人的下述文章中给出:《混洗迭代解码》(“Shuffled iterative decoding”),发表于电气和电子工程师协会通信学报(IEEE Trans.Comm.),第53卷,第2期,2005年2月,第209~213页。该策略基于按组对结点进行划分,该处理在组内并行进行,在一组到下一组之间串行进行。更确切地,对于校验组的一种分布:
●对于包括校验{m1,m2,..,mg}第一组G,通过计算将要发送给变量n∈H(mi),i=1,...,g的消息
Figure G2007800281268D00054
来进行处理;
●对于每个变量n∈H(mi),i=1,...,g,要发送给对应的校验m′∈H(n)-{mi}的消息αm′n被更新和传输。这些变量的后验信息也被更新;
●处理下一个校验组,并对前两个步骤进行迭代,直到没有校验组为止。
类似地,处理可以基于对于变量按组进行的划分,而不是对于校验按组进行的划分。
图3、4和5以图形分别示出了并行调度、串行调度以及混合调度的信息传递机制。假定校验的处理在变量处理之前进行。图3示出了在校验处理中的第一步(a)以及在变量处理中的第一步(b)。图4和5示出了在校验处理中的第一步(a)和第二步(c)以及在变量处理中的第一步(b)和第二步(d)。在图5中,所有校验结点已被划分成被顺序处理的记为G1和G2的两个组。
要注意,串行调度和并行调度可以被看作混合调度的类似的特殊情形,前者对应于各个组减小为单元素集,后者对应于其中一个组包括所有校验结点(以及变量结点)的情形。
对于LDPC码,已知两种主要的迭代消息传递解码算法,即SPA(和积算法,Sum Product Algorithm)算法,也称为“对数BP”,以及“最小-和”(Min-Sum)算法,也称为“基于BP”。这两种算法的详细描述在由W.E.瑞恩的下述文章中给出:《LDPC码概述》(“An introduction to LDPCcodes”),发表于《循环冗余校验手册:记录系统的编码和信号处理》(“CRCHandbook for coding and signal processing for recording systems”)中,可在下述链接中得到:www.csee.wvu.edu/wcrl/ldpc.htm
SPA和Min-Sum算法的唯一差别在于后面将描述的校验处理步骤。其他步骤是相同的,即:
变量处理步骤230包括如下计算消息αmn
α mn = ln ( Pr ( x n = 0 | y n , B mn * , C mn ) Pr ( x n = 1 | y n , B mn * , C mn ) ) - - - ( 10 )
其中Bmn *表示由变量n从控制m′∈H(n)-{m}接收到的所有消息βm′n,Cmn表示对应于对于每一个这些校验所进行的奇偶校验验证的事件。假设yn的各个值是独立的,可以证明αmn可以以LLR的形式如下表示:
α mn = α n + Σ m ′ ∈ H ( n ) - { m } β m ′ n - - - ( 11 )
估计后验信息的步骤240包括下列计算:
α ^ n = ln ( Pr ( x n = 0 | y n , B n , C n ) Pr ( x n = 1 | y n , B n , C n ) ) - - - ( 12 )
其中Bn表示由变量n从所有校验H(n)接收到的消息,Cn表示对应于对于每一个这些校验所进行的奇偶校验验证的事件。基于与前面相同的假定,可以证明
Figure G2007800281268D00072
可以以LLR形式如下表示:
α ^ n = α n + Σ m ∈ H ( n ) β mn - - - ( 13 )
根据(11)和(13),可以得到:
α mn = α ^ n - β mn - - - ( 14 )
从而,变量处理步骤230可以置于迭代的末尾,在对后验信息进行估计之后。表达式(14)说明了一个事实,即结点(m)不将外信息(该情形下为βmn)返回至其自身。
硬数值判定步骤250简单地通过下述方式完成:
α ‾ n = sgn ( α ^ n ) - - - ( 15 )
其中如果x为正则sgn(x)=1,否则sgn(x)=-1。
步骤260中对于硬数值奇偶校验的验证使用如下对奇偶校验的计算:
c m = Π n ∈ H ( m ) α ‾ n , m = 1 , . . . , M - - - ( 16 )
当且仅当下述条件成立时,所有的奇偶校验均满足:
Σ m = 1 M c m = M - - - ( 17 )
校验处理步骤220包括SPA算法的下面的计算:
β mn = ln ( Pr ( c m = 1 | x n = 0 , A mn * ) Pr ( c m = 1 | x n = 1 , A mn * ) ) - - - ( 18 )
其中cm=1表示对于校验m奇偶条件满足,Amn *表示由校验m从变量n′∈H(m)-{n}接收到的所有消息αmn′。可以证明,βmn可以表示为:
β mn = ( Π n ′ ∈ H ( m ) - { n } sgn ( α m n ′ ) ) · Φ ( Σ n ′ ∈ H ( m ) - { n } Φ ( | α m n ′ | ) ) - - - ( 19 )
其中 Φ ( x ) = ln ( e x + 1 e x - 1 ) = - ln ( tanh ( x 2 ) ) .
根据Min-Sum算法对校验的处理对应于表达式(19)的简化。由于函数Φ(x)的快速衰减以及Φ(x)与其反函数相等,即Φ(Φ(x))=x,我们可以合理地作出下面的近似:
β mn = ( Π n ′ ∈ H ( m ) - { n } sgn ( α m n ′ ) ) · min n ′ ∈ H ( m ) - { n } ( | α m n ′ | ) - - - ( 20 )
Min-Sum解码算法比SPA解码算法显著地简单,因为其只进行加、比较和符号变化。此外,Min-Sum算法的性能与噪声方差σ2的估计无关。
虽然SPA解码算法的性能要比Min-Sum算法的性能要好,但是如果噪声功率的估计很不准确,SPA解码算法的性能将会严重下降。
本发明总的目的是提供一种迭代消息传递类型解码算法,以对可以采用二部图来表示的纠错码进行解码,其相比现有技术中已知类型的算法在误码率和收敛速率方面具有更好的性能。
本发明的第一目的是提供一种用于对LDPC码进行解码的迭代消息传递类型解码算法,其相比SPA算法具有显著较低的复杂度,同时对于给定的信噪比具有相当甚至更佳的误码率性能,同时还不要求对噪声功率进行估计。
本发明的另一目的是提供一种用于对LDPC码进行解码的消息传递类型解码算法,其相比SPA或Min-Sum算法具有更高的收敛速率。
发明内容
本发明由一种用于对可以采用二部图来显示的纠错码进行解码的采用消息传递的迭代方法所定义,该二部图包括多个变量结点和多个校验结点,所述方法使得对于多次解码迭代中的每次迭代:
-根据变量结点或校验结点的邻区(neighbourhood)内可用的解码信息的相应的可靠度来对这些结点进行分类,其中具有较高可靠度的结点被分类在具有较低可靠度的结点之前;
-依据由所述分类过程所定义的顺序,每个如此被分类的结点将至少一条消息传递给相邻结点。
根据第一实施例,对于每个待分类的结点,所述分类过程包括对现有信息的可靠性度量的计算,以及将所获得的度量值进行排序,其中所述现有信息由所述二部图中与所述结点不超过预定距离的结点发送或接收。
然后,对于所述多次迭代中的每次迭代,对所述分类后的结点依照所述分类所定义的顺序来顺序地进行处理;对于每一个分类后的结点,计算寻址到与该结点相邻结点的消息,对于每一个所述相邻结点,计算到与所述相邻结点相邻的结点的消息。
根据第二实施例,对于每个待分类的结点,所述分类过程包括对现有信息的可靠性度量的计算,其中所述现有信息由所述二部图中与所述结点不超过预定距离的结点来发送或接收。结点按照所述度量值的区间进行分组。
如果所述可靠性度量使用整数值,那么对于每个所述整数值,将其可靠性度量与该值相等的结点的索引存储在与该值相关联的存储区中。
对于所述多次迭代中的每次迭代,对结点组依据由所述分类过程所定义的顺序来顺序地进行处理;对于每个结点组,计算到与该组中的结点相邻的结点的消息,对于所述相邻的结点中的每一个,也计算到与所述相邻的结点相邻的结点自身的消息。
根据一种变型,对于所述二部图中的每个变量结点,所述多次迭代中的每次迭代还包括下列步骤:根据该结点中已有的先验信息以及由该结点从相邻校验结点接收到的消息来计算后验信息。
所述后验信息计算步骤可以在关于所述变量的硬数值的判定步骤之后进行。
下一步骤是检查由此所获得的变量的硬数值是否满足与所述图中所有校验结点相关联的奇偶校验,如果满足,则将由所述硬数值构成的字作为解码字来提供。
有益地,所述分类过程在预定次数的解码迭代后中断,然后该解码方法在没有对所述变量结点或所述校验结点进行所述分类的情况下继续进行其解码迭代。
如果所述变量的后验数值和先验数值之差的绝对值的最小值大于预定的阈值,则该分类过程被中断,然后所述解码方法在没有对所述变量结点或所述校验结点进行所述分类的情况下继续进行其解码迭代。
在第一应用中,所述纠错码是turbo码。
在第二应用中,所述纠错码是由具有N个变量结点和M=N-K个校验结点的二部图所表示的LDPC码(K,N)。
在后面的情形下,从具有索引m∈{1,..,M}的校验结点到具有索引n∈{1,..,N}的变量结点的消息βmn可以如下计算:
β mn = ( Π n ′ ∈ H ( m ) - { n } sgn ( α m n ′ ) ) · Φ ( Σ n ′ ∈ H ( m ) - { n } Φ ( | α m n ′ | ) )
其中αmn′表示从具有索引n′的变量结点到具有索引m的校验结点的消息,H(m)表示与具有索引m的校验结点相邻的所有变量结点,如果x为正则sgn(x)=1,否则sgn(x)=-1,以及 Φ ( x ) = ln ( e x + 1 e x - 1 ) .
可替换地,从具有索引m∈{1,..,M}的校验结点到具有索引n∈{1,..,N}的变量结点的消息βmn可以如下计算:
β mn = ( Π n ′ ∈ H ( m ) - { n } sgn ( α m n ′ ) ) · min n ′ ∈ H ( m ) - { n } ( | α m n ′ | )
其中αmn′表示从具有索引n′的变量结点到具有索引m的校验结点的消息,H(m)表示与具有索引m的校验结点相邻的所有变量结点,如果x为正则sgn(x)=1,否则sgn(x)=-1。
根据一个示例性实施例,分类过程应用到校验结点并且所述预定的距离等于2。然后具有索引m的校验结点的可靠性度量可以如下计算:
f ~ 2 ( m ) = c + Σ n ∈ H ( m ) min ( 1 , Card { m ′ ∈ H ( n ) - { m } | c m ′ = - 1 } )
其中H(m)表示与具有索引m的校验结点相邻的变量结点的集合,H(n)表示与具有索引n的变量结点相邻的校验结点的集合,Card(.)表示集合的基数,并且其中如果cm=+1则c=0,如果cm=-1则c=δmax+1,其中δmax是二部图中校验结点的最大的度,以及其中cm=+1/cm=-1表示对于具有索引m的校验结点,奇偶校验分别为满足/不满足。
最后,本发明涉及一种计算机程序,其包括软件模块,用于在计算机执行该软件模块时实现前述解码方法中的步骤。
附图说明
图1示出了码(K,N)的坦纳(Tanner)图的一个例子;
图2以图形方式示出了根据现有技术的已知迭代消息传递解码的原理;
图3示出了根据并行类型调度、采用消息传递的迭代解码的第一迭代;
图4示出了根据串行类型调度、采用消息传递的迭代解码的第一迭代;
图5示出了根据混合类型调度、采用消息传递的迭代解码的第一迭代;
图6A和6B分别示出了结点1阶和2阶邻区;
图7示出了根据本发明采用消息传递的迭代解码的原理;
图8示出了根据本发明第一实施例、采用消息传递的迭代解码方法;
图9示出了根据本发明第二实施例、采用消息传递的迭代解码方法;
图10示出了采用根据本发明的解码方法对LDPC码进行解码的一个示例性应用;
图11示出了对于特定的LPDC码,与根据现有技术其他方法相比较,采用根据本发明的解码方法所获得的误码率。
具体实施方式
我们将再次考虑可以由具有N个变量和M个校验的二部图表示的纠错码。
连接图中的两个结点v,μ的最短路径的长度称为距离,其长度记为D(v,μ),表示为边的数量。考虑到二部图的定义,可以推断出,两个相同类型的结点的距离是偶数,两个不同类型的结点的距离是奇数。
图Γ的任意结点v的d阶邻区定义为与v的距离小于或等于d的结点的集合Vv (d),即
V v ( d ) = { μ ∈ Γ | D ( μ , v ) ≤ d } - - - ( 21 )
据此,结点的0阶邻区仅包含该结点自身,其1阶邻区为其0阶邻区和与该结点相邻的所有结点的组合,其2阶邻区为其1阶邻区和与其1阶邻区中的结点相邻的所有结点的组合,等等。对于包括n个变量和m个校验的二部图,这些结点的0阶至2阶的邻区如下给出:
v n ( 0 ) = { n } ; V n ( 1 ) = { n } ∪ H ( n ) ; V n ( 2 ) = H ( n ) ∪ m ∈ H ( n ) H ( m ) - - - ( 22 )
V m ( 0 ) = { m } ; V m ( 1 ) = { m } ∪ H ( m ) ; V m ( 2 ) = H ( m ) ∪ n ∈ H ( m ) H ( n ) - - - ( 23 )
注意,单元素集{n}(或{m})不再表达式Vn (2)(或Vm (2))中出现,是因为考虑到相邻关系的对称性,其已经被包括在组合的第二项中。
一般地,二部图的结点v的邻区可以通过递推关系来获得:
V v ( d + 1 ) = ∪ μ ∈ V v ( d ) H ( μ ) - - - ( 24 )
图6A和6B示出了图1中的图中校验结点m的1阶和2阶邻区,用来说明邻区的概念。属于所述邻区的结点以灰色显示。
在本说明的剩下部分中,Γ的结点v的d阶可靠性度量这一术语将用来表示依赖于邻区Vv (d)中可用解码信息(即现有信息)的变量fd(v),该信息由属于所述邻区的结点发送或接收,指示解码操作的局部可靠度。当可靠度增加时fd(v)也增加,我们会将该度量限定为“正”,否则限定为“负”。
在校验结点m可用的解码信息首先包括指示奇偶校验是否已验证的数值cm,其次是发送到相邻变量结点n∈H(m)的消息βmn。数值cm和消息βmn携带关于解码的可靠性信息。
在变量结点n处可用的信息包括先验信息αn、后验信息
Figure G2007800281268D00128
将要发送给相邻校验结点m∈H(n)的外信息消息αmn以及硬数值αn
除硬数值外,上述信息携带关于解码的可靠性信息。
一般地,考虑到以LLR形式表达的软数值βmn、αmn、αn
Figure G2007800281268D00129
当它们的绝对值越大,则解码就被认为越可靠。
下面包括一些说明性而非限制性的对于0阶至2阶的可靠性度量的例子:
-0阶可靠性度量:
邻区则减小成结点自身。我们可以选择下面的函数来度量变量结点n的0阶可靠性:
f 0 ( n ) = | α ^ n | - - - ( 25 )
其表示硬数值αn的置信度。
对于校验结点m,我们可以简单的选择下列函数:
f ~ 0 ( m ) = c m - - - ( 26 )
可以理解如果奇偶校验满足(cm=1),其解码将会比不满足情况下要更为可靠。
-1阶可靠性度量:
对于变量结点和校验结点的处理又是不同的。对于变量结点,下列函数之一可以被选作1阶可靠性度量:
f1(n)=Card{m∈H(n)|cm=+1}    (27)
f′1(n)=Card{m∈H(n)|cm=-1}    (27’)
f1(n)=Card{m∈H(n)|cm=+1}-Card{m∈H(n)|cm=-1}    (28)
f1(n)=Card{m∈H(n)|cm=-1}-Card{m∈H(n)|cm=+1}    (28’)
f 1 ( n ) min m ∈ H ( n ) | β mn | - - - ( 29 )
表达式(27)表示连接到进行奇偶校验验证的变量结点n的校验结点m的数量。
表达式(28)考虑码的不规则性(即变量结点具有不同的度的可能性)并生成已验证和未验证奇偶校验的概要。
表达式(27’)和(28’)为对应于正度量(27)和(28)的负度量。
(29)中表示的可靠性度量是保守的,这是因为其基于从相邻校验结点接收到的可靠性信息的减少。
对于校验结点m,我们可以选择下列函数之一用于1阶可靠性度量:
f ~ 1 ( m ) = min n ∈ H ( m ) ( | α ^ n | ) - - - ( 30 )
f ~ 1 ( m ) = min n ∈ H ( m ) ( | α mn | ) - - - ( 31 )
f ~ 1 ( m ) = ( c m , min n ∈ H ( m ) ( | α ^ n | ) ) - - - ( 32 )
表达式(30)表示校验m所连接的变量的可靠性(后验信息)的最小值。
表达式(31)表示类似的准则,但其应用于外信息。应该注意到其与式(29)成对相似。
表达式(32)表示两项信息的笛卡尔积,从而联合地考虑了它们,其第一个应用于奇偶校验的验证,第二个如在(30)中应用于后验信息。
-2阶可靠性度量:
对于变量结点n可以选择下列函数:
f 2 ( n ) = Card { m ∈ H ( n ) | c m = - 1 and α ^ n = min n ′ ∈ H ( m ) α ^ n ′ } - - - ( 33 )
表达式(33)表示负的解码可靠性度量;其指示与奇偶校验条件未满足的变量n有关的校验的数量,以及由此,变量n在所有与这些校验相邻的变量中是最不可靠的。事实上,度量(33)可以认为是度量(27’)和(30)的组合。
对于校验结点m,可以选择下列函数之一:
f ~ 2 ( m ) = Card { m ′ ∈ V m ( 2 ) - { m } | c m ′ = - 1 } = Σ n ∈ H ( m ) Card { m ′ ∈ H ( n ) - { m } | c m ′ = - 1 } - - - ( 34 )
f ~ 2 ( m ) = Σ n ∈ H ( m ) min ( 1 , Card { m ′ ∈ H ( n ) - { m } | c m ′ = - 1 } ) - - - ( 35 )
f ~ 2 ( m ) = c + Σ n ∈ H ( m ) min ( 1 , Card { m ′ ∈ H ( n ) - { m } | c m ′ = - 1 } ) - - - ( 36 )
其中如果cm=+1则c=0,如果cm=-1则c=δmax+1,其中δmax是校验结点的最大角度,换言之 δ max = max m ( Card ( H ( m ) ) ) .
表达式(34)给出了m的2阶邻区中奇偶校验未满足的数量(不含m自身)。其表示负的解码可靠性度量。注意,表达式(34)中的第二个等号仅当所考虑的邻区中不存在长度为4的循环才满足。实际中,使用其坦纳图具有最长的可能循环的码,使得该等号通常被验证。
表达式(35)表示与m相邻的、连接到至少一个未满足的校验的变量的数量(不含m自身)。因此,其表示负的解码可靠性度量。由于求和符号内的项等于0或1,该度量值处于0和δmax之间。
表达式(35)对于结点m,就奇偶校验是否经验证而言没有差异。为了考虑该信息,在表达式(36)中引入了偏差项c,其值依赖于校验m的验证。对于上述偏移值(c=0,δmax+1),对于经验证的校验该可靠性度量等于0到δmax之间的值,对于经验证的校验为δmax+1到2δmax+1之间的值。注意,依据上面所定义的含义,这是负的可靠性度量,即
Figure G2007800281268D00151
的值越小,校验m的值就越可靠。因此,经验证的校验的可靠度总是要比未经验证的校验的可靠度要高,不论(35)的值是多少。
注意,上面所定义的函数中有一些是整数值,特别是函数(34)至(36)。因此,它们特别适用于微处理器实现。
重要地,上面所定义的函数中有一些仅使用硬数值cm,特别是函数(34)至(36)。由于 c m = Π n ∈ H ( m ) α ‾ n , 可以看到噪声功率值(σ2)不在这些函数的计算中出现。
本发明的基本概念是将图的结点根据其可靠性进行分类,并从最可靠的结点或结点组开始,采用串行或混合类型的方法通过消息传递进行解码。就收敛速率和误码率(BER)而言,这样显著地提高了解码性能。
可以理解,由最可靠的结点传输的消息是最能有效地为对相邻结点进行解码作出贡献的。因此存在从一次迭代到下一次迭代、从一个结点到另一个结点的可靠性的快速传播,以及与此相关的,随着迭代的进行,存在外信息的绝对值的显著增加。
图7以图形方式示出了根据本发明的解码原理。在初始化步骤710(将在后面详细说明)之后,开始迭代循环。图的校验结点或变量结点在720中依据其可靠度进行分类。这里我们将假定校验结点已分类,因为变量结点的分类将产生对称的步骤。
在步骤730中完成串行处理或混合处理。对于串行类型的处理,从最可靠的校验结点开始,按照可靠度减小的顺序进行,校验结点顺序地被处理,与每一校验结点相邻的变量结点也被顺序地处理。对于混合类型的处理,校验结点将被分类成可靠性组,其第一组有最可靠的结点组成,第二组由次可靠的结点组成,等等。对第一组中的变量结点和校验结点进行并行处理,然后对下一组中的变量结点和校验结点进行并行处理,一直继续直到所有组都已处理。步骤740、750、760、765、767、770和775分别与图2中的步骤240、250、260、265、267、270和275相同,因此不再进一步进行详细说明。
图8示出了使用串行调度的本发明实施例的更多细节。
消息αmn和βmn在步骤810中初始化。例如,对于每个变量n和校验m∈H(n)对,将αmn初始化为αmn=αn。类似地,对于每个校验m和变量n∈H(m)对,将βmn初始化为βmn=0
然后在820中校验依照可靠度
Figure G2007800281268D00161
降序排序。换言之,对于正的度量,将校验排序成使得 f ~ d ( m 0 ) ≥ f ~ d ( m 1 ) ≥ . . . ≥ f ~ d ( m M - 1 ) , 对于负的度量将其以相反的顺序排序。依赖于度量是正的还是负的,对于笛卡尔积度量(例如,见(32))采用词典序关系或者逆词典序关系。我们还将校验结点的计数器初始化为j=0。
然后在825中选择当前的校验m=mj,在830中处理变量n∈H(m),换言之,计算αmn=FV({βm′n|m′∈H(n)-{m}})。
然后,步骤835进行当前的校验处理m,换言之对于n∈H(m)计算βmn=FC({αmn′|n′∈H(m)-{n}})。
根据一个变型的实施例,步骤830和935是相反的。
在步骤837中增加校验结点计数器,在步骤839中进行检查发现它们是否都已被处理。如果不是,处理循环返回至步骤825,否则继续步骤840至860,其分别表示对于后验信息的计算、对于硬数值的判定、以及对奇偶校验的验证。步骤840、850、860、865、867、870和875分别与图2中的步骤240、250、260、265、267、270和275相同。
根据一个替换性的实施例,对变量而不是对校验进行排序。内部循环825至839,然后一次应用于一个变量,并且采用与前面相同的方式,当前变量的处理可以在对与其相邻的校验的处理之前或之后进行。
图9示出了使用混合调度的本发明的一个实施例。
在步骤910中,消息αmn和βmn按照图8中的步骤810那样初始化。
在步骤920中,将所有校验结点或变量结点划分成组,每个组对应于不同可靠性类别。例如,可靠性类别通过可靠性度量值的区间进行定义。该实施例在度量使用整数值时特别有益。我们然后可以将某一范围分配给某一整数值或者多个连续的整数值,并根据其所对应的类别将结点的索引存储在表格中。我们随后将不同的可靠性类别记为
Figure G2007800281268D00171
其中
Figure G2007800281268D00172
是具有最高可靠度的类别,
Figure G2007800281268D00173
是具有最低可靠度的类别,G0,G1,...,Gω是相对应的结点组。下面假定对于校验结点进行了划分。
我们还将可靠性类别的计数器初始化为j=0。
在步骤925中,我们选择对应于当前可靠性类别
Figure G2007800281268D00174
的结点组,即Gj
在步骤930中,并行地处理变量n∈H(m), ∀ m ∈ G j , 换言之计算消息αmn=FV({βm′n|m′∈H(n)-{m}}), ∀ m ∈ G j , ∀ n ∈ H ( m ) .
在步骤935中,并行地处理校验m∈Gj,换言之计算消息βmn=FC({αmn′|n′∈H(m)-{n}}), ∀ m ∈ G j , ∀ n ∈ H ( m ) .
根据一个变型的实施例,步骤930和935可以是相反的。
在步骤937中,增加类别计数器,并在步骤939中进行检查来确定它们是否已全部被处理。如果不是,处理循环返回至步骤925,否则继续步骤940至960,其分别表示对于后验信息的计算、对于硬数值的判定以及对于奇偶校验的验证。步骤940、950、960、965、967、970和975分别与图2中的步骤240、250、260、265、267、270和275相同。
图10示出了本发明的一种特别应用,其基于采用整数值的可靠性度量,以混合调度的方式对LDPC码进行解码。在该情形下,我们选择在(36)中定义的对于校验结点的负的度量。
在步骤1010中,软后验数值
Figure G2007800281268D001710
通过相应的观察 α ^ n = α n 来初始化,消息βmn被初始化为0。
我们还将迭代计数器初始化为0。
在步骤1015中,对于硬数值作出判定,即 α ‾ n = sgn ( α ^ n ) .
步骤1020计算数值 χ = Σ m = 1 M c m , 其中cm数值是奇偶校验 c m = Π n ∈ H ( m ) α ‾ n , m=1,...,M。
步骤1023检查是否χ=M,换言之是否所有的奇偶校验都已被验证。如果是,解码算法在步骤1025中以提供码字来退出。否则,处理在步骤1027中继续,使用度量(36)来计算校验结点的可靠性度量。记住,该度量与0,1,..,2δmax+1中的整数值相等,其中是δmax是校验结点最大角度。在该情形下,我们通过整数值来分配可靠性类别,即
Figure G2007800281268D00181
其中ω=2δmax+1,并且类别
Figure G2007800281268D00182
对应于度量值j∈{0,1,..,2δmax+1}。
在步骤1029中,选择对应于当前可靠性类别的结点组,即Gj
在步骤1030中,并行地进行变量n∈H(m), ∀ m ∈ G j 的处理,换言之,计算消息 α mn = α ^ n - β mn , ∀ m ∈ G j .
在步骤1035中并行地处理校验m∈Gj,换言之,计算将要发送给变量n∈H(m), ∀ m ∈ G j 的消息,具体地,如该情形中在图中所示,对于SPA处理为 β mn = ( Π n ′ ∈ H ( m ) - { n } sgn ( α mn ′ ) ) · Φ ( Σ n ′ ∈ H ( m ) - { n } Φ ( | α mn ′ | ) ) , 对于简化的Min-Sum类型处理为 β mn = ( Π n ′ ∈ H ( m ) - { n } sgn ( α mn ′ ) ) · min n ′ ∈ H ( m ) - { n } ( | α mn ′ | ) . 然后在步骤1040中使用 α ^ n = α n + Σ m ∈ H ( n ) β mn 来计算后验信息。
注意,求和中使用的校验m∈H(n)的一部分有可能并不构成组Gj的一部分,因此在步骤1035中不重新计算源自这些校验的消息βmn。此外,由于变量n与多个校验m∈H(n)相邻,随着H(n)的校验被处理,的计算将会进行多次。为了避免步骤1040中的求和被多次进行,以及避免一些没有变化的消息βmn每一次都被重新计算,步骤1035和1040可以有益地由包括下述操作的单个步骤来替换:
对于 ∀ m ∈ G j , ∀ n ∈ H ( m ) ,
-减去旧的消息,即 α ^ n = α ^ n - β mn
-计算新的消息,即:
β mn = ( Π n ′ ∈ H ( m ) - { n } sgn ( α m n ′ ) ) · min n ′ ∈ H ( m ) - { n } ( | α m n ′ | )
-通过增加新的消息来更新后验信息:
α ^ n = α ^ n + β mn
这样,随着计算由校验m∈H(n)发送给变量n的新消息,而更新后验信息
Figure G2007800281268D001816
这可以显著地减少后验信息计算中所执行的操作的数量。
下一步骤1043是增加可靠性类别计数器,然后在步骤1045中检查是否所有的类别都已被处理。如果不是,重复步骤1029,来处理下一个可靠性类别。如果是,则在步骤1050中增加迭代计数器。步骤1053检查停止判据是否满足,换言之是否到达了迭代数量的最大值。如果是,循环在步骤1055中终止,作出解码失败的结论。否则处理循环返回至步骤1015,进行新的迭代。
我们可以在图10中看出,对于硬数值的判定步骤以及对于奇偶校验进行验证的步骤在可靠性计算步骤和结点处理步骤之前进行。这是由于如下事实,即这里使用的可靠性度量(表达式(36))依赖于硬判定cm,从而要求对其提前进行计算。
图10中示出的算法仅比根据现有技术的SPA或Min-Sum算法略微复杂。在另一方面,邻区可靠性调度对于相同的信噪比,加速收敛到较低的误码率(BER)。可替换地,对于相同的误码率,根据本发明的解码方法可以使用具有更低编码增益的码。
图11针对误码率(BER),就较大范围的信噪比,将传统的Min-Sum和SPA算法的性能,与使用邻区可靠性调度的Min-Sum算法(记为Min-Sum-FV)进行了比较。所使用的码为非规则LPDC码[1008,2016]和[4032,8064],因此具有1/2的效率。对上述三个算法迭代次数等于200。
观察到根据本发明的Min-Sum-FV算法胜过了传统的SPA算法,尽管其复杂度显著更低。
在图7至10中示出的根据本发明的解码方法中,假定了在整个解码期间内都使用邻区可靠性调度。根据一种变型,这种调度可以仅在第一迭代过程中应用,以便从观测量中除去噪声,然后变化成传统的处理。转变的准则可以是迭代的次数,或者有益地,其可以基于外信息的绝对值与参考阈值的比较。例如,一旦在迭代解码中出现:
min n = 1 , . . . , N | α ^ n - α n | > T f - - - ( 37 )
其中Tf表示最低可靠性阈值,则将可能返回到Min-Sum或传统的SPA处理。一旦解码的值已充分可靠并且已确保收敛,这种变型避免了对结点的排序或分类。
本发明适用于对于可由二部图表示的纠错码的解码,特别是LDPC码或turbo码。其可以用于数据记录或通信领域,特别是已经使用LDPC码的通信系统,例如符合IEEE 802.3a(10Gbps以太网)、DVB-S2(卫星视频广播)、IEEE 802.16(WiMAX)标准的通信系统,或者可以使用这些码的通信系统,例如符合IEEE 802.11(WLAN)和IEEE 802.20(移动宽带无线接入)标准的系统。

Claims (16)

1.一种通过消息传递对可以在二部图中显示的纠错码进行解码的迭代方法,所述二部图包括多个变量结点和多个校验结点,其特征在于,对于多次解码迭代中的每次迭代:
—根据变量结点或校验结点的邻区内可用的解码信息的相应可靠度来对这些结点进行分类(720),其中将具有较高可靠度的结点分类在具有较低可靠度的结点之前;
—按照由所述分类规定的顺序,所分类(725)的每个结点将至少一条消息传递给相邻结点。
2.根据权利要求1所述的方法,其特征在于,对于每个待分类的结点,所述分类包括对现有信息的可靠性度量
Figure FDA0000385158630000011
的计算,以及将所获得的度量值进行排序,其中所述现有信息是由所述二部图中距该待分类的结点不超过预定距离d的结点发送或接收的。
3.根据权利要求2所述的方法,其特征在于,对于所述多次解码迭代中的每次迭代,对所分类的结点按照由所述分类规定的所述顺序来顺序地进行处理,对于每个所分类的结点(825),计算寻址到与该结点相邻结点的消息(835),对于每个所述相邻结点,计算到与该相邻结点相邻的结点的消息(830)。
4.根据权利要求1所述的方法,其特征在于,对于每个待分类的结点,所述分类包括对现有信息的可靠性度量
Figure FDA0000385158630000012
的计算,所述现有信息是由所述二部图中距该待分类的结点不超过预定距离d的结点发送或接收的,并且将结点按照所述度量的值的区间进行分组。
5.根据权利要求4所述的方法,其特征在于,所述可靠性度量使用整数值,并且对于每个所述整数值,将所述可靠性度量与该整数值相等的结点的索引存储在与该整数值相关联的存储器中。
6.根据权利要求4或5所述的方法,其特征在于,对于所述多次解码迭代中的每次迭代,对多个结点组按照由所述分类规定的所述顺序来顺序地进行处理,并且,对于每个结点组Gj,计算到与该组中的结点相邻的结点的消息(935),对于所述相邻结点中的每个,也计算到与所述相邻结点相邻的结点自身的消息(930)。
7.根据权利要求1所述的方法,其特征在于,对于所述二部图中的每个变量结点,所述多次解码迭代中的每次迭代还包括如下步骤(740,840,940):根据在该结点中已有的先验信息以及由该结点从相邻校验结点接收的消息来计算后验信息。
8.根据权利要求7所述的方法,其特征在于,在所述后验信息计算步骤之后是关于所述变量的硬数值的判定步骤(750,850,950)。
9.根据权利要求8所述的方法,其特征在于,下一步骤(760,860,960)检查所获得的变量的所述硬数值是否满足与所述二部图中所有校验结点相关联的奇偶校验,如果满足,则提供由所述硬数值构成的字来作为解码字。
10.根据权利要求1所述的方法,其特征在于,在预定次数Iterf的解码迭代后中断所述分类,然后所述方法在没有对所述变量结点或所述校验结点进行所述分类的情况下继续进行其解码迭代。
11.根据权利要求7所述的方法,其特征在于,如果所述变量的后验数值和先验数值之差的绝对值的最小值大于预定阈值Tf则中断所述分类,然后所述方法在没有对所述变量结点或所述校验结点进行所述分类的情况下继续进行其解码迭代。
12.根据权利要求1所述的方法,其特征在于,所述纠错码是turbo码。
13.根据权利要求1所述的方法,其特征在于,所述纠错码是由具有N个变量结点和M=N-K个校验结点的二部图所表示的LDPC码(K,N)。
14.根据权利要求13所述的方法,其特征在于,从具有索引m∈{1,..,M}的校验结点到具有索引n∈{1,..,N}的变量结点的消息βmn如下计算:
β mn = ( Π n ′ ∈ H ( m ) - { n } sgn ( α mn ′ ) ) · Φ ( Σ n ′ ∈ H ( m ) - { n } Φ ( | α mn ′ | ) ) ,
其中αmn'表示从具有索引n'的变量结点到具有索引m的校验结点的消息,H(m)表示与具有索引m的所述校验结点相邻的所有变量结点,如果x为正则sgn(x)=1,否则sgn(x)=-1,且
15.根据权利要求13所述的方法,其特征在于,从具有索引m∈{1,..,M}的校验结点到具有索引n∈{1,..,N}的变量结点的消息βmn如下计算:
β mn = ( Π n ′ ∈ H ( m ) - { n } sgn ( α mn ′ ) ) · min n ′ ∈ H ( m ) - { n } ( | α mn ′ | ) ,
其中αmn′表示从具有索引n′的变量结点到具有索引m的校验结点的消息,H(m)表示与具有索引m的所述校验结点相邻的所有变量结点,如果x为正则sgn(x)=1,否则sgn(x)=-1。
16.根据权利要求5所述的方法,其特征在于,所述分类应用到校验结点,并且所述预定距离等于2,并且具有索引m的校验结点的可靠性度量如下计算:
f ~ 2 ( m ) = c + Σ n ∈ H ( m ) min ( 1 , Card { m ′ ∈ H ( n ) - { m } | c m ′ = - 1 } ) ,
其中H(m)表示与具有索引m的所述校验结点相邻的变量结点的集合,H(n)表示与具有索引n的所述变量结点相邻的校验结点的集合,Card(.)表示集合的基数,其中如果cm=+1则c=0,如果cm=-1则c=δmax+1,其中δmax是所述二部图中校验结点的最大角度,以及其中cm=+1/cm=-1分别表示对于具有索引m的所述校验结点,奇偶校验被满足/不满足。
CN200780028126.8A 2006-07-27 2007-07-25 采用依赖于邻区可靠性的调度的消息传递解码方法 Expired - Fee Related CN101496292B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0653148A FR2904499B1 (fr) 2006-07-27 2006-07-27 Procede de decodage a passage de messages avec ordonnancement selon une fiabilite de voisinage.
FR06/53148 2006-07-27
PCT/EP2007/057644 WO2008012318A1 (fr) 2006-07-27 2007-07-25 Procédé de décodage à passage de messages avec ordonnancement selon une fiabilité de voisinage.

Publications (2)

Publication Number Publication Date
CN101496292A CN101496292A (zh) 2009-07-29
CN101496292B true CN101496292B (zh) 2014-02-19

Family

ID=37989156

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200780028126.8A Expired - Fee Related CN101496292B (zh) 2006-07-27 2007-07-25 采用依赖于邻区可靠性的调度的消息传递解码方法

Country Status (10)

Country Link
US (1) US8245115B2 (zh)
EP (1) EP2047605B1 (zh)
JP (1) JP5199255B2 (zh)
KR (1) KR101431162B1 (zh)
CN (1) CN101496292B (zh)
AT (1) ATE454750T1 (zh)
DE (1) DE602007004224D1 (zh)
ES (1) ES2339295T3 (zh)
FR (1) FR2904499B1 (zh)
WO (1) WO2008012318A1 (zh)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8219878B1 (en) 2007-12-03 2012-07-10 Marvell International Ltd. Post-processing decoder of LDPC codes for improved error floors
US8219873B1 (en) * 2008-10-20 2012-07-10 Link—A—Media Devices Corporation LDPC selective decoding scheduling using a cost function
US8935601B1 (en) 2008-12-03 2015-01-13 Marvell International Ltd. Post-processing methodologies in decoding LDPC codes
CN102859885B (zh) * 2010-04-09 2015-10-07 Sk海尼克斯存储技术公司 Ldpc选择性解码调度的实现
US9055065B2 (en) * 2011-11-21 2015-06-09 Red Hat, lnc. Managing participant order in distributed transactions
US9203432B2 (en) * 2012-08-28 2015-12-01 Marvell World Trade Ltd. Symbol flipping decoders of non-binary low-density parity check (LDPC) codes
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
US8954546B2 (en) 2013-01-25 2015-02-10 Concurix Corporation Tracing with a workload distributor
US9323863B2 (en) 2013-02-01 2016-04-26 Microsoft Technology Licensing, Llc Highlighting of time series data on force directed graph
US9256969B2 (en) 2013-02-01 2016-02-09 Microsoft Technology Licensing, Llc Transformation function insertion for dynamically displayed tracer data
US20140019879A1 (en) * 2013-02-01 2014-01-16 Concurix Corporation Dynamic Visualization of Message Passing Computation
US9021447B2 (en) 2013-02-12 2015-04-28 Concurix Corporation Application tracing by distributed objectives
US8843901B2 (en) 2013-02-12 2014-09-23 Concurix Corporation Cost analysis for selecting trace objectives
US8924941B2 (en) 2013-02-12 2014-12-30 Concurix Corporation Optimization analysis using similar frequencies
US20130283281A1 (en) 2013-02-12 2013-10-24 Concurix Corporation Deploying Trace Objectives using Cost Analyses
US8997063B2 (en) 2013-02-12 2015-03-31 Concurix Corporation Periodicity optimization in an automated tracing system
US20130219372A1 (en) 2013-03-15 2013-08-22 Concurix Corporation Runtime Settings Derived from Relationships Identified in Tracer Data
FR3003711B1 (fr) 2013-03-21 2015-04-17 Commissariat Energie Atomique Systeme de communication cooperatif a strategie de retransmission de paquets adaptive
US9575874B2 (en) 2013-04-20 2017-02-21 Microsoft Technology Licensing, Llc Error list and bug report analysis for configuring an application tracer
US9734040B2 (en) 2013-05-21 2017-08-15 Microsoft Technology Licensing, Llc Animated highlights in a graph representing an application
US8990777B2 (en) 2013-05-21 2015-03-24 Concurix Corporation Interactive graph for navigating and monitoring execution of application code
US9280841B2 (en) 2013-07-24 2016-03-08 Microsoft Technology Licensing, Llc Event chain visualization of performance data
US9292415B2 (en) 2013-09-04 2016-03-22 Microsoft Technology Licensing, Llc Module specific tracing in a shared module environment
WO2015071777A1 (en) 2013-11-13 2015-05-21 Concurix Corporation Software component recommendation based on multiple trace runs
EP3069241B1 (en) 2013-11-13 2018-08-15 Microsoft Technology Licensing, LLC Application execution path tracing with configurable origin definition
US10075190B2 (en) * 2015-10-27 2018-09-11 Sandisk Technologies Llc Adaptive scheduler for decoding
KR102504550B1 (ko) * 2015-12-28 2023-02-28 삼성전자주식회사 저밀도 패리티 검사 코드를 지원하는 통신 시스템에서 신호를 수신하는 장치 및 방법
CN106936444B (zh) * 2015-12-29 2020-09-01 北京航空航天大学 一种集合译码方法和集合译码器
EP3242405B1 (en) * 2016-05-02 2024-02-21 Université de Bretagne Sud Non-binary check node processing with pre-sorted input
KR102626162B1 (ko) * 2016-06-14 2024-01-18 삼성전자주식회사 연산 복잡도를 감소시킬 수 있는 디코더의 동작 방법과 이를 포함하는 데이터 저장 장치의 동작 방법
KR20180009558A (ko) 2016-07-19 2018-01-29 삼성전자주식회사 저밀도-패리티 체크 코드를 이용하는 디코더 및 이를 포함하는 메모리 컨트롤러
US10530392B2 (en) * 2017-07-31 2020-01-07 Codelucida, Inc. Vertical layered finite alphabet iterative decoding
FR3072851B1 (fr) * 2017-10-23 2019-11-15 Commissariat A L'energie Atomique Et Aux Energies Alternatives Procede d'allocation de ressources de transmission a apprentissage par renforcement
CN110569974B (zh) * 2018-06-06 2021-08-24 天津大学 可包含人造碱基的dna存储分层表示与交织编码方法
CN109586844B (zh) * 2018-10-30 2020-08-04 北京航空航天大学 一种基于集合的非均等保护译码方法及系统
KR20230019636A (ko) * 2021-08-02 2023-02-09 삼성전자주식회사 통신 및 방송 시스템에서 데이터 복호화 방법 및 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1705237A (zh) * 2004-05-31 2005-12-07 株式会社东芝 解码设备和解码电路

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5450535A (en) * 1993-09-24 1995-09-12 At&T Corp. Graphs employing clusters
FR2753026B1 (fr) * 1996-08-28 1998-11-13 Pyndiah Ramesh Procede de transmission de bits d'information avec codage correcteur d'erreurs, codeur et decodeur pour la mise en oeuvre de ce procede
US7085969B2 (en) * 2001-08-27 2006-08-01 Industrial Technology Research Institute Encoding and decoding apparatus and method
US6704376B2 (en) * 2002-01-23 2004-03-09 Bae Systems Information And Electronic Systems Integration Inc. Power and confidence ordered low complexity soft turbomud with voting system
US7020829B2 (en) * 2002-07-03 2006-03-28 Hughes Electronics Corporation Method and system for decoding low density parity check (LDPC) codes
EP1414158A1 (en) * 2002-10-24 2004-04-28 STMicroelectronics N.V. Method of decoding an incident turbo-code encoded signal in a receiver, and corresponding receiver, in particular for mobile radio systems
US7484158B2 (en) * 2003-12-03 2009-01-27 Infineon Technologies Ag Method for decoding a low-density parity check (LDPC) codeword
US7174495B2 (en) * 2003-12-19 2007-02-06 Emmanuel Boutillon LDPC decoder, corresponding method, system and computer program
JP2005210238A (ja) * 2004-01-21 2005-08-04 Nec Corp ターボ復号装置及びその方法並びにその動作プログラム
JP4296949B2 (ja) * 2004-02-03 2009-07-15 ソニー株式会社 復号装置及び方法、並びに情報処理装置及び方法
US7251769B2 (en) * 2004-03-17 2007-07-31 Lucent Technologies Inc. Methods and apparatus for communication using generalized low density parity check codes
JP3891186B2 (ja) * 2004-03-22 2007-03-14 住友電気工業株式会社 復号装置および前処理装置
JP3875693B2 (ja) * 2004-03-24 2007-01-31 株式会社東芝 Lpc符号を用いた符号化ビットのマッピング方法及び送信装置
KR100594818B1 (ko) * 2004-04-13 2006-07-03 한국전자통신연구원 순차적 복호를 이용한 저밀도 패리티 검사 부호의 복호장치 및 그 방법
US20050283707A1 (en) * 2004-06-22 2005-12-22 Eran Sharon LDPC decoder for decoding a low-density parity check (LDPC) codewords
US20060195765A1 (en) * 2005-02-28 2006-08-31 Texas Instruments Incorporated Accelerating convergence in an iterative decoder
JP4519694B2 (ja) * 2005-03-29 2010-08-04 財団法人北九州産業学術推進機構 Ldpc符号検出装置及びldpc符号検出方法
KR100943623B1 (ko) * 2005-09-30 2010-02-24 삼성전자주식회사 저밀도 패러티 검사 부호의 천공기법
EP2025062A1 (en) * 2006-04-28 2009-02-18 Intel Corporation Multi-theshold message passing decoding of low density parity check codes using the min-sum principle
KR100981501B1 (ko) * 2006-11-06 2010-09-10 연세대학교 산학협력단 통신 시스템에서 신호 송신 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1705237A (zh) * 2004-05-31 2005-12-07 株式会社东芝 解码设备和解码电路

Also Published As

Publication number Publication date
US8245115B2 (en) 2012-08-14
WO2008012318A1 (fr) 2008-01-31
ES2339295T3 (es) 2010-05-18
KR20090048465A (ko) 2009-05-13
EP2047605A1 (fr) 2009-04-15
ATE454750T1 (de) 2010-01-15
US20090313525A1 (en) 2009-12-17
DE602007004224D1 (de) 2010-02-25
FR2904499A1 (fr) 2008-02-01
FR2904499B1 (fr) 2009-01-09
EP2047605B1 (fr) 2010-01-06
KR101431162B1 (ko) 2014-08-18
CN101496292A (zh) 2009-07-29
JP2009545220A (ja) 2009-12-17
JP5199255B2 (ja) 2013-05-15

Similar Documents

Publication Publication Date Title
CN101496292B (zh) 采用依赖于邻区可靠性的调度的消息传递解码方法
USRE44421E1 (en) Decoding apparatus for low-density parity-check codes using sequential decoding, and method thereof
CN101542913B (zh) 用于ldpc码的解码方法和设备以及包括这种设备的通信设备
EP1673870B1 (en) Method for encoding low-density parity check code
US8108758B2 (en) Stochastic decoding of LDPC codes
CN107528597B (zh) 一种基于crc校验码的ldpc码后处理译码方法
US8386880B2 (en) Method for transmitting non-binary codes and decoding the same
EP2769500B1 (en) Method and arrangement for conveying additional bits with an encoded data block in a communication system
US8468436B2 (en) Message-passing and forced convergence decoding method
US7757149B2 (en) Broadcast message passing decoding of low density parity check codes
CN1798012A (zh) 基于低密度奇偶校验码的校验式可信度的纠错方法
US20110099448A1 (en) Split-row decoding of ldpc codes
Peng et al. WLC45-2: Application of nonbinary LDPC codes for communication over fading channels using higher order modulations
US8539301B2 (en) Message-wise unequal error protection
Yatribi et al. Gradient-descent decoding of one-step majority-logic decodable codes
Mohamad et al. The effects of the cross-entropy stopping criterion and quadrature amplitude modulation on iterative turbo decoding performance
Alghonaim et al. New technique for improving performance of LDPC codes in the presence of trapping sets
LI et al. Adaptive iteration for fountain decoding
CN110120850B (zh) 基于集破坏的修正置信传播方法及装置
Park Block-Based Scheduling Algorithm for Layered Decoding of Block LDPC Codes
Jan et al. Parity-Check-CRC Concatenated Polar Codes SSCFlip Decoder. Electronics 2021, 11, 3839
Knudsen et al. Adaptive soft-decision iterative decoding using edge local complementation
Adolph et al. Enhancing LDPC code performance using pilot bits
Yuan et al. Design of expanding window fountain codes with unequal power allocation over BIAWGN channels
Addi et al. Two‐Round Selection‐Based Bit Flipping Decoding Algorithm for LDPC Codes

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140219

Termination date: 20160725