CN101414834B - 解码设备和解码方法 - Google Patents

解码设备和解码方法 Download PDF

Info

Publication number
CN101414834B
CN101414834B CN2008101705377A CN200810170537A CN101414834B CN 101414834 B CN101414834 B CN 101414834B CN 2008101705377 A CN2008101705377 A CN 2008101705377A CN 200810170537 A CN200810170537 A CN 200810170537A CN 101414834 B CN101414834 B CN 101414834B
Authority
CN
China
Prior art keywords
matrix
message
configuring
unit
processing
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
CN2008101705377A
Other languages
English (en)
Other versions
CN101414834A (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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Publication of CN101414834A publication Critical patent/CN101414834A/zh
Application granted granted Critical
Publication of CN101414834B publication Critical patent/CN101414834B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1168Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices wherein the sub-matrices have column and row weights greater than one, e.g. multi-diagonal sub-matrices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • 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/1131Scheduling of bit node or check node processing
    • H03M13/1137Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1165QC-LDPC codes as defined for the digital video broadcasting [DVB] specifications, e.g. DVB-Satellite [DVB-S2]
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems

Landscapes

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

Abstract

本发明公开了一种对LDPC码进行解码的解码设备,该解码设备包括:消息计算部,用于执行对接收值进行解码的处理,其中记号F表示整数P的非1约数,并输出F个消息;移位部,被配置成对该F个消息执行F×F循环移位运算、并输出F个消息;存储部,被配置成存储F个消息并允许所存储的该F个所述消息被读出,或是存储上述F个接收值并允许所存储的该F个接收值被读出;和控制部,被配置成通过对该接收值至少执行列重排序处理或与该列重排序处理等同的处理,从而控制向消息计算部提供由F个接收值组成的单位这一操作。

Description

解码设备和解码方法
相关申请的交叉引用 
本发明包含与2007年10月19日在日本专利局提交的日本专利申请JP 2007-272519相关的主题内容,其全部内容通过引用而包含于此。 
技术领域
本发明涉及解码设备、解码方法和程序。更具体地,本发明涉及能够对具有互相不同的结构的多个LDPC(低密度奇偶校验)码进行解码并具有较小电路尺寸的解码设备。本发明还涉及该解码设备所采用的解码方法和实施该解码方法的程序。
背景技术
通信系统采用编码技术来执行通过有噪声的通信信道的可靠通信。在例如卫星网络这样的无线系统(或无线电系统)中,有许多因地理和环境原因造成的噪声源。各通信信道可被视为具有固定容量的信道、可被视为能够在特定SNR(信噪比)呈示每符号比特数的信道,并规定了被称为香农极限的理论上限。因此,编码设计具有达到逼近香农极限的速率这一目的。这一目的与带宽受限的卫星系统具有特别紧密的关系。
近年来,开发出各自呈现出接近香农极限的性能的编码方法。各编码方法还被称作在基于Turbo码的编码处理中采用的所谓Turbo编码技术,Turbo码如PCCC(Parallel Concatenated Convolutional Code,并行链接卷积码)和SCCC(Serially Concatenated Convolutional Code,串行链接卷积码)。尽管开发了这些Turbo码,但LDPC码(低密度奇偶校验码)已吸引了很大注意力。LDPC码是在为人所知很长时间的编码方法中使用的码。
LDPC码是由R.G.Gallager在《Low Density Parity Check Codes》(Cambridge,Massachusetts,MIT Press,1963年)中首先提出的。此后,如在D.J.C Mackay所著的《Good error correcting codes based on very  parse matrices》(提交至IEEE Trans.Inf.Theory,IT-45,pp.399~431,1999)以及M.G.Luby、M.Mitzenmacher、M.A.Shokrollahi和D.A.Spielman所著的《Analysis of low density codes and improved designsusing irregular graphs》(ACM Symposium on Theory of Computing的论文集,pp.249~258,1998)中所记载,LDPC码再次引起人们的关注。
近年来开展的研究结果逐渐表明:在LDPC码的情况下,通过增加码长度,有可能以与Turbo码相同的方式展示出接近香农极限的性能。此外,LDPC码具有示出最小距离与码长度成比例的性质。因此,LDPC码的特征在于LDPC码提供这样的优点:即良好的分组误差概率特性、以及几乎不发生所谓误差平底(error floor)现象。误差平底现象是在如Turbo码的码的解码特性中观察到的现象。
以下具体说明LDPC码。注意,LDPC码是线性码,而且不一定是二维码。不过,在以下说明中将LDPC码作为二维码来进行解释。
LDPC码的最显著特征是:定义该LDPC码的奇偶校验矩阵是稀疏矩阵。稀疏矩阵是这样的矩阵:其中值为1的元素个数非常少。设记号H表示稀疏奇偶校验矩阵。图1是示出典型的稀疏奇偶校验矩阵H的图。如图1所示,各列的汉明权是3,而各行的汉明权是6。列或行的汉明权是作为值均为1的元素而均包含在列或行中的矩阵元素的个数。
如上所述,由对于各列具有恒定的汉明权并对于各行具有恒定的汉明权的奇偶校验矩阵H定义的LDPC码被称作规则LDPC码。另一方面,由汉明权随各列而变且汉明权随各行而变的奇偶校验矩阵H定义的LDPC码被称作不规则LDPC码。
基于该LDPC码的编码处理是如下执行的:即基于定义LDPC码的奇偶校验矩阵H而创建生成矩阵G。接着将该生成矩阵G乘以二维信息消息u从而产生编码字c。具体地,用于执行基于LDPC码的编码处理的编码设备创建生成矩阵G,对于该生成矩阵G,关于从定义LDPC码的奇偶校验矩阵H而得的重排序后的矩阵HT,等式GHT=0成立。如果生成矩阵G是k×n矩阵,则编码设备将生成矩阵G乘以k位的信息消息,以产生由n位组成的编码字(=uG)。在以下的说明中,由k位组成的信息消息也称作向量u。编码设备最后通过将值为0的各编码字位映射至“+1”并将值为1的各编码字位映射至“-1”、从而将编码字c经过预先确定的通信线路而发送至接收方。总之,编码设备基于由奇偶校验矩阵H定义的LDPC码而将信息消息u编码为编码字c。
注意,如果例如由n位组成的编码字c是这样的组织码:其与由随后是(n-k)个奇偶校验位的k位信息消息组成的n位序列相匹配,则在图2所示的由(n-k)行和n列组成的(n-k)行×n列奇偶校验矩阵H中,与由n位组成的编码字中的k位信息消息u对应的(n-k)行×k列矩阵部分称作信息部,而与由n位组成的编码字中的(n-k)个奇偶校验位对应的(n-k)行×(n-k)列矩阵部分称作奇偶校验部。如果奇偶校验部是下三角矩阵或上三角矩阵,则采用基于LDPC码的编码方法对信息消息u进行编码的这一处理是通过使用定义LDPC码的奇偶校验矩阵H来执行的。
也就是说,如图2所示,奇偶校验矩阵H包括信息部和用作奇偶校验部的下三角矩阵,而用作奇偶校验部的下三角矩阵的每个元素是1。在这种情况下,奇偶校验位的序列如下求得。首先,编码字c的奇偶校验位序列的第1奇偶校验位具有作为对均包括在信息消息u中的位执行EXOR(异或逻辑和)处理的结果而得到的值,所述均包括在信息消息u中的位是对应于包括在奇偶校验矩阵H的信息部的第一行中的作为具有值1的元素的矩阵元素的位。
接着,编码字c的奇偶校验位序列的第2奇偶校验位具有作为对奇偶校验序列的第一奇偶校验位和均包括在信息消息u中的消息位执行EXOR处理的结果而得到的值,所述消息位是对应于包括在奇偶校验矩阵H的信息部的第二行中的作为具有值1的元素的矩阵元素的位。
随后,编码字c的奇偶校验位序列的第3奇偶校验位具有作为对奇偶校验位序列的第一和第二奇偶校验位和均包括在信息消息u中的的消息位执行EXOR处理的结果而得到的值,所述消息位是对应于包括在奇偶校验矩阵H的信息部的第三行中的作为具有值1的元素的矩阵元素的位。
然后,以同样方式求得奇偶校验位序列的第4和后续的奇偶校验位。一般而言,编码字c的奇偶校验位序列的第i奇偶校验位具有对奇偶校验序列的第一至第(i-1)奇偶校验位和均包括在信息消息u中的消息位执行EXOR处理的结果而得到的值,所述消息位是对应于包括在奇偶校验矩阵H的信息部的第i行中的作为具有值1的元素的矩阵元素的位。
如上所述计算奇偶校验位序列的(n-k)个奇偶校验位,然后再将该奇偶校验位序列放置在跟随由k位组成的信息消息的位置处,从而生成由n位组成的编码字c。
另一方面,使用LDPC码的解码处理还可根据消息传递算法来执行, 该消息传递算法基于由可变节点(各可变节点也称作消息节点)和校验节点组成的所谓Tanner图上的置信传播(belief propagation)。该消息传递算法是由Gallager作为称作概率解码的算法而提出的算法。以下随意地将可变节点和校验节点简称作节点。
然而,在概率解码算法的情况下,在节点间传递的消息是实数值。因此,为了以解析方式来求解消息,需要追踪具有连续的值的消息的概率分布。也就是说,需要执行极其困难的分析。为了解决这一问题,Gallager提出了算法A和B作为均用于对LDPC码进行解码,或严格地说,是对已使用LDPC码来编码的数据进行解码的算法。
对使用LDPC码来编码的数据进行解码的解码处理通常是根据图3所示的流程图代表的步骤来执行的。在以下说明中,对使用LDPC码来编码的数据进行解码的处理也简称为对LDPC码进行解码的处理,而用作解码对象的LDPC码指的是已使用LDPC码来编码的数据。要注意,在步骤中,记号U0(u0i)表示基于具有特定码长度的LDPC码而编码的接收数据的第i个值,记号uj表示从校验节点输出的第j个消息、或严格地说是从连接至校验节点的第j个边输出的消息,而记号vi表示从可变节点输出的第i个消息、或严格地说是从连接至可变节点的第i个边输出的消息。此外,在这种情况下,消息是用于表示所谓的对数似然比等的实数值,作为代表值0的似然度的值。
如图3所示,代表解码处理的步骤的流程图开始于步骤S101,在该步骤中接收数据值U0(u0i),而将消息uj和变量k的每一个初始化为0。变量k是代表迭代处理的次数的整数。接着,解码处理的流程转至步骤S102。在步骤S102,结合消息ui而使用接收数据值U0(u0i)、以根据式(1)在可变节点执行处理,从而求得消息vi。接着,使用该消息vi以根据式(2)在校验节点执行处理,从而求得消息uj
V i = u 0 i + Σ j = 1 d v - 1 u j . . . ( 1 )
tanh ( u j 2 ) = Π i = 1 d c - 1 tanh ( v i 2 ) . . . ( 2 )
注意,式(1)使用的记号dv表示这样的参数:蓁代表纵(或列)方向上值为1的元素的数目,而式(2)中使用的记号dc表示这样的参数:其代表横(或行)方向上值为1的元素的数目。也就是说,记号dv和dc表示这 样的参数:其分别代表各列的汉明权和各行的汉明权。这些参数dv和dc的值可任意选择。例如在码(3,6)的情况下,各列的汉明权的值设为3(即dv=3)而各行的汉明权的值设为6(即dc=6)。
注意,在根据式(1)的求和处理中,从试图输出消息的边输入的消息不被用作处理的对象。因此,求和处理的范围从1开始到(dv-1)为止。同理,在根据式(2)的乘法处理中,从试图输出消息的边输入的消息不被用作处理的对象。因此,乘法处理的范围从1开始到(dc-1)为止。此外,根据式(2)求得消息uj的值的乘法处理可如下根据式(3)和(4)来执行。预先创建对于2个给定输入v1和v2的函数R(v1,v2)的值1的表作为根据式(3)的表。如式(3)所示,函数R(v1,v2)的值x是输入v1和v2的函数。接着通过使用值x可求得消息uj的值,该uj的值是根据式(4)以递推方式从上述表求得的。
x=2tanh-1{tanh(v1/2)tanh(v2/2)}=R(v1,v2)...(3)
u j = R ( v 1 , R ( v 2 , R ( v 3 , · · · R ( v d c - 2 , v d c - 1 ) ) ) ) . . . ( 4 )
此外,在步骤S102,将变量k加1。接着解码处理的流程转至步骤S103。在步骤S103,将变量k与预先确定的迭代解码计数值N做比较,以产生对变量k是否等于或大于迭代解码计数值N所做判断的结果。如果在步骤S103执行的处理产生的判断结果表示变量k既不等于也不大于预先确定的迭代解码计数值N,则解码处理的流程返回步骤S102,以重复步骤S102和S103的处理。
另一方面,如果在步骤S103执行的处理产生的判断结果表示变量k等于或大于预先确定的迭代解码计数值N,则解码处理的流程转至步骤S104,在该步骤中通过执行根据式(5)的处理来求得消息v,作为最终要输出的解码结果。然后,对使用LDPC码来编码的数据进行解码的解码处理结束。
v = u 0 i + Σ j = 1 d v u j . . . ( 5 )
根据式(5)的计算处理与根据式(1)的计算处理的不同在于:根据式(5)的计算处理是通过使用来自连接至可变节点的所有边的消息uj而执行的。
在对使用LDPC码来编码的数据进行解码的解码处理中,在例如(3,6)码的情况下,如图4所示,消息在节点之间交换。要注意,在图4中, 由“=”(等号)表示的各节点是可变节点,在此执行根据式(1)的求和处理。另一方面,由“+”(加号)表示的各节点是校验节点,在此执行根据式(2)的乘法处理。
特别地,根据前面提到的算法A,使消息成为二维,并在“+”(加号)所示的校验节点处,对提供给校验节点的(dc-1)个输入消息vi执行异或逻辑和处理,而在“=”(等号)所示的可变节点处,如果提供给可变节点的(dv-1)个输入消息uj具有全部不同的比特值,则在输出数据R之前使接收数据R的符号反转。
此外,近年来研究了对用于对使用LDPC码来编码的数据进行解码的处理的方法的实施。在说明对使用LDPC码来编码的数据进行解码的处理的执行方法前,首先创建并解释对使用LDPC码来编码的数据进行解码的处理的模型。
图5是示出了定义作为编码率为1/2且码长度为12的LDPC码的(3,6)码的LDPC码的典型的奇偶校验矩阵H的图。图5所示的作为定义LDPC码的矩阵的奇偶校验矩阵H可由如图6所示那样的Tanner图来表示。在图6中,由“=”(等号)表示的各节点是可变节点,而由“+”(加号)表示的各节点是校验节点。校验节点和可变节点对应于奇偶校验矩阵H中的行和列。使校验节点和可变节点相互连接的线称作边,其对应于值为1的矩阵元素。即,如果存在于奇偶校验矩阵H中的作为第j行和第i列的交点的交点处矩阵元素的值为1,则将图6的从上起第i个可变节点(即,由“=”(等号)表示的第i个节点)和图6的从上起第j个校验节点(即,由“+”(加号)表示的第j个节点)以与值为1的矩阵元素处的交点对应的边来相互连接。使可变节点和校验节点相互连接的边表示:作为与可变节点关联的位的包括在使用LDPC码来编码的接收数据中的位具有关于校验节点的约束条件。注意,图6所示的Tanner图表示上述图5所示的奇偶校验矩阵H。
用作对使用LDPC码来编码的数据进行解码的方法的和积算法是用于重复执行可变节点和校验节点的处理的算法。
在可变节点处,如图7所示,执行作为对可变节点的处理的式(1)所代表的求和处理。在图7所示的求和处理中,与连接至可变节点的边中存在的第i边对应的消息vi是从来自连接至可变节点的其余边的消息u1和u2、以及接收数据值u0i计算的。对应于任何其它边的消息也以同样方式计算。
在解释于校验节点处执行的处理前,通过使用关系a×b=exp{ln(|a|)+ln(|b|)}×sign(a)×sign(b)将式(2)改写成式(6),其中sign(x)对于x≥0则值为1(或逻辑值0),或对于x<0则值为-1(或逻辑值1)。
u j = 2 tanh - 1 ( &Pi; i = 1 d c - 1 tanh ( v i 2 ) )
= 2 tanh - 1 [ exp { &Sigma; i = 1 d c - 1 ln ( | tanh ( v i 2 ) | ) } &times; &Pi; i = 1 d c - 1 sign ( tanh ( v i 2 ) ) ]
= 2 tanh - 1 [ exp { - ( &Sigma; i = 1 d c - 1 - ln ( tanh ( | v i | 2 ) ) ) } ] &times; &Sigma; i = 1 d c - 1 sign ( v i ) . . . ( 6 )
此外,对于x≥0,定义非线性函数φ(x)=-ln(tanh(x/2))。在这种情况下,该非线性函数φ(x)的反函数φ-1(x)可如下表示:φ-1(x)=2tanh-1(e-x)。因此,从式φ-1(x)=2tanh-1(e-x)可如下将式(6)改写成式(7):
u j = &phi; - 1 ( &Sigma; i = 1 d c - 1 &phi; ( | v i | ) ) &times; &Pi; i = 1 d c - 1 sign ( v i ) . . . ( 7 )
在校验节点处,如图8所示,执行根据式(7)的校验节点处理。在图8所示的乘法处理中,与连接至校验节点的边中存在的第j边对应的消息uj是从来自连接至校验节点的其余边的消息v1、v2、v3、v4和v5计算的。对应于任何其它边的消息也以同样方式来计算。
要注意,非线性函数φ(x)也可表示为:φ(x)=ln((ex+1)/(ex-1))。在这种情况下,对于x>0则φ(x)=φ-1(x)。即,执行非线性函数φ(x)的处理结果与执行非线性函数φ(x)的反函数φ-1(x)的处理结果相等。在实际中,使用硬件来实施非线性函数φ(x)和该非线性函数φ(x)的反函数φ-1(x)中的每一个。用于实施非线性函数φ(x)和该非线性函数φ(x)的反函数φ-1(x)的每一个的硬件通常是LUT(查询表)。因此在这种情况下,可使用对于非线性函数φ(x)和该非线性函数φ(x)的反函数φ-1(x)共同的LUT。
此外,作为根据式(1)的求和处理的在可变节点处执行的处理可被分成根据式(5)的求和处理和根据式(8)的减法处理。
vi=v-udv…(8)
因此,通过重复进行根据式(5)和(8)的处理,可重复进行对可变节点 的处理,即,可重复进行根据式(1)的可变节点的处理。同理,通过重复进行根据式(7)的处理,可重复进行校验节点的处理。在这种情况下,可将作为重复进行根据式(5)和(8)的处理的结果所得的、根据式(8)的最终处理的结果原样地用作解码处理的最终结果。
如果由硬件来实施作为用于解码设备的算法的和积算法,则需要使用尺寸适当的电路、以适当的工作频率来重复进行可变节点处理和校验节点处理。可变节点处理是根据式(1)或式(5)和(8)在每一可变节点处执行的处理,而校验节点处理是根据式(7)在每一校验节点处执行的处理。
以下解释这种解码设备的例子。
对使用LDPC码来编码的数据进行解码所用的算法的特征在于:该算法可以实施性能非常高的完全并行处理解码设备。然而,意图用于码长度较大的数据的完全并行处理解码设备具有极大的电路尺寸,以致难以实施该设备。
为了解决这一问题,近年来已提出了具有适于实施具有可行的电路尺寸的解码设备的结构的LDPC码,该LDPC码作为在如DVB-S.2(ETSIEN302307)的传送系统中使用的LDPC码。因此,在以下说明中将该提议的LDPC码称作DVB-S.2LDPC码。
DVB-S.2LDPC码可由具有如下结构的矩阵来定义,该结构通过重排序上述奇偶校验矩阵的行和列而获得。
即,DVB-S.2LDPC码可由具有如下结构的奇偶校验矩阵来表示,该结构通过组合多个配置矩阵而得到,该多个配置矩阵包括P×P单位矩阵(其中P=360)、P×P准单位矩阵、P×P移位矩阵、P×P和矩阵和P×P零矩阵。准单位矩阵是将一个或多个值为1的矩阵元素的每一个置0的单位矩阵。移位矩阵是作为对单位矩阵或准单位矩阵执行循环移位运算的结果所得的矩阵。和矩阵是对单位矩阵、准单位矩阵和移位矩阵中的至少2个执行矩阵加法运算而得的矩阵。注意,在以下说明中,将具有这种结构的奇偶校验矩阵称作由各具有P×P结构的配置矩阵组成的奇偶校验矩阵,而将该由各具有P×P结构的配置矩阵组成的奇偶校验矩阵所定义的LDPC码称作P码。
通过使用这种P码,有可能实施这样的解码设备:其同时处理分别代表P个接收值的P位和分别代表P个消息的P位。
然而,为了使以下说明容易理解,对P=6做出说明。图9是示出了 定义了编码率为2/3且码长度为108的LDPC码的奇偶校验矩阵H的图。图9所示的奇偶校验矩阵H是由各具有6×6结构的配置矩阵组成的典型的奇偶校验矩阵。为了使各具有6×6结构的每一个配置矩阵更容易识别,在图9所示的奇偶校验矩阵H中,在6×6配置矩阵之间设有间隔。为了使图9容易观看,以句点“.”来代表奇偶校验矩阵H中值为0的各矩阵元素。即,图9所示的奇偶校验矩阵具有这样的结构:该结构是通过组合多个配置矩阵而得到的,该多个配置矩阵包括6×6单位矩阵、6×6准单位矩阵、6×6移位矩阵、6×6和矩阵和6×6零矩阵。如前面所述,准单位矩阵是将一个或多个值为1的矩阵元素置0的单位矩阵。
图10是示出了对使用上述LDPC码即P=6的LDPC码来编码的数据进行解码的典型的现有技术的解码设备的框图。
图10的框图所示的典型的解码设备的结构包括接收值缓冲器200、接收值存储器201、节点处理部202、移位部203、消息存储器204和解码结果存储器205。
接收值缓冲器200是这样的缓冲器:其用于在数据D200被作为数据D201转移到接收值存储器201之前,将从通信线路接收的数据D200作为具有一个码的尺寸的数据存储起来。根据将数据D200传输至接收值缓冲器200的传输方法,一些情况下可执行对存储在接收值缓冲器200中的数据D200的码位(code bit)进行重排序的处理。
根据图9所示的奇偶校验矩阵H的列的顺序、同时以6个为单位(其中每个由6位组成)从接收值存储器201读出数据D201。即,以每个都是由6行和6列组成的矩阵的单位从接收值存储器201读出数据D201,并将其作为接收数据D202而提供给节点处理部202。
节点处理部202分别采用由附图标记210-1至210-6标示的6个节点处理器。这6个节点处理器210-1至210-6的每一个根据由图10的框图中未示出的控制部发出的命令,对从接收值存储器201读出的6个数据D202中的预定的一个和同时从消息存储器204接收的6个消息D205中的预定的一个执行校验节点处理或可变节点处理,并将消息D203作为处理结果输出至移位部203。即,节点处理器210-1至210-6将6个消息D203作为同时执行的处理的结果分别提供给移位部203。此外,节点处理器210-1至210-6此时还分别将节点处理器210-1至210-6同时执行的可变节点处理的6个解码结果D206分别同时输出至解码结果存储器205。
当在节点处理部202中采用的节点处理器210-1至210-6将6个消息D203分别提供给移位部203时,图10的框图中未示出的控制部向移位部203提供如下信息,该信息指示对应于6个消息D203的边各自是如下边:其中已在配置矩阵上对该边执行了一些循环移位运算,配置矩阵如用作图9所示的奇偶校验矩阵H的元素矩阵的单位矩阵。基于这一信息,移位部203执行对6个消息D203进行重排序的循环移位运算,并将6个消息D204作为运算结果而输出至消息存储器204。
在消息存储器204中,将从移位部203接收到的6个消息D204存储在由图10的框图中未示出的控制部所指定的地址处。消息存储器204将从由图10的框图中未示出的控制部所指定的地址读出的6个数据作为6个消息D205而输出至节点处理部202。
解码结果存储器205用于同时存储由节点处理部202的节点处理器210-1至210-6执行的可变节点处理的6个解码结果D206。这6个解码结果D206实际上是6位的数据。在完成解码处理后,作为解码结果D207而输出该6位的数据。
注意,通过适当地控制将数据写入各存储器的顺序、从各存储器读出数据的顺序以及移位量,图10的框图所示的典型的解码设备不仅能够对单个码进行解码,也能够对具有相同结构的其它码进行解码。
图11是示出了在节点处理部202中采用的6个节点处理器210-1至210-6中的每一个的典型配置的框图。以下,如果不必彼此区分这6个节点处理器210-1至210-6,则仅由通用的附图标记210来标示这6个节点处理器210-1至210-6中的每一个。
具有图11的框图所示的典型配置的节点处理器210能够通过从一个处理切换倒另一个处理来交替地执行根据式(1)的可变节点处理和根据式(7)的校验节点处理。
节点处理器210具有每个用于从外部源接收消息或数据的两个输入端口P301和P302。更具体地,在图10的框图所示的典型的解码设备中,输入端口P301是用于从接收值存储器201接收数据D202的端口,而输入端口P302是用于从消息存储器204接收消息D205的端口。
此外,节点处理器210还具有每个用于输出消息或处理结果的两个输出端口P303和P304。更具体地,在图10的框图所示的典型的解码设备中,输出端口P303是用于向移位部203输出消息D203的端口,而输出 端口P304是用于向解码结果存储器205提供解码结果D206的端口。
除此之外,节点处理器210还采用各自具有V和C输入端子的选择器301、316和318。在各选择器301、316和318选择V输入端子的情况下,节点处理器210执行可变节点处理。另一方面,在各选择器301、316和318选择C输入端子的情况下,节点处理器210执行校验节点处理。
首先,解释由用作可变节点的节点处理器210执行的可变节点处理。
节点处理器210通过输入端口P302接收来自图10的框图所示的典型的解码设备的消息存储器204的、源自校验节点的一列消息D205。将该消息D205作为消息D301(或消息uj)而依次逐个地提供给选择器301。选择器301将消息D301作为消息D306而提供给加法器302。加法器302还接收选择器317输出的数据D323。加法器302将由选择器317输出的数据D323加到由选择器301输出的消息D306以产生和,然后该和被存储在寄存器303中。
如果选择器317选择了其自身的输入端子连接到输出数据D307的寄存器303,则加法器302将寄存器303经由选择器317而提供给加法器302的数据D307加到由选择器301输出的消息D306,以产生和,该和然后被存储在寄存器303中。
另一方面,如果选择器317选择了其自身的输入端子连接到输出数据D322的选择器318,则加法器302将选择器318经由选择器317而提供给加法器302的数据D322加到由选择器301输出的消息D306,以产生和。顺便提一下,由选择器318输出的数据D322是由输入端口P301作为数据D300而接收的数据D202(或u0i)。因而,加法器302将接收数据D202(或u0i)加至由选择器301输出的消息D306,以产生和,该和被存储在寄存器303中。
当对一列重复进行上述操作时,在寄存器303中积累总值等于∑uj+u0i的数据D307,其中求和∑uj覆盖了j=1-dv的范围。接着将总值等于∑uj+u0i的数据D307经由选择器304转移到寄存器305。
与此同时,延迟FIFO310用于:通过将消息D306保持在延迟FIFO310中,直到由寄存器305输出了总值等于∑uj+u0i的新数据D308为止,其中求和∑uj覆盖了j=1-dv的范围,从而使由选择器301输出的、作为源自校验节点的消息的消息D306延迟。接着,延迟FIFO310将延迟的消息D306作为延迟的输入消息D315而输出至减法器312。
减法器312从由寄存器305输出的新数据D308中减去由延迟FIFO310输出的延迟的输入消息D315,以产生大小等于∑uj+u0i的差D316,其中求和∑uj覆盖了j=1-(dv-1)的范围。减法器312将差D316输出至选择器316。接着选择器316将差D316作为消息D321而输出至输出端口P303。最后,输出端口P303将消息D321作为输出消息D203而传递到在图10的框图所示的典型的解码设备中采用的移位部203。
换言之,当执行根据式(1)的可变节点的处理时,用作可变节点的节点处理器210从连接至用作可变节点的节点处理器210的全部校验节点而接收的消息与接收数据之和中,减去由特定的校验节点提供的消息,从而计算要通过边输出到特定的校验节点的消息。
接下来解释由用作校验节点的节点处理器210执行的校验节点处理。
节点处理器210通过输入端口P302接收来自图10的框图所示的典型的解码设备的消息存储器204、源自可变节点的一行消息D205。将该消息D205作为消息D301(或消息vi)而依次逐个消息地由输入端口P302传递,并作为绝对值D303(或|vi|)而提供给LUT300。
LUT300是这样的LUT:其用于存储在表示校验节点处理的式(7)中使用的非线性函数φ(x)的值,作为各自与自变量x相关联的值,该自变量x是绝对值D303(或|vi|)。也就是说,LUT300用于存储值D305(或φ(|vi|))。当将绝对值D303(或|vi|)提供给LUT300时,LUT300输出值D305(或φ(|vi|))。
从LUT300读出的值D305(或φ(|vi|))经由选择器301作为消息D306而提供给加法器302。加法器302将由选择器301输出的消息D306加到由选择器317输出的数据D323,以产生和,然后该和被存储在寄存器303中。在这种情况下,选择器317选择了其输入端子连接到输出数据D307的寄存器303。因而,加法器302将寄存器303经由选择器317提供给加法器302的数据D307加至由选择器301输出的消息D306,以产生和,该和然后再次被存储在寄存器303中。因而,数据D307是值D305的累积和(或φ(|vi|))。
当对于一行的消息D301(或消息vi)从LUT300读出的值D305(或φ(|vi|))被累加以产生一行累加和D307时,在i=1-dc的范围上计算的大小等于∑φ(|vi|)的和D307经由选择器304而被提供给寄存器305。
与此同时,延迟FIFO 310用于:通过将消息D306保持在延迟FIFO 310中,直到由寄存器305输出了在i=1-dc的范围上计算的总值等于∑φ(|vi|)的新数据D308为止,从而延迟由选择器301输出的消息D306。即,延迟FIFO 310用于使从LUT 300读出的值D305(或φ(|vi|))延迟。接着,延迟FIFO 310将延迟的值D305作为延迟的输入消息D315而输出至减法器312。
减法器312从由寄存器305输出的新数据D308中减去延迟的输入消息D315,以产生在i=1-(dc-1)的范围上计算的大小等于∑φ(|vi|)的差D316。接着减法器312将差D316输出至LUT314。
LUT 314是如下工作的LUT。在LUT 314中,将差D316视为自变量x。对于自变量x,从LUT 314读出在根据式(7)的校验节点处理中作为非线性函数φ(x)的反函数φ-1(x)而使用的反函数φ-1(x)的值。具体地,当减法器312向LUT 314提供在i=1-(dc-1)的范围上计算的大小等于∑φ(|vi|)的差D316时,LUT 314输出值D318(=φ-1(∑φ(|vi|))),该值是反函数φ-1(∑φ(|vi|))的值。
与上述操作同时,EXOR电路306对各消息D301的符号位D304(或sign(vi))和存储在寄存器307中的值D310执行异或逻辑和处理,以产生逻辑和D309并再将该和D309存储在寄存器307中。消息D301的符号位D304是表示消息D301是正消息还是负消息的位。
当一行的消息D301(或消息vi)的符号位被EXOR电路306累加求和并存储在寄存器307中时,寄存器307将由在i=1-dc的范围上计算的IIsign(vi)代表的累加值D310经由选择器308而提供给寄存器309。
与此同时,延迟FIFO310用于通过将符号位D304(或sign(vi))保持在延迟FIFO310中,直到由寄存器309输出了由在从i=1到dc的范围上计算的IIsign(vi)代表的新数据D311为止,而将用于乘法运算的符号位D304(或sign(vi))延迟。接着,延迟FIFO 310将延迟的符号位D304作为延迟的符号位D313而输出至EXOR电路315。
EXOR电路315对从延迟FIFO 310接收的延迟的符号位D313和存储在寄存器309中的累加值D311执行异或逻辑和处理,以产生由在从i=1到(dc-1)的范围上计算的IIsign(vi)表达的符号位D319并将该符号位D319提供给选择器316。
最终,选择器316将从EXOR电路315接收的符号位D319附加至由LUT314输出的值D318(=φ-1(∑φ(|vi|)))以产生消息D321,并将该消息D321 输出至输出端口P303,该输出端口P303接着将消息D321传递到图10的框图所示的典型的解码设备的移位部203。
换言之,当执行根据式(7)的校验节点的处理时,节点处理器210从连接至用作校验节点的节点处理器210的全部校验节点而接收的消息之和中,减去由特定的可变节点供给的消息,从而计算要通过边输出至特定的可变节点的消息。
在解码的最后阶段,节点处理器210不执行根据式(1)的可变节点处理,而是代之以执行根据式(5)的处理,并将该处理结果所得的数据D308作为解码结果D206,经由输出端口P304而输出至图10的框图所示的典型的解码设备的解码结果存储器205。解码的最后阶段一般是在重复进行了N次(其中N是预先确定的整数)可变节点处理和校验节点处理后执行的最后的可变节点处理。
要注意,尽管图10的框图所示的典型的解码设备是对P=6的码进行解码的解码设备,但对P为6以外的P码进行解码的解码设备可基本地被设计成具有与图10的框图所示的典型的解码设备相同的配置。
发明内容
然而,如果将用于解码P码的解码设备实施成利用相关技术并具有与图10的框图所示的典型的解码设备相同的配置,则不是仅需要并行连接的6个节点处理器,而是需要并行连接的P个节点处理器。此外,移位部不是仅执行6×6循环移位运算,而是需要执行P×P循环移位运算。除此之外,各存储器不是仅需要同时写入和读出6个数据、而是必须能够同时写入和读出P个数据。
因此,对于较大的P值,产生了整个解码设备的电路尺寸不被希望地增大的这一问题。
此外,现有技术的解码设备不能对P码以外的码进行解码。例如,现有技术的解码设备不能对Q码进行解码。因此,在一个传输系统中使用的码必须全部是P码。结果,产生了以下不希望出现的另一问题:在通常使用了针对面向各具有高传输率的固定接收机的服务的P码和针对面向各具有低传输率但是具有较大的功耗限制的便携式接收机的服务的Q码的传输系统中,为了配置对P码和Q码共用的接收机,必须相互分离地设计对P码进行解码专用的解码设备和对Q码进行解码专用的解码设 备。
有鉴于上述问题,本发明的发明入提议了一种能够对以不同结构提供并使用LDPC码来编码的多个码进行解码的解码设备,并有可能减小其电路尺寸。
为了解决上述问题,根据本发明的实施例,提供了一种对LDPC(低密度奇偶校验)码进行解码的解码设备。在该解码设备中,LDPC码由具有第一结构的原奇偶校验矩阵表示,该第一结构是通过组合多个第一配置矩阵而得到的,该多个第一配置矩阵包括P×P单位矩阵、将P×P单位矩阵的一个或多个矩阵元素各自的值从1置为0而得到的P×P准单位矩阵、作为对P×P单位矩阵或P×P准单位矩阵执行循环移位运算的结果而得到的P×P移位矩阵、通过对P×P单位矩阵、P×P准单位矩阵和P×P移位矩阵中的至少两个执行矩阵加法运算而得到的P×P和矩阵、以及P×P零矩阵,或者所述低密度奇偶校验码由通过重排序所述原奇偶校验矩阵中的至少一行和一列而得到的、作为具有所述第一结构的矩阵的矩阵来表示,其中记号P表示整数。解码设备包括:
消息计算装置,用于通过同时进行F个校验节点处理或F个可变节点处理,从而执行对每个作为接收所述低密度奇偶校验码的结果而得到的接收值进行解码的处理,并输出作为所述F个校验节点处理或所述F个可变节点处理的结果而得到的F个消息,其中记号F表示整数P的非1约数;
移位装置,用于对由消息计算装置生成的F个消息执行F×F循环移位运算,并输出作为F×F循环移位运算的结果的F个消息;
存储装置,用于存储由移位装置生成的F个消息并允许所存储的F个消息被读出,或用于存储上述F个接收值并允许所存储的F个接收值被读出。
该解码设备进一步包括控制装置,用于通过对由具有第一结构的奇偶校验矩阵表示的接收值至少执行列重排序处理或与列重排序处理等同的处理,来控制向消息计算装置提供由对应于第二配置矩阵的F个接收值组成的单位这一操作,作为向消息计算装置提供接收值的操作,第二配置矩阵作为从第一配置矩阵而得的第二配置矩阵包含在具有第二结构的矩阵中,其中第二结构是通过组合多个第二配置矩阵而得到的结构,多个第二配置矩阵包括:F×F单位矩阵、将F×F单位矩阵的一个或多个矩阵元素 各自的值从1置为0而得到的F×F准单位矩阵、作为对F×F单位矩阵或F×F准单位矩阵执行循环移位运算的结果而得到的F×F移位矩阵、对F×F单位矩阵、F×F准单位矩阵和F×F移位矩阵中的至少两个执行矩阵加法运算而得到的F×F和矩阵、以及F×F零矩阵。
为了解决上述问题,根据本发明的另一实施例,提供了一种程序以实施在解码设备中采用的解码方法,该解码设备是根据本发明的前述实施例、作为对LDPC(低密度奇偶校验)码进行解码的解码设备而提供的。LDPC码由具有第一结构的原奇偶校验矩阵表示,该第一结构是通过组合多个第一配置矩阵而得到的,该多个第一配置矩阵包括P×P单位矩阵、将P×P单位矩阵的一个或多个矩阵元素各自的值从1置为0而得到的P×P准单位矩阵、作为对P×P单位矩阵或P×P准单位矩阵执行循环移位运算的结果而得到的P×P移位矩阵、通过对P×P单位矩阵、P×P准单位矩阵和P×P移位矩阵中的至少两个执行矩阵加法运算而得到的P×P和矩阵、以及P×P零矩阵,或者所述低密度奇偶校验码由通过重排序所述原奇偶校验矩阵中的至少一行和一列而得到的、作为具有所述第一结构的矩阵的矩阵来表示,其中记号P表示整数。该程序实施包括以下步骤的处理:
通过同时进行F个校验节点处理或F个可变节点处理,从而执行对每个作为接收低密度奇偶校验码的结果而得到的接收值进行解码的处理,并输出作为F个校验节点处理或F个可变节点处理的结果而得到的F个消息,其中记号F表示整数P的非1约数;
对在消息运算处理中生成的F个消息执行F×F循环移位运算,并输出作为F×F循环移位运算的结果的F个消息;以及
存储在移位处理中生成的F个消息并允许所存储的F个消息被读出,或用于存储上述F个接收值并允许所存储的F个接收值被读出。
该程序所实施的处理进一步包括以下步骤:通过对由具有第一结构的奇偶校验矩阵表示的接收值至少执行列重排序处理或与列重排序处理等同的处理,来控制向消息计算装置提供由对应于第二配置矩阵的F个接收值组成的单位这一操作,作为向消息计算装置提供接收值的操作,第二配置矩阵作为从第一配置矩阵而得的第二配置矩阵包含在具有第二结构的矩阵中,其中第二结构是通过组合多个第二配置矩阵而得到的结构,多个第二配置矩阵包括:F×F单位矩阵、将F×F单位矩阵的一个或多个矩阵元素各自的值从1置为0而得到的F×F准单位矩阵、作为对F×F单位矩阵或F×F准单位矩阵执行循环移位运算的结果而得到的F×F移位矩阵、 对F×F单位矩阵、F×F准单位矩阵和F×F移位矩阵中的至少两个执行矩阵加法运算而得到的F×F和矩阵、以及F×F零矩阵。
根据本发明,有可能提供能够对LDPC(低密度奇偶校验)码进行解码的解码设备。特别地,根据本发明的解码设备能够对彼此结构不同的LDPC码进行解码。
附图说明
图1是示出了定义LDPC码的典型的稀疏的奇偶校验矩阵的图;
图2是示出了定义LDPC码的包含下三角矩阵作为奇偶校验矩阵的典型的奇偶校验矩阵的图;
图3示出了为了对LDPC码进行解码而执行的一系列处理的说明性流程图;
图4是示出了消息的流的说明图;
图5是示出了定义(3,6)码的LDPC码的典型的奇偶校验矩阵的图;
图6是示出了代表图5所示的典型的奇偶校验矩阵的Tanner图的图;
图7是当说明在可变节点处执行处理以计算消息时所参考的说明图;
图8是当说明在校验节点处执行处理以计算消息时所参考的说明图;
图9是示出了由各具有6×6结构的配置矩阵组成的典型的奇偶校验矩阵的图;
图10是示出了对使用上述LDPC码即P=6的LDPC码来编码的数据进行解码的典型的现有技术的解码设备的框图;
图11是示出了在图10所示的解码设备中包含的节点处理部中采用的节点处理器的典型配置的框图;
图12是示出了作为对使用上述LDPC码即P=6的LDPC码来编码的数据进行解码的设备而由本发明的实施例提供的典型的解码设备的框图;
图13是示出了用作奇偶校验矩阵的配置矩阵的典型的6×6移位矩阵的图;
图14是在说明对图13所示的6×6移位矩阵中的行和列进行重排序以生成3×3配置矩阵所执行的处理的步骤时所参考的说明图;
图15示出了作为对图9所示的典型的6×6奇偶校验矩阵执行图14的说明图所示的步骤的结果所得的重排序后的矩阵、即由各具有3×3配置的配置矩阵组成的重排序后的矩阵的图;
图16是在说明对图13所示的6×6移位矩阵中的行和列进行重排序、以生成2×2配置矩阵所执行的处理的步骤时所参考的说明图;以及
图17是示出了根据本发明的另一实施例的用作解码设备的计算机的典型配置的框图。
具体实施方式
在说明本发明的优选实施例前,先在以下的有关说明中解释所公开的发明和实施例之间的关系。要注意,即使有这样的实施例:其虽记载于本说明书中但却未被作为对应于本发明的实施例而包含在以下的有关说明中,这样的实施例也不应解释为不对应于本发明的实施例。反过来说,作为对应于特定发明的实施例而包含在以下的有关说明中的实施例不应解释为不对应于除特定发明以外的发明的实施例。
此外,以下的有关说明不应解释为涵盖本说明书所公开的所有发明的综合性说明。换言之,以下的有关说明绝非否定存在有虽记载于本说明书但却未包括在对其提交专利申请的权利要求书中的发明。也就是说,以下的有关说明绝非否定存在有将来要包含在不同的专利申请中的发明、包含在对本说明书的补正中的发明或要添加的发明。
根据本发明的一个实施例,提供一种对LDPC(低密度奇偶校验)码进行解码的解码设备(如图12的框图所示的解码设备)。LDPC码是使用LDPC码来编码的数据。LDPC码由具有第一结构的原奇偶校验矩阵(如作为P=6的矩阵图9所示的奇偶校验矩阵)表示,该第一结构是通过组合多个第一配置矩阵而得到的,该多个第一配置矩阵包括P×P单位矩阵、将P×P单位矩阵的一个或多个矩阵元素各自的值从1置为0而得到的P×P准单位矩阵、作为对P×P单位矩阵或P×P准单位矩阵执行循环移位运算的结果而得到的P×P移位矩阵、通过对P×P单位矩阵、P×P准单位矩阵和P×P移位矩阵中的至少两个执行矩阵加法运算而得到的P×P和矩阵、以及P×P零矩阵,或LDPC码由通过重排序原奇偶校验矩阵中的至少一行和一列而得到的矩阵表示,其中原奇偶校验矩阵是具有第一结构的矩阵,其中记号P表示整数。该解码设备采用以下装置:
消息计算装置(如在图12的框图所示的解码设备中采用的节点处理部502,即,对于F=3的包括3个节点处理器510-1至510-3的节点处理部502),用于通过同时进行F个校验节点处理或F个可变节点处理,并输出作为F个校验节点处理或F个可变节点处理的结果而得到的F个消息,从而对每个作为接收LDPC码的结果而得到的接收值进行解码,其中记号F表示整数P的非1约数;
移位装置(如在图12的框图所示的解码设备中采用的移位部503),用于对由消息计算装置生成的F个消息执行F×F循环移位运算,并输出作为F×F循环移位运算的结果的F个消息;
存储装置(如在图12的框图所示的解码设备中采用的消息存储器504和接收值存储器501),用于存储由移位装置生成的F个消息并允许所存储的F个消息被读出,或用于存储上述F个接收值并允许所存储的F个接收值被读出;以及
控制装置(如在图12的框图所示的解码设备中采用的控制部506),用于通过对由具有第一结构的奇偶校验矩阵表示的接收值至少执行列重排序处理或与列重排序处理等同的处理,来控制向消息计算装置提供由对应于第二配置矩阵的F个接收值组成的单位这一操作,作为向消息计算装置提供接收值的操作,第二配置矩阵包含在作为从第一配置矩阵而得的第二配置矩阵(如作为对图13所示的6×6移位矩阵中的行和列进行重排序而执行的处理的结果所得到的配置矩阵之一的每个都包围在图14中的虚线框中的3×3配置矩阵)的具有第二结构的矩阵中,其中第二结构是通过组合多个上述第二配置矩阵而得到的结构,多个第二配置矩阵包括:F×F单位矩阵、将F×F单位矩阵的一个或多个矩阵元素各自的值从1置为0而得到的F×F准单位矩阵、作为对F×F单位矩阵或F×F准单位矩阵执行循环移位运算的结果而得到的F×F移位矩阵、对F×F单位矩阵、F×F准单位矩阵和F×F移位矩阵中的至少两个执行矩阵加法运算而得到的F×F和矩阵、以及F×F零矩阵。
该解码设备进一步采用缓冲装置(如在图12的框图所示的解码设备中采用的接收值缓冲器500),用于对每个作为接收LDPC码的结果而得到的接收值进行缓冲。控制装置执行缓冲控制,以在缓冲装置中,对以遵循具有第一结构的奇偶校验矩阵的到来形态而接收的接收值进行重排序,从而将到来形态转换成遵循具有第二结构的矩阵的另一形态。然后控制装置执行控制,以将以遵循具有第二结构的矩阵的另一形态而缓冲在缓冲装置 中的接收值以与具有第二结构的矩阵的第二配置矩阵对应的F个接收值组成的单位、经由存储装置而提供给消息计算装置。
接着,以下对本发明的技术进行解释。
在本专利说明书中使用的技术术语“P码”是LDPC码的一种。该P码具有QC(quasi cyclic,准循环)码的性质。
QC码是这样的码:其编码字是对任意的原编码字进行N个周期(N是自然数)的循环移位运算而得到的一系列位,以产生与原编码字不同的另一编码字。
定义QC码的奇偶校验矩阵可以使用典型的循环矩阵来表示。该循环矩阵在本专利说明书中称作移位矩阵。也称作移位矩阵的循环矩阵被定义为通过对从另一矩阵的所有列中选出的特定列执行循环移位运算而得到的矩阵。特定列的一例是第一列。
如上所述,包含在定义P码的奇偶校验矩阵中的移位矩阵是通过对P×P单位矩阵或准单位矩阵执行循环移位运算而得到的矩阵。具体地说,通过依次逐列地对P×P单位矩阵或P×P准单位矩阵的特定列执行循环移位运算,可依次逐个矩阵地生成种类相互不同的移位矩阵。当完成对P×P单位矩阵或P×P准单位矩阵的P列所执行的循环移位运算时,再度生成原P×P单位矩阵或原P×P准单位矩阵。也就是说,循环移位运算的单位是P列。
需要注意的情况是:严格地说,用于定义P码的P×P准单位矩阵和该准单位矩阵的P×P移位矩阵不包含在定义QC码的矩阵中。也就是说,只在对含P码的DVB-S2LDPC码进行定义的奇偶校验矩阵的右上角位置处,才出现准单位矩阵。因而,按这一观点,严格地说,DVB-S2 LDPC码不是QC码。不过,在对DVB-S2 LDPC码进行解码的解码设备中,对该缺欠部分仅执行简单的例外处理。因此对于对DVB-S2 LDPC码进行解码的解码设备和对QC码进行解码的解码设备,其解码设备的架构之间没什么区别。由于上述理由,不将P码说成是QC码之一。而是如上述声明:P码是具有QC(准循环)码的性质的LDPC码。
换言之,由各具有P×P结构的配置矩阵组成的奇偶校验矩阵是通过规则地布置其配置矩阵而得到的矩阵,其配置矩阵包含P×P单位矩阵、将P×P单位矩阵的一个或多个矩阵元素各自的值从1置为0而得到的P×P准单位矩阵、作为对P×P单位矩阵或P×P准单位矩阵执行循环移位运算 的结果而得到的P×P移位矩阵、通过对P×P单位矩阵、P×P准单位矩阵和P×P移位矩阵中的至少两个执行矩阵加法运算而得到的P×P和矩阵、以及P×P零矩阵。由于P码可表示为具有这种规则结构的奇偶校验矩阵,故将P码说成是具有QC(准循环)码的性质的LDPC码。
也就是说,P码具有规则性质,这意味着P码可由具有通过规则地排列如下单元而配置的结构的奇偶校验矩阵来表示,该单元是P×P配置矩阵,如P×P单位矩阵、P×P准单位矩阵、P×P移位矩阵、P×P和矩阵、以及P×P零矩阵。如果采用现有技术实施用于解码P码的解码设备,以与图10的框图所示的典型的解码设备具有相同的配置,则不是仅需要并行连接的6个节点处理器、而是需要并行连接的P个节点处理器。此外,移位部不是仅执行6×6循环移位运算、而是需要执行P×P循环移位运算。除此之外,各存储器不是仅需要同时写入和读出6个数据、而是必须能够同时写入和读出P个数据。
为了解决上述问题,本发明的发明人创新了一种技术。根据这种技术,通过对由各具有P×P结构的配置矩阵组成的奇偶校验矩阵的行和列进行重排序,从而执行重排序处理,以生成使F×F配置矩阵规则地布置的矩阵,或执行与该排序处理等同的处理,并在最后对作为根据具有F×F配置矩阵的排序后矩阵的数据的、作为重排序处理或与该排序处理等同的处理结果所得的数据执行解码处理。在这种情况下,记号F表示整数P的约数。在以下说明中,重排序处理和与该排序处理等同的处理这两者皆简称为重排序处理。F×F配置矩阵分为与P×P配置矩阵相同的种类,也就是说,F×F配置矩阵分为以下种类:即,F×F单位矩阵、将该F×F单位矩阵的一个或多个矩阵元素各自的值从1置为0而得的F×F准单位矩阵、作为对F×F单位矩阵或F×F准单位矩阵执行循环移位运算的结果而得到的F×F移位矩阵、对F×F单位矩阵、F×F准单位矩阵和F×F移位矩阵中的至少2个执行矩阵加法运算而得的F×F和矩阵、以及F×F零矩阵。
注意,重排序处理和与该排序处理等同的处理这两者皆简称重排序处理,原因如下:在对数据进行解码的处理(或将数据提供给节点处理器的处理)前,以下不是必须的:在经过紧挨在节点处理器之前的一级设置的存储器而将排序后矩阵提供给节点处理器之前,通过对存储在缓冲器中的奇偶校验矩阵即由各具有P×P结构的配置矩阵组成的原矩阵中的行和/或列实际地进行重排序来执行重排序处理,以生成由各具有F×F结构的配置矩阵组成的排序后矩阵并再度将排序后矩阵存储在缓冲器中。也就是 说,根据为与该排序处理等同的处理提供的等同的技术,也可执行等同的处理以将数据原样地、以遵循由各具有P×P结构的配置矩阵组成的奇偶校验矩阵的到来形态而存储在缓冲器中,接着再将数据从缓冲器转移至存储器,然后对存储器中的由各具有P×P结构的配置矩阵组成的奇偶校验矩阵中的行和/或列进行重排序,以生成由各具有F×F结构的配置矩阵组成的排序后矩阵,然后执行将该数据提供给节点处理器的操作。也就是说,从节点处理器来看,重排序处理和等同处理会导致相同的状态,其中由各具有P×P结构的配置矩阵组成的奇偶校验矩阵中的行和/或列已被重排序,以生成由各具有F×F结构的配置矩阵组成的矩阵。这种状态对于节点处理器的处理需求来说是足够的。
换言之,本发明提供的技术是用于执行重排序处理的技术,该重排序处理包含对作为由各具有P×P结构的配置矩阵组成的奇偶校验矩阵所表示的值、存储在缓冲器中的接收值的至少列进行重排序的处理,或包含与该处理等同的处理。因此,本发明提供的技术也可说成是实施这样的操作的技术:以各由对应于F×F配置矩阵的F个接收值组成的单位而将接收值提供给节点处理器,作为对将接收值提供给节点处理器这一操作的控制。
于是,通过采用本发明提供的技术,即使在对P码进行解码的处理中,也可将P个节点处理器同时执行的P个并行处理削减至仅由F个节点处理器同时执行的F个并行处理。此外,移位部不需要执行P×P循环移位运算,而是仅需要执行F×F循环移位运算。除此之外,各存储器不需要同时写入和读出P个数据,而是仅需同时写入和读出F个数据。
如上所述,通过采用本发明提供的技术,根据本发明的实施例的整个解码设备的电路尺寸可以比现有技术的解码设备小得多。不过,如后面要详细说明的,存在整数P存在多个约数的情况。在这种情况下,不必取最小约数作为约数F。而是,恰当的做法是选择对传输速率和工作频率最佳的约数作为约数F。
此外,如后面要详细说明的,存在与整数P不同的非1整数Q同样具有约数F的情况。也就是说,约数F是整数P和Q共同的约数。在这种情况下,根据本发明提供的技术的、采用F个并行节点处理器的解码设备不仅能够对P码进行解码,而且还能够选择性地对P码或Q码进行解码。
接着,对根据本发明的实施例的解码设备做出如下具体说明。设整数 P为6(P=6)且该整数P的约数F是3(F=3)。在这种情况下,通过采用本发明提供的技术,有可能构造具有如图12的框图所示的配置的解码设备。也就是说,图12是示出了应用本发明的实施例的解码设备的典型配置的框图。
图12的框图所示的典型的解码设备具有这样的配置:包括接收值缓冲器500、接收值存储器501、节点处理部502、移位部503、消息存储器504、解码结果存储器505和控制部506。
图12的框图所示的典型的解码设备的整体配置除了控制部506外、与图10的框图所示的典型的解码设备基本相同。也就是说,在图12的框图所示的典型的解码设备中,各自代表功能配置要素的方框的相互联系、以及各个功能配置要素所充当的角色即各功能配置要素的功能除了控制部506外、与图10的框图所示的典型的解码设备基本相同。然而,从各功能配置要素的观点来看,图12的框图所示的典型的解码设备和图10的框图所示的典型的解码设备有以下不同。
在图10的框图所示的典型的解码设备中采用的接收值缓冲器200、接收值存储器201、消息存储器204和解码结果存储器205各自具有允许同时读取P=6的6个数据(或6位)的配置。另一方面,在图12的框图所示的典型的解码设备中采用的接收值缓冲器500、接收值存储器501、消息存储器504和解码结果存储器505各自具有仅允许同时读取F=3的3个数据(或3位)的配置。
此外,在图10的框图所示的典型的解码设备中采用的移位部203具有能够执行P×P循环移位运算的配置,其中P=6。另一方面,在图12的框图所示的典型的解码设备中采用的移位部503具有仅能执行F×F循环移位运算的配置,其中F=3。
除此之外,在图10的框图所示的典型的解码设备中采用的节点处理部202具有6(=P)个节点处理器210-1至210-6。另一方面,在图12的框图所示的典型的解码设备中采用的节点处理部502仅具有3(=F)个节点处理器510-1至510-3。
因而,由于图12的框图所示的典型的解码设备和图10的框图所示的典型的解码设备具有如上述从各功能配置要素的观点来看的不同之处,因此图12的框图所示的典型的整个解码设备与图10的框图所示的典型的解码设备相比,可被配置成电路尺寸较小的设备。
注意,作为各节点处理器510-1至510-3,可原样使用具有图11的框图所示的配置的节点处理器210。即使节点处理器510-1至510-3自身各自具有不同于图11的框图所示的配置,不用说、本发明仍可应用于图12的框图所示的解码设备。
此外,不用说、本发明还可应用于具有如下配置的解码设备:该配置包括3个可变节点处理器作为与3个校验节点处理器的电路分离的电路,以取代各自既用作可变节点处理器、又用作校验节点处理器的节点处理器510-1至510-3。
除此之外,不用说,本发明也可应用于不使用节点处理器510-1至510-3而执行可变节点处理的情况。
接着解释图12的框图所示的典型的解码设备所执行的操作。
注意,如后面将要说明的,如图12的框图所示的典型的解码设备能够对P码进行解码,其中P是具有约数F的任意整数值。不过,为了在以下说明由图12的框图所示的典型的解码设备所执行的操作时,使图12的框图所示的典型的解码设备容易与图10的框图所示的典型的解码设备做比较,设解码对象是由图9所示的、各具有6×6结构的配置矩阵组成的奇偶校验矩阵所定义的P(=6)码。
接收值缓冲器500是这样的缓冲器:其用于在数据D500被作为数据D501转移到接收值存储器501之前,将从通信线路接收到的数据D500存储为尺寸为1个码的数据。
对奇偶校验矩阵的列进行重排序的重排序处理对应于对码位序列的码位进行重排序的处理。因而,根据由控制部506执行的控制,如下执行对存储在接收值缓冲器500中的数据D500的重排序处理。
图9所示的奇偶校验矩阵被视为6×6配置矩阵的集合体,将各6×6配置矩阵作为重排序的单位。对各6×6配置矩阵进行如下重排序处理:基于图13和14所示的预先确定的规则而将该6×6配置矩阵重排序为成为3×3配置矩阵的集合体的重排序后的矩阵。根据预先确定的规则,图14所示的各3×3配置矩阵是由特定行和特定列组成的矩阵,其中特定行具有提供作为各行序号除以2的结果而获得的相同的余数的行序号,且特定列具有提供作为各列序号除以2的结果而获得的相同的余数的列序号。因而如图14所示,3×3配置矩阵是由各具有偶数或奇数行序号的行和各具有偶数或奇数列序号的列组成的矩阵。换句话说,图13所示的6×6配置矩 阵可说成是被区分成了4个图14所示的3×3配置矩阵。
具体地,请读者参照图13,图13是示出了图9所示的由各具有6×6结构的配置矩阵组成的奇偶校验矩阵的典型的6×6移位矩阵的图。在图13中,圆圈(○)所围的各数字是列序号,而方框(□)所围的各数字是行序号。
例如,对图13所示的6×6移位矩阵进行根据上述规则的重排序处理,从而将该6×6移位矩阵转换成如图14所示的由4个3×3配置矩阵组成的重排序后的矩阵。显然,图14所示的重排序后的矩阵使用虚线被区分成如图14所示的2个3×3零矩阵、1个3×3准单位矩阵和1个3×3移位矩阵这4个3×3配置矩阵。
组成图9所示的由各具有6×6结构的配置矩阵组成的奇偶校验矩阵的其它各6×6配置矩阵也进行上述重排序处理。结果,将图9所示的由各具有6×6结构的配置矩阵组成的奇偶校验矩阵重排序为具有图15所示结构的重排序后的矩阵。注意,为了容易识别对图9所示的由各具有6×6结构的配置矩阵组成的奇偶校验矩阵进行重排序的处理所得的各配置矩阵、即各具有3×3结构的配置矩阵,在图15所示的奇偶校验矩阵中,在3×3配置矩阵之间设有间隔。图15所示的典型的排序后的矩阵包括3×3单位矩阵、3×3准单位矩阵、3×3移位矩阵、3×3和矩阵以及3×3零矩阵。
因而,除了在图10的框图所示的典型的解码设备中采用的接收值存储器201的后续级处执行的操作是对于P=6的操作,而在图12的框图所示的典型的解码设备中采用的接收值存储器501的后续级处执行的操作是对于F=3的操作这一情况以外,在图12的框图所示的典型的解码设备中采用的接收值存储器501的后续级处执行的操作与在图10的框图所示的典型的解码设备中采用的接收值存储器201的后续级处执行的操作是相似的。换言之,在图12的框图所示的典型的解码设备中采用的接收值存储器501的后续级处执行的操作与仿佛图12的框图所示的解码设备是对P=3的P码进行解码的设备而执行的操作完全相同。
如果首先将以下方法实施为传输方法:在将重排序后的码位通过通信线路而输出至在图12的框图所示的解码设备中采用的接收值缓冲器500前,对接收的码位进行重排序,则与上述重排序处理同时地以相反的方式在接收值缓冲器500中对码位进行重排序。对码位进行重排序也可以不是与上述重排序处理同时地以相反的方式来进行,而是在重排序处理之前或之后在接收值缓冲器500中对码位进行重排序。
在以上说明中,取约数F为3(F=3)作为整数P即6(P=6)的约数。当然,因为如上述约数必须为非1约数,所以除约数F为1以外,还可以取整数P(=6)的另一约数(即约数F为2)。然而在这种情况下,如下所述根据预先确定的规则对图9所示的由各具有6×6结构的配置矩阵组成的奇偶校验矩阵执行重排序处理。对各6×6配置矩阵进行重排序处理,以将该6×6配置矩阵重排序为图16所示的重排序后的矩阵。如图16所示,重排序后的矩阵是2×2配置矩阵的集合体,该2×2配置矩阵每个都是由特定行和特定列组成的矩阵,其中特定行具有提供作为各行序号除以3的结果而获得的相同的余数的行序号,特定列具有提供作为各列序号除以3的结果而获得的相同的余数的列序号。
具体地,例如,对图13所示的6×6移位矩阵进行根据上述规则的重排序处理,从而将该6×6移位矩阵转换成如图16所示的由9个2×2配置矩阵组成的重排序后的矩阵。显然,图16所示的重排序后的矩阵使用虚线而区分成2×2零矩阵、2×2准单位矩阵以及2×2移位矩阵这9个2×2配置矩阵。
因而,在约数F为2的情况下,同样地,除了在图10的框图所示的典型的解码设备中采用的接收值存储器201的后续级处执行的操作是对于P=6的操作,而在图12的框图所示的典型的解码设备中采用的接收值存储器501的后续级处执行的操作是对于F=2的操作这一情况以外,在图12的框图所示的典型的解码设备中采用的接收值存储器501的后续级处执行的操作与在图10的框图所示的典型的解码设备中采用的接收值存储器201的后续级处执行的操作相似。换言之,在图12的框图所示的典型的解码设备中采用的接收值存储器501的后续级处执行的操作与仿佛图12的框图所示的解码设备是对P=2的LDPC码进行解码的设备而执行的操作完全相同。
也就是说,对于F=2,解码设备不必采用图12的框图所示的配置。换句话说,采取如下配置就足够了:该配置包含两个并行的节点处理器、执行2×2循环移位运算的移位部以及各自使得可同时写入或读出2个数据(或2位)的存储器。
此外,以上说明的实施例是对于P=6的实施例。不过当然本发明也可应用于整数P为除6以外的整数的情况。例如本发明可应用于由各具有P×P结构的配置矩阵组成的奇偶校验矩阵,其中P=360。这样,对于任何P值的情况可采取根据本发明的技术。此外,根据本发明提供的技术,在 确定整数P的值后,可取除1以外的任何约数F。
也就是说,在确定了整数P的值和该整数P的非1约数F后,对由各具有P×P结构的配置矩阵组成的奇偶校验矩阵,即定义与LDPC码相关的P码的奇偶校验矩阵,执行根据以下描述的规则的重排序处理,以构造包括F个并行的节点处理器、执行F×F循环移位运算的移位部、以及各自使得可同时写入或读出F个数据(或F位)的存储器的配置。
根据上面提到的规则,一般来说,各具有P×P结构的配置矩阵的每一个被区分成F×F配置矩阵,该F×F配置矩阵各由以下行和列组成,其中各行具有提供作为行序号除以J(=P/F)的结果而得到的相同余数的行序号,各列具有提供作为列序号除以J的结果而得到的相同的余数的列序号,其中从等式P=F×J得出J(=P/F),其中行序号作为分配给组成奇偶校验矩阵的各P×P配置矩阵中所含的P行的每一行的序号,是包括在范围0至(P-1)中的数字,且列序号作为分配给组成奇偶校验矩阵的各P×P配置矩阵中所含的P列的每一列的序号,是包括在范围0至(P-1)中的数字。
注意,如上所述,重排序处理不限于这一处理:在经由存储器将排序后的矩阵提供给节点处理器之前,对存储在缓冲器中的奇偶校验矩阵即由各具有P×P结构的配置矩阵组成的矩阵进行重排序,以生成由各具有F×F结构的配置矩阵组成的排序后矩阵并再度将排序后矩阵存储在缓冲器中。也就是说,在上述实施例的情况下,在经由接收值存储器501而将排序后矩阵提供给节点处理部502之前,执行重排序处理以对存储在接收值缓冲器500中的奇偶校验矩阵即由各具有P×P结构的配置矩阵组成的矩阵进行重排序,以生成由各具有F×F结构的配置矩阵组成的排序后矩阵并再度将排序后矩阵存储在接收值缓冲器500中。然而根据为与排序处理等同的处理提供的等同的技术,还可执行该等同的处理以将数据原样地、以遵循由各具有P×P结构的配置矩阵组成的奇偶校验矩阵的到来形态而存储在接收值缓冲器500中,然后根据上述预定的规则对接收值存储器501中由各具有P×P结构的配置矩阵组成的奇偶校验矩阵中的行和/或列进行重排序,以生成由各具有F×F结构的配置矩阵组成的排序后矩阵,然后执行将该数据提供给节点处理部502的操作。也就是说,根据预先确定的规则有选择地从接收值存储器501读出数据,并将该数据提供给节点处理部502。也就是说,重排序处理是包括根据等同技术的等同处理在内的广义概念的处理。注意,通过将控制部指定为控制根据上述预定的规则而从接收值存储器501读出数据这一操作的部件,从而可容易地执行控制。在 图12的框图所示的解码设备的情况下,控制部506用作该控制部。
此外,上述实施例是为编码率为2/3且码长度为108而提供的实施例,当然这些值仅是典型的值。也就是说,例如对于P=6且相同或更少的边总数,即使采取任意的码长度和任意的编码率,也可使用同一解码设备来通过仅改变控制信号对数据进行解码。除此之外,被设计为满足使用相同P值、码长度不超过预先确定的值并且总边数不大于预先确定的整数这一条件、对数据进行解码的设备的解码设备也能够对码长度满足该条件但编码率不同的数据进行解码。
以上内容总结如下。通过应用本发明,从而可不受整数P自身的值所强加的约束,根据传输速率和工作频率来从整数P的约数范围内任意选择代表解码处理的并行程度的约数F的值。结果,可使解码设备的电路尺寸变得更小。
例如,对于P=360,可从包括值360、180和120在内的范围中任意选择其约数F。从如上所述该约数F是并行节点处理器的数量这一情况显然可看到:采用本发明意味着该约数F的值可被说成是代表解码处理的并行程度的值。因此,解码设备的设计者可以在考虑解码处理的并行程度的情况下,选择对于传输速率和工作频率最佳的约数F。
也就是说,如果对于所需的传输速率选择了整数P的较大约数F,则解码处理的并行程度会高于实际需要的值。因而,数据以比执行解码处理所需的时间长度更长的间隔到达,这是由于执行解码处理所需的时间因解码处理中的并行程度高而较短。因此,从整数P的约数的范围中选择最佳的约数F,使得各间隔大致等于执行解码处理所需的时间长度。在这种情况下,减小约数F以使解码处理的并行程度也降低。结果,解码设备的电路尺寸会更小。此外,如果将来解码设备的电路在更高速度操作,则可选择更小的约数F以提供较低的解码处理的并行程度。即使在这种情况下,也有可能达到与现有解码设备相同的性能。
此外,如果整数P和小于整数P的整数Q(P>Q)具有公约数,则将该公约数视为代表解码处理的并行程度的约数F的解码设备能够对P和Q码二者进行解码。
因而,即使对于需要高传输速率的业务而选择P较大的码,而对于不需要高传输速率的便携型接收机的业务而选择Q较小的码,也可使用同一解码设备来实现如下接收机设备,该接收机设备设有能够对需要高传 输率的业务的码和便携型接收机用的业务的码进行解码的解码功能,以作为两种业务共用的接收机设备。
也就是说,共用的接收机设备的实现使得P码和Q码二者可在传输系统中共存。
例如,如果例如以8PSK(相移键控)和30Msym/s来发送DVB-S.2LDPC码,则码位的比特率是90Mbps。由于奇偶校验矩阵中的列权重的平均值是约3.5,假设解码处理重复进行50次,则每一码位所需的处理量约是3.5×50×2=350。因而,需将时钟频率设为作为该处理量乘以反映电路效率的值1.5的结果所得的乘积。因而,解码设备需要工作在131.25MHz(=90Mbps×350×1.5/360)的工作频率处,其中值90Mbps是码位的比特率,值350是各码所需的处理量,值1.5反映电路的效率,而值360代表解码处理的并行程度。
在这种情况下,对于代表解码处理的并行程度的P=360的现有技术的解码设备需要一些RAM作为允许同时写入和读出360个数据的存储器。这种RAM由于代表存储大的位数的数据所需的各RAM的存储容量的字数小,因而导致较差的面积效率。此外,现有技术的解码设备还需要360个并行的节点处理器。结果,现有技术的解码设备的电路尺寸非常大。
因而,假设将DVB-S.2LDPC码应用于传输速率低于90Mbps的传输系统,则即使将代表解码处理的并行程度的约数F设为60(F=60),也有可能实现相同的工作频率和相同的解码处理被重复的次数,从而有可能实现相同的解码性能。低于90Mbps的传输速率的一例是15Mbps的传输速率。
如果将代表解码处理的并行程度的约数F设为60(F=60),则允许同时仅写入和读出60个数据的存储器就足够了。因此,当配置存储器时,由于所存储的数据的位数更小,因此可以采取相同总数的新RAM,该新RAM各自具有是以往使用的RAM的6倍的字数。与以往使用的RAM即上述导致较差的面积效率的RAM相比,各新RAM应具有显著改进了面积效率的较小的物理尺寸。作为替代,也可使用各与以往使用的RAM具有相同字数但数量更少的新RAM。在任一情况中,都实质上改进了用于存储相同位数的面积效率。此外,由于所需的并行节点处理器的数量仅为60,因此可进一步减小现有技术的解码设备的电路尺寸。
也就是说,如果将DVB-S.2LDPC码用于例如地面波的传播,则因 功率消耗问题而难以使用便携型移动接收机来接收地面波。为了解决这一困难,可以设想这种情况:其中使用码长度短于Q=60的码的码来提供业务以作为面向便携型移动接收机的业务。即使在这种情况下,通过将本发明应用于这种情况,也有可能容易地实施作为代表解码处理的并行程度的值而将约数F设为60(F=60)的解码设备。该解码设备能够对码长度达64800的码进行解码,还能够对P(=360)码和Q(=60)码二者进行解码。因而,采用该解码设备的接收机能够接收供固定接收机用的业务和供便携型接收机用的业务。供固定接收机用的业务是使用P(=360)码的业务,而供便携型接收机用的业务是使用Q(=60)码的业务。
以上内容总结如下。通过应用本发明,有可能实施基于整数P的约数F而对具有大的P值的LDPC码进行解码的解码设备。也就是说,有可能实施这样的解码设备,该解码设备用于具有低比特率的传输系统和将来的采用更高处理速度的电路的系统。与现有技术的解码设备相比,根据本发明的实施例的解码设备具有较小的电路尺寸。
此外,通过应用本发明,基于具有多个约数F的整数P的码可由基于所有约数F而设计的解码设备来解码。于是,具有根据不同传输速率和供不同业务接收者用的不同业务而适当调整的尺寸的LDPC码可共存于一个传输系统中。
也就是说,尽管在上述典型的传输系统中仅使用两个不同类型的P码和Q码,但一般地,可使用K个不同类型的α码(如P和Q码),其中记号α表示所使用的码的类型,而记号K表示所使用的码的不同的类型的数量。该不同的类型的数量等于或大于2(K≥2)。记号K还表示系统的设计者等从各作为非1约数F的倍数的多个不同整数中选择的整数的个数。也就是说,可使用的不同的α码的数量也是K。
顺便提及,前述一系列处理可由硬件和/或软件的执行来执行。
如果上述一系列处理由软件的执行来执行,则由计算机来执行组成软件的程序,该计算机实施根据本发明的实施例的解码设备。该计算机具有如图17的框图所示的配置。
在图17的框图所示的解码设备中,CPU(中央处理单元)1001通过执行存储在ROM(只读存储器)1002中的程序或从存储部1008载入RAM(随机存取存储器)1003的程序,从而执行各种处理。RAM1003还用于适当地存储如在执行处理时所需的数据的各种信息。
CPU1001、ROM1002和RAM1003由总线1004相互连接,该总线1004还连接至输入/输出接口1005。
输入/输出接口1005连接至输入部1006、输出部1007、上述存储部1008、以及通信部1009。输入部1006包括键盘和鼠标,而输出部1007包括显示单元。存储部1008包括硬盘。通信部1009具有调制解调器或终端适配器。通信部1009是经过附图的框图中未示出的网络(如因特网)而执行与其它设备的通信处理的单元。
输入/输出接口1005还根据需要而连接至驱动器1110,在该驱动器1110中装配有记录介质。记录介质是可移动介质1111,可以是磁盘、光盘、磁光盘或半导体存储器。如上所述,将CPU1001所执行的计算机程序从可移动介质1111安装到存储部1008中。
如前述,前述一系列处理可由硬件和/或软件的执行来执行。如果上述一系列处理由软件的执行来执行,则可通常从网络或可移动介质1111将组成软件的程序安装在嵌入专用硬件的计算机、通用个人计算机等中。在这种情况下,该计算机或个人计算机是上述计算机,即用作解码设备的计算机。通用个人计算机是能够通过将各种程序安装在该个人计算机上从而执行各种功能的个人计算机。
如图17所示,用于对要装入计算机或通用个人计算机的程序、即要由计算机或通用个人计算机分别执行的程序进行记录的上述可移动介质1111是从解码设备的主体单元分离地提供给用户的可移动记录介质。该可移动记录介质也称作封装介质,其例子包括如软盘的磁盘、如CD-ROM(光盘只读存储器)或DVD(数字多功能光盘)的光盘、如MD(小型盘)的磁光盘、以及半导体存储器。也可不从可移动记录介质上安装程序,而是将程序预先存储在解码设备的主体单元所含的嵌入式记录介质中。嵌入式记录介质的例子是存储部1008所含的硬盘、以及ROM 1002。
需要注意的是,在本专利说明书中,上述流程图的步骤不仅可按预定顺序沿时间轴来执行,也可同时或单个地执行。
此外,本领域的普通人员应当理解:根据设计需求和其它因素,可出现各种修改、组合、子组合和变化,只要它们落入所附权利要求书或其等同物的范围内即可。
还要注意,在本说明书中使用的技术术语“系统”指的是包含多个设备的总体的配置。

Claims (5)

1.一种对低密度奇偶校验码进行解码的解码设备,其中所述低密度奇偶校验码由具有第一结构的原奇偶校验矩阵来表示,该第一结构是通过组合多个第一配置矩阵而得到的,该多个第一配置矩阵包括P×P单位矩阵、将所述P×P单位矩阵的一个或多个矩阵元素各自的值从1置为0而得到的P×P准单位矩阵、作为对所述P×P单位矩阵或所述P×P准单位矩阵执行循环移位运算的结果而得到的P×P移位矩阵、通过对所述P×P单位矩阵、所述P×P准单位矩阵和所述P×P移位矩阵中的至少两个执行矩阵加法运算而得到的P×P和矩阵、以及P×P零矩阵,或者所述低密度奇偶校验码由通过重排序所述原奇偶校验矩阵中的至少一行和一列而得到的、作为具有所述第一结构的矩阵的矩阵来表示,其中记号P表示整数,所述解码设备包括:
消息计算装置,用于通过同时进行F个校验节点处理或F个可变节点处理,从而执行对每个作为接收所述低密度奇偶校验码的结果而得到的接收值进行解码的处理,并输出作为所述F个校验节点处理或所述F个可变节点处理的结果而得到的F个消息,其中记号F表示整数P的非1约数;
移位装置,用于对由所述消息计算装置生成的F个所述消息执行F×F循环移位运算,并输出作为所述F×F循环移位运算的结果的F个消息;
存储装置,用于存储由所述移位装置生成的F个所述消息并允许所存储的F个消息被读出,或用于存储F个上述接收值并允许所存储的F个接收值被读出;以及
控制装置,用于通过对由具有所述第一结构的所述奇偶校验矩阵表示的所述接收值至少执行列重排序处理或与所述列重排序处理等同的处理,来控制向所述消息计算装置提供由对应于第二配置矩阵的F个所述接收值组成的单位这一操作,作为向所述消息计算装置提供所述接收值的操作,所述第二配置矩阵作为从所述第一配置矩阵而得的第二配置矩阵包含在具有第二结构的矩阵中,其中所述第二结构是通过组合多个所述第二配置矩阵而得到的结构,所述多个第二配置矩阵包括:F×F单位矩阵、将所述F×F单位矩阵的一个或多个矩阵元素各自的所述值从1置为0而得到的F×F准单位矩阵、作为对所述F×F单位矩阵或所述F×F准单位矩阵执行循环移位运算的结果而得到的F×F移位矩阵、对所述F×F单位矩阵、所述F×F准单位矩阵和所述F×F移位矩阵中的至少两个执行矩阵加法运算而得到的F×F和矩阵、以及F×F零矩阵。
2.根据权利要求1所述的解码设备,其中所述列重排序处理包括:通过将每个所述第一配置矩阵视为处理单位,进行对每个用作处理对象的所述第一配置矩阵的每一个中的列重排序的操作而执行的处理,以将每个所述第一配置矩阵区分成所述第二配置矩阵,该第二配置矩阵的每一个由以下列组成,所述列中的每一个具有提供相同的作为所述列序号除以J的结果而获得的余数的列序号,其中J是从等式P=F×J而得的P/F,其中所述列序号是包括在0到(P-1)的范围内的数字,是分配给组成具有所述第一结构的所述奇偶校验矩阵的每个所述第一配置矩阵中包括的P列的每一个的序号。
3.根据权利要求1所述的解码设备,其中所述解码设备进一步包括:
缓冲装置,用于对分别作为接收所述低密度奇偶校验码的结果而得到的所述接收值进行缓冲,其中:
所述控制装置执行缓冲控制,以在所述缓冲装置中,对以遵循具有所述第一结构的所述矩阵的到来形态而接收的所述接收值进行重排序,从而将所述到来形态转换成遵循具有所述第二结构的所述矩阵的另一形态;且然后
所述控制装置执行控制,以将以遵循具有所述第二结构的所述矩阵的所述另一形态而缓冲在所述缓冲装置中的所述接收值以由与具有所述第二结构的所述矩阵的所述第二配置矩阵对应的所述F个接收值组成的单位、经由所述存储装置而提供给所述消息计算装置。
4.根据权利要求1所述的解码设备,其中所述控制装置从以遵循具有所述第一结构的所述奇偶校验矩阵的到来形态而接收的所述接收值中选择与具有所述第二结构的所述矩阵的所述第二配置矩阵相对应的F个所述接收值,并将F个所述接收值经由所述存储装置而提供给所述消息计算装置,其中所述接收值的重排序后形态遵循具有所述第二结构的所述矩阵。
5.一种对低密度奇偶校验码进行解码的解码设备中采用的解码方法,其中
所述低密度奇偶校验码由具有第一结构的原奇偶校验矩阵表示,该第一结构是通过组合多个第一配置矩阵而得到的,该多个第一配置矩阵包括P×P单位矩阵、将所述P×P单位矩阵的一个或多个矩阵元素各自的值从1置为0而得到的P×P准单位矩阵、作为对所述P×P单位矩阵或所述P×P准单位矩阵执行循环移位运算的结果而得到的P×P移位矩阵、通过对所述P×P单位矩阵、所述P×P准单位矩阵和所述P×P移位矩阵中的至少两个执行矩阵加法运算而得到的P×P和矩阵、以及P×P零矩阵,或者所述低密度奇偶校验码由通过重排序所述原奇偶校验矩阵中的至少一行和一列而得到的、作为具有所述第一结构的矩阵的矩阵来表示,其中记号P表示整数,
所述解码设备包括:
消息计算装置,用于通过同时进行F个校验节点处理或F个可变节点处理,从而执行对每个作为接收所述低密度奇偶校验码的结果而得到的接收值进行解码的处理,并输出作为所述F个校验节点处理或所述F个可变节点处理的结果而得到的F个消息,其中记号F表示整数P的非1约数;
移位装置,用于对由所述消息计算装置生成的F个所述消息执行F×F循环移位运算,并输出作为所述F×F循环移位运算的结果的F个消息;以及
存储装置,用于存储由所述移位装置生成的F个所述消息并允许所存储的F个消息被读出,或用于存储F个上述接收值并允许所存储的F个接收值被读出;以及
所述解码设备执行以下步骤:
通过对由具有所述第一结构的所述奇偶校验矩阵表示的所述接收值至少执行列重排序处理或与所述列重排序处理等同的处理,来控制向所述消息计算装置提供由对应于第二配置矩阵的所述F个接收值组成的单位这一操作,作为向所述消息计算装置提供所述接收值的操作,所述第二配置矩阵作为从所述第一配置矩阵而得的第二配置矩阵包含在具有第二结构的矩阵中,其中所述第二结构是通过组合多个所述第二配置矩阵而得到的结构,所述多个第二配置矩阵包括:F×F单位矩阵、将所述F×F单位矩阵的一个或多个矩阵元素各自的所述值从1置为0而得到的F×F准单位矩阵、作为对所述F×F单位矩阵或所述F×F准单位矩阵执行循环移位运算的结果而得到的F×F移位矩阵、对所述F×F单位矩阵、所述F×F准单位矩阵和所述F×F移位矩阵中的至少两个执行矩阵加法运算而得到的F×F和矩阵、以及F×F零矩阵。
CN2008101705377A 2007-10-19 2008-10-17 解码设备和解码方法 Expired - Fee Related CN101414834B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007272519A JP4487213B2 (ja) 2007-10-19 2007-10-19 復号装置および方法、並びにプログラム
JP2007272519 2007-10-19
JP2007-272519 2007-10-19

Publications (2)

Publication Number Publication Date
CN101414834A CN101414834A (zh) 2009-04-22
CN101414834B true CN101414834B (zh) 2011-10-19

Family

ID=40257089

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101705377A Expired - Fee Related CN101414834B (zh) 2007-10-19 2008-10-17 解码设备和解码方法

Country Status (6)

Country Link
US (1) US8281205B2 (zh)
EP (1) EP2051386A3 (zh)
JP (1) JP4487213B2 (zh)
KR (1) KR20090040225A (zh)
CN (1) CN101414834B (zh)
TW (1) TWI371930B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8358447B2 (en) 2007-07-31 2013-01-22 Samsung Electronics Co., Ltd. Scanner module and image scanning apparatus employing the same
US8379275B2 (en) 2007-07-31 2013-02-19 Samsung Electronics Co., Ltd. Scanner module and image scanning apparatus employing the same
JP4487212B2 (ja) * 2007-10-19 2010-06-23 ソニー株式会社 復号装置および方法、送受信システム、受信装置および方法、並びにプログラム
JP5320964B2 (ja) * 2008-10-08 2013-10-23 ソニー株式会社 サイクリックシフト装置、サイクリックシフト方法、ldpc復号装置、テレビジョン受像機、及び、受信システム
US8612823B2 (en) * 2008-10-17 2013-12-17 Intel Corporation Encoding of LDPC codes using sub-matrices of a low density parity check matrix
JP5488472B2 (ja) * 2008-11-07 2014-05-14 日本電気株式会社 復号装置、この復号装置を有するデータ通信装置およびデータ記憶装置
JP5445828B2 (ja) * 2009-05-29 2014-03-19 ソニー株式会社 受信装置、受信方法、およびプログラム、並びに受信システム
JP5445829B2 (ja) * 2009-05-29 2014-03-19 ソニー株式会社 受信装置、受信方法、およびプログラム、並びに受信システム
CN101777921B (zh) * 2010-01-28 2013-04-17 中国人民解放军国防科学技术大学 用于显式存储片上系统的结构化ldpc码译码方法及装置
CN102480336B (zh) * 2010-11-30 2014-04-09 中国科学院微电子研究所 一种准循环低密度奇偶校验码的通用快速译码协处理器
JP5952072B2 (ja) * 2012-04-26 2016-07-13 ルネサスエレクトロニクス株式会社 符号化装置、復号化装置及び伝送システム
US8972834B2 (en) * 2012-08-28 2015-03-03 Hughes Network Systems, Llc System and method for communicating with low density parity check codes
KR102068030B1 (ko) 2012-12-11 2020-01-20 삼성전자 주식회사 메모리 컨트롤러 및 그 동작방법
EP2833554B8 (en) * 2013-07-31 2018-06-06 Alcatel Lucent Encoder and decoder
CN104868925B (zh) * 2014-02-21 2019-01-22 中兴通讯股份有限公司 结构化ldpc码的编码方法、译码方法、编码装置和译码装置
CN104917536B (zh) * 2014-03-11 2019-11-12 中兴通讯股份有限公司 一种支持低码率编码的方法及装置
CN107437946A (zh) * 2014-09-10 2017-12-05 上海数字电视国家工程研究中心有限公司 Ldpc码的编码方法
US10050642B2 (en) * 2016-03-17 2018-08-14 Silicon Motion Inc. Low power scheme for bit flipping low density parity check decoder
KR102589918B1 (ko) * 2016-07-19 2023-10-18 삼성전자주식회사 저밀도 패리티 체크 디코더 및 그것을 포함하는 저장 장치
CN107659317A (zh) * 2017-10-30 2018-02-02 南京扬贺扬微电子科技有限公司 快速转化生成矩阵的方法
CN110048805B (zh) * 2018-12-11 2021-08-31 西安电子科技大学 低密度奇偶校验码的译码控制系统及方法、无线通信系统
CN110298847B (zh) * 2019-06-27 2021-06-04 浙江工业大学 一种长时间背景收集的背景建模方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050005231A1 (en) * 2003-07-03 2005-01-06 Feng-Wen Sun Method and system for generating parallel decodable low density parity check (LDPC) codes
CN1701515A (zh) * 2003-05-13 2005-11-23 索尼株式会社 解码方法、解码装置和程序
CN1855731A (zh) * 2005-04-25 2006-11-01 索尼株式会社 解码装置及解码方法
EP1819054A2 (en) * 2006-02-02 2007-08-15 Samsung Electronics Co., Ltd. LDPC decoding apparatus and method based on node memory

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030033570A1 (en) * 2001-05-09 2003-02-13 Khannanov Roman R. Method and apparatus for encoding and decoding low density parity check codes and low density turbo product codes
EP1518328B1 (en) * 2002-07-03 2007-04-18 The DIRECTV Group, Inc. Encoding of low-density parity check (ldpc) codes using a structured parity check matrix
US7162684B2 (en) * 2003-01-27 2007-01-09 Texas Instruments Incorporated Efficient encoder for low-density-parity-check codes
US6957375B2 (en) * 2003-02-26 2005-10-18 Flarion Technologies, Inc. Method and apparatus for performing low-density parity-check (LDPC) code operations using a multi-level permutation
JP4225163B2 (ja) * 2003-05-13 2009-02-18 ソニー株式会社 復号装置および復号方法、並びにプログラム
FI121431B (fi) * 2004-09-13 2010-11-15 Tamfelt Pmc Oy Paperikoneessa käytettävä kudosrakenne ja menetelmä sen valmistamiseksi
US7996746B2 (en) * 2004-10-12 2011-08-09 Nortel Networks Limited Structured low-density parity-check (LDPC) code
CN100550655C (zh) * 2004-11-04 2009-10-14 中兴通讯股份有限公司 一种低密度奇偶校验码的编码器/译码器及其生成方法
EP1819056B1 (en) 2004-12-02 2013-07-17 Mitsubishi Electric Corporation Decoding device and communication device
JP4622654B2 (ja) * 2005-04-25 2011-02-02 ソニー株式会社 復号装置および復号方法
JP2006340016A (ja) 2005-06-01 2006-12-14 Toshiba Microelectronics Corp 誤り訂正符号復号装置及びそれを用いた復号方法
KR100946905B1 (ko) * 2005-09-27 2010-03-09 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 신호 송수신 장치 및 방법
US7707479B2 (en) * 2005-12-13 2010-04-27 Samsung Electronics Co., Ltd. Method of generating structured irregular low density parity checkcodes for wireless systems
US7805652B1 (en) * 2006-02-10 2010-09-28 Marvell International Ltd. Methods for generating and implementing quasi-cyclic irregular low-density parity check codes
JP2007272519A (ja) 2006-03-31 2007-10-18 Ntt Comware Corp ドキュメント暗号化制御装置及びドキュメント暗号化制御方法
JP4702632B2 (ja) * 2007-04-06 2011-06-15 ソニー株式会社 符号化方法および符号化装置、並びにプログラム
US20100199142A1 (en) * 2007-04-13 2010-08-05 University College Dublin, National University Of Ireland Encoding scheme, and a decoding scheme using a series of ldpc codes based on finite inversive spaces
JP2008301152A (ja) 2007-05-31 2008-12-11 Sony Corp 復号装置および方法、並びにプログラム
PL2091156T3 (pl) * 2008-02-18 2014-01-31 Samsung Electronics Co Ltd Urządzenie i sposób do kodowania i dekodowania kanału w systemie komunikacyjnym z wykorzystaniem kodów kontroli bitów parzystości o niskiej gęstości

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1701515A (zh) * 2003-05-13 2005-11-23 索尼株式会社 解码方法、解码装置和程序
US20050005231A1 (en) * 2003-07-03 2005-01-06 Feng-Wen Sun Method and system for generating parallel decodable low density parity check (LDPC) codes
CN1617486A (zh) * 2003-07-03 2005-05-18 直视集团公司 产生并行可解码的低密度奇偶校验(ldpc)码的方法和系统
CN1855731A (zh) * 2005-04-25 2006-11-01 索尼株式会社 解码装置及解码方法
EP1819054A2 (en) * 2006-02-02 2007-08-15 Samsung Electronics Co., Ltd. LDPC decoding apparatus and method based on node memory

Also Published As

Publication number Publication date
EP2051386A2 (en) 2009-04-22
CN101414834A (zh) 2009-04-22
JP4487213B2 (ja) 2010-06-23
EP2051386A3 (en) 2010-03-31
KR20090040225A (ko) 2009-04-23
JP2009100423A (ja) 2009-05-07
TW200926616A (en) 2009-06-16
US20090106620A1 (en) 2009-04-23
US8281205B2 (en) 2012-10-02
TWI371930B (en) 2012-09-01

Similar Documents

Publication Publication Date Title
CN101414834B (zh) 解码设备和解码方法
CN101442317B (zh) 数据解码装置和方法、发送/接收系统、接收装置和方法
CN100472971C (zh) 解码方法与解码装置
CN1855731B (zh) 解码装置及解码方法
CN109783270B (zh) 用于解码纠错码的系统和方法
CN101427495B (zh) 用于通信系统的基于多域的码生成器和解码器
CN101689865B (zh) 置乱式ldpc解码
CN101814975B (zh) 多级解码器和符号块解码方法
US7499490B2 (en) Encoders for block-circulant LDPC codes
US11115051B2 (en) Systems and methods for decoding error correcting codes
CN101208864B (zh) 解码装置及解码方法
WO2004107585A1 (ja) 復号方法および復号装置、プログラム、記録再生装置および方法、並びに、再生装置および方法
CN101414835B (zh) 接收设备及方法
CN101924565A (zh) Ldpc编码器、解码器、系统及方法
KR20120093238A (ko) 비-이진 코드들의 복호화 방법
CN1973440A (zh) Ldpc编码器、解码器、系统及方法
Islam et al. Quasi Cyclic Low Density Parity Check Code for High SNR Data Transfer.
Khalifa et al. Performance evaluation of low density parity check 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: 20111019

Termination date: 20171017