CN101032082B - 编码和解码数据的方法和设备 - Google Patents

编码和解码数据的方法和设备 Download PDF

Info

Publication number
CN101032082B
CN101032082B CN2005800269144A CN200580026914A CN101032082B CN 101032082 B CN101032082 B CN 101032082B CN 2005800269144 A CN2005800269144 A CN 2005800269144A CN 200580026914 A CN200580026914 A CN 200580026914A CN 101032082 B CN101032082 B CN 101032082B
Authority
CN
China
Prior art keywords
matrix
row
parity check
submatrix
matrix element
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.)
Active
Application number
CN2005800269144A
Other languages
English (en)
Other versions
CN101032082A (zh
Inventor
吴宇菲
布赖恩·K·克拉松
T·基思·布兰肯希普
维普·德赛
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.)
Motorola Mobility LLC
Google Technology Holdings LLC
Original Assignee
Motorola Inc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=35758925&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN101032082(B) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Motorola Inc filed Critical Motorola Inc
Publication of CN101032082A publication Critical patent/CN101032082A/zh
Application granted granted Critical
Publication of CN101032082B publication Critical patent/CN101032082B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • H03M13/6368Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing
    • H03M13/6393Rate compatible low-density parity check [LDPC] 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
    • 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/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
    • 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/1174Parity-check or generator matrices built from sub-matrices representing known block codes such as, e.g. Hamming codes, e.g. generalized LDPC 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

Landscapes

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

Abstract

本发明提出一种结构化的奇偶校验矩阵H,其中H是基础矩阵Hb的扩展,并且其中的Hb2包括第一部分和第二部分,该第一部分包含具有大于2的奇权重的列hb,而第二部分H'b2包含对行i、列j的各矩阵元素,当i=j时,该矩阵元素等于1,当i=j+1时,该矩阵元素等于1,在其他情况下,该矩阵元素等于0。基础矩阵Hb的扩展对该第二部分H'b2每列中的1使用同样的子矩阵,并且该扩展对hb中偶数个1使用成对的子矩阵。

Description

编码和解码数据的方法和设备
技术领域
本发明总的涉及编码和解码数据,具体说,涉及一种利用低密度奇偶校验(LDPC)码来编码和解码数据的方法和设备。
背景技术
正如美国专利申请序列号10/839995(该申请结合于此供参考)所公开的,低密度奇偶校验(LDPC)码是由奇偶校验矩阵H规定的线性区块码(linear block code)。一般而言,LDPC码是在伽罗华域GF(q)上定义的,q≥2。如果q=2,该码就是二进制码。所有的线性区块码可以被描述成k位信息向量s1×k与编码生成矩阵Gk×n的乘积,用以产生n-位码字(codeword)x1×n,其中编码率(code rate)为r=k/n。该码字x通过噪声信道来传输,并且所接收的信号向量y传递给解码器以估算该信息向量s1×k
给定一个n维空间,G的各行扩张成k维码字子空间C,并且奇偶校验矩阵Hm×n的各行扩张成m维对偶空间C,其中m=n-k。由于x=sG并且GHT=0,因此对于子空间C中的所***字,可得到xHT=0,其中“T”(或“T”)表示矩阵的转置。在LDPC码的讨论中,这通常写成
HxT=0T,                (1)
其中0是全零行向量,并且码字x=[s p]=[s0,s1,…,sk-1,p0,p1,…,pm-1],其中p0,…,pm-1是奇偶校验位;而s0,…,sk-1是***位(systematic bit),等于该信息向量中的信息位。
对于LDPC码,H中的非零项的密度很低,即H中的1所占的百分比很小,与使用高密度H相比,具有较好的纠错性能和较简单的解码。奇偶校验矩阵也可以用二分图(bipartite graph)来描述。二分图不仅是码的图解描述,而且也是解码器的模型。在这种二分图中,码字位(H的每列)用左侧的可变节点表示,而每个奇偶校验方程(H的每行)用右侧的校验结点表示。每个可变结点对应于H的列,而每个校验节点对应于H的行,因此“可变结点”和H的“列”是可互指的,“校验结点”和H的“行”也是可互指的。可变结点只与校验结点连接,并且校验结点只与可变结点连接。对于具有n个码字位和m个奇偶位的编码,如果码字位i参与了校验方程j,可变结点vi通过图中的某个边(edge)连接至校验结点cj,i=0,1,…,n-1,j=0,1,…,m-1。也就是说,如果该奇偶校验矩阵H中的项hji是1,则可变结点i连接于校验结点j。镜像方程(1),如果所有的校验结点具有偶的奇偶性,该可变结点表示有效的码字。
下面示出一个例子,来说明奇偶校验矩阵、奇偶校验方程和二分图之间的关系。令n=12,1/2码率的代码由下面矩阵定义
Figure GSB00000039343200021
其中矩阵的左面部分对应于k(=6)个信息位s,矩阵右面部分对应于m(=6)个奇偶位p。通过应用(1),(2)中的H定义如下的6个校验方程:
x 0 + x 2 + x 6 + x 7 = 0 x 1 + x 4 + x 7 + x 8 = 0 x 2 + x 5 + x 6 + x 8 + x 9 = 0 x 0 + x 3 + x 9 + x 10 = 0 x 1 + x 4 + x 10 + x 11 = 0 x 3 + x 5 + x 6 + x 11 = 0 . - - - ( 3 )
H也具有对应的如附图1所示的二分图。
如上所述,接收器获得所传输码字x的受污染版本y。为了解码y并确定原始的信息序列s,根据二分图应用诸如置信传播(beliefpropagation)的迭代解码算法。采用码字位的对数似然率(LLR)格式的软信息在可变结点集(bank)和校验结点集之间传递。当所有的校验方程被满足,或者达到最大允许迭代界限时,该迭代停止。
结构化LDPC码的构造是从小的mb×nb阶基础矩阵Hb开始,制作Hb的z个副本,并且互连接该z个副本以形成大的m×n矩阵H,其中m=mb×z,n=nb×z。利用这种矩阵表示,从Hb建立H,其中Hb中的每个1用z×z置换子矩阵替换,Hb中的每个0用z×z全零子矩阵替换。这个过程实际上把Hb的每个边(edge)映射到H中的长度为z的向量边(vector edge),把Hb的每个可变结点映射到H中的长度为z的向量可变结点,并且把Hb的每个校验结点映射到H中的长度为z的向量校验结点。将小矩阵Hb向量化以建立大矩阵H的好处是:
1.通过利用不同的z值,用单个基础矩阵Hb可以为大小为k=z×kb的许多不同的信息序列构造kb/nb码率的代码,其中kb=nb-mb
2.存储器的需求大大减少。利用结构化LDPC构造,只需存储基础矩阵Hb和对其中1的置换,由于Hb通常比H小得多并且置换可以非常简单,因此只需要很小的存储器。
3.编码和解码能够在一组位上进行而不是在单个的位上进行,例如,一组z个消息能够从存储器取得、置换并在向量可变结点和向量校验结点之间传递。
虽然结构化LDPC构造方法大大地降低了实现的复杂性,但是还不存在这样一种技术,用于构造基础矩阵并对于给定目标H大小指定置换矩阵,用来产生具有良好纠错性能并能够有效编码和解码的LDPC码。因此,需要有一种用于构造结构化的H的方法和设备,以及利用结构化的H矩阵来编码和解码数据的方法和设备。
发明内容
根据一个方面,提供了一种操作发送器的方法,该发送器根据当前符号集s=(s0,…,sk-1)产生奇偶校验位p=(p0,…,pm-1),该方法包括如下步骤:接收所述当前符号集s=(s0,…,sk-1);利用奇偶校验矩阵H确定所述奇偶校验位;以及与该当前符号集一起发送该奇偶校验位;其中,奇偶校验矩阵H是具有比奇偶校验矩阵H的大小小的大小的基础矩阵Hb的扩展,其中Hb包括区段Hb1和区段Hb2,其中Hb2包含第一部分和第二部分H′b2,该第一部分包含具有大于2的奇权重的列hb,而该第二部分H′b2包含对行i和列j的各矩阵元素,当i=j时,该矩阵元素等于1,当i=j+1时,该矩阵元素等于1,在其他情况下,该矩阵元素等于0;其中所述基础矩阵Hb的扩展对该第二部分H′b2每列中的1使用同样的子矩阵,并且其中该扩展对hb中的偶数个1使用成对的子矩阵。
根据另一个方面,提供了一种用于发送的设备,包括用于存储奇偶校验矩阵H的存储装置;利用奇偶校验矩阵H以确定奇偶校验位的微处理器;以及用于发送奇偶校验位的发送器;其中,奇偶校验矩阵H是基础矩阵Hb的扩展,其中Hb包括区段Hb1和区段Hb2,其中Hb2包含第一部分和第二部分H′b2,该第一部分包括具有大于2的奇权重的列hb,而该第二部分H′b2包含对行i、列j的各矩阵元素,当i=j时,该矩阵元素等于1,当i=j+1时,该矩阵元素等于1,在其他情况下,该矩阵元素等于0;其中利用两个相同的子矩阵扩展H′b2的每个列中的1,利用成对的子矩阵扩展hb中的偶数个1。
根据另一个方面,提供了一种用于接收的设备,包括:用于存储奇偶校验矩阵H的存储装置;用于接收信号向量y=(y0…yn-1)的接收器;以及利用奇偶校验矩阵H来确定当前符号集(s0,…,sk-1)的微处理器,其中H是基础矩阵Hb的扩展,并且其中Hb包括区段Hb1和区段Hb2,并且其中Hb2包括第一部分和第二部分,该第一部分包含具有大于2的奇权重的列hb,而第二部分H′b2包含对行i、列j的各矩阵元素,当i=j时,该矩阵元素等于1,当i=j+1时,该矩阵元素等于1,在其他情况下,该矩阵元素等于0,并且其中,利用两个同样的子矩阵来扩展H′b2的每列中的1,并且利用成对的子矩阵来扩展hb中的偶数个1。
附图说明
图1示出(12,6)H矩阵的二分图。
图2示出基础矩阵Hb、模型矩阵Hbm和最终扩展的矩阵H之间的关系。
图3是编码器的方块图。
图4是解码器的方块图。
图5是示出图3的编码器的操作的流程图。
图6是示出图4的解码器的操作的流程图。
具体实施方式
为了解决上述要求,提出一种结构化奇偶校验矩阵H,其中H是基础矩阵Hb的扩展,并且其中Hb包括区段Hb1和区段Hb2,并且其中Hb2包括第一部分和第二部分,该第一部分包含具有大于2的奇权重的列hb,而第二部分包含对行i和列j的各矩阵元素,当i=j时,该矩阵元素等于1,当i=j+1,该矩阵元件等于1,在其他情况下,该矩阵元素等于0。基础矩阵Hb的扩展对该第二部分H′b2每列中的1使用同样的子矩阵,并且其中该扩展对hb中偶数个1使用成对的子矩阵。
本发明包括用于操作发送器的方法,该发送器根据当前符号集s=(s0,…,sk-1)产生奇偶校验位p=(p0,…,pm-1)。该方法包括接收当前符号集s=(s0,…,sk-1)的步骤,和利用矩阵H确定奇偶校验位的步骤。该奇偶校验位与该当前符号集一起传输。矩阵H是基础矩阵Hb的扩展,其中Hb包括区段Hb1和区段Hb2,并且其中Hb2包括第一部分和第二部分H′b2,该第一部分包含具有大于2的奇权重的列hb,而第二部分H′b2包含对行i和列j的各矩阵元素,当i=j时,该矩阵元素等于1,当i=j+1时,该矩阵元素等于1,在其他情况下,该矩阵元素等于0。基础矩阵Hb的扩展对该第二部分H′b2每列中的1使用同样的子矩阵,并且其中该扩展对hb中偶数个1使用成对的子矩阵。
本发明还包括用于操作接收器的方法,该接收器估计当前符号集s=(s0,…,sk-1)。该方法包括接收被接收的信号向量y=(y0…yn-1)的步骤和利用矩阵H估计当前符号集s=(s0,…,sk-1)的步骤。矩阵H是基础矩阵Hb的扩展,并且其中Hb包括区段Hb1和区段Hb2,,其中Hb2包括第一部分和第二部分H′b2,该第一部分包含具有大于2的奇权重的列hb,而第二部分H′b2包含对行i和列j的各矩阵元素,当i=j时,该矩阵元素等于1,当i=j+1时,该矩阵元件等于1,在其他情况下该矩阵元素等于0。基础矩阵Hb的扩展对该第二部分H′b2每列中的1使用同样的子矩阵,并且其中该扩展对hb中偶数个1使用成对的子矩阵。
本发明还包括一种设备,该设备包括用于存储矩阵H的存储装置,利用矩阵H确定奇偶校验位的微处理器,其中H是基础矩阵Hb的扩展,并且Hb包括区段Hb1和区段Hb2,其中Hb2包括第一部分和第二部分H′b2,该第一部分包含具有大于2的奇权重的列hb,而第二部分H′b2包含对行i和列j的各矩阵元件,当i=j时,该矩阵元素等于1,当i=j+1时,该矩阵元素等于1,在其他情况下该矩阵元素等于0。基础矩阵Hb的扩展对该第二部分H′b2每列中的1使用同样的子矩阵,并且其中该扩展对hb中偶数个1使用成对的子矩阵。
本发明包括一种设备,该设备包括用于存储矩阵H的存储装置,用于接收信号向量y=(y0…yn-1)的接收器,和利用矩阵H确定当前符号集(s0,…,sk-1)的微处理器。矩阵H是基础矩阵Hb的扩展,其中Hb包括区段Hb1和区段Hb2,其中Hb2包括具有大于2的奇权重的列hb的第一部分。Hb2包含具有对行i和列j的各矩阵元素的第二部分H′b2,当i=j时,该矩阵元素等于1,当i=j+1时,该矩阵元件等于1,在其他情况下,该矩阵元素等于0。两个同样的子矩阵用于扩展H′b2的每列中的1,并且成对的子矩阵用于扩展hb中的偶数个1。
现在回到附图,其中同样的附图标记用于指同样的部件。图3是根据本发明第一实施例的编码器300的方框图。如图所示,编码器300包括微处理器301和查找表303。在本发明的第一实施例中,微处理器301包括数字信号处理器(DSP),例如但不限于MSC8300和DSP56300数字信号处理器。此外,查找表303用作存储矩阵的存储装置,并包括只读存储器;但是本领域的普通技术人员将会认识到,也可以利用其他形式的存储器(例如随机存取存储器、磁存储存储器等)。在第二实施例中,微处理器301和查找表303的功能可以包含在专用集成电路(ASIC)中,或现场可编程的门阵列(FPGA)中。具体说,查找表303可以按对应于电路中存在的或不存在的信号路径的存储器形式来实现。
如上所述,通常,按多个奇偶校验位加上***位来输出编码的数据,其中奇偶校验位和***位一起形成码字x。在本发明的第一实施例中,奇偶校验矩阵H存储在查找表303中,并且由微处理301存取,用于解方程(1)。具体说,微处理器301根据当前符号集s=(s0,…,sk-1)和奇偶校验矩阵H确定用于奇偶校验位p=(p0,…,pm-1)的适当值。然后该奇偶校验位和符号集传递给发送器并传输给接收器。
图4是根据本发明的一个实施例的解码器400的方块图。如图所示,该解码器400包括微处理器401和查找表403。在本发明的第一实施例中,微处理器401包括数字信号处理器(DSP),例如但不限于MSC8300和DSP56300数字信号处理器。此外,查找表403用作存储矩阵H的存储装置,并包括只读存储器。但是,本领域的普通技术人员将会认识到,也可以利用其他形式的存储器(例如随机存取存储器、磁存储存储器等)。在第二实施例中,微处理器401和查找表403的功能可以包含在专用集成电路(ASIC)中,或现场可编程的门阵列(FPGA)中。具体说,查找表303可以用对应于电路中存在的或不存在的信号路径的存储器形式来实现。
接收的信号向量(经由接收器接收的)y=(y0,…,yn-1)对应于通过噪声信道传输的码字x,其中,如上所述,该编码数据x是码字向量。在本发明的第一实施例中,奇偶校验矩阵H存放在查找表403中,并且通过微处理器401存取以解码y并估计当前符号集s(即当前符号集(s0,…,sk-1))。具体说,微处理器401根据接收到的信号向量y=(y0,…,yn-1)和奇偶校验矩阵H来估计当前符号集(s0,…,sk-1)。
正如本领域所熟知的,为了解码,解码器400可按许多不同方式在微处理器401中使用奇偶校验矩阵H。一种这样的方式是用H进行向量矩阵乘法以确定可能的误差模式。另一种这样的方法是利用H来构造二分图,其中图中的各边对应于H中的1,并且在该二分图上迭代处理y。
对于结构化LDPC,该z×z子矩阵可以是置换矩阵(permutationmatrix)、置换矩阵的求和或任何类型的二进制矩阵。由于置换矩阵P在每行具有单个的1并在每列中具有单个的1,如果使用置换矩阵,该扩展的矩阵H的权重分布与基础矩阵Hb是一样的。因此,选择Hb的权重分布尽可能接近所希望的最终权重分布。尽管可以利用任何矩阵,但是下面的描述是示例说明Hb的项被置换矩阵替换的情况。如果向量边(vector edge)的置换子矩阵Pz×z在(行,列)项(p(i),i)具有1,则在该向量边被连接于向量校验结点之前,该向量边中的第i个边被置换到第p(i)个位置。换句话说,这个置换使得相关的向量可变结点内的第i个可变结点被连接到相关的向量校验结点内的第p(i)个校验结点。
构成H的置换可以非常简单而不使性能降低,诸如简单的循环移位和/或位反序(reversal)。例如,可以利用简单的循环向右移位。利用这种约束,每个H矩阵可以用mb×nb阶模型矩阵Hbm唯一地表示,其可以通过下述方式得到:
●用-1替换Hb中的每个0,以表示z×z全零矩阵,和
●用循环移位大小p(i,j)替换Hb中的每个hi,j=1,其中p(i,j)是非负数。
由于循环向左移位(x mod z)次与循环向右移位((z-x)mod z)次等价,因此仅讨论循环向右移位就足够了,并且为了简便将其称为循环移位。正如前面所讨论的,在H和Hbm之间存在一一对应。因此,如果给定z,则Hbm就是H的简化表示。用符号表示法,模型矩阵用下标“bm”区别于基础矩阵,而扩展的矩阵通过去掉下标“bm”来区别。这三个矩阵之间的关系示于图2。利用这种结构,代码具有类似于大小为m×n阶的随机矩阵H的纠错性能,同时编码和解码根据小得多的Hbm来进行。
例如方程(2)的矩阵可以用作基础矩阵Hb,以建立如下的模型矩阵Hbm
Figure GSB00000039343200091
其中z=3,通过用3×3的全零子矩阵替换每个-1,并用子矩阵Pi替换每个i,i=0,1,2,把Hbm转换为(mb×z)×(nb×z)矩阵H,其中
P 0 = 1 0 0 0 1 0 0 0 1 , P 1 = 0 1 0 0 0 1 1 0 0 , P 2 = 0 0 1 1 0 0 0 1 0 .
注意P0是单位矩阵,并且Pi的列是P0的列循环向右移位i次,i>0。
给定向量q=[q0,q1,q2],则有qP0=[q0,q1,q2],qP1=[q2,q0,q1],qP2=[q1,q2,q0]。换句话说,qPi是由向量q循环向右移位而得到的。另一方面,PiqT可通过qT的循环向上移位而得到,或通过q的等价的循环向左移位得到。当利用z×z阶矩阵Q时,适用同样的规则:通过Q的各列的循环向右移动而得到QPi,通过Q的各行的循环向上移位而得到PiQ。
基础矩阵H
对于未经向量化的LDPC代码,通过对H的奇偶性部分的修改的阶梯结构,H矩阵产生高效的编码而不损害其性能。一般而言,假定x=[s p]=[s0,s1,…,sk-1,p0,p1,…,pm-1],一个m×n阶H矩阵可分成两个子矩阵,
H=[H1 H2],            (5)
其中H2具有修改的阶梯结构,而H1可以是大小为m×n阶的任何二进制矩阵。这个同样的结构可以用于在结构化LDPC的构造中建立基础矩阵Hb。同样,利用修改的阶梯结构,Hb能够分成两个部分,其中Hb1对应于***位s,Hb2对应于奇偶校验位p:
Figure GSB00000039343200101
区段Hb2可以够进一步分成两个区段,其中向量hb具有奇权重wh,而H′b2具有阶梯结构:
Figure GSB00000039343200102
Figure GSB00000039343200103
区段Hb1能够被随机建立。优选整个矩阵Hb的权重分布尽可能接近所希望的权重分布。
移位大小
为了将基础矩阵Hb转换成mb×nb阶模型矩阵Hbm(其扩展成H),需要对于Hb中的每个1确定循环移位大小p(i,j)。该移位大小(shift size)可以首先对H2指定。在H2区段的移位大小被确定之后,可确定H1部分的移位大小,以实现H的整体良好性能。该基础矩阵的H1部分和该基础矩阵H1部分(区段Hbm1)的移位大小能够按多种不同的方式来指定。例如,可以选择并接受用于移位大小的随机值,如果该移位大小不引起显著的性能损害。性能下降可能是由于引进过多的短长度回路或低权重码字引起的。也可以利用在LDPC领域中的其他可用技术。
对于给定的目标H大小,应该指定循环移位大小p(i,j)使得能够高效解码而不牺牲解码性能。为了方便解码,可指定该移位使得对应于hb中的1的各移位矩阵被加在一起时除了一个之外所有的都被消去,并且H′b2的所有向量行当被加在一起时都被消去。也就是说,除了一项之外,对hb成对地指定移位大小,并且对H′b2每列中的两个1指定同样的移位大小。例如,如果hb=[1 0 0 1 0 0 1]T,则把hbm=[3 -1 -1 3-1 -1 4]T作为模型矩阵中对应的列是可以接受的,因为成对指定了移位大小3。由于每列H′b2中的所有的非零项(两个1)被指定同样的移位大小,任何移位大小选择等价于0移位大小(即单位子矩阵)加上该向量列内的各位的置换。因此,为了方便,H′b2的所有移位大小可被指定为0,即当扩展成H时,在H′b2中的每个1用z×z单位子矩阵替换。
由于存在回路,hbm的移位大小应当仔细地指定。可以应用规则来避免形成短回路或低权重码字。能够用来避免回路的一种性质是:
如果2c个边形成基础矩阵Hb中的长度为2c的回路,则当且仅当
Σ i = 2 j j = 0 , . . . , c - 1 p ( i ) = Σ i = 2 j + 1 j = 0 , . . . , c - 1 p ( i ) mod z , - - - ( 8 )
成立时,相应的2c个向量边形成扩展矩阵H中长度为2c的z个回路。其中z是扩展系数,p(i)是该模型矩阵Hbm中的边i的循环移位大小,并且边0、1、2、…、2c-1(以这种顺序)形成Hb中的回路。
由于Hb2的结构,在hb和H′b2之间存在回路。因此,根据上述性质,hbm中任何两个同样的移位大小将导致在扩展的矩阵H中重复该回路z次。但是如果这两个移位相距很远,则该回路具有很长的长度,并且对迭代解码几乎没有影响。因此,在优选实施例中,当基础矩阵中的hb具有三个1时,为了使回路长度最大化,被指定同样移位大小的两个1可以位于hbm的顶部和底部(分开尽可能远),同时把一个1留在hb中间使其具有不成对的移位大小。例如,hbm=[3 -1 3 -1 -1 -1 4]T将导致h和H′2之间的长度为6的z个回路,同时hbm=[3 -1 4 -1 -1 -1 3]T将导致在h和H′2之间的长度为14的z个回路,其中h和H′2是从hb和H′b2扩展而来。
总之,该Hb2区段映射到该模型矩阵
Figure GSB00000039343200121
Figure GSB00000039343200122
其中kb=nb-mb,在hbm中具有wh(奇数,wh>=3)个非负项,而为了简明,使H′bm2中的-1项为空白。所有的p(i,kb)值除了一个之外在hbm中出现偶数次,这例外的一个可以映射到任何非零子矩阵。因此,对所有wh个移位可以给出同样的值(例如0),因wh是奇数。对于H′bm2,p(i,j)=p(i+1,j),j=kb+1,kb+2,…,nb-1,i=j-kb-1。在该优选实施例中,假定wh=3,一个例子在该H′bm2区段中具有hbm=[0 -1 … -1 ph -1…-1…0]T,ph mod z≠0,并且p(i,j)=p(i+1,j)=0,j=kb+1,kb+2,…,nb-1,i=j-kb-1。
虽然上述的讨论集中在使用作为单位矩阵的循环移位的子矩阵,但是,一般而言,可以利用任何其他子矩阵(并且按等价于基楚模型矩阵的形式表示)。为了方便解码,其约束是:
1.在H′bm2的每列中,两个非零子矩阵是相同的;
2.hbm的wh(奇数,wh>=3)个非零子矩阵,除了一个可以是任意非零子矩阵之外,都是成对的(即,一个子矩阵和另一个子矩阵是相同的)。
编码
编码是对给定的信息序列s确定奇偶性序列p的过程。为了编码结构化LDPC码,每个操作对一组中的z个位执行,而不是在单个位上执行。可替换地,不必使用向量操作,并且按等价的标量形式实现下面的等式。为了编码,s划分成kb=nb-mb组z个位。把这个分组的s记为u,
u=[u(0) u(1) … u(kb-1)]              (10)
其中u的每个元素是如下的列向量
u(i)=[siz siz+1 … s(i+1)z-1]T        (11)
利用模型矩阵Hbm,奇偶校验序列p在一组z中确定。令分组的p用v表示,
v=[v(0) v(1) … v(mb-1)],            (12)
其中v的每个元素是如下的列向量
v(i)=[piz piz+1 … p(i+1)z-1]T.       (13)
编码在两个步骤中进行,(a)初始化,用于确定v(0),和(b)递归,根据v(i)确定v(i+1),0≤i≤mb-2。
用于v(0)的表示式可以通过对方程(1)的各行求和来推导出,得到
P p ( x , k b ) v ( 0 ) Σ j = 0 k b - 1 Σ i = 0 m b - 1 P p ( i , j ) u ( j ) - - - ( 14 )
其中x是hbm的行序号(index),其中该项是非负的并且被使用奇数次。在优选实施例中,hbm的顶部项和底部项是成对的,因此1≤x≤mb-2。通过用
Figure GSB00000039343200142
乘以方程(14)的两侧得到v(0)的解。对于这里所考虑的特定情况,其中p(x,kb)表示循环位移, P p ( x , k b ) - 1 = P z - p ( x , k b ) . 换句话说,由下式得到v(0)
v ( 0 ) = P z - p ( x , k b ) Σ j = 0 k b - 1 Σ i = 0 m b - 1 P p ( i , j ) u ( j ) . - - - ( 15 )
一般来说,公式(16)和(17)中表示的递归可通过考虑H′b2,的结构被推导出
P p ( i , k b + 1 ) v ( 1 ) = Σ j = 0 k b - 1 P p ( i , j ) u ( j ) + P p ( i , k b ) v ( 0 ) , i = 0 , - - - ( 16 )
P p ( i , k b + i + 1 ) v ( i + 1 ) = P p ( i , k b + i ) v ( i ) + Σ j = 0 k b - 1 P p ( i , j ) u ( j ) + P p ( i , k b ) v ( 0 ) , i = 1 , . . . , m b - 2 , - - - ( 17 )
其中
       P-1≡0z×z.                    (18)
因此,对于0≤i≤mb-2,不在v(0)中的所有奇偶校验位通过迭代求值公式(16)和(17)确定。
在H′b2中的各个1的移位大小都为零的优选实施例中,公式(16)和(17)可以简化成公式(19)和(20),
v ( 1 ) = Σ j = 0 k b - 1 P p ( i , j ) u ( j ) + P p ( i , k b ) v ( 0 ) , i = 0 , - - - ( 19 )
v ( i + 1 ) = v ( i ) + Σ j = 0 k b - 1 P p ( i , j ) u ( j ) + P p ( i , k b ) v ( 0 ) , i = 1 , . . . , m b - 2 . - - - ( 20 )
因此,在一般情况下,对于0≤i≤mb-2,不在v(0)中的所有奇偶校验位通过迭代求值公式(19)和(20)来确定。
公式(14)、(19)和(20)描述了编码算法。这些公式还可以通过标准数字逻辑体系结构进行直接的说明。首先,由于Hbm的非负元素p(i,j)表示向量的循环位移大小,形为Pp(i,j)u(j)的所有的积可以通过大小为z的桶式移位器(barrel shifter)来实现。零循环移位大小可以不必是桶式移位。由于实现所有可能循环移位的桶式移位器必需提供从每个输入位到所有输出位的连接,其运行速度决定于z。对于给定的z,通过只允许所有可能循环移位的合适子集来降低复杂性并提高速度。例如,Hbm可以只使用偶循环移位大小来构造。公式(14)、(19)和(20)中的求和表示当p(i,j)=-1时沿向量的被选通(即未更新)的XOR(异或)操作。
为了实现公式(14)、(19),和(20)中的求和,Hbm的项p(i,j)可以存储在宽度为
Figure GSB00000039343200153
位的只读存储器(ROM)中,0≤i≤kb,0≤j≤mb-1,。该分组的信息序列可以存储在大小为z的存储器中,该存储器能够按顺序方式读出。当每个信息向量u(j)被读出时,来自Hbm ROM的对应项能够被读出,用于指示必要循环移位的桶式移位器。循环移位之后,包含部分求和的寄存器被更新。对于公式(14),每个内层求和完成之后,该结果能够用于更新包含外层求和的另一个寄存器。当该外层求和完成时,它可以是通过z-p(x,kb)循环移位的。
假定桶式移位能够在单个时钟周期中实现,编码能够在近似(kb+1)mb个时钟周期中完成。利用在计算公式(14)时可用的结果,通过计算并存储公式(19)和(20)的求和,以mb-1个额外的宽度z的寄存器为代价,可以减少所述的时钟周期数。
扩展矩阵
码扩展过程可以应用于结构化代码以实现低编码率代码。编码率逐渐变低的代码可以用于增量式冗余(IR)过程的后续传输中。具体说,如果第一次传输的模型矩阵是
H bm ( 1 ) = H bm 1 ( 1 ) H bm 2 ( 1 ) , - - - ( 21 )
则对于第二次传输的模型矩阵可以用
Figure GSB00000039343200162
等等,其中对于每个传输i,子矩阵Hbm2 (i)具有(9)中的格式并且其大小为mb (i)×mb (i)。第一次传输可以发送 n b ( 1 ) = k b + m b ( 1 ) 组的位,每组的大小为z。第一次传输后,利用接收到的信号
Figure GSB00000039343200166
和(21)来进行解码。第二次传输可以发送大小为z的另外的mb (2)组的位,
Figure GSB00000039343200167
其中 m 2 = m b ( 2 ) z , 并且,所述第一次传输的各个位和所述第二次传输的各个位放在一起,
Figure GSB00000039343200169
是对应于(22)的码字。因此,在第二次传输后,根据(22)和从第一次传输和第二次传输接收到的信号的组合来进行解码。对于更多的传输,可以重复这个过程。第二次传输后的解码基于编码率为 k b / n b ( 2 ) = k b / ( n b ( 1 ) + m b ( 2 ) ) 的码,该编码率低于第一次的传输的编码率。对于更多的传输,可以重复该过程,其中每个增加的传输有助于得到更低编码率的代码。
图5是示出编码器300的操作的流程图,并且具体说,是微处理器301操作的流程图。逻辑流程在步骤501开始,其中当前符号集(s0,…,sk-1)由微处理器301接收。在步骤303,奇偶校验位的值根据当前符号集和H来确定。具体说,奇偶校验位(p0,…,pm-1)按如上所述确定,其中H是基础矩阵Hb的扩展。正如所讨论的,Hb包括区段Hb1和区段Hb2,并且其中Hb2包括第一部分和第二部分,该第一部分包含具有大于2的奇权重的列hb,而第二部分包含对行i和列j的各矩阵元素,当i=j时该矩阵元素为1,当i=j+1时,该矩阵元素为1,在其他情况下该矩阵元素为0。此外,基础矩阵Hb的扩展对该第二部分H′b2每列中的1使用同样的子矩阵,并且其中该扩展对hb中偶数个1使用成对的子矩阵。在步骤505,当前符号集和奇偶校验位经由空中(over-the-air)传输来传递。
图6是示出解码器400的操作的流程图,具体说,是微处理器401操作的流程图。逻辑流程在步骤601开始,其中接收被接收信号向量y=(y0,…,yn-1)。在步骤603,当前符号集s(当前符号集(s0,…,sk-1))的估计根据H来确定。正如所讨论的,H是基础矩阵Hb的扩展,并且其中Hb包括区段Hb1和区段Hb2,并且其中Hb2包括第一部分和第二部分,该第一部分包含具有大于2的奇权重的列hb,而第二部分包含对行i和列j的矩阵元素,当i=j时,该矩阵元素等于1,当i=j+1时,该矩阵元素等于1,在其他情况下该矩阵元素等于0。
虽然已经参考具体实施例示出并描述了本发明,但是本领域的普通技术人员应当理解,在不脱离本发明精神实质的情况下可以在形式和细节上进行各种变化。例如,虽然本发明利用在x内定义的si和pi的次序示出,但是本领域的普通技术人员将会认识到,x内的其他的位次序也可以发生,因为该码字位可以按任何顺序采集,只要H的列被相应地重新记录。因此,虽然上述描述已经参考二进制码(即,在伽罗华域GF(2)上定义的码)具体示出并描述,但是本领域的普通技术人员将会认识到,也可以利用任意的GF。虽然上面给出的例子按一种格式示出,但是其他格式也是可能的,可提供类似的编码和代码修改过程。例如,H的行可以被置换而不影响奇偶校验位的值。在另一个实例中,修改的阶梯结构可以用于该奇偶校验位的子集。在又一个实例中,当将基础矩阵扩展成扩展矩阵时,可以执行附加的步骤。该矩阵H也可以用在依靠奇偶校验矩阵的任何类型的解码器中。这些变化也在权利要求的范围内。

Claims (10)

1.一种操作发送器的方法,该发送器根据当前符号集s=(s0,…,sk-1)产生奇偶校验位p=(p0,…,pm-1),该方法包括如下步骤:
接收所述当前符号集s=(s0,…,sk-1);
利用奇偶校验矩阵H确定所述奇偶校验位;以及
与该当前符号集一起发送该奇偶校验位;
其中,奇偶校验矩阵H是具有比奇偶校验矩阵H的大小小的大小的基础矩阵Hb的扩展,其中Hb包括区段Hb1和区段Hb2,其中Hb2包含第一部分和第二部分H′b2,该第一部分包含具有大于2的奇权重的列hb,而该第二部分H′b2包含对行i和列j的各矩阵元素,
当i=j时,该矩阵元素等于1,
当i=j+1时,该矩阵元素等于1,
在其他情况下,该矩阵元素等于0;
其中所述基础矩阵Hb的扩展对该第二部分H′b2每列中的1使用同样的子矩阵,并且其中该扩展对hb中的偶数个1使用成对的子矩阵。
2.根据权利要求1的方法,其中通过使用大小为z×z的子矩阵替换Hb的每个项来扩展该Hb以产生H。
3.根据权利要求1的方法,其中通过使用大小为z×z的零子矩阵替换Hb的每个零元素来扩展该Hb以产生H。
4.根据权利要求1的方法,其中通过使用非零子矩阵替换Hb的每个非零元素来扩展该Hb以产生H。
5.根据权利要求1的方法,其中通过使用非零置换子矩阵替换Hb的每个非零元素来扩展该Hb以产生H。
6.根据权利要求1的方法,其中:
Figure FSB00000039343100021
Figure FSB00000039343100022
其中向量hb具有奇权重wh>=3。
7.一种用于发送的设备,包括
用于存储奇偶校验矩阵H的存储装置;
利用奇偶校验矩阵H以确定奇偶校验位的微处理器;以及
用于发送奇偶校验位的发送器;
其中,奇偶校验矩阵H是基础矩阵Hb的扩展,其中Hb包括区段Hb1和区段Hb2,其中Hb2包含第一部分和第二部分H′b2,该第一部分包括具有大于2的奇权重的列hb,而该第二部分H′b2包含对行i、列j的各矩阵元素,
当i=j时,该矩阵元素等于1,
当i=j+1时,该矩阵元素等于1,
在其他情况下,该矩阵元素等于0;
其中利用两个相同的子矩阵扩展H′b2的每个列中的1,利用成对的子矩阵扩展hb中的偶数个1。
8.根据权利要求7的设备,其中:
Figure FSB00000039343100023
Figure FSB00000039343100024
其中向量hb具有奇权重wh>=3。
9.一种用于接收的设备,包括:
用于存储奇偶校验矩阵H的存储装置;
用于接收信号向量y=(y0…yn-1)的接收器;以及
利用奇偶校验矩阵H来确定当前符号集(s0,…,sk-1)的微处理器,
其中H是基础矩阵Hb的扩展,并且其中Hb包括区段Hb1和区段Hb2,并且其中Hb2包括第一部分和第二部分,该第一部分包含具有大于2的奇权重的列hb,而第二部分H′b2包含对行i、列j的各矩阵元素,
当i=j时,该矩阵元素等于1,
当i=j+1时,该矩阵元素等于1,
在其他情况下,该矩阵元素等于0,并且
其中,利用两个同样的子矩阵来扩展H′b2的每列中的1,并且利用成对的子矩阵来扩展hb中的偶数个1。
10.根据权利要求9的设备,其中:
Figure FSB00000039343100031
Figure FSB00000039343100032
其中向量hb具有奇权重wh>=3。
CN2005800269144A 2004-08-09 2005-08-03 编码和解码数据的方法和设备 Active CN101032082B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US60000504P 2004-08-09 2004-08-09
US60/600,005 2004-08-09
US11/004,359 2004-12-03
US11/004,359 US7143333B2 (en) 2004-08-09 2004-12-03 Method and apparatus for encoding and decoding data
PCT/US2005/027782 WO2006020495A1 (en) 2004-08-09 2005-08-03 Method and apparatus for encoding and decoding data

Publications (2)

Publication Number Publication Date
CN101032082A CN101032082A (zh) 2007-09-05
CN101032082B true CN101032082B (zh) 2010-09-15

Family

ID=35758925

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800269144A Active CN101032082B (zh) 2004-08-09 2005-08-03 编码和解码数据的方法和设备

Country Status (10)

Country Link
US (1) US7143333B2 (zh)
EP (2) EP1790081A4 (zh)
JP (1) JP4516602B2 (zh)
KR (1) KR100884698B1 (zh)
CN (1) CN101032082B (zh)
BR (1) BRPI0514179B1 (zh)
ES (1) ES2421942T3 (zh)
PL (1) PL2387157T3 (zh)
RU (1) RU2370886C2 (zh)
WO (1) WO2006020495A1 (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100906474B1 (ko) * 2003-01-29 2009-07-08 삼성전자주식회사 저밀도 부가정보 발생용 매트릭스를 이용한 에러 정정방법 및그 장치
US7581157B2 (en) 2004-06-24 2009-08-25 Lg Electronics Inc. Method and apparatus of encoding and decoding data using low density parity check code in a wireless communication system
KR101065693B1 (ko) * 2004-09-17 2011-09-19 엘지전자 주식회사 Ldpc 코드를 이용한 부호화, 복호화 방법 및 부호화또는 복호화를 위한 ldpc 코드 생성 방법
KR101208547B1 (ko) * 2004-09-17 2012-12-05 엘지전자 주식회사 Ldpc 코드를 이용한 부호화 및 복호화 방법
JP2008515342A (ja) * 2004-10-01 2008-05-08 トムソン ライセンシング 低密度パリティ検査(ldpc)復号器
EP1829223B1 (en) * 2004-12-22 2013-02-13 LG Electronics Inc. Parallel, layered decoding for Low-Density Parity-Check (LDPC) codes
CN100486150C (zh) * 2005-01-23 2009-05-06 中兴通讯股份有限公司 基于非正则低密度奇偶校验码的编译码器及其生成方法
US20070180344A1 (en) * 2006-01-31 2007-08-02 Jacobsen Eric A Techniques for low density parity check for forward error correction in high-data rate transmission
US7941737B2 (en) * 2006-04-19 2011-05-10 Tata Consultancy Services Limited Low density parity check code decoder
KR101119111B1 (ko) * 2006-05-04 2012-03-16 엘지전자 주식회사 Ldpc 부호를 이용한 데이터 재전송 방법
KR101227514B1 (ko) 2007-03-15 2013-01-31 엘지전자 주식회사 Ldpc 부호화 및 복호화를 위한 모델 행렬을 구성하는방법
US8418023B2 (en) * 2007-05-01 2013-04-09 The Texas A&M University System Low density parity check decoder for irregular LDPC codes
US20080320374A1 (en) * 2007-06-22 2008-12-25 Legend Silicon Corp. Method and apparatus for decoding a ldpc code
JP4823176B2 (ja) 2007-08-31 2011-11-24 パナソニック株式会社 復号方法及び復号装置
US8464129B2 (en) * 2008-08-15 2013-06-11 Lsi Corporation ROM list-decoding of near codewords
KR101321487B1 (ko) 2009-04-21 2013-10-23 에이저 시스템즈 엘엘시 기입 검증을 사용한 코드들의 에러-플로어 완화
US8392789B2 (en) * 2009-07-28 2013-03-05 Texas Instruments Incorporated Method and system for decoding low density parity check codes
US8464142B2 (en) 2010-04-23 2013-06-11 Lsi Corporation Error-correction decoder employing extrinsic message averaging
US8499226B2 (en) 2010-06-29 2013-07-30 Lsi Corporation Multi-mode layered decoding
US8458555B2 (en) 2010-06-30 2013-06-04 Lsi Corporation Breaking trapping sets using targeted bit adjustment
US8504900B2 (en) 2010-07-02 2013-08-06 Lsi Corporation On-line discovery and filtering of trapping sets
US8768990B2 (en) 2011-11-11 2014-07-01 Lsi Corporation Reconfigurable cyclic shifter arrangement
US8977937B2 (en) * 2012-03-16 2015-03-10 Lsi Corporation Systems and methods for compression driven variable rate decoding in a data processing system
RU2012146685A (ru) 2012-11-01 2014-05-10 ЭлЭсАй Корпорейшн База данных наборов-ловушек для декодера на основе разреженного контроля четности
US9083383B1 (en) * 2013-01-29 2015-07-14 Xilinx, Inc. Parity check matrix
US9203440B1 (en) 2013-01-29 2015-12-01 Xilinx, Inc. Matrix expansion
US9306601B2 (en) 2013-02-13 2016-04-05 Qualcomm Incorporated LDPC design for high parallelism, low error floor, and simple encoding
CN106201781B (zh) * 2016-07-11 2019-02-26 华侨大学 一种基于右边正则纠删码的云数据存储方法
US10289348B2 (en) * 2016-12-30 2019-05-14 Western Digital Technologies, Inc. Tapered variable node memory
SG11202009379VA (en) 2017-03-24 2020-10-29 Zte Corp Processing method and device for quasi-cyclic low density parity check coding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1499731A (zh) * 2002-10-26 2004-05-26 三星电子株式会社 低密度奇偶校验码解码装置和方法
CN1514548A (zh) * 2002-10-15 2004-07-21 三星电子株式会社 纠错编码设备及方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4564944A (en) * 1983-12-30 1986-01-14 International Business Machines Corporation Error correcting scheme
JPS6250943A (ja) * 1985-08-30 1987-03-05 Hitachi Ltd 記憶装置
WO2001097387A1 (en) * 2000-06-16 2001-12-20 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
US6948109B2 (en) * 2001-10-24 2005-09-20 Vitesse Semiconductor Corporation Low-density parity check forward error correction
ATE556491T1 (de) * 2002-07-03 2012-05-15 Dtvg Licensing Inc Methode und verfahren für die speicherverwaltung in low density parity check (ldpc) decodern
CA2536259C (en) * 2002-08-20 2011-05-24 Flarion Technologies, Inc. Methods and apparatus for encoding ldpc codes
US6785863B2 (en) * 2002-09-18 2004-08-31 Motorola, Inc. Method and apparatus for generating parity-check bits from a symbol set
US7702986B2 (en) * 2002-11-18 2010-04-20 Qualcomm Incorporated Rate-compatible LDPC codes
KR100809619B1 (ko) * 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1514548A (zh) * 2002-10-15 2004-07-21 三星电子株式会社 纠错编码设备及方法
CN1499731A (zh) * 2002-10-26 2004-05-26 三星电子株式会社 低密度奇偶校验码解码装置和方法

Also Published As

Publication number Publication date
KR100884698B1 (ko) 2009-02-19
US7143333B2 (en) 2006-11-28
EP2387157B1 (en) 2013-07-10
WO2006020495A1 (en) 2006-02-23
EP1790081A1 (en) 2007-05-30
PL2387157T3 (pl) 2013-12-31
ES2421942T3 (es) 2013-09-06
KR20070035072A (ko) 2007-03-29
BRPI0514179A (pt) 2008-06-03
EP1790081A4 (en) 2009-06-03
RU2007107953A (ru) 2008-09-20
JP2008509635A (ja) 2008-03-27
JP4516602B2 (ja) 2010-08-04
EP2387157A1 (en) 2011-11-16
US20060031744A1 (en) 2006-02-09
CN101032082A (zh) 2007-09-05
BRPI0514179B1 (pt) 2018-01-23
RU2370886C2 (ru) 2009-10-20

Similar Documents

Publication Publication Date Title
CN101032082B (zh) 编码和解码数据的方法和设备
US8438459B2 (en) Apparatus and method for decoding using channel code
US7343548B2 (en) Method and apparatus for encoding and decoding data
US7203897B2 (en) Method and apparatus for encoding and decoding data
US7395494B2 (en) Apparatus for encoding and decoding of low-density parity-check codes, and method thereof
US8473806B1 (en) Layered quasi-cyclic LDPC decoder with reduced-complexity circular shifter
US7536623B2 (en) Method and apparatus for generating a low-density parity check code
US20180287639A1 (en) Transmission apparatus and method, and reception apparatus and method
US7188297B2 (en) Method and apparatus for encoding and decoding data
US7493548B2 (en) Method and apparatus for encoding and decoding data
RU2408979C2 (ru) Способ и устройство кодирования с исправлением ошибок
WO2007088870A1 (ja) 検査行列生成方法、符号化方法、復号方法、通信装置、符号化器および復号器
CN101124729A (zh) 用于编码和解码数据的方法和设备
JP2007089064A (ja) 復号装置および受信装置
JP4832447B2 (ja) チャネルコードを用いた復号化装置及び方法
US8190977B2 (en) Decoder of error correction codes
JP5523064B2 (ja) 復号装置及び方法

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
ASS Succession or assignment of patent right

Owner name: MOTOROLA MOBILE CO., LTD.

Free format text: FORMER OWNER: MOTOROLA INC.

Effective date: 20110111

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20110111

Address after: Illinois State

Patentee after: MOTOROLA MOBILITY, Inc.

Address before: Illinois State

Patentee before: Motorola, Inc.

C41 Transfer of patent application or patent right or utility model
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: Illinois State

Patentee after: MOTOROLA MOBILITY LLC

Address before: Illinois State

Patentee before: MOTOROLA MOBILITY, Inc.

TR01 Transfer of patent right

Effective date of registration: 20160510

Address after: California, USA

Patentee after: Google Technology Holdings LLC

Address before: Illinois State

Patentee before: MOTOROLA MOBILITY LLC