CN102301603B - 使用ldpc准循环码进行编码和解码 - Google Patents

使用ldpc准循环码进行编码和解码 Download PDF

Info

Publication number
CN102301603B
CN102301603B CN201080005735.3A CN201080005735A CN102301603B CN 102301603 B CN102301603 B CN 102301603B CN 201080005735 A CN201080005735 A CN 201080005735A CN 102301603 B CN102301603 B CN 102301603B
Authority
CN
China
Prior art keywords
matrix
diagonal
submatrix
equals
equal
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
CN201080005735.3A
Other languages
English (en)
Other versions
CN102301603A (zh
Inventor
J·V·布拉斯科克拉雷特
S·埃朗佐莫利内罗
A·巴德内斯科雷拉
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.)
MaxLinear Hispania SL
Diseno de Sistemas en Silicio SA
Original Assignee
MaxLinear Hispania SL
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
Priority claimed from ES200900343A external-priority patent/ES2363846B1/es
Priority claimed from ES201030066A external-priority patent/ES2386449B1/es
Application filed by MaxLinear Hispania SL filed Critical MaxLinear Hispania SL
Publication of CN102301603A publication Critical patent/CN102301603A/zh
Application granted granted Critical
Publication of CN102301603B publication Critical patent/CN102301603B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • 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
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/6527IEEE 802.11 [WLAN]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/6544IEEE 802.16 (WIMAX and broadband wireless access)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end

Landscapes

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

Abstract

一种用于经由嘈杂介质进行数据通信的方法和设备,以便改进在经由嘈杂信道或传输介质传输信息的过程中的错误防护。该方法和改进的设备涉及在数据的编码和解码中使用针对低密度奇偶校验码技术的奇偶校验矩阵的新型结构,该结构改进了对错误的纠正而没有增加硬件实现方式的复杂度。

Description

使用LDPC准循环码进行编码和解码
相关申请的交叉引用
本申请是2010年2月5日提交的国际申请No.PCT/ES2010/070067的国家阶段,并且要求2009年2月6日提交的西班牙申请No.P200900343和2010年1月20日提交的西班牙申请No.P201030066的权益。上述申请的公开内容通过参考而全文并入于此。
技术领域
本发明涉及数据传输,并且更具体地,涉及跨嘈杂介质(即,可能会在通信中引入错误的通信介质或信道)进行数据通信。
背景技术
在通信环境中,通信介质或外部信号往往会引入信号错误。所述错误必须被检测到,并且如果可能,在接收过程中被纠正,从而可以恢复正确的数据。在现有技术中,存在若干用于误差检测和纠正的技术,包括基于用于纠正误差的低密度奇偶校验码的数据编码和解码。
低密度奇偶校验码(LDPC)是用于在嘈杂传输信道上进行传输的纠错码。这些代码在消息中引入了一定的冗余(发送数目比原始消息中更多的比特),但是通过这种方式,在接收时可以检测在所接收的消息中是否存在错误并且纠正这些错误。
LDPC代码是一种其奇偶校验矩阵并不十分密集的代码,换言之,该代码的大部分元素为0。这种类型的代码在1960年代初首次公布于Robert G.Gallagher的“Low Density Parity Check Codes”(M.I.T.Press,1963)之中,并且被证明具有与已知的香农极限(理论最大数据传输率)非常相近的特征。然而,凭借代码的原始定义和当时的技术,不可能实现足够的复杂度。近来,由于集成电路的演进和结构化矩阵的发明,这些编码再次引起极大的关注。
在现有技术中,存在多种用于实现对错误的编码和解码的方法。某些方法是在专利US 7,343,548B2和US 7,203,897B2中公布的方法,两者的标题都为“Method and Apparatus for Encoding andDecoding Data”,上述每个专利都概述了当面临数据传输中的错误时用于改进保护的方法。本发明还可以涉及IEEE802.16e和802.11n标准,这些标准介绍了用于减少错误的编码和解码。在任何一种情况下,所提到的专利和标准均使用在现有技术中已知的双对角线结构,而本文件中介绍的结构是新型的并且允许具有在不增加复杂程度的情况下(因此以较低的成本)防止嘈杂介质上进行的数据通信中之错误的更好特征的实现方式。在现有技术中已知,在奇偶校验矩阵中如果列具有的汉明权重(Hamming weight)等于或小于2,则会约束LDPC的特征。然而,出于编码器的实现方式的复杂度的原因,在现有技术中使用了具有双对角线部分Hb1的矩阵。本文件中介绍的新型结构向二元模型矩阵的Hb1部分添加第三对角线,允许奇偶校验矩阵中具有小于或等于2的汉明权重的列的总数更少,从而可以实现更好的特征。该第三对角线通过以下方式选择,该方式使得编码器的实现方式的复杂度的增加几乎可以忽略不计。
之前提到的文献不与本发明的新颖性或创造性优势相冲突。虽然它们全都基于使用现有技术中已知的LDPC技术,但是本文件的方法和设备使用了一类准循环码(准循环低密度奇偶校验码或QC-LDPC),并且应用了具有不同结构的奇偶校验矩阵作为本发明的中心点。
贯穿本文件,将采用明确的命名法来区分贯穿本发明描述中所使用的元素。粗体大写字母(例如,A)指示该元素为矩阵;粗体小写字母(例如,a)指示该元素为向量,而小写非粗体字母(例如,a)指示该元素为标量值。另一方面,包括大小为M×N的矩阵的标量元素以a(i,j)的形式来指示,其中元组(i,j)是所述元素在矩阵内的位置,其中0≤i≤M-1为行号并且0≤j≤N-1为列号。包括大小为M的向量的元素以a(i)的形式标注,其中(i)为元素在向量中的位置(0≤i≤M-1)。
此外,贯穿本发明将会使用术语“循环旋转”,该术语将在下文中进行定义。对向量a=[a(0),a(1),…,a(M-2),a(M-1)]的循环旋转z包括向右循环地旋转其元素,从而得到向量[a((M-z)%M),…,a((M-z-1)%M)]作为结果,其中%为“取模”运算符。以同样的方式,应用在矩阵A=[a(0),…,a(N-1)]上的循环旋转z对其列进行运算,从而得到矩阵[a((N-z)%N),…,a((N-z-1)%N)]作为结果。循环旋转还能够以相反的方向(向左)定义,从而使得向右的循环旋转z等价于分别针对向量和矩阵的向左循环旋转M-z和N-z。
发明内容
为了实现以上章节中的目标并且避免以上章节中指出的缺点,本发明包括用于在嘈杂介质上进行数据通信的方法和设备。具体地,本发明介绍了用于对传输中使用的数据进行编码的方法、其关联的编码设备、用于进行解码的方法及其关联的解码设备。该组发明构成了独特的发明构思,该发明构思将在下文中进行描述。如果在传输中使用了上述方法或设备,则在接收中也必须使用等效的方法或设备,并且反之亦然,以使得所发送的数据可以被恢复。
用于对数据进行编码的方法被用于传输,并且通过以下方式在数据块上生成奇偶校验比特:以该方式,从包括错误防护的K比特的字中生成N比特的编码字(N>K)。所述过程包括多个步骤。首先选定因子b,该因子b是1与k之间的自然数,使得N和K除以因子b之商将是自然数(n=N/b;k=K/b)。下面将大小为(n-k)×n的二元模型矩阵H0=[Ha|Hb]定义为对应于数据比特的位置的子矩阵Ha与对应于奇偶校验比特的子矩阵Hb的组合,其中所述第二子矩阵Hb=[hb0|Hb1]包括n-k个位置的列向量hb0和具有三对角线结构的矩阵Hb1,即,其中两个中心对角线的元素hb1(i,i),hb1(i+1,i)0≤i≤n-k-2以及最后一行的对角线的元素hb1(n-k-1,0)等于1,其中n-k是矩阵Hb的行和列的数目,并且其余元素等于0。之后,生成压缩矩阵H1并且根据压缩矩阵H1生成奇偶校验矩阵H。从此处,取一数据块并且在该数据块上使用奇偶校验矩阵H来确定对应于所述块的奇偶校验比特。最后,与数据块一同传输所述奇偶校验比特。
在该方法的一个实现方式中,可以在代码字被传输之前移除其一个或更多个元素,从而在不会严重损害错误防护能力的情况下减少传输中的冗余。该技术被称作“穿刺(puncturing)”。在该情况下,传输的字将具有数目比通过初始过程获得的代码字更少的比特。
数据编码设备包括用于存储从二元模型矩阵H0=[Ha|Hb]导出的压缩矩阵H1的装置,该二元模型矩阵H0=[Ha|Hb]为对应于数据比特的位置的子矩阵Ha和对应于奇偶校验比特的子矩阵Hb的组合,其中所述第二子矩阵Hb=[hb0|Hb1]包括n-k个位置的列向量hb0和具有三对角线结构的矩阵Hb1,即,其中两个中心对角线的元素hb1(i,i),hb1(i+1,i)0≤i≤n-k-2以及最后一行的对角线的元素hb1(n-k-1,0)等于1,其中n-k是矩阵Hb的行和列的数目,并且其余元素等于0;以及微处理器,该微处理器取数据块,使用压缩矩阵H1来生成奇偶校验矩阵H,向数据块应用该奇偶校验矩阵H来获得对应于该块的奇偶校验比特,以及在传输该数据块之前向其添加奇偶校验比特。
在该设备的一个具体实现方式中,在向数据块添加奇偶校验比特之后但在传输之前通过应用穿刺技术来移除代码字的一个或更多个元素。通过这种方式,传输的字将具有数目比原始生成的代码字更少的比特。
在另一方面,数据解码方法在接收时操作并且估计哪个是接收自从信道接收的信号向量的数据块。从接收的N比特的代码字(其由于信道噪声而可能具有错误)中,获得发射器希望发送的K比特数据字。这首先从信道和二元模型矩阵H0=[Ha|Hb]取得信号向量,该H0=[Ha|Hb]是对应于数据比特的位置的子矩阵Ha和对应于奇偶校验比特的子矩阵Hb的组合,其中所述第二子矩阵Hb=[hb0|Hb1]包括n-k个位置的列向量hb0和具有三对角线结构的矩阵Hb1,即,其中两个中心对角线的元素hb1(i,i),hb1(i+1,i)0≤i≤n-k-2以及最后一行的对角线的元素hb1(n-k-1,0)等于1,其中n-k是矩阵Hb的行和列的数目,并且其余元素等于0。之后,生成压缩矩阵H1并且从中生成奇偶校验矩阵H,并且最终根据所接收的向量信号和奇偶校验矩阵H来估计该数据块。
如果在传输中使用了穿刺技术,则在接收时必须恢复丢失的数据。在该情况下,在根据接收的信号向量和奇偶校验矩阵对数据块进行估计之前在传输中通过穿刺技术而被移除的位置上插入指标值。
数据解码设备包括用于存储从二元模型矩阵H0=[Ha|Hb]导出的压缩矩阵H1的装置,该二元模型矩阵H0=[Ha|Hb]是对应于数据比特的位置的子矩阵Ha和对应于奇偶校验比特的子矩阵Hb的组合,其中所述第二子矩阵Hb=[hb0|Hb1]包括n-k个位置的列向量hb0和三对角线结构Hb1,即,其中两个中心对角线的元素hb1(i,i),hb1(i+1,i)0≤i≤n-k-2以及最后一行的对角线的元素hb1(n-k-1,0)等于1,其中n-k是矩阵Hb的行和列的数目,并且其余元素等于0;微处理器,该微处理器根据压缩矩阵H1生成奇偶校验矩阵H,向接收的信号向量应用所述奇偶校验矩阵H,并估计所接收的数据块。
如果传输设备使用了穿刺技术,则在完成纠错之前必须恢复丢失的数据。因此,在该实现方式中并且在向接收的信号向量应用奇偶校验矩阵H之前,在传输中通过穿刺技术而被移除的位置上插入指标值。
在一个实现方式中,可以使用以下压缩矩阵H1中的一个来获得具有1/2编码率的336比特代码字。该矩阵为:
或者该矩阵为:
在另一实现方式中,可以使用以下压缩矩阵H1中的一个来获得具有1/2编码率的1920比特代码字。该矩阵为:
或者该矩阵为:
在又一实现方式中,可以使用以下压缩矩阵H1中的一个来获得具有1/2编码率的8640比特代码字。该矩阵为:
或者该矩阵为:
在另一实现方式中,可以使用以下压缩矩阵H1来获得具有2/3编码率的1440比特代码字。该矩阵为:
在又一实现方式中,可以使用以下压缩矩阵H1来获得具有2/3编码率的6480比特代码字。该矩阵为:
在另一实现方式中,可以使用以下压缩矩阵H1来获得具有5/6编码率的1152比特代码字。该矩阵为:
在又一实现方式中,可以使用以下压缩矩阵H1来获得具有5/6编码率的5184比特代码字。该矩阵为:
一个在其中使用了穿刺技术的实现方式以1152比特代码字和5/6的编码率开始,并且应用以下穿刺模式:
以便获得1080比特代码字和16/18的编码率。
另一在其中使用了穿刺技术的实现方式以具有5184比特的代码字和5/6的编码率开始,并且应用以下穿刺模式:
以便获得4860比特的代码字和16/18的编码率。
又一在其中使用了穿刺技术的实现方式以具有1152比特的代码字和5/6的编码率开始,并且应用以下穿刺模式:
以便获得1080比特代码字和20/21的编码率。
最后,在其中使用了穿刺技术的最后一个实现方式以5184比特代码字和5/6的编码率开始,并且应用以下穿刺模式:
以便获得4536比特代码字和20/21的编码率。
下面,为了促进对本描述性文件的更多的理解,通过说明而非限制的方式给出了对本发明的一个示例性实现方式的描述。这构成本文件的不可分割的一部分。
附图说明
通过详细描述和附图将会更加全面地理解本公开,附图中:
图1是发射器中编码器的框图;
图2是发射器中解码器的框图;
图3是示例矩阵H的两部分的示图;以及
图4是构造结构化LDPC码的流程图。
具体实施方式
以下参考附图中采用的标号对本发明实现方式的一个示例进行描述。
理论上,本发明过程旨在解决的问题包括成功使用低成本硬件实现方式和LDPC代码来对数据通信中的纠错进行优化。
LDPC代码是在数据块上操作的线性代码。该代码由其奇偶校验矩阵H定义。在该实现方式示例中,代码是二进制代码,并且可以将本发明推广到任何伽罗瓦域(Galois field)GF(q)上的代码,其中q≥2。
在传输中,数据块包括K个比特。所述数据块被指定为u=[u(0),u(1),…,u(K-1)]。在应用本发明的方法之后,生成具有N个比特的线性代码v=[v(0),v(1),…,v(N-1)](其中N<K)的字。所述代码通过乘积v=uG生成,其中G是二元矩阵KxN——LDPC代码的生成器。所生成的可能的代码集被称作集合C,并且代码的编码率为R=K/N。
因此,可以将编码R的代码C定义为通过向所有可能的2K个二进制向量应用生成器矩阵G而由所述所有可能的2K个二进制向量生成的向量集v∈C。等价定义可以为:C是包括在由矩阵G的K行组成的基(base)中的大小为N的向量空间。对代码C进行定义的另一备选形式是通过其奇偶校验矩阵H,这是现有技术中最常使用的形式。大小为(N-K)×N的该矩阵具有对偶空间C的基作为行,因此GHT=0。代码的任何向量都满足
vHT=0
(其中“T”是转置运算符)。
从实践的角度讲,当使用这些代码时,优选将该代码认为是系统代码,即,其中代码字的比特在数据比特之间的代码。不失一般性地,该示例以其中v=[u|p]的情况为中心,其中p=[p(0),p(1),…p(N-K-1)]是由奇偶校验比特组成的向量,u是待传输的数据块而v是实际传输的代码字(在包括LDPC代码之后)。
下文示出了实现方式的一个示例,其中可以观察到奇偶校验矩阵与代码字之间的关系。在该示例中,代码具有R=1/2的编码率并且由以下奇偶校验矩阵定义:
在该矩阵中,左边部分对应于K=5的数据比特,而右边部分对应于N-K=5的奇偶校验比特。通过对矩阵H应用方程vHT=0而获得以下方程组:
u ( 0 ) + u ( 1 ) + u ( 3 ) + p ( 0 ) + p ( 3 ) + p ( 4 ) = 0 u ( 0 ) + u ( 1 ) + u ( 2 ) + p ( 0 ) + p ( 2 ) + p ( 4 ) = 0 u ( 0 ) + u ( 1 ) + u ( 2 ) + u ( 4 ) + p ( 1 ) + p ( 3 ) = 0 u ( 2 ) + u ( 3 ) + u ( 4 ) + p ( 0 ) + p ( 1 ) + p ( 2 ) = 0 u ( 3 ) + u ( 4 ) + p ( 1 ) + p ( 2 ) + p ( 3 ) + p ( 4 ) = 0
LDPC码还可以通过被称作特纳图(Tanner graph)的两部分示图以图形形式来表示。在特纳图中,顶点或节点被分类至两个单独的组或者集:“变量节点”和“检验节点”,该“变量节点”代表代码字的比特,而该“检验节点”代表奇偶校验关系。在上述两个节点集之间都可以找到定义奇偶校验方程的可能的边。在先前示例中定义的代码的情况中,其对应的图在图3中表示,其中可以找到由多条边(15)联合起来的10个变量节点(14)和5个检验节点(16)。每个检验节点通过边联合到6个变量节点,如先前的方程组中所示。可以观察到该图具有与对应的奇偶校验矩阵所具有的行和列一样多的控制节点和变量节点,并且当矩阵的元素h(i,j)(即,位于行i=0,…,N-K-1和列j=0,…,N-1中的元素)不为0时,在检验节点i和变量节点j之间可以找到边。
在另一方面,可以在LDPC码上定义循环,其中长度为2c的循环被定义为边长度为2c的路径,该路径在代表代码的特纳图中在返回到相同的起始节点之前通过c个检验节点和c个变量节点。为了优化代码的特征,可以证明让短循环的数目尽可能最小是至关重要的。最小长度的循环被称作围长(girth)。尤其期望围长大于4,以便避免减少迭代解码器的特征。
在原始描述中,R.Gallagher介绍了其奇偶校验矩阵是随机生成的代码。在现有技术中普遍已知的是,为了获得良好的特征(接近香农极限),代码的大小必须相对较大,因此奇偶校验矩阵必须较大。问题在于,较大并且随机生成的矩阵在编码器和解码器二者的实现中造成困难。一种避免此困难的方式是使用具有规则结构的矩阵。以下是用于生成规则结构所必需的步骤:
1.首先,生成大小为(n-k)×n的二元模型矩阵H0,其中n<N,k<K并且R=k|n=K|N。如果H0的列和行的汉明权重是恒定的,则生成的代码被称作规则LDPC。然而,如果矩阵不规则,即,如果列的的权重遵循依赖于编码率和其中将最终完成数据传输的信道的统计分布,则可以获得更好的特征。
2.一旦已获得二元模型矩阵H0,便生成压缩矩阵H1,从而用伪随机正整数0≤x<b(其中b=N|n)来替代H0的每个等于“1”的元素并且用值-1来替代每个等于“0”的元素。
3.为了获得奇偶校验矩阵H,由单位子矩阵取代H1中的正元素,该单位子矩阵循环地旋转了由所讨论的H1的正元素的值所指示的次数,并且由相同大小的空子矩阵取代等于-1的元素。这些子矩阵的大小也将会是b×b。
结果是大小为(N-K)×N的奇偶校验矩阵H,其定义了编码率为R=K|N的LDPC码。矩阵的密度(稀疏)等级将取决于b的大小。一般而言,b越大,通过使用迭代解码器获得的特征就越好。
如果所生成矩阵的循环(特纳图)非常短,则应当出于改善这些属性的目的而应用步骤2(如果必要的话甚至应用步骤1)。
为了促进编码器的实现,有必要以特定形式生成二元模型矩阵H0。首先,将所述矩阵分成两部分H0=[Ha|Hb],其中子矩阵Ha对应于数据比特的位置而Hb对应于奇偶校验比特。通过先前所述的方式伪随机地生成第一子矩阵。然而,第二部分通常是确定性的。
根据现有技术并旨在促进高效编码器的设计,该第二部分Hb采取以下两种形式中的一种;第一形式为:
其中第一部分为具有大于2的汉明权重的伪随机列向量,并且Hb1是其元素hb1(i,j)在i=j,i=j+1时等于“1”并且在其余位置上等于“0”的双对角线矩阵。
生成Hb的第二种方式是完全双对角线
其中子矩阵hb(i,j)的元素在i=j,i=j+1时等于“1”并且在其余位置上等于“0”。
一旦生成该基矩阵结构,便以先前所述的形式生成压缩矩阵H1,唯一不同的是Hb的双对角线部分,“1”由相同的正整数替代而“0”由“-1”替代。此外,通过由经循环旋转的单位矩阵改变正整数并且由空子矩阵改变负数来获得最终的奇偶校验矩阵。可以在图4中图形地观察到该过程,其中块(17)生成二元模型矩阵H0,块(18)生成压缩矩阵H1,块(19)判定该循环是否足够长,并且该过程继续进行以通过块20生成奇偶校验矩阵H,或者如果循环短,则再次生成模型矩阵(21)或者基矩阵(22)。
本发明的方法和设备共同修改现有技术中已知的奇偶校验矩阵的结构,以便促进编码和解码的最终实现并且改善特征。为此,所提出的结构包括:与奇偶校验比特对应的二元模型H0的部分具有以下形式:
其中结构Hb1是三对角线,即,除了两个中心对角线的元素hb1(I,i),hb1(i+1,i),最后一行的对角线hb1(n-k-1,0)的元素也等于“1”。以先前所述的方式生成该压缩矩阵,区别在于用严格正整数w≥0替代最后一行的等于“1”的元素。
针对r=1/2具有n=24并且k=12的二元模型矩阵H0可以具有以下结构:
通过N=336的块大小从先前矩阵导出的并且因此具有扩展因子b=14的压缩矩阵H1将会是以下这样:
或者优选地,以下矩阵可以用作备选:
对于不同的块大小,可以定义能够从相同的二元模型矩阵或从另一不同的二元模型矩阵导出的不同的压缩矩阵。
为了获得具有1/2的编码率的1920比特的代码字,可以使用以下矩阵:
或者,优选地,使用矩阵:
从不同二元模型矩阵导出的具有扩展因子360的N=8640比特的压缩矩阵将会是以下这样:
用于获得具有1/2的编码率的8640比特的代码字的另一优选备选为以下矩阵:
从压缩矩阵到二元模型的步骤是意义明确的,但是对于相反的步骤却不是意义明确的;换言之,根据二元模型矩阵可能获得不同的压缩矩阵。二元矩阵被引入作为促进对本发明的描述的步骤。可以直接产生压缩矩阵而不需要经过二元模型矩阵。在这种情况下,对于压缩矩阵而言,如果该压缩矩阵是三对角线,则其对应的二元模型矩阵可以根据本发明的方法获得。
纠错码可以是“穿刺的”,其中用于穿刺的技术在于移除代码字的元素,使得它们将不被传输。替代于传输代码字v=[v(0),v(1),…,v(N-1)],将传输字w=[w(0),w(1),…,w(M-1)],其中M<N。穿刺必须以受控的方式完成,从而使得必要的冗余得以传输,以便接收器的解码器能够评估所传输的数据。该穿刺应用于数据比特和奇偶校验比特二者。穿刺的模式可以被定义为经穿刺的待传输比特的序列,其中所述比特模式可以是周期性的或非周期性的。在没有规律性的情况下,所述模式可以用N个位置的向量pp来描述,从而用“1”指示待传输的比特,并且用“0”指示待排除(穿刺)的比特。由于穿刺技术,数据通信可以被放大,这是因为发送了较少的冗余。如果模式pp的汉明权重为M,则整个系统的错误编码率为R=K|M。
例如,如果拥有具有R=5/6和块大小为N=5184的代码并且希望执行穿刺以便将所述的编码率增加到R=16/18,则可以使用以下穿刺模式,其将产生具有N=4860个比特的块:
为了完成LDPC码的实现,而使用电子设备——无论其是在微处理器上执行的程序还是FPGA或ASIC硬件实现方式。所述设备接收数据块,计算奇偶校验比特,将所述奇偶校验比特与信息比特并置起来,并且将它们提交到发射器的后续阶段,以得到充分调制并通过对应信道传输。奇偶校验比特的计算可以借助于生成器矩阵G的乘积或者先前呈现的方程组的结果来完成。
LDPC码的解码器通常基于迭代解码器。在若干现有技术选项中,可能的解码器包括估计器,该估计器在接收对应于所传输的代码r=v+z的字(其中Z是附加信道噪声)时做出噪声估计使得在系统使用穿刺技术的情况下,在解码器之前将会存在向穿刺位置中插入指标的单元。该指标用于引导解码器估计这些位置中的正确值。
图1示出了典型编码器的框图,其中(1)是待传输的数据块u=[u(0),u(1),…,u(K-1)],(2)是包含奇偶校验矩阵H或生成器矩阵G的表示形式的存储器,(3)是所述矩阵,(4)是执行编码算法的块,(5)是通过编码而获得的线性编码字v=[v(0),v(1),…,v(N-1)],(6)是进行穿刺的块,以及(7)是在穿刺之后获得的字w=[w(0),w(1),…,w(M-1)]。
图2示出了解码器的框图,其中(8)表示从信道接收的信号s=[s0,s1,…,sM-1],该信号类似于在穿刺之后但在被信道噪声影响之后获得的字,(9)表示执行“解穿刺”从而获得字r=[r(0),r(1),…,r(N-1)](10)的块,字(10)具有LDPC码中的比特数。(11)是接收器中包含奇偶校验矩阵或生成器矩阵的存储器,并且将其(12)传输到执行解码器算法的块(13)。该块的输出将会是重新构造的数据(14)

Claims (13)

1.一种传输代码字的方法,所述方法包括:
选择因子b,其中:
所述因子b乘以K大于或等于1,其中K是二元矩阵的行的数目;
n等于N除以所述因子b,其中N是所述二元矩阵的列的数目;
所述因子b等于N|n,并且是大于或者等于1的正整数;以及
k等于K除以所述因子b;
定义大小为(n-k)×n的模型矩阵,其中所述模型矩阵包括
对应于数据比特的位置的第一子矩阵,以及
对应于奇偶校验比特的位置的第二子矩阵,其中所述第二子矩阵包括具有三对角线结构的多对角线矩阵,其中所述三对角线结构包括(i)第一中心对角线,(ii)第二中心对角线,以及(iii)最后一行对角线,并且其中所述第一中心对角线、所述第二中心对角线和所述最后一行对角线的所述比特中的每个等于1,并且所述多对角线矩阵中其余的比特等于0;
基于所述模型矩阵生成压缩矩阵,包括:
利用伪随机正整数替代所述模型矩阵中每个等于1的元素;以及
利用-1替代所述模型矩阵中每个等于0的元素,
其中所述伪随机正整数大于或等于0并且小于所述因子b;
基于所述压缩矩阵生成奇偶校验矩阵,包括:
利用单位子矩阵替代所述压缩矩阵的正元素,所述单位子矩阵循环地旋转了由所述正元素之一的值指示的次数,以及
利用空子矩阵替代所述压缩矩阵中等于-1的元素,
其中所述单位子矩阵或所述空子矩阵中的至少一个是b×b矩阵;
基于所述奇偶校验矩阵确定所述奇偶校验比特;以及
经由发射器并基于所述奇偶校验比特通过信道从第一通信设备向第二通信设备传输所述代码字。
2.根据权利要求1所述的方法,其中所述第二子矩阵除了所述多对角线矩阵之外还包括n-k个位置的列向量。
3.根据权利要求1所述的方法,进一步包括:
基于数据块确定所述奇偶校验矩阵;以及
将所述奇偶校验比特和所述数据块传输至设备,
其中所述最后一行对角线包括不在所述第一中心对角线和所述第二中心对角线中的单个比特。
4.根据权利要求1所述的方法,其中:
所述模型矩阵是Ha|Hb,其中Ha是所述第一子矩阵并且Hb是所述第二子矩阵;以及
所述第二子矩阵Hb是hb0|Hb1,其中hb0是列向量并且Hb1是所述多对角线矩阵。
5.根据权利要求4所述的方法,其中:
所述多对角线矩阵Hb1的元素hb1(i,i)和hb1(i+1,i)以及所述多对角线矩阵Hb1的最后一行的对角线hb1(n-k-1,0)等于1,其中i是大于或等于0并且小于或等于n-k-2的整数,并且
所述第二子矩阵Hb包括n-k行和n-k列。
6.根据权利要求1所述的方法,进一步包括基于所述奇偶校验比特和数据块生成所述代码字,
其中所述奇偶校验矩阵定义编码率为R=K|N的低密度奇偶校验(LDPC)码,其中K是二元矩阵的行的数目并且N是所述二元矩阵的列的数目。
7.根据权利要求1所述的方法,进一步包括经由穿刺设备穿刺所述代码字以在所述代码字被传输之前移除所述代码字的比特,其中所述穿刺包括从所述代码字中移除至少一个数据比特和至少一个奇偶校验比特。
8.根据权利要求1所述的方法,进一步包括通过所述发射器的一个阶段调制和在所述信道上传输所述代码字,
其中所述压缩矩阵经由处理器或集成电路和现场可编程门阵列之一生成。
9.一种生成数据块的方法,所述方法包括:
经由第一通信设备的接收器从信道接收信号向量,其中所述信号向量通过所述信道从第二通信设备传输到所述第一通信设备;
选择因子b,其中:
所述因子b乘以K大于或等于1,其中K是二元矩阵的行的数目;
n等于N除以所述因子b,其中N是所述二元矩阵的列的数目;
所述因子b等于N|n,并且是大于或者等于1的正整数;以及
k等于K除以所述因子b;
计算大小为(n-k)×n的模型矩阵,其中所述模型矩阵包括
对应于所述信号向量的数据比特的位置的第一子矩阵,以及
对应于奇偶校验比特的位置的第二子矩阵,其中所述第二子矩阵包括具有三对角线结构的多对角线矩阵,其中所述三对角线结构包括(i)第一中心对角线,(ii)第二中心对角线,以及(iii)最后一行对角线,并且其中所述第一中心对角线、所述第二中心对角线和所述最后一行对角线的所述比特中的每个等于1并且所述多对角线矩阵中其余的比特等于0;
基于所述模型矩阵生成压缩矩阵,包括:
利用伪随机正整数替代所述模型矩阵中每个等于1的元素;以及
利用-1替代所述模型矩阵中每个等于0的元素,
其中所述伪随机正整数大于或等于0并且小于所述因子b;基于所述压缩矩阵生成奇偶校验矩阵,包括:
利用单位子矩阵替代所述压缩矩阵的正元素,所述单位子矩阵循环地旋转了由所述正元素之一的值指示的次数,以及
利用空子矩阵替代所述压缩矩阵中等于-1的元素,
其中所述单位子矩阵或所述空子矩阵中的至少一个是b×b矩阵;以及
基于所述奇偶校验矩阵生成所述数据块。
10.根据权利要求9所述的方法,其中所述第二子矩阵除了所述多对角线矩阵之外还包括n-k个位置的列向量。
11.根据权利要求9所述的方法,其中,
所述最后一行对角线包括不在所述第一中心对角线和所述第二中心对角线中的单个比特;
所述模型矩阵是Ha|Hb,其中Ha是所述第一子矩阵并且Hb是所述第二子矩阵;并且
所述第二子矩阵Hb是hb0|Hb1,其中hb0是列向量并且Hb1是所述多对角线矩阵。
12.根据权利要求11所述的方法,其中所述多对角线矩阵Hb1的元素hb1(i,i)和hb1(i+1,i)以及所述多对角线矩阵Hb1的最后一行的对角线hb1(n-k-1,0)等于1,其中i是大于或等于0并且小于或等于n-k-2的整数;并且
所述第二子矩阵Hb包括n-k行和n-k列。
13.根据权利要求9所述的方法,进一步包括:
经由解穿刺设备解穿刺所述信号向量以生成代码字,其中基于所述代码字生成所述数据块,
其中所述奇偶校验矩阵定义编码率为R=K|N的低密度奇偶校验(LDPC)码,其中K是二元矩阵的行的数目并且N是所述二元矩阵的列的数目,
所述压缩矩阵经由处理器或集成电路和现场可编程门阵列之一生成。
CN201080005735.3A 2009-02-06 2010-02-05 使用ldpc准循环码进行编码和解码 Active CN102301603B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
ES200900343A ES2363846B1 (es) 2009-02-06 2009-02-06 Procedimiento y dispositivo de comunicación de datos a través de medios ruidosos.
ESP200900343 2009-02-06
ESP201030066 2010-01-20
ES201030066A ES2386449B1 (es) 2010-01-20 2010-01-20 Procedimiento y dispositivo de comunicación de datos a través de medios ruidosos mejorado.
PCT/ES2010/070067 WO2010089444A1 (es) 2009-02-06 2010-02-05 Codificar y decodificar usando códigos cuasi-cíclicos ldpc

Publications (2)

Publication Number Publication Date
CN102301603A CN102301603A (zh) 2011-12-28
CN102301603B true CN102301603B (zh) 2014-08-06

Family

ID=42145914

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080005735.3A Active CN102301603B (zh) 2009-02-06 2010-02-05 使用ldpc准循环码进行编码和解码

Country Status (6)

Country Link
US (3) US8719655B2 (zh)
EP (1) EP2395667B1 (zh)
KR (1) KR101636965B1 (zh)
CN (1) CN102301603B (zh)
ES (1) ES2559637T3 (zh)
WO (1) WO2010089444A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2559637T3 (es) 2009-02-06 2016-02-15 Marvell Hispania S.L. Codificación LDPC cuasi-cíclica
KR102019893B1 (ko) * 2013-07-22 2019-09-09 삼성전자주식회사 저밀도 패리티 검사 부호를 지원하는 통신 시스템에서 신호 수신 장치 및 방법
CN106849958B (zh) * 2016-12-29 2020-10-27 上海华为技术有限公司 低密度奇偶校验码校验矩阵的构造方法、编码方法及系统
CN106953644A (zh) * 2017-03-15 2017-07-14 中山大学 一种基于汉明码的多元qc‑ldpc码构造方法
CN109586733B (zh) * 2018-11-23 2021-06-25 清华大学 一种基于图形处理器的ldpc-bch译码方法
US11175826B2 (en) * 2019-05-03 2021-11-16 Government Of The United States Of America, As Represented By The Secretary Of Commerce Diagonal node data block matrix for adding hash-linked records and deleting arbitrary records while preserving hash-based integrity assurance

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101159515A (zh) * 2007-11-22 2008-04-09 普天信息技术研究院有限公司 一种可变长低密度奇偶校验码的编码方法及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100809619B1 (ko) 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
US7260763B2 (en) * 2004-03-11 2007-08-21 Nortel Networks Limited Algebraic low-density parity check code design for variable block sizes and code rates
US7203897B2 (en) 2004-08-12 2007-04-10 Motorola, Inc. Method and apparatus for encoding and decoding data
US7343548B2 (en) 2004-12-15 2008-03-11 Motorola, Inc. Method and apparatus for encoding and decoding data
US20070198905A1 (en) 2006-02-03 2007-08-23 Nokia Corporation Transmitter for a communications network
US8261155B2 (en) * 2007-03-09 2012-09-04 Qualcomm Incorporated Methods and apparatus for encoding and decoding low density parity check (LDPC) codes
ES2559637T3 (es) 2009-02-06 2016-02-15 Marvell Hispania S.L. Codificación LDPC cuasi-cíclica
US8464123B2 (en) * 2009-05-07 2013-06-11 Ramot At Tel Aviv University Ltd. Matrix structure for block encoding
US8918694B2 (en) * 2011-02-28 2014-12-23 Clariphy Communications, Inc. Non-concatenated FEC codes for ultra-high speed optical transport networks
US9252811B2 (en) * 2011-06-07 2016-02-02 Analogies Sa Time-varying low-density parity-check convolutional codes

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101159515A (zh) * 2007-11-22 2008-04-09 普天信息技术研究院有限公司 一种可变长低密度奇偶校验码的编码方法及系统

Also Published As

Publication number Publication date
CN102301603A (zh) 2011-12-28
US20160119000A1 (en) 2016-04-28
EP2395667A1 (en) 2011-12-14
ES2559637T3 (es) 2016-02-15
WO2010089444A1 (es) 2010-08-12
KR20110126097A (ko) 2011-11-22
EP2395667B1 (en) 2015-12-16
US8719655B2 (en) 2014-05-06
KR101636965B1 (ko) 2016-07-20
US20140304569A1 (en) 2014-10-09
US9543985B2 (en) 2017-01-10
US20120266039A1 (en) 2012-10-18
US9240806B2 (en) 2016-01-19

Similar Documents

Publication Publication Date Title
EP2477335B1 (en) Apparatus and method for transmitting and reveiving data in communication/broadcasting system
US6948109B2 (en) Low-density parity check forward error correction
US8386880B2 (en) Method for transmitting non-binary codes and decoding the same
US10992416B2 (en) Forward error correction with compression coding
US8539304B1 (en) Parallel encoder for low-density parity-check (LDPC) codes
CN102301603B (zh) 使用ldpc准循环码进行编码和解码
EP3476052B1 (en) Coding and decoding of polar codes extended to lengths which are not powers of two
US11569936B2 (en) Method and apparatus for channel encoding/decoding in communication or broadcast system
CN107733440B (zh) 多边类型结构化ldpc处理方法及装置
EP3047575B1 (en) Encoding of multiple different quasi-cyclic low-density parity check (qc-ldpc) codes sharing common hardware resources
US20230361915A1 (en) Efficient Large Object Transport
Karim et al. Performance Comparison between Low-density Parity-check and Reed-solomon Codes using Wireless Image Transmission System
Karim et al. Performance Comparison Between Low–Density Parity–Check And Reed–Solomon Codes Using Wireless Image Transmission System

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