CN1731684A - 构造低密度奇偶校验矩阵的方法和装置 - Google Patents

构造低密度奇偶校验矩阵的方法和装置 Download PDF

Info

Publication number
CN1731684A
CN1731684A CNA200510077599XA CN200510077599A CN1731684A CN 1731684 A CN1731684 A CN 1731684A CN A200510077599X A CNA200510077599X A CN A200510077599XA CN 200510077599 A CN200510077599 A CN 200510077599A CN 1731684 A CN1731684 A CN 1731684A
Authority
CN
China
Prior art keywords
register
index
line
feedback
value
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.)
Pending
Application number
CNA200510077599XA
Other languages
English (en)
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1731684A publication Critical patent/CN1731684A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • 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

Landscapes

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

Abstract

本发明提供了一种构造应用在低密度奇偶校验(LDPC)编码方案中的奇偶校验矩阵的方法和设备。该设备包括至少一个产生“1”的行索引的索引产生器,该行索引指示在奇偶校验矩阵的每一列中“1”的行位置,其中索引产生器由模块式移位寄存器产生器实现,该模块式移位寄存器产生器在每一个时钟产生“1”的行索引。

Description

构造低密度奇偶校验矩阵的方法和装置
本申请要求于2004年8月5日在韩国知识产权局提交的第10-2004-0061797号韩国专利申请的利益,该申请全部公开于此以资参考。
                         技术领域
本发明涉及构造奇偶校验矩阵的方法和装置,更具体地讲,涉及构造低密度奇偶校验(LDPC)矩阵的方法和装置,该LDPC矩阵可在低密度奇偶校验(LDPC)编码方案中显著减少编码器和解码器的存储容量。
                         背景技术
最近,对通信和存储系统提出各种类型的编码方案。一类码,通常称为低密度奇偶校验(LDPC)码,被描述为具有良好的检错和纠错性能。另外,LDPC码还能以非常高的速度被解码。但是,这样的LDPC码通过随机选择低密度奇偶校验(LDPC)矩阵来构造,这需要复杂的具有很大存储空间的编码器和解码器。
例如,图1示出解释低密度奇偶校验(LDPC)编码和解码方案概念的矩阵。如图1所示,低密度奇偶校验(LDPC)编码方法通过应用其大多数元素是“0”并且一些元素是“1”的低密度奇偶校验矩阵(H)来产生奇偶信息。
在这个奇偶校验矩阵(H)中,每一行或列中“1”的数量分别称为行度或列度。一般来讲,其所有列具有相同的列度并且其所有行具有相同的行度的奇偶校验矩阵称为正则奇偶校验矩阵。行和列不都具有相同行度和列度的奇偶校验矩阵称为非正则奇偶校验矩阵。在正则奇偶校验矩阵中,行度称为行权重(Wr),而列度称为列权重(Wc)。
应用下面的等式,在低密度奇偶校验(LDPC)编码方案的基础上产生奇偶信息:
HX=0                            (1)。
在等式(1)中,H是m×n的奇偶校验矩阵,X是n×1的码字矩阵。X包括m个消息信息和p个奇偶信息,以使m+p=n。
LDPC编码的基本概念被D.J.MacKay公开,“Good Error-correctionCodes Based on Very Sparse Martrix”,IEEE Trans.on Information Theory,vol.45,no.2,pp.399-431,1999。D.J.MacKay公开了通过用例如高斯消去法的矩阵代数解等式(1)来产生奇偶信息。
奇偶校验解码也包括执行基于等式(1)的奇偶校验的过程。
基本上,构造传统的LDPC码的奇偶校验矩阵有两种不同的技术。在第一种技术中,指示每个“1”在奇偶校验矩阵H的每一列中的行位置的行索引被用户任意设置。比如说,1、3、和5的行索引可针对第一列设置,2、4、和6的行索引可针对第二列设置,而7、9、和11则可针对第三列设置等等。这种技术可容易被实现,但位误码率(BER)性能低。在第二种技术中,指出在奇偶校验矩阵H的每一列中的“1”的行位置的行索引被随机确定。因为“1”的行位置(索引)被随机分配,所以第二种技术的实现更复杂。但是构造LDPC码的奇偶校验矩阵的第二种技术具有极好的BER性能。
下面将描述构造奇偶校验矩阵的第二种技术的例子。
首先,确定第一列中元素“1”的Wc个行索引。其次,确定第二列中“1”的任意行索引,以便它们和第一列中“1”的行索引都不相同。然后,为第三列确定“1”的任意行索引使它们与第一列和第二列中“1”的行索引都不相同。重复这个过程直至最后一列。
总之,在构造奇偶校验矩阵的第二种技术中,奇偶校验矩阵H的每一列中“1”的行索引被任意设置,只要任意两列不具有相同的行索引。
根据构造奇偶校验矩阵的第二种技术,先前确定的“1”的行索引应该存储在构造奇偶校验矩阵的装置的存储器中。同样,为了编码或解码目的,“1”的所有的行索引应该存储在解码器或编码器的存储器中。
图2显示了存储奇偶校验矩阵的存储结构。如图2所示,存储器可以是随机存取存储器(ROM)20。奇偶校验矩阵可由表示每一列中“1”的位置的行索引和表示每一行中“1”的位置的“1”的列索引定义。被“1”的行索引所定义的奇偶校验矩阵H为编码和解码目的存储在存储器20中。
也正如图2所示,“1”的一个行索引占据存储器20的一个地址。结果,被一个奇偶校验矩阵所占据的空间为n×Wc×B。这里,B是“1”的行索引的位数,并且2B=m,其中,m是奇偶校验矩阵的行数。
具有令人满意的BER纠错性能的m×n奇偶校验矩阵的例子为512×(512×17)奇偶校验矩阵。存储该m×n的奇偶校验矩阵需要的存储空间为512(=29)×(512×17)×9位。一般来说,实现较好的BER性能需要应用大量存储空间来存储奇偶校验矩阵。但是,大量存储器的应用产生几个问题,比如,举例来说,生产相应的编码器和解码器成本的显著增长。
                         发明内容
本发明的一方面有利地提供了应用移位寄存器构造奇偶校验矩阵的方法和装置,能显著减少为低密度奇偶校验(LDPC)编码和解码目的所需的大量的存储空间。
根据本发明的一方面,提供了一种构造具有多个行和列的低密度奇偶校验矩阵的设备,包括:至少一个索引产生器,产生“1”的行索引,该行索引指示奇偶校验矩阵的每一列中“1”的行位置,其中,索引产生器由在每一个时钟产生“1”的行索引的模块式移位寄存器产生器(MSRG)来实现。
根据本发明的一方面,索引产生器包括:s个串联连接的寄存器,接收s位的初始值,把初始值逐位存储,并且其每一个在一个时钟把相应的存储位移到下一个寄存器;反馈线,通过该反馈线有选择地反馈存储在s个寄存器中的最后一个的位值;加法器,连接在每两个寄存器之间,把先前寄存器的位值和反馈值相加,并把结果值提供给后续的寄存器。
根据本发明的一方面,行索引是从“s”个寄存器中选择的“t”个寄存器输出的“t”位的向量,s和t满足下面的等式:
m=2t
          其中,m是行的数量,n是奇偶校验矩阵的列的数量。
n≤2s-1
根据本发明的一方面,反馈线包括具有选择的系数的切换开关,以使在2s-1个时钟期间从s个寄存器输出的所有向量彼此互不相同。
根据本发明的一方面,切换开关的系数从本原多项式p(x)的系数中选择,这个本原多项式可由xv-1分解得到,其中,v是满足下面等式的最小的可能的正数:
v=pu-1,其中,该本原多项式是具有为0到p-1的任何一个的系数的u次不可约多项式,也就是GF(p)[x]中的p(x),p是任一个素数。
根据本发明的另一方面,构造低密度奇偶校验(LDPC)矩阵的方法包括:产生“1”的至少一个索引,该索引表示在奇偶校验矩阵的每一列中的“1”的位置,其中,该至少一个索引的产生被模块式移位寄存器产生器(MSRG)实现,该模块式移位寄存器产生器在每一个时钟产生“1”的行索引。
根据本发明的一方面,至少一个索引通过下述操作产生:接收并在寄存器中存储“s”位的初始值;有选择地反馈初始值的最低有效位;把反馈位值加到初始值的每一位中;和存储从由相加产生的“s”位中选择的“t”位的每一个作为输出向量,并且输出t位的输出向量作为“1”的行索引。
根据本发明的一方面,“1”的行索引是“t”位的向量,该向量是从在“s”个寄存器中任意选择的“t”个寄存器输出的,“s”和“t”满足下面的等式:
m=2t,其中“m”是行的数量,“n”是奇偶校验矩阵的列的数量。
n≤2s1
根据本发明的一方面,有选择地反馈由模块式移位寄存器产生器(MSRG)的特征多项式的系数确定,其中,系数被选择以使在2s-1个时钟期间输出的所有的向量都不相同。
根据本发明的一方面,系数从本原多项式p(x)的系数中选择,这个多项式可由xv-1分解得到,其中“v”是满足下面等式的最小的可能的正数:
v=pu-1,其中,该本原多项式是具有为0到p-1的任何一个的系数的u次不可约多项式,也就是GF(p)[x]中的p(x),p是任一个素数。
根据本发明的另一方面,一种构造奇偶校验矩阵的设备设置有:模块式移位寄存器产生器,产生指示在奇偶校验矩阵中“1”的位置“1”的索引。
根据本发明的一方面,模块式移位寄存器产生器(MSRG)的反馈线由本原多项式指定。
根据本发明的一方面,模块式移位寄存器产生器(MSRG)的初始值被选择以使在每一个时钟产生的列的行索引没有一个是相同的。
根据本发明的另一方面,一种计算机可读介质包括指令,该指令当被计算机系统执行的时候,起模块式移位寄存器产生器(MSRG)的作用,来在每一个时钟产生“1”的至少一个索引,该索引表示奇偶校验矩阵的每一列中的“1”的位置。由指令产生这样的索引,该指令包括:接收并在寄存器中存储“s”位的初始值;有选择地反馈初始值的最低有效位;把反馈位值与初始值的每一位相加;和存储从由相加产生的“s”位中选择的“t”位的每一个作为输出向量,并且输出t位的输出向量作为“1”的行索引。
在下面的描述中将部分地阐明本发明另外的方面和/或优点,通过描述,其会变得更加清楚,或者通过实施本发明可以了解。
                         附图说明
通过结合附图来阅读对示例性实施例的详细描述和权利要求,可以更好的理解本发明,所有这些形成了本发明公开的一部分。当下面描述和示出的发现集中于公开本发明的示例性实施例时,应该清楚理解的是,本发明的公开是说明和示例性的,并且本发明不限于此。本发明的精神和范围只由所附的权利要求的项限定。下面是附图的简要说明,其中:
图1显示用于解释低密度奇偶校验(LDPC)编码和解码方案的概念的矩阵,用于获得对本发明的更彻底的理解;
图2显示存储奇偶校验矩阵的存储器结构;
图3是根据本发明实施例构造奇偶校验矩阵的设备的方框图;
图4是在图3中所示的索引产生器的详细的方框图;
图5是根据本发明实施例第一索引产生器的方框图;
图6是关于图5中所示的第一索引产生器的信息表;
图7是根据本发明实施例第二索引产生器的方框图;
图8是关于图7中所示的第二索引产生器的信息表;和
图9是根据本发明实施例构造奇偶校验矩阵的方法的流程图。
                       具体实施方式
本发明有利地提供了构造应用在LDPC编码和解码方案中的低密度奇偶校验(LDPC)矩阵的新的有效的方法和装置,它能显著减少所需的存储量。现在将参照附图对本发明实施例进行详细的描述。
图3是表示根据本发明实施例来构造奇偶校验矩阵的设备300的方框图。
参照图3,设备300包括第一索引产生器310、第二索引产生器320、......、和第Wc索引产生器330。这里,Wc表示列权重。
第一索引产生器310接收“s”位的第一个初始值,为奇偶校验矩阵的每一列产生“t”位的第一个“1”的行索引314。更详细地讲,第一索引产生器310在第一个时钟输出第一列的第一个“1”的行索引(有t位),第二个时钟的时候产生第二列的第一个“1”的行索引,第三个时钟的时候产生第三列的第一个“1”的行索引,依此类推直到最后一列。
第二索引产生器320到第Wc索引产生器330和第一索引产生器的功能类似。
例如,第二索引产生器320接收s位的第二个初始值322,并产生奇偶校验矩阵的每一列的第二个“1”的“t”位的行索引324。也就是说,第二索引产生器320在第一个时钟输出第一列的第二个“1”的行索引(有t位),在第二个时钟产生第二列的第二个“1”的行索引,在第三个时钟产生第三列的第二个“1”的行索引,依此类推直到最后一列。
第Wc索引产生器330接收s位的第Wc个初始值332,并产生奇偶校验矩阵的每一列的第Wc个“1”的“t”位的行索引334。也就是说,第Wc索引产生器330在第一个时钟输出第一列的第Wc个“1”的行索引(有t位),在第二个时钟产生第二列的第Wc个“1”的行索引,在第三个时钟产生第三列的第Wc个“1”的行索引,依此类推直到最后一列。
因此,在第一个时钟输出Wc个指示第一列中“1”的位置的行索引,在第二个时钟输出Wc个指示第二列中“1”的位置的行索引,在第三个时钟输出Wc个指示第三列中“1”的位置的行索引,依此类推直到最后一列。
在构造奇偶校验矩阵的设备300中,编码器或解码器提供奇偶校验矩阵H,而不用图2所示的存储等式(1)的奇偶校验矩阵H的存储器。
第一个初始值312、第二个初始值322、......、和第Wc个初始值332的每一个被分别输入到第一到第Wc索引产生器310、320、和330中。初始值由用户确定,以便第一行索引314到第Wc行索引334中的相同值不会在同一时钟产生。
图4是如图3所示的设备300中所用的索引产生器详细的方框图。
因为设备300的第一索引产生器310到第Wc索引产生器330都有相同的结构,唯一的不同在于它们有不同的系数C1、C2、......、Cs-1和不同的初始值312到332,索引产生器310到330的每一个可以被认为与图4所示的索引产生器400是等价的,索引产生器400具有初始值410和行索引420。
索引产生器400包括s个寄存器R1、R2、......、Rs,s-1个切换开关431、432、......、434,和s-1个加法器401、402、......、404。寄存器、加法器和切换开关的组合被称为模块式移位寄存器产生器(MSRG)。
在第一个时钟,把初始值410输入到寄存器R1、R2、......、Rs中。在每一个时钟,行索引420与存储在寄存器R1、R2、......、Rt中的值相对应。在第一个时钟,存储在寄存器R1、R2、......、Rt中的初始值原样输出。输出行索引的t个寄存器R1、R2、......、Rt被任意从寄存器R1、R2、......、Rs中选择。
寄存器R1、R2、......、Rt的输出与奇偶校验矩阵H的“1”的行索引相对应。例如,如果t=3,s=4,初始值410为“1101b”,输出行索引420的寄存器选为R1、R2、和R3,则在第一个时钟,行索引420可为二进制的“110”,也就是十进制的“6”。这样,奇偶校验矩阵的第一列的第一个“1”的行索引是“6”,因此奇偶校验矩阵第一列的第七个元素变成“1”(如果第一个“1”的行索引为“000b”(十进制的“0”),则第一列的第一个元素变成“1”;如果行索引为“001b”(十进制的“1”),则第一列的第二行变成“1”;如果行索引为“010b”(十进制的“2”),则第一列的第三行变成“1”,等等)。
在第二个时钟,存储在寄存器R1、R2、......、Rs中的值421、422、......、424与切换开关431、432、......、434的输出411、412、......、414由加法器401、402、......、404相加,结果分别存储在紧挨着加法器401、402、403或404的寄存器R1、R2、......或Rs中。这里每一个值是“0b”或者“1b”。输出411、412、......、414通过分别在切换开关431、432、......、434切换经过反馈线440反馈的最后的寄存器Rs的输出产生。系数C1、C2、......、Cs-1指示是否切换反馈输出的值,每一个值为“0”或者“1”。在第二个时钟中,新存储在寄存器R1、R2、......、Rs的值作为第二个行索引420输出。
上述过程重复到第n个时钟,在每一个时钟,t位的行索引被输出。
奇偶校验矩阵的行数“m”与列数“n”和寄存器数“s”以及输出行索引的寄存器数“t”通过下面的等式关联:
m=2t
                                             (2)
n≤2s-1
如以上等式(2)所示,奇偶校验矩阵行数m与“1”的可能索引数的范围2t相等,奇偶校验矩阵的列数n等于或小于时钟的最小数量2s-1。
系数C1、C2、......、Cs-1可通过特征方程表现,比如下面的方程:
f(x)=xs+Cs-1xs-1+Cs-2xs-2+...+C1x+C0        (3)
上述等式(3)是索引产生器400的特征方程,其中C0=1,C1=0或者1。特征方程详细说明了模块式移位寄存器产生器(MSRG)的反馈线440的耦合结构。
在本发明的示例性实施例中,索引产生器400的特征方程是具有系数C1、C2、......、Cs-1的一致次数的本原多项式。
本原多项式是一种u次不可约多项式p(x),xv-1能分解成这种多项式,其中v是满足下述等式的最小的可能的正数:
v=pu-1                                       (4)
这里,在上述等式(4)中,多项式p(x)是不可约多项式,它具有0到p-1变化的系数,即,GF(p)[x]中的p(x),p是任一个素数。(不可约多项式是不能因式分解的多项式。)
如果指示索引产生器400的反馈线440的耦合结构的次数为“s”的特征方程是本原多项式,也就是说,如果系数C1、C2、......、Cs-1被选择为本原多项式的系数,则从s个寄存器R1、R2、......、Rs输出的向量420在2s-1个时钟期间都不相同。换句话说,每一个能被“s”个寄存器表示的向量输出一次。
应用在MSRG结构中的本原多项式的更详细的描述由S.W.Golomb的“Shift Register Sequence,Holden-Day,San Francisco,1967”公开,作为结果,不必在这里描述。
如图4中所示,如果“s”个寄存器中“t”个寄存器的输出被选择为输出向量420,则所有可能的向量值以相似的频率输出。具体来讲,在n=2s-1情况下,除零向量之外的所有向量输出2s-1次。零向量输出2s-1-1次。
因此,由如图4所示的索引产生器400构造的奇偶校验矩阵H具有几乎正则低密度奇偶校验(LDPC)码。一般来讲,解码性能,也就是BER性能,随着最大行度变大而变低。但是,在本发明的示例性实施例中,如上面所描述的,因为“1”在奇偶校验矩阵的每一个位置出现的可能性几乎是规则的,所以解码性能可被显著提高。
其间,初始值410应被选择以使不同的索引产生器在同一时钟不输出相同的向量420。否则,如果不同的索引产生器在同一时钟产生相同的输出,则一列中“1”的位置冗余,导致非正则奇偶校验矩阵。初始值410可通过仿真确定。
图5是根据本发明的实施例图3中所示的第一索引产生器310的方框图。
参照图5,s=6,t=5,第一索引产生器310的特征方程选为六次本原多项式中的f1(x)=x6+x5+1,初始值选为“000001b”。因此C5=1,C4=C3=C2=C1=0,C0=1,寄存器R1、R2、R3、R4、R5的初始值都是“0b”,R6是“1b”。
当s设为6的时候,第一索引产生器310,如图5所示,包括:6个寄存器R1、R2、......、R6,相互串联连接以接收相应的初始值501、502、......、506;和5个加法器510、520、530、540和550,其每一个连接在每两个寄存器之间,以相加已知作为行索引的来自相应寄存器R1、R2、......、R6的输出值。
在第一个时钟,由于值511到515被从寄存器R1到R5输出,所以作为行索引,行索引511到515与初始值501到505相对应。这样,在第一个时钟的行索引511到515包括0、0、0、0、1,其被称为行索引向量“00001b”。
在第二个时钟,寄存器R2的值对应在第一个时钟的寄存器R1的值;寄存器R3的值对应在第一个时钟的寄存器R2的值;寄存器R4的值对应在第一个时钟的寄存器R3的值;并且寄存器R5的值对应在第一个时钟的寄存器R4的值。在第二个时钟的寄存器R6的值通过将在第一个时钟的寄存器R5的值与寄存器R6的值相加确定,因为先前寄存器R6的值通过反馈线521反馈到加法器550与先前寄存器R5的值相加。在第二个时钟的寄存器R1的值被确定为在第一个时钟的寄存器R6的值,因为该值通过反馈线521反馈给寄存器R1
结果,在第二个时钟寄存器R1到R5的值分别是1、0、0、0、0,产生行向量“10000b”,该行向量“10000b”是十进制的“1”(根据寄存器R1的值是最低有效位的定义)。
以与上述同样的方式产生第三个到第n个时钟的行索引。
图6示出了关于图5中所示的第一索引产生器的信息600的表。
参照图5,如上所述,从6次本原多项式中选择特征方程为f1(x)=x6+x5+1,初始值选择为“000001b”。由第一索引产生器310输出的行索引的数量为2s-1=26-1=63,其中,数字0输出2s-t-1=26-5-1=1次,其他数字1到3 1的每一个输出2s-t=26-5=2次。
图7是根据本发明的实施例图3中所示的第二索引产生器320的方框图。
在第二索引产生器320中,反馈线与如图5所示的第一索引产生器310的反馈线不同,如图5所示,但是操作是一样的。例如,与如图5所示的第一索引产生器310一样,第二索引产生器320也包括:6个寄存器R1、R2......、R6,相互串联连接以接收相应的初始值701、702......、706,和5个加法器710、720、730、740和750,其每一个连接在每两个寄存器之间,以相加已知作为行索引的来自相应寄存器R1、R2、......、R6的输出值。
第二索引产生器320的特征方程可以从满足等式(3)和(4)的本原多项式中任意选择,而不管第一索引产生器310的特征方程。但是第二索引产生器320的初始值701到706应该被选择以使由第一索引产生器310输出的行索引向量511到515以及由第二索引产生器320输出的行索引向量711到715在同一时钟里不相同。
相似地,第三、第四、......、第Wc索引产生器的初始值被选择以使由相应的行索引产生器输出的行索引在相同的时钟里不同。
初始值可以通过仿真以实验确定。因为对于典型的LDPC码,列权重Wc是很小的数字,所以执行仿真来确定满足上述条件的初始值并不困难。
图8示出了关于如图7所示的第二索引产生器信息800的表。
参照图8,特征方程从6次本原多项式中被选择为f1(x)=x6+x5+x4+x+1,第二索引产生器320的初始值选为“001111b”,以使在相同的时钟,由第二索引产生器320输出的63个行索引中没有一个与由如图6所示的由第一索引产生器310输出的行索引相同。同样,每一索引产生器310、320或330的初始值应该被选择以使从所有的索引产生器输出的索引向量在同一时钟彼此不同。
当如在本领域内先前已知的在存储器中存储奇偶校验矩阵时,所需的存储空间(按位)将在以下两种情况间比较:一种情况是在存储器中存储奇偶校验矩阵,另外一种情况是应用根据本发明示例性实施例的装置构造奇偶校验矩阵。这里,采用具有m=29=512、n=29×17=512×17=8704、并且Wc=3的奇偶校验矩阵作为例子。
在存储器中存储奇偶校验矩阵的情况下,存储一个“1”的行索引需要9位,这样需要9×3×8704=235008位来存储这个奇偶校验矩阵。
同时,根据本发明,对于m=512和n=8704,满足等式(2)的“t”和最小“s”(s_min)分别为9和14,这意味着索引产生器需要14位。因此,与存储奇偶校验矩阵相比,小得多数量的14×Wc=14×3=42位是构建一个奇偶校验矩阵所需的全部存储空间。
另外,如果如图4所示的模块式移位寄存器产生器(MSRG)的特征方程选为本原方程,则作为结果的奇偶校验矩阵的Wr的数量更加规则,这使得解码更容易。
图9是根据本发明实施例构造奇偶校验矩阵的方法的流程图。
在操作910中,输入s位的初始值,并将其逐位存储在模块式移位寄存器产生器(MSRG)的s个寄存器中。
在操作920中,在所有存储在s个寄存器的位中,在最后寄存器中的一位,即最低有效位(LSB),被反馈以被有选择地提供给连接在寄存器之间的加法器。LSB是否被反馈由模块式移位寄存器产生器(MSRG)的特征方程的系数确定,该特征方程最好是本原多项式。
在操作930中,在每一个加法器中,存储在加法器前面的相应寄存器中的位值和反馈的值相加。
在操作940中,由加法产生的所有位存储在紧挨在该加法器后面的相应的寄存器中。
在操作950中,s个寄存器中的t个寄存器的值作为“1”的行索引输出。
操作920到940在一个时钟周期里执行。因此在每一个时钟,“1”的每一个行索引被输出。
如前所述,本发明有利地提供了应用移位寄存器构造奇偶校验矩阵的方法和设备,其能显著减少为编码和解码目的而需要的大量存储空间。这样的根据本发明示例性实施例构造奇偶校验矩阵的方法和设备也可以实施为计算机程序。组成计算机程序的代码和代码段可以容易地被本领域技术人员推断出来。计算机程序可被记录在计算机可读介质上,并能够被计算机读出和执行。这样的计算机可读介质包括各种存储装置,比如ROM、RAM、CD-ROM、磁带、软盘、光数据存储装置等等。计算机可读介质也包括以例如通过互联网传输的载波的形式实现的所有事物。计算机可读介质可以分布在连接到网络的计算机系统中,并且在分布式的计算机可读介质上的代码可被以分散的方式存储和执行。
虽然已表示和描述了本发明的示例性实施例,但本领域技术人员应该理解并且随着技术的发展,在不脱离本发明的精神和范围的情况下,可以进行修改和变换,并且可对其元素用等同物替换。在不脱离其范围的情况下,可进行很多变换以使本发明的教导适用于特定情况。因此,本发明不限于公开的各种示例性实施例,而是包括落于权利要求范围内的所有实施例。

Claims (26)

1、一种构造低密度奇偶校验矩阵的设备,包括:
至少一个产生“1”的行索引的索引产生器,该行索引指示奇偶校验矩阵的每一列中“1”的行位置,其中,索引产生器由在每一个时钟产生“1”的行索引的模块式移位寄存器产生器来实现。
2、如权利要求1所述的设备,其中索引产生器包括:
“s”个串联连接的寄存器,接收“s”位的初始值,并把初始值逐位存储,并且其每一个在一个时钟里把相应的存储位移到下一个寄存器;
反馈线,通过该反馈线有选择地反馈存储在寄存器中的最后一个寄存器的位值;和
连接在每两个寄存器间的加法器,把先前寄存器的位值和反馈值相加,并把结果值提供给后续的寄存器。
3、如权利要求1所述的设备,其中,行索引是从s个寄存器中选择的t个寄存器输出的t位的向量,s和t满足下面的等式:
m=2t
        其中,m是行的数量,n是奇偶校验矩阵的列的数量。
n≤2s-1
4、如权利要求2所述的设备,其中,反馈线包括具有选择的系数的切换开关,以使在2s-1个时钟期间从寄存器输出的所有向量彼此不同。
5、如权利要求4所述的设备,其中,切换开关的系数从本原多项式p(x)的系数中选择,这个本原多项式可由xv-1分解得到,其中v是满足下面等式的最小的可能的正数:
v=pu-1,其中,该本原多项式是具有为0到p-1的任何一个的系数的u次不可约多项式,也就是GF(p)[x]中的p(x),p是任一个素数。
6、一种构造低密度奇偶校验矩阵的方法,包括:
产生“1”的至少一个索引,该索引表示在奇偶校验矩阵的每一列中的“1”的位置,
其中,该至少一个索引的产生被在每一个时钟产生“1”的行索引的模块式移位寄存器产生器实现。
7、如权利要求6所述的方法,其中,该至少一个索引通过下述操作产生:
接收并在寄存器中存储“s”位的初始值;
有选择地反馈初始值的最低有效位;
把反馈位值加到初始值的每一位中;和
存储从由相加产生的“s”位中选择的“t”位的每一个作为输出向量,并且输出t位的输出向量作为“1”的行索引。
8、如权利要求6所述的方法,其中“1”的行索引是t位的向量,该向量是从s个寄存器中任意选择的“t”个寄存器输出的,s和t满足下面的等式:
m=2t
        ,其中m是行的数量,n是奇偶校验矩阵的列的数量。
n≤2s-1
9、如权利要求7所述的方法,其中,有选择地反馈由模块式移位寄存器产生器(MSRG)的特征多项式的系数确定,该特征多项式的系数被选择以使在2s-1个时钟期间输出的所有的向量都不相同。
10、如权利要求9所述的方法,其中,系数从本原多项式p(x)的系数中选择,这个多项式可由xv-1分解得到,其中v是满足下面等式的最小的可能的正数:
v=pu-1,其中,该本原多项式是具有为0到p-1的任何一个的系数的u次不可约多项式,也就是GF(p)[x]中的p(x),p是任一个素数。
11、一种构造奇偶校验矩阵的设备,包括:
模块式移位寄存器产生器,产生指示在奇偶校验矩阵中“1”的位置的“1”的索引。
12、如权利要求11所述的设备,其中,模块式移位寄存器产生器的反馈线由本原多项式指定。
13、如权利要求11所述的设备,其中,模块式移位寄存器产生器的初始值被选择以使在每一个时钟产生的列的行索引没有一个是相同的。
14、一种计算机可读介质,包括指令,该指令当被计算机系统执行时,起模块式移位寄存器产生器(MSRG)的作用,来在每一个时钟产生“1”的至少一个索引,该索引表示奇偶校验矩阵的每一列中的“1”的位置。
15、如权利要求14所述的计算机可读介质,其中,索引经过下述操作产生:
接收并在寄存器中存储s位的初始值;
有选择地反馈初始值的最低有效位;
把反馈位值加到初始值的每一位中;和
存储从由相加产生的“s”位中选择的“t”位的每一个作为输出向量,并且输出t位的输出向量作为“1”的行索引。
16、一种构造应用在LDPC编码方案中的消息和奇偶信息的m行和n列的低密度奇偶校验(LDPC)矩阵的设备,包括:
被耦合以接收第一初始值的第一索引产生器,在不同时钟,对从奇偶校验矩阵的第一列到第N列的每一列在预定位产生第一个元素“1”的行索引;
被耦合以接收第二初始值的第二索引产生器,在不同时钟,对从奇偶校验矩阵的第一列到第N列的每一列在预定位产生第二个元素“1”的行索引;和
被耦合以接收第N初始值的第N索引产生器,在不同时钟,对从奇偶校验矩阵的第一列到第N列的每一列在预定位产生第N个元素“1”的行索引;
17、如权利要求16所述的设备,其中,第一、第二和第N索引产生器的每一个都由模块式移位寄存器产生器(MSRG)来实现,该模块式移位寄存器产生器包括:
串联设置以接收“s”位的初始值的“s”个寄存器,把初始值逐位存储,并且在一个时钟把相应的存储位值移到后续寄存器;
反馈线,通过该反馈线有选择地反馈存储在串联设置的最后一个寄存器的位值;
s-1个加法器,每一个加法器布置在每两个寄存器之间,把先前寄存器存储的位值和经反馈线反馈的位值相加,并把结果值提供给后续的寄存器;和
s-1个切换开关,每一个切换开关布置在到各个加法器的反馈线上,来控制将经反馈线反馈的位值传输到各个加法器,
其中从“s”个寄存器中选择的“t”个寄存器的输出与奇偶校验矩阵的“1”的行索引相对应。
18、如权利要求17所述的设备,其中,每一个行索引是t位的向量,该向量是从s个寄存器中选择的“t”个寄存器输出的,s和t满足下面的等式:
m=2t
          ,其中m是行的数量,n是奇偶校验矩阵的列的数量。
n≤2s-1
19、如权利要求17所述的设备,其中,布置在反馈线上的每一个切换开关设置选择的系数,以使在2s-1的时钟期间从寄存器输出的所有向量彼此不同。
20、如权利要求19所述的设备,其中,相应切换开关的系数从本原多项式p(x)的系数中选择,这个多项式可由xv-1分解得到,其中v是满足下面等式的最小的可能的正数:
v=pu-1,其中该本原多项式是具有为0到p-1的任何一个的系数的u次不可约多项式,也就是GF(p)[x]中的p(x),p是任一个素数。
21、如权利要求16所述的设备,其中,第一索引产生器包括:
串联设置的第一到第六寄存器,每一个寄存器接收初始值,并把初始值逐位存储,并且在一个时钟把相应的存储位值移到后续寄存器;
反馈线,通过该反馈线有选择地反馈存储在串联设置的第六寄存器的位值;
设置在第五和第六寄存器之间的加法器,把第五寄存器的位值和经由反馈线反馈的位值相加,并把结果值提供给第六寄存器;
其中,从第一寄存器到第五寄存器的输出与奇偶校验矩阵的行索引相对应。
22、如权利要求16所述的设备,其中,第一索引产生器包括:
串联设置的第一到第六寄存器,其每一个接收初始值,把初始值逐位存储,并且在一个时钟把相应的存储位值移到后续寄存器;
反馈线,通过该反馈线有选择地反馈存储在串联设置的第六寄存器的位值;
设置在第五和第六寄存器之间的第一加法器,把第五寄存器的位值和经反馈线反馈的位值相加,并把结果值提供给第六寄存器;
设置在第四和第五寄存器之间的第二加法器,把第四寄存器的位值和经反馈线反馈的位值相加,并把结果值提供给第五寄存器;
设置在第一和第二寄存器之间的第三加法器,把第一寄存器的位值和经反馈线反馈的位值相加,并把结果值提供给第二寄存器;
其中第一到第五寄存器的输出与奇偶校验矩阵中的“1”的行索引相对应。
23、一种构造应用在LDPC编码方案中的消息和奇偶信息的m行和n列的低密度奇偶校验(LDPC)矩阵的方法,包括:
得到模块式移位寄存器产生器(MSRG),包含“s”个串联连接的寄存器和其每一个布置在每两个寄存器之间的“s-1”个加法器;
在“s”个串联设置的寄存器中存储“s”位的初始值,并在一个时钟把相应的存储位值移到后续的寄存器中;
经由反馈线有选择地反馈存储在最后一个寄存器中的位值;
在其每一个布置在每两个寄存器之间的s-1个加法器里把先前寄存器存储的位值与经由反馈线反馈的位值相加,并产生结果值给后续寄存器;和
从在“s”个寄存器中选择“t”个寄存器输出奇偶校验矩阵的“1”行索引。
24、如权利要求23所述的方法,其中,每一个行索引是t位的向量,该向量是从s个寄存器中选择的“t”个寄存器输出的,s和t满足下面的等式:
m=2t
         ,其中m是行的数量,n是奇偶校验矩阵的列的数量。
n≤2s-1
25、如权利要求24所述的方法,其中,反馈线设置有选择的系数的切换开关,以使在2s-1个时钟期间从寄存器输出的所有向量彼此不同。
26、如权利要求25所述的方法,其中,相应切换开关的系数从本原多项式p(x)的系数中选择,这个多项式可由xv-1分解得到,其中v是满足下面等式的最小的可能的正数:
v=pu-1,其中该本原多项式是具有为0到p-1的任何一个的系数的u次不可约多项式,也就是GF(p)[x]中的p(x),p是任一个素数。
CNA200510077599XA 2004-08-05 2005-06-21 构造低密度奇偶校验矩阵的方法和装置 Pending CN1731684A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020040061797 2004-08-05
KR1020040061797A KR100739684B1 (ko) 2004-08-05 2004-08-05 저밀도 패리티 체크 행렬 생성 장치 및 방법

Publications (1)

Publication Number Publication Date
CN1731684A true CN1731684A (zh) 2006-02-08

Family

ID=35198019

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA200510077599XA Pending CN1731684A (zh) 2004-08-05 2005-06-21 构造低密度奇偶校验矩阵的方法和装置

Country Status (8)

Country Link
US (1) US7447972B2 (zh)
EP (1) EP1624583B1 (zh)
JP (1) JP2006050622A (zh)
KR (1) KR100739684B1 (zh)
CN (1) CN1731684A (zh)
AT (1) ATE405994T1 (zh)
DE (1) DE602005009085D1 (zh)
TW (1) TW200607247A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008019537A1 (fr) * 2006-08-07 2008-02-21 Timi Technologies Co., Ltd. Procédé de construction de code ldpc dans un système de radiodiffusion multimédia numérique mobile

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100625247B1 (ko) * 2004-11-19 2006-09-18 한국전자통신연구원 레인징 의사 잡음 부호 발생 장치 및 그 방법
US8413010B1 (en) 2009-03-12 2013-04-02 Western Digital Technologies, Inc. Data storage device employing high quality metrics when decoding logical block address appended to a data sector
JP5601182B2 (ja) * 2010-12-07 2014-10-08 ソニー株式会社 データ処理装置、及びデータ処理方法
US11500615B2 (en) * 2019-05-08 2022-11-15 Discovery Semiconductors, Inc. Programmable pseudo-random sequence generator for use with universal lidar and its associated method of operation

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02195457A (ja) 1989-01-24 1990-08-02 Fujitsu Ltd 半導体記憶装置のエラー検出装置
JPH05135482A (ja) 1991-11-08 1993-06-01 Nec Corp 並列記憶制御装置
US5537420A (en) 1994-05-04 1996-07-16 General Instrument Corporation Of Delaware Convolutional interleaver with reduced memory requirements and address generator therefor
US5954838A (en) * 1996-08-23 1999-09-21 Emc Corporation Data storage system having row/column address parity checking
JP3778540B2 (ja) * 1999-05-17 2006-05-24 東芝デジタルメディアエンジニアリング株式会社 信号処理回路及び情報記録装置
FR2799592B1 (fr) 1999-10-12 2003-09-26 Thomson Csf Procede de construction et de codage simple et systematique de codes ldpc
EP1290802A1 (en) * 2000-06-16 2003-03-12 Aware, Inc. Systems and methods for ldpc coded modulation
US6567465B2 (en) 2001-05-21 2003-05-20 Pc Tel Inc. DSL modem utilizing low density parity check codes
US7000168B2 (en) 2001-06-06 2006-02-14 Seagate Technology Llc Method and coding apparatus using low density parity check codes for data storage or data transmission
US6895547B2 (en) 2001-07-11 2005-05-17 International Business Machines Corporation Method and apparatus for low density parity check encoding of data
US6928602B2 (en) * 2001-07-18 2005-08-09 Sony Corporation Encoding method and encoder
JP3808769B2 (ja) 2001-12-27 2006-08-16 三菱電機株式会社 Ldpc符号用検査行列生成方法
US6757122B1 (en) * 2002-01-29 2004-06-29 Seagate Technology Llc Method and decoding apparatus using linear code with parity check matrices composed from circulants
JP2003345778A (ja) 2002-05-28 2003-12-05 Sony Corp 2次元逆離散コサイン変換回路及び画像復号化装置
US7178080B2 (en) * 2002-08-15 2007-02-13 Texas Instruments Incorporated Hardware-efficient low density parity check code for digital communications
KR20040033554A (ko) 2002-10-15 2004-04-28 삼성전자주식회사 에러 정정 부호화 장치 및 그 방법
KR20040036460A (ko) 2002-10-26 2004-04-30 삼성전자주식회사 Ldpc 복호화 장치 및 그 방법
KR100502608B1 (ko) * 2002-12-24 2005-07-20 한국전자통신연구원 계산이 간단한 저밀도 패리티 검사 부호를 위한 메시지 전달 복호기

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008019537A1 (fr) * 2006-08-07 2008-02-21 Timi Technologies Co., Ltd. Procédé de construction de code ldpc dans un système de radiodiffusion multimédia numérique mobile
US8255782B2 (en) 2006-08-07 2012-08-28 Timi Technologies Co., Ltd. Method for constructing LDPC code in the mobile digital multimedia broadcast system

Also Published As

Publication number Publication date
EP1624583B1 (en) 2008-08-20
EP1624583A3 (en) 2006-04-19
ATE405994T1 (de) 2008-09-15
TW200607247A (en) 2006-02-16
US7447972B2 (en) 2008-11-04
DE602005009085D1 (de) 2008-10-02
KR20060013028A (ko) 2006-02-09
EP1624583A2 (en) 2006-02-08
US20060031745A1 (en) 2006-02-09
KR100739684B1 (ko) 2007-07-13
JP2006050622A (ja) 2006-02-16

Similar Documents

Publication Publication Date Title
CN1499731A (zh) 低密度奇偶校验码解码装置和方法
CN101032082A (zh) 编码和解码数据的方法和设备
CN1783729A (zh) 用联合节点处理来解码低密度奇偶校验码的方法和设备
Karkooti et al. Semi-parallel reconfigurable architectures for real-time LDPC decoding
CN1993892A (zh) 用于编码和解码块低密度奇偶校验码的装置和方法
CN1282312C (zh) 用于低密度奇偶校验码解码的方法与系统
CN1777082A (zh) 基于预编码的并行卷积ldpc码的编码器及其快速编码方法
JP4617985B2 (ja) 符号装置および符号化方法
JP2006507731A (ja) 低密度パリティ検査符号を用いる符号化器と、その符号化方法
CN101079639A (zh) 基于节点存储器的低密度奇偶校验解码装置和方法
CN1960188A (zh) 构造低密度奇偶校验码的方法、译码方法及其传输系统
CN1701515A (zh) 解码方法、解码装置和程序
CN1910822A (zh) 奇偶校验矩阵产生方法、数据传输系统、编解码设备及其程序
JP4602406B2 (ja) データをエンコード及びデコードするための方法並びに装置
CN1783730A (zh) 生成低密度奇偶校验码的方法与装置
CN1941635A (zh) 一种非正则低密度奇偶校验码的构造方法
CN108540139B (zh) 一种通用的准循环ldpc码编码器的fpga实现方法及装置
CN101039119A (zh) 编码与解码的方法及系统
CN1547806A (zh) 使用结构化奇偶校验矩阵的低密度奇偶校验码的编码
CN1808955A (zh) 基于非正则低密度奇偶校验码的编译码器及其生成方法
CN101080873A (zh) 用于使用信道代码解码的装置和方法
JP5468184B2 (ja) ソリッドステートドライブのための消去カウントを軽減した高機能データ符号化
CN1731684A (zh) 构造低密度奇偶校验矩阵的方法和装置
CN101047391A (zh) 低密度奇偶校验编码方法、装置及奇偶校验矩阵生成方法
CN1889367A (zh) 构造稀疏生成矩阵的方法及低密度分组校验码的编码方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication