CN1983823A - 编码器、解码器、以及编码和解码的方法 - Google Patents

编码器、解码器、以及编码和解码的方法 Download PDF

Info

Publication number
CN1983823A
CN1983823A CNA2006100850798A CN200610085079A CN1983823A CN 1983823 A CN1983823 A CN 1983823A CN A2006100850798 A CNA2006100850798 A CN A2006100850798A CN 200610085079 A CN200610085079 A CN 200610085079A CN 1983823 A CN1983823 A CN 1983823A
Authority
CN
China
Prior art keywords
matrix
row
information
sequence
check matrix
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.)
Granted
Application number
CNA2006100850798A
Other languages
English (en)
Other versions
CN1983823B (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of CN1983823A publication Critical patent/CN1983823A/zh
Application granted granted Critical
Publication of CN1983823B publication Critical patent/CN1983823B/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/63Joint error correction and other techniques
    • H03M13/6343Error control coding in combination with techniques for partial response channels, e.g. recording
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • 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/033Theoretical methods to calculate these checking codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • 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/1162Array based LDPC codes, e.g. array codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • H03M13/1188Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal wherein in the part with the double-diagonal at least one column has an odd column weight equal or greater than three
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1191Codes on graphs other than LDPC codes
    • H03M13/1194Repeat-accumulate [RA] codes
    • H03M13/1197Irregular repeat-accumulate [IRA] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/095Error detection codes other than CRC and single parity bit codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • General Physics & Mathematics (AREA)
  • Manufacturing & Machinery (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)
  • Error Detection And Correction (AREA)

Abstract

编码器、解码器、以及编码和解码的方法。使用低密度奇偶校验码将码长度为N的信息序列编码为码序列,其中N=K+M,K是信息长度,M是奇偶长度。该低密度奇偶校验码是基于M行N列的矩阵H生成的。矩阵H包括校验矩阵H2和校验矩阵H1。校验矩阵H2有M行M列,其为循环置换矩阵,校验矩阵H2存在逆矩阵并且其列权为3。校验矩阵H1有M行K列。

Description

编码器、解码器、以及编码和解码的方法
技术领域
本发明涉及一种使用低密度奇偶校验(LDPC)码对信息进行编码的编码器、以及使用LDPC码对编码信息进行解码的解码器。更具体地,本发明涉及一种使用阵列码对信息进行编码的编码器以及对编码信息进行解码的解码器。
背景技术
作为纠错技术,低密度奇偶校验(LDPC)码引人注目。LDPC码的优点在于其为在校验矩阵中“1”较少的线性码。因为码长度较大且码具有随机性,所以LDPC码比常规码具有显著较高的纠错能力。使用LDPC码,可以使用称为和积解码方法的迭代解码方法来有效地对码序列进行解码。
将LDPC码应用于检测磁盘装置中的错误。可以用来检测磁盘装置中的错误的LDPC码例如需要具有令人满意的瀑布特性(waterfallcharacteristic)、低错误基底(error floor)、短奇偶长度、高编码率和短的码长度,并且其应该是系统码。此外,编码器和解码器的电路规模应该很小。仍然必须开发可以满足所有这些要求的LDPC码。
系统码是通过从信息序列生成奇偶序列并将该奇偶序列添加到该信息序列而生成的码。图6是用于说明系统码的图。
如图6所示,该系统码是通过向信息长度为K的信息序列添加奇偶长度为M的奇偶序列来产生码序列的码。该码序列的码长度是N(N=K+M)。
图7是使用常规LDPC码系统的磁盘装置的编码/解码部的功能构成的图。如图7所示,该编码/解码部包括LDPC编码器1、部分响应(PR)通道2、通道后验概率(APP)解码器3、LDPC解码器4和阈值判断单元5。
LDPC编码器1是将输入信息序列uk编码为LDPC码序列xk的编码器。PR通道2是如下通道:根据部分响应系统将经LDPC编码器1编码的LDPC码序列xk记录在磁盘中,再现磁盘中记录的信息yk,并将再现的信息yk输出到通道APP解码器3。
通道APP解码器3是对从PR通道2接收的信息yk应用最大似然(ML)解码并将关于LDPC码序列xk的外部信息Λe(xk’)作为对数似然比输出到LDPC解码器4的解码器。
LDPC解码器4是如下的解码器:以外部信息Λe(xk’)作为先验概率进行可靠度传播运算,更新关于LDPC码序列xk的外部信息Λe(xk’),并根据外部信息Λe(xk’)计算关于信息序列uk的估计值uk’的后验概率Λ(uk’)。
该LDPC解码器4将更新的外部信息Λe(xk’)输出到通道APP解码器3,从而将外部信息Λe(xk’)用作先验信息。LDPC解码器4重复该处理预定次数,然后将关于后验概率Λ(uk’)的信息输出到阈值判断单元5。
阈值判断单元5可以通过从LDPC解码器4获得关于后验概率Λ(uk’)的信息并对后验概率Λ(uk’)进行阈值判断,获得对信息序列uk的估计值uk’。
LDPC码是线性块码,由校验矩阵H定义。图8是校验矩阵H的示例的图。当码长度为N且奇偶长度是M时,校验矩阵H为M行N列。
校验矩阵H和码矩阵x的关系如下:
HxT=0
其中,x是N维向量,0是N维零向量,T表示x的转置。
当从信息序列u生成码序列x时,使用下述的生成矩阵G:
x=uG
其中,信息序列u是K维向量,生成矩阵G是K行N列的矩阵。
生成矩阵G与信息序列u、码序列x和校验矩阵H具有下述关系。
HGT=0
其中0是M行K列的零矩阵。
如果在硬盘装置中包括的大规模集成电路(LSI)中的存储器内保存校验矩阵H和生成矩阵G,则LSI的电路规模变大。因此,已经进行了试验以使得可以容易地在LSI中保存这些矩阵的结构或容易地生成这些矩阵。
例如,作为构成校验矩阵H的方法,存在使用阵列码的方法。在通过将阵列码应用于LDPC码而获得的阵列LDPC码中,使用循环置换矩阵来构造校验矩阵H(例如参见John L.Fan,“Array Codes as Low-DensityParity-Check Codes”,in Proc.2nd.Int.Symp.Turbo Codes,Brest,France,Sept.2000,pp.543-546)。
下面示出阵列LDPC码的校验矩阵H的示例:
Figure A20061008507900071
其中,I是p行p列的单位矩阵(p为质数:p=1、3、5、7、11、……)。
j和k分别是校验矩阵H的行权和列权,并满足关系j,k≤p。
σ是通过在行或列方向移动单位矩阵I的“1”而获得的p行p列循环置换矩阵。下面示出σ的示例:
σ = 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0
阵列LDPC码具有如下特征:在Tanner图中没有长度为4的循环,可以防止解码性能劣化并构造校验矩阵H。然而,生成矩阵G的缺点在于,生成矩阵G通常不具有特定结构。
因此,也已经提出了使用结构化校验矩阵对信息序列递归地进行编码的方法。然而,编码时的计算复杂度增加(例如参见美国专利第6895547号的说明书)。
也已经提出了抑制编码时的计算复杂度并实现低错误基底的不规则重复累积(IRA)-LDPC码(例如参见M.Yang,W.E.Ryan,and Y.Li,“Design of efficiently encodable moderate-length high-rateirregular LDPC codes”,IEEE Trans.Comm.,Vol.52,No.4,pp.564-571,April 2004)。
在该IRA-LDPC码中,将M行N列的校验矩阵H分为M行M列的方阵H2和剩下的M行K列(K=N-M)的矩阵H1
H=[H1H2]
在这种情况下,生成矩阵G表示如下:
G=[I(H2 -1H1)T]
在IRA-LDPC码中,校验矩阵H1是随机生成的矩阵(随机交织器),校验矩阵H2具有如下表示的1+D(D表示1延迟)的结构。
H 2 = 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1
其中,“+”是异或算符。
图9是用于说明进行常规IRA-LDPC编码的编码器的图。如图9所示,该编码器将信息序列u乘以校验矩阵H1 T,并对乘法的输出应用传递函数1/(1+D),由此从信息序列u生成奇偶序列p。
然而,如果将常规IRA-LDPC码应用于允许码间干扰的装置(如使用部分响应系统的磁盘装置),那么,如果在校验矩阵H中存在连续“1”的部分,则错误率特性不令人满意。
具体地,IRA-LDPC码中的校验矩阵H2的列权为2。当存在码间干扰时,容易出现位间错误传播,纠错能力的下降不可避免。列权为2的LDPC码在错误基底特性方面很差是广为人知的。
因此,需要一种在构造校验矩阵时可以控制错误率特性的劣化、减小与编码和解码相关的计算复杂度、并缩小编码电路和解码电路的电路规模的技术。
发明内容
本发明的目的是至少解决常规技术的问题。
根据本发明的一方面,一种通过使用低密度奇偶校验(LDPC)码来将码长度为N(N=K+M,其中K是信息长度,M是奇偶长度)的信息序列编码为码序列的编码器包括:信息获取单元,用于获取关于由M行N列的校验矩阵定义的LDPC码的生成矩阵的信息,所述M行N列的校验矩阵由作为存在逆矩阵且列权为3的循环置换矩阵的M行M列的第一矩阵和M行K列的第二矩阵形成;以及编码单元,用于根据信息获取单元获取的信息将预定的信息序列编码为码序列。
根据本发明的另一方面,一种使用阵列码对信息序列进行编码的编码器包括:信息获取单元,用于获取关于由如下获得的矩阵形成的校验矩阵定义的生成矩阵的信息:对形成该阵列码中校验矩阵的循环置换矩阵中的彼此相邻行上的两个“1”进行行或列置换排列以使其排列为彼此间隔预定的列;编码单元,用于根据信息获取单元获取的信息将信息序列编码为码序列。
根据本发明的另一方面,一种向信息长度为K的预定信息序列添加奇偶长度为M的奇偶序列从而对使用低密度奇偶校验(LDPC)码编码的码长度为N(N=K+M)的码序列进行解码的解码器包括:信息获取单元,用于获取关于由M行N列校验矩阵定义的LDPC码的该校验矩阵的信息,所述M行N列校验矩阵由作为存在逆矩阵且列权为3的循环置换矩阵的M行M列的第一矩阵和M行K列的第二矩阵形成;以及解码单元,用于根据信息获取单元获取的信息对码序列进行解码。
根据本发明的另一方面,一种包括向信息长度为K的预定信息序列添加奇偶长度为M的奇偶序列从而使用低密度奇偶校验(LDPC)码将该信息序列编码为码长度为N(N=K+M)的码序列的编码方法包括以下步骤:获取关于由M行N列的校验矩阵定义的LDPC码的生成矩阵的信息,所述M行N列的校验矩阵由作为存在逆矩阵且列权为3的循环置换矩阵的M行M列的第一矩阵和M行K列的第二矩阵形成;以及根据在获取步骤获取的信息将预定信息序列编码为码序列。
根据本发明的另一方面,一种包括向信息长度为K的预定信息序列添加奇偶长度为M的奇偶序列从而对使用低密度奇偶校验(LDPC)码编码的码长度为N(N=K+M)的码序列进行解码的解码方法包括以下步骤:获取关于由M行N列的校验矩阵定义的低密度奇偶校验码的该校验矩阵的信息,所述校验矩阵是由作为存在逆矩阵且列权为3的循环置换矩阵的M行M列的第一矩阵和M行K列的第二矩阵形成的;以及根据在获取步骤获取的信息对码序列进行解码。
结合附图来阅读以下对本发明当前优选实施例的详细说明,将更好地理解本发明的以上和其他目标、特征、优点以及技术和工业意义。
附图说明
图1是用于说明根据本发明第一实施例的出现4循环的原因的图;
图2是用于说明根据第一实施例的生成校验矩阵H1的方法的图;
图3A到3D是与各种奇偶长度对应的初始值列的图;
图4是根据第一实施例的编码器的功能框图;
图5是根据第一实施例的解码器的功能框图;
图6是用于说明系统码的图;
图7是常规的编码/解码部的功能框图;
图8是校验矩阵H的示例的图;以及
图9是常规编码器的图。
具体实施方式
下面参照附图详细说明本发明的示例性实施例。
在根据本发明第一实施例的LDPC码中,M行N列的校验矩阵H如下所示地由两个矩阵形成,即,作为M行M列方阵的校验矩阵H2和剩下的M行K列(K=N-M)的校验矩阵H1
H=[H1H2]。
可以如下表示生成矩阵G:
G=[I(H2 -1H1)T]。
换言之,
HGT=[H1H2][I(H2 -1H1)T]T
=H1I+H2(H2 -1H1)
=H1+H1
=0。
“+”是异或算子。
对校验矩阵H1使用阵列码。在这种情况下,校验矩阵H1表示如下。
其中I是p行p列(p是质数:p=1、3、5、7、11、……)的单位矩阵。j和k分别是校验矩阵H的列权和行权,并满足关系j,k≤p,σ是通过沿行或列方向移动单位矩阵I的“1”而获得的p行p列循环置换矩阵。
下面是沿行方向移动“1”的示例:
σ = 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0
下面是沿行方向移动“1”的示例:
σ = 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0
在校验矩阵H1中,将左上角的元素设置为I(=σ0)。也可以将校验矩阵H1的左上角的元素设置为任意元素σn(n≤(j-1)(k-1)),并将通过使剩余的元素在行或列方向循环而获得的矩阵用作校验矩阵H1
例如,当σ(=σ1)是左上角的元素时,使剩余的元素如下循环以生成校验矩阵H1
Figure A20061008507900121
其中p是质数,因为,当p不是质数时,校验矩阵H1中的循环置换矩阵的循环长度减小,如果使用该循环置换矩阵创建校验矩阵H1则校验矩阵H1具有4循环。
然而,当p是质数且循环置换矩阵的循环长度大于校验矩阵H1的行数和列数时,不出现4循环。将该条件表示为j,k≤p(p是质数)。图1是用于说明出现4循环的原因的图。
如图1所示,发现虽然当p是质数5时在矩阵H1中不出现4循环,但是当p是非质数6时,循环置换矩阵的循环长度减小,从而由于循环矩阵I而引起4循环。
由(j×p)行(k×p)列、列权为j行权为k的校验矩阵H1定义的这种阵列码是正则LDPC码,行数和列数有限。因此,切出并使用校验矩阵H1的一部分,从而消除行数和列数的限制并生成列权和行权不一致的非正则LDPC码。
图2是用于说明生成校验矩阵H1的方法的图。图2示出了其中p=7、j=3、k=4并且生成16行24列的校验矩阵H1的示例。当生成校验矩阵H1时,首先,使用7行7列的循环置换矩阵生成21行28列的阵列码的校验矩阵Harray。从校验矩阵Harray切出16行24列的矩阵并将其设置为校验矩阵H1
另一方面,校验矩阵H2是列权为3的循环置换矩阵。然而,确定“1”的位位置以使得不存在4循环且逆矩阵是稀疏的。稀疏矩阵表示“1”的数目极少且“0”的数目很大的矩阵。在本说明中,选择列权为5的逆矩阵作为稀疏逆矩阵。
下面示出的校验矩阵H2是奇偶长度为16且初始值列为{0,2,6}的示例。
H 2 = 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1
初始值列{0,a,b}(0<a,b<M,且a<b)是用于指定在列权为3的循环置换矩阵的第一行上3个“1”的位处于哪列的信息。具体地,初始值列{0,a,b}指出校验矩阵H2的第一行上的第一列、第a+1列和第b+1列的元素为“1”,其他元素为“0”。
由于校验矩阵H2是循环置换矩阵,因此当确定了初始值列时,可以根据初始值列确定校验矩阵H2的所有元素。因此,编码器不需要保存校验矩阵H2的所有元素的值,只需要保存关于初始值列的信息。这样,可以实现电路规模的缩小。
校验矩阵H2的逆矩阵H2 -1是:
H 2 - 1 = 1 0 0 1 0 0 0 0 0 1 0 1 0 1 0 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 1 1 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 1 1 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 0 1 1 0 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 1 1 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 1
这样,当校验矩阵H2是初始值列为{0,2,6}的矩阵时,逆矩阵H2 -1的列权为5。像校验矩阵H2一样,逆矩阵H2 -1也是循环置换矩阵。因此,编码器只需要保存关于初始值列的信息来生成逆矩阵H2 -1。因此,可以实现电路规模的缩小以及算术运算速度的提高。
列权为3、没有4循环、存在逆矩阵且逆矩阵的列权为5的循环置换矩阵H2的初始值列取决于奇偶长度。通过计算机搜索可以容易地检查出满足条件的奇偶长度与初始值列之间的关系。
当允许4循环时,可以将逆矩阵的列权设置为小于5。具体地,可以将逆矩阵的列权减小到3。通过由计算机搜索来检查其逆矩阵列权如此为3的循环置换矩阵H2并使用该循环置换矩阵H2,可以使逆矩阵稀疏,减小与编码相关的计算复杂度,并缩小电路规模。
下面说明计算机进行的对初始值列的搜索的结果。图3A到3D是对应于各种奇偶长度M的初始值列{0,a,b}的图。在图3A到3D中,省略了用于对初始值列{0,a,b}的数字进行分界的逗号“,”。
当满足下面条件中的任何一个时,列权为3、奇偶长度为M、初始值列为{0,a,b}的循环置换矩阵H2具有4循环:
(1)a=b-a
(2)b-a=M-b
(3)M-b=a
(4)b=M-b
(5)M-a=a
(6)M-b+a=b-a。
因此,在搜索初始值列时,排除满足这种条件的初始值列。
图4是根据本实施例的生成LDPC码的编码器的功能框图。该编码器对应于图7中所示的LDPC编码器1。编码器包括信息序列接收单元10、存储单元11、矩阵生成单元12、第一矩阵算术单元13、第二矩阵算术单元14和码生成单元15。
信息序列接收单元10接收信息序列,并将接收的信息序列分别输出给第一矩阵算术单元13和码生成单元15。存储单元11是诸如存储器的存储装置,并存储关于用于生成校验矩阵H1的循环置换矩阵σ中“1”的位置的信息、关于校验矩阵H2的逆矩阵H2 -1的初始值列的信息、关于校验矩阵H1和逆矩阵H2 -1的行数和列数的信息等。
矩阵生成单元12从存储单元11获取关于循环置换矩阵σ中“1”的位置的信息以及关于校验矩阵H1的行数和列数的信息,根据参照图2说明的方法生成校验矩阵H1,并将生成的校验矩阵H1的转置矩阵H1 T输出到第一矩阵算术单元13。
矩阵生成单元12从存储单元11获取关于校验矩阵H2的逆矩阵H2 -1的初始值列的信息以及关于逆矩阵H2 -1的行数和列数的信息,从初始值列生成校验矩阵H2的逆矩阵H2 -1,并将生成的逆矩阵H2 -1的转置矩阵(H2 -1)T输出到第二矩阵算术单元14。
第一矩阵算术单元13计算从信息序列接收单元10获取的信息序列与从矩阵生成单元12获取的转置矩阵H1 T的乘积,并将关于乘积的信息输出到第二矩阵算术单元14。
第二矩阵算术单元14从第一矩阵算术单元13获取关于乘积的信息,并计算所获取的乘积与从矩阵生成单元12获取的转置矩阵(H2 -1)T的乘积。该乘积是奇偶序列。第二矩阵算术单元14将该奇偶序列输出到码生成单元15。
码生成单元15将从第二矩阵算术单元14获取的奇偶序列添加到从信息序列接收单元10获取的信息序列,从而生成码序列并输出生成的码序列。
图5是根据本实施例的对LDPC码进行解码的解码器的功能框图。该解码器对应于图7中所示的LDPC解码器4。解码器包括外部信息接收单元20、存储单元21、矩阵生成单元22和解码处理单元23。
外部信息接收单元20从图7中所示的通道APP解码器3接收外部信息。存储单元21是诸如存储器的存储装置,并存储关于用于生成校验矩阵H1的循环置换矩阵σ中“1”的位置的信息、关于校验矩阵H2的初始值列的信息、以及关于校验矩阵H1和校验矩阵H2的行数和列数的信息等。
矩阵生成单元22根据关于循环置换矩阵σ中“1”的位置的信息、关于校验矩阵H2的初始值列的信息、以及关于校验矩阵H1和校验矩阵H2的行数和列数的信息而生成校验矩阵H,并将生成的校验矩阵H输出到解码处理单元23。
解码处理单元23根据通常使用的和积解码方法对LDPC码进行解码。具体地,解码处理单元23使用从矩阵生成单元22获取的校验矩阵H,用外部信息作为先验概率来进行可靠性传播运算,并更新关于LDPC码序列xk的外部信息。
解码处理单元23根据外部信息来计算对信息序列的估计值的后验概率。解码处理单元23输出更新了的外部信息以将该外部信息用作先验信息。
解码处理单元23重复处理预定次数,然后,将关于后验概率的信息输出到图7中示出的阈值判断单元5。接收到该信息的阈值判断单元5可以通过对后验概率进行阈值判断来获取对信息序列的估计值。结果,进行了对LDPC码的解码。
如上所述,在第一实施例中,编码器的第一矩阵算术单元13和第二矩阵算术单元14获取关于由M行M列的校验矩阵H2(其为存在逆矩阵且列权为3的循环置换矩阵)和M行K列的校验矩阵H1形成的M行N列校验矩阵H定义的LDPC码的生成矩阵的信息,并根据获取的信息将预定的信息序列编码为码序列。这样,即使在存在码间干扰时也可以通过将列权设置为3来控制位之间的错误传播,改进错误基底特性以防止纠错能力的下降,通过构造第一矩阵来减小与编码相关的计算复杂度,并缩小电路规模。
在第一实施例中,解码器的解码处理单元23获取关于由M行M列的校验矩阵H2(其为存在逆矩阵且列权为3的循环置换矩阵)和M行K列的校验矩阵H1形成的M行N列校验矩阵H定义的LDPC码的该校验矩阵H的信息,并根据获取的信息对码序列进行解码。这样,即使在存在码间干扰时也可以通过将列权设置为3来控制位之间的错误传播,改进错误基底特性以防止纠错能力的下降,通过构造第一矩阵来减小与解码相关的计算复杂度,并缩小电路规模。
在第一实施例中,当在Tanner图中允许出现长度为4的循环时,校验矩阵H2的逆矩阵是列权为3的矩阵。这样,可以将逆矩阵设置为稀疏矩阵并减小与编码相关的计算复杂度。
在第一实施例中,校验矩阵H2是列权为3的循环置换矩阵,其第一行上的第一列、第a+1列和第b+1列(0<a,b<M,且a<b)的元素是1而第一行的其他元素为0。这样,仅仅存储第一行上的1元素的位置就可以生成第一矩阵,并且,因为不必存储第一矩阵的所有元素,所以可以缩小电路规模。
在第一实施例中,校验矩阵H2是被形成为不满足在Tanner图中出现长度为4的循环的条件的矩阵。这样,可以防止解码性能的劣化。
在第一实施例中,出现长度为4的循环的条件是满足以下任一项:a=b-a、b-a=M-b、M-b=a、b=M-b、M-a=a、以及M-b+a=b-a。这样,通过生成不满足该条件的第一矩阵,可以有效地防止解码性能的劣化。
在第一实施例中,当校验矩阵H2是被形成为不满足在Tanner图中出现长度为4的循环的条件的矩阵时,校验矩阵H2的逆矩阵是列权为5的矩阵。这样,可以将逆矩阵设置为稀疏矩阵,并减小与编码相关的计算复杂度。
在第一实施例中,第一矩阵算术单元13使用校验矩阵H1对信息序列进行编码,然后第二矩阵算术单元14进一步使用校验矩阵H2的逆矩阵对信息序列进行编码,从而生成奇偶序列。码生成单元15将生成的奇偶序列添加到信息序列,从而将预定信息序列编码为码序列。这样,可以使用形成M行N列校验矩阵的校验矩阵H2和校验矩阵H1来有效地对信息序列进行编码。
在第一实施例中,校验矩阵H1是通过从阵列码中的P行Q列(M<P且K<Q)的校验矩阵Harray切出M行K列的矩阵而生成的矩阵。这样,可以将校验矩阵H1设置为列权和行权不一致的非正则LDPC码。
在第一实施例中,构造校验矩阵H。然而,如果简单地进行构造,则校验矩阵的随机性可能发生下降而使得难以改进纠错能力。
作为用于改进校验矩阵的随机性的技术,存在随机交织器。然而,由于必须准备存储码序列的多个存储器,所以增大了电路规模。因此,在第二实施例中,在不增大电路规模的情况下改进校验矩阵的随机性。编码器和解码器的功能配置与图4和5中所示的情况相同。下面详细说明与第一实施例的不同。
首先,说明根据第二实施例的校验矩阵H。如在第一实施例中一样,将M行N列的校验矩阵H分成作为M行M列方阵的校验矩阵H2和剩余的M行K列(K=N-M)的校验矩阵H1,如下所示:
H=[H1H2]。
在第二实施例中,使用与第一实施例中的校验矩阵H2相同的矩阵作为校验矩阵H2。校验矩阵H1是通过阵列码中的校验矩阵Harray的各个列块与由稍后说明的循环置换矩阵ω形成的ωm(0≤m≤k-1)的乘积如下形成的。
Figure A20061008507900181
其中I是p行p列(p是质数:p=1、3、5、7、11、……)的单位矩阵。
j和k分别是校验矩阵H的列权和行权,并满足关系j,k≤p。
如以下示例所示,σ是与第一实施例中形成阵列码的循环置换矩阵相同的p行p列循环置换矩阵。
σ = 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0
循环置换矩阵ω是p行p列的矩阵,并且是通过对循环置换矩阵σ中彼此相邻行上的两个“1”进行行或列置换排列以使其排列为彼此间隔预定列而获取的矩阵。例如,通过对彼此相邻行上的两个“1”进行行或列置换排列以使其排列为彼此间隔一列而获取的循环置换矩阵ω表示如下:
ω = 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1
在第一实施例的循环置换矩阵σ中,“1”位于对角线上。然而,可以通过使用这种伪随机循环置换矩阵ω来使位于对角线上的“1”分散,并模仿随机交织器。当如磁盘装置中的码那样存在码间干扰时,这对于改进纠错能力是有效的。如参照图2说明的,也可以切下校验矩阵H1的任意部分并将该部分用作校验矩阵H1
图4和5中示出的编码器和解码器使用与按该方式形成的校验矩阵H对应的生成矩阵G以及校验矩阵H来进行对信息序列的编码和对码序列的解码。
这样,在第二实施例中,编码器的第一矩阵算术单元13和第二矩阵算术单元14获取关于由矩阵ω形成的校验矩阵H定义的生成矩阵的信息,并根据获取的信息将信息序列编码为码序列,所述矩阵ω是通过对形成阵列码中的校验矩阵Harray的循环置换矩阵σ中的彼此相邻行上的两个“1”进行行或列置换排列以使其排列为彼此间隔预定列而获得的。这样,可以模仿随机交织器,即使存在码间干扰时也可以通过控制位之间的错误传播而防止纠错能力的下降,通过构造矩阵减小与编码相关的计算复杂度,并缩小电路规模。
在第二实施例中,编码器的矩阵生成单元12通过计算矩阵ω与循环置换矩阵σ的乘积来产生关于生成矩阵的信息,矩阵ω是通过对形成阵列码中的校验矩阵Harray的循环置换矩阵σ中的彼此相邻行上的两个“1”进行行或列置换排列以使其排列为彼此间隔预定列而获得的。第一矩阵算术单元13和第二矩阵算术单元14获取产生的信息。这样,可以不需要其中预先存储关于生成矩阵的信息的存储装置。
已经说明了本发明的实施例。在本专利权利要求书而不是上述实施例中描述的技术思想的范围内,可以按各种不同实施例来执行本发明。例如,本发明不限于应用于对磁盘装置的纠错,还可以应用于对光盘存储装置和通信的纠错。
在实施例中说明的各种处理中,被说明为自动执行的种类的处理的全部或者部分可以手动地执行。被说明为手动执行的种类的处理的全部或者部分可以根据公知方法而自动执行
此外,除非特别地另行指示,否则就可以任意改变处理过程、控制过程、具体名称以及包括各种数据和参数的信息。
图中示出的编码器和解码器的各个部件是功能性概念,并非总是需要物理构成为如图所示。换句话说,编码器和解码器的分散和整合的具体形式不限于如图中示出的形式。可以根据各种负载和使用状态等,按任意单位将装置的全部或者部分构成为功能地或物理地分散以及整合。
此外,编码器和解码器中进行的各种处理功能的全部或者部分可以由CPU和CPU分析并执行的程序来实现,或者可以根据布线逻辑实现为硬件。
根据本发明,编码器获取关于由M行N列的校验矩阵定义的LDPC码的生成矩阵的信息,并根据获取的信息将预定的信息序列编码为码序列,所述M行N列的校验矩阵由作为存在逆矩阵且列权为3的循环置换矩阵的M行M列的第一矩阵和M行K列的第二矩阵形成。这样,存在如下效果:即使存在码间干扰时也可以通过将列权设置为3来控制位之间的错误传播,改进错误基底特性以防止纠错能力的下降,通过构造第一矩阵减小与编码相关的计算复杂度,并缩小电路规模。
根据本发明,解码器获取关于由作为存在逆矩阵且列权为3的循环置换矩阵的M行M列的第一矩阵和M行K列的第二矩阵形成的M行N列校验矩阵定义的LDPC码的该校验矩阵的信息,并根据获取的信息对码序列进行解码。这样,存在如下效果:即使存在码间干扰时也可以通过将列权设置为3来控制位之间的错误传播,改进错误基底特性以防止纠错能力的下降,通过构造第一矩阵减小与解码相关的计算复杂度,并缩小电路规模。
根据本发明,第一矩阵的逆矩阵是列权为3的矩阵。这样,存在如下效果:可以将逆矩阵设置为稀疏矩阵并减小与编码相关的计算复杂度。
根据本发明,第一矩阵是列权为3的循环置换矩阵,其第一行上的第一列、第a+1列和第b+1列(0<a,b<M,且a<b)的元素为1,第一行其他元素为“0”。这样,存在如下效果:仅仅存储第一行上1元素的位置就可以生成第一矩阵,并且,因为不必存储第一矩阵的所有元素,所以可以缩小电路规模。
根据本发明,第一矩阵是被形成为不满足在Tanner图中出现长度为4的循环的条件的矩阵。这样,存在可以防止解码性能劣化的效果。
根据本发明,出现长度为4的循环的条件是满足以下任何一项:a=b-a、b-a=M-b、M-b=a、b=M-b、M-a=a和M-b+a=b-a。这样,存在如下效果:可以通过生成不满足该条件的第一矩阵来有效防止解码性能劣化。
根据本发明,当第一矩阵是被形成为不满足在Tanner图中出现长度为4的循环的条件的矩阵时,第一矩阵的逆矩阵是列权为5的矩阵。这样,存在如下效果:可以将逆矩阵设置为稀疏矩阵并减小与编码相关的计算复杂度。
根据本发明,在使用第二矩阵对信息序列进行编码之后,使用第一矩阵的逆矩阵进一步对该信息序列进行编码,从而生成奇偶序列,通过将生成的奇偶序列添加到信息序列而将预定信息序列编码为码序列。这样,存在如下效果:可以使用形成M行N列校验矩阵的第一矩阵和第二矩阵来有效地对信息序列进行编码。
根据本发明,第二矩阵是由通过对形成阵列码中校验矩阵的循环置换矩阵中的彼此相邻行上的两个“1”进行行或列置换排列以使其排列为彼此间隔预定列而获得的矩阵形成的。这样,存在如下效果:可以模仿随机交织器,即使当存在码间干扰时也可以通过控制位之间的错误传播来防止纠错能力下降。
根据本发明,第二矩阵是通过从阵列码中的P行Q列的校验矩阵中切下M行K列(M<P且K<Q)的矩阵而生成的矩阵。这样,存在如下效果:可以将第二矩阵设置为列权和行权不一致的非正则LDPC码。
根据本发明,获取关于由校验矩阵定义的生成矩阵的信息,并根据获取的信息将信息序列编码为码序列,所述校验矩阵由通过对形成阵列码中校验矩阵的循环置换矩阵中的彼此相邻行上的两个“1”进行行或列置换排列以使其排列为彼此间隔预定列而获得的矩阵形成。这样,存在如下效果:可以模仿随机交织器,即使当存在码间干扰时也可以通过控制位之间的错误传播来防止纠错能力下降,通过构造矩阵来减小与编码相关的计算复杂度,并减小电路规模。
根据本发明,通过计算对形成阵列码中校验矩阵的循环置换矩阵中的彼此相邻行上的两个“1”进行行或列置换排列以使其排列为彼此间隔预定列而获得的矩阵与该循环置换矩阵的积来生成关于生成矩阵的信息,并获取生成的信息。这样,存在如下效果:可以不需要其中预先存储关于生成矩阵的信息的存储装置。
虽然为完全和清楚的公开已经针对具体实施例说明了本发明,但是所附的权利要求书并不由此受限,而是应该被理解为包括本领域技术人员可以想到的落入在此阐述的基本教导之内的所有修改和另选构造。

Claims (20)

1、一种通过使用低密度奇偶校验码来将码长度为N的信息序列编码为码序列的编码器,其中N=K+M,K是信息长度,M是奇偶长度,该编码器包括:
信息获取单元,用于获取关于由M行N列的校验矩阵定义的低密度奇偶校验码的生成矩阵的信息,所述M行N列的校验矩阵是由M行M列的第一矩阵和M行K列的第二矩阵形成的,所述第一矩阵是存在逆矩阵且列权为3的循环置换矩阵;以及
编码单元,用于根据信息获取单元获取的信息将预定信息序列编码为码序列。
2、根据权利要求1所述的编码器,其中,第一矩阵是列权为3的循环置换矩阵,其第一行上的第一列、第a+1列和第b+1列的元素为1,第一行上的其他元素为0,其中0<a,b<M且a<b。
3、根据权利要求1所述的编码器,其中,第一矩阵的逆矩阵是列权为3的矩阵。
4、根据权利要求1所述的编码器,其中,第一矩阵是被形成为不满足在Tanner图中出现长度为4的循环的条件的矩阵。
5、根据权利要求4所述的编码器,其中,出现长度为4的循环的条件是满足以下任何一项:a=b-a、b-a=M-b、M-b=a、b=M-b、M-a=a和M-b+a=b-a。
6、根据权利要求4所述的编码器,其中,第一矩阵的逆矩阵是列权为5的矩阵。
7、根据权利要求1所述的编码器,其中,编码单元使用第二矩阵对该信息序列进行编码,然后使用第一矩阵的逆矩阵进一步对该信息序列进行编码以由此生成奇偶序列,并将生成的奇偶序列添加到该信息序列,从而将所述预定信息序列编码为低密度奇偶校验码。
8、根据权利要求1所述的编码器,其中,第二矩阵是通过从阵列码中的P行Q列的校验矩阵切出M行K列的矩阵而生成的矩阵,其中M<P且K<Q。
9、一种使用阵列码对信息序列进行编码的编码器,包括:
信息获取单元,用于获取关于由一校验矩阵定义的生成矩阵的信息,所述校验矩阵是由通过对形成阵列码中的校验矩阵的循环置换矩阵中彼此相邻行上的两个“1”进行行或列置换排列以使其排列为彼此间隔预定的列而获得的矩阵形成的;
编码单元,用于根据信息获取单元获取的信息将信息序列编码为码序列。
10、根据权利要求9所述的编码器,进一步包括信息生成单元,所述信息生成单元通过计算如下两个矩阵的乘积来生成关于生成矩阵的信息:通过对形成阵列码中的校验矩阵的循环置换矩阵中彼此相邻行上的两个“1”进行行或列置换排列以使其排列为彼此间隔预定的列而获得的矩阵与该循环置换矩阵,其中
信息获取单元获取该信息生成单元生成的信息。
11、一种解码器,用于向信息长度为K的预定信息序列添加奇偶长度为M的奇偶序列,从而对使用低密度奇偶校验码编码的码长度为N的码序列进行解码,其中N=K+M,该解码器包括:
信息获取单元,用于获取关于由M行N列的校验矩阵定义的低密度奇偶校验码的该校验矩阵的信息,所述M行N列的校验矩阵是由M行M列的第一矩阵和M行K列的第二矩阵形成的,所述第一矩阵是存在逆矩阵且列权为3的循环置换矩阵;以及
解码单元,用于根据信息获取单元获取的信息对码序列进行解码。
12、根据权利要求11所述的解码器,其中,第一矩阵是列权为3的循环置换矩阵,其第一行上的第一列、第a+1列和第b+1列的元素为1,第一行上的其他元素为0,其中0<a,b<M且a<b。
13、根据权利要求12所述的解码器,其中,第一矩阵的逆矩阵是列权为3的矩阵。
14、根据权利要求11所述的解码器,其中,第一矩阵是被形成为不满足在Tanner图中出现长度为4的循环的条件的矩阵。
15、根据权利要求14所述的解码器,其中,出现长度为4的循环的条件是满足以下任何一项:a=b-a、b-a=M-b、M-b=a、b=M-b、M-a=a和M-b+a=b-a。
16、根据权利要求14所述的解码器,其中,第一矩阵的逆矩阵是列权为5的矩阵。
17、根据权利要求11所述的解码器,其中,第二矩阵由通过对形成阵列码中的校验矩阵的循环置换矩阵中彼此相邻行上的两个“1”进行行或列置换排列以使其排列为彼此间隔预定列而获得的矩阵形成。
18、根据权利要求11所述的解码器,其中,第二矩阵是通过从阵列码中的P行Q列的校验矩阵切出M行K列的矩阵而生成的矩阵,其中M<P且K<Q。
19、一种编码方法,包括向信息长度为K的预定信息序列添加奇偶长度为M的奇偶序列从而使用低密度奇偶校验码将该信息序列编码为码长度为N的码序列,其中N=K+M,该方法包括以下步骤:
获取关于由M行N列的校验矩阵定义的低密度奇偶校验码的生成矩阵的信息,所述M行N列的校验矩阵是由M行M列的第一矩阵和M行K列的第二矩阵形成的,所述第一矩阵是存在逆矩阵且列权为3的循环置换矩阵;以及
根据在获取步骤获取的信息将预定信息序列编码为码序列。
20、一种解码方法,包括向信息长度为K的预定信息序列添加奇偶长度为M的奇偶序列从而对使用低密度奇偶校验码编码的码长度为N的码序列进行解码,其中N=K+M,该方法包括以下步骤:
获取关于由M行N列的校验矩阵定义的低密度奇偶校验码的该校验矩阵的信息,所述M行N列的校验矩阵是由M行M列的第一矩阵和M行K列的第二矩阵形成的,所述第一矩阵是存在逆矩阵且列权为3的循环置换矩阵;以及
根据在获取步骤获取的信息对码序列进行解码。
CN2006100850798A 2005-12-15 2006-05-31 编码器、解码器、以及编码和解码的方法 Expired - Fee Related CN1983823B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005362340 2005-12-15
JP2005-362340 2005-12-15
JP2005362340A JP4558638B2 (ja) 2005-12-15 2005-12-15 符号器および復号器

Publications (2)

Publication Number Publication Date
CN1983823A true CN1983823A (zh) 2007-06-20
CN1983823B CN1983823B (zh) 2010-05-12

Family

ID=36463413

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006100850798A Expired - Fee Related CN1983823B (zh) 2005-12-15 2006-05-31 编码器、解码器、以及编码和解码的方法

Country Status (5)

Country Link
US (1) US7620873B2 (zh)
EP (2) EP1801982A3 (zh)
JP (1) JP4558638B2 (zh)
KR (1) KR100709545B1 (zh)
CN (1) CN1983823B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106936440A (zh) * 2017-02-20 2017-07-07 东南大学 一种压缩感知观测矩阵生成方法及装置

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4224777B2 (ja) * 2003-05-13 2009-02-18 ソニー株式会社 復号方法および復号装置、並びにプログラム
CA2604939A1 (en) * 2005-04-15 2006-10-26 Trellisware Technologies, Inc. Clash-free irregular-repeat-accumulate code
US7793190B1 (en) 2005-08-10 2010-09-07 Trellisware Technologies, Inc. Reduced clash GRA interleavers
WO2007072721A1 (ja) * 2005-12-20 2007-06-28 Mitsubishi Electric Corporation 検査行列生成方法、符号化方法、通信装置、通信システム、符号化器
WO2007091327A1 (ja) * 2006-02-09 2007-08-16 Fujitsu Limited Ldpc検査行列生成方法及び検査行列生成器並びに符号再送方法
JP4856605B2 (ja) * 2006-08-31 2012-01-18 パナソニック株式会社 符号化方法、符号化装置、及び送信装置
JP5507813B2 (ja) * 2007-02-16 2014-05-28 パナソニック株式会社 送信装置及び受信装置
JP4855348B2 (ja) * 2007-06-28 2012-01-18 ソニー株式会社 符号化器及び復号器、並びに送信装置及び受信装置
US8423871B2 (en) * 2007-07-13 2013-04-16 Panasonic Corporation Transmitting device and transmitting method
US8464126B2 (en) * 2007-08-21 2013-06-11 The Governors Of The University Of Alberta Hybrid message decoders for LDPC codes
TWI390856B (zh) * 2007-11-26 2013-03-21 Sony Corp Data processing device and data processing method
JP5007676B2 (ja) * 2008-01-31 2012-08-22 富士通株式会社 符号化装置、復号化装置、符号化・復号化装置及び記録再生装置
JP2009224820A (ja) * 2008-02-22 2009-10-01 Sony Corp 符号化装置、及び符号化方法
US20090252146A1 (en) * 2008-04-03 2009-10-08 Microsoft Corporation Continuous network coding in wireless relay networks
JP5009418B2 (ja) * 2008-06-09 2012-08-22 パイオニア株式会社 検査行列の生成方法及び検査行列、並びに復号装置及び復号方法
KR20100004470A (ko) * 2008-07-04 2010-01-13 삼성전자주식회사 광대역 무선통신 시스템에서 순열 시퀀스 생성 장치 및방법
US20100005133A1 (en) * 2008-07-04 2010-01-07 Samsung Electronics Co. Ltd. Apparatus and method for generating permutation sequence in a broadband wireless communication system
CN101465655B (zh) * 2009-01-20 2011-04-06 清华大学 极短码长低密度奇偶校验码的编码方法
JP4898858B2 (ja) * 2009-03-02 2012-03-21 パナソニック株式会社 符号化器、復号化器及び符号化方法
US8169887B2 (en) * 2009-12-29 2012-05-01 Industrial Technology Research Institute Apparatuses and methods for wireless communications using a permutation sequence
US9141466B2 (en) * 2009-12-31 2015-09-22 Intel Corporation Correcting double-bit burst errors using a low density parity check technique
JP5434890B2 (ja) * 2010-11-18 2014-03-05 株式会社Jvcケンウッド 符号化装置、符号化方法、プログラム
US8782494B2 (en) * 2011-10-04 2014-07-15 Cleversafe, Inc. Reproducing data utilizing a zero information gain function
US8972833B1 (en) * 2012-06-06 2015-03-03 Xilinx, Inc. Encoding and decoding of information using a block code matrix
US8972835B1 (en) * 2012-06-06 2015-03-03 Xilinx, Inc. Encoding and decoding of information using a block code matrix

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100277764B1 (ko) * 1998-12-10 2001-01-15 윤종용 통신시스템에서직렬쇄상구조를가지는부호화및복호화장치
FR2799592B1 (fr) * 1999-10-12 2003-09-26 Thomson Csf Procede de construction et de codage simple et systematique de codes ldpc
US6668349B1 (en) * 2000-04-14 2003-12-23 Hitachi, Ltd. Data recording/readback method and data recording/readback device for the same
US6769091B2 (en) * 2000-10-17 2004-07-27 Motorola, Inc. Encoding method and apparatus using squished trellis codes
US6895547B2 (en) 2001-07-11 2005-05-17 International Business Machines Corporation Method and apparatus for low density parity check encoding of data
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
KR100502609B1 (ko) * 2002-11-21 2005-07-20 한국전자통신연구원 Ldpc 코드를 이용한 부호화기 및 부호화 방법
KR100936022B1 (ko) * 2002-12-21 2010-01-11 삼성전자주식회사 에러 정정을 위한 부가정보 생성 방법 및 그 장치
KR100809619B1 (ko) * 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
KR100922956B1 (ko) * 2003-10-14 2009-10-22 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 방법
KR20050044963A (ko) * 2003-11-08 2005-05-16 삼성전자주식회사 q차 제곱 잉여류를 이용한 준순환 저밀도 패러티 검사부호 생성 방법
KR100550101B1 (ko) * 2003-12-22 2006-02-08 한국전자통신연구원 저밀도 패리티 검사 부호의 부호화와 복호 장치 및 그방법
US20050193320A1 (en) * 2004-02-09 2005-09-01 President And Fellows Of Harvard College Methods and apparatus for improving performance of information coding schemes
CN1310433C (zh) * 2004-03-29 2007-04-11 上海交通大学 采用分层低密度校验码的信道编码方法
KR20050118056A (ko) * 2004-05-12 2005-12-15 삼성전자주식회사 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치
US7165205B2 (en) 2004-05-14 2007-01-16 Motorola, Inc. Method and apparatus for encoding and decoding data
KR20060013197A (ko) * 2004-08-06 2006-02-09 엘지전자 주식회사 Ldpc 코드를 이용한 부호화 방법 및 부호화를 위한컴퓨터로 읽을 수 있는 기록 매체
CN100385796C (zh) * 2004-11-25 2008-04-30 上海交通大学 低密度校验码的信道编码方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106936440A (zh) * 2017-02-20 2017-07-07 东南大学 一种压缩感知观测矩阵生成方法及装置

Also Published As

Publication number Publication date
US20070143657A1 (en) 2007-06-21
US7620873B2 (en) 2009-11-17
KR100709545B1 (ko) 2007-04-20
EP1801982A2 (en) 2007-06-27
JP4558638B2 (ja) 2010-10-06
JP2007166425A (ja) 2007-06-28
EP1801980A1 (en) 2007-06-27
EP1801982A3 (en) 2009-08-12
CN1983823B (zh) 2010-05-12
EP1801982A9 (en) 2010-07-28

Similar Documents

Publication Publication Date Title
CN1983823B (zh) 编码器、解码器、以及编码和解码的方法
US7536623B2 (en) Method and apparatus for generating a low-density parity check code
KR100502609B1 (ko) Ldpc 코드를 이용한 부호화기 및 부호화 방법
EP1624582B1 (en) Apparatus and method for channel coding in mobile communication system
US8583980B2 (en) Low density parity check (LDPC) code
US8095859B1 (en) Encoder for low-density parity check codes
US8352847B2 (en) Matrix vector multiplication for error-correction encoding and the like
KR101405962B1 (ko) Ldpc 코드를 이용한 복호화 방법
Wicker et al. Fundamentals of codes, graphs, and iterative decoding
CN101796488A (zh) 奇偶校验矩阵的产生
Park et al. Construction of high-rate regular quasi-cyclic LDPC codes based on cyclic difference families
US20050149845A1 (en) Method of constructing QC-LDPC codes using qth-order power residue
CN1889367A (zh) 构造稀疏生成矩阵的方法及低密度分组校验码的编码方法
KR100669152B1 (ko) 저밀도 패리티 검사 코드의 부호화 장치 및 방법
KR100550101B1 (ko) 저밀도 패리티 검사 부호의 부호화와 복호 장치 및 그방법
KR100837730B1 (ko) 사전에 지정한 패리티를 검사한 결과를 이용해 ldpc코드를 부호화하는 방법
Hirotomo et al. A probabilistic computation method for the weight distribution of low-density parity-check codes
CN108432170B (zh) 用于多码分布式存储的装置和方法
CN100355211C (zh) 基于改进Tanner图的LDPC迭代编码方法
Xiao et al. Construction of good quasi-cyclic LDPC codes
Sari Effects of puncturing patterns on punctured convolutional codes
Xu et al. On the construction of quasi-systematic block-circulant LDPC codes
RU2365034C2 (ru) Способ и устройство для кодирования и декодирования данных
He et al. An encoder with speed over 40Gbps for RC LDPC codes with rates up to 0.96
Guo et al. A novel channel polarization on binary discrete memoryless channels

Legal Events

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

Granted publication date: 20100512

Termination date: 20160531