Nothing Special   »   [go: up one dir, main page]

CN102025441B - Ldpc码校验矩阵的构造方法、ldpc码的编码方法和编码装置 - Google Patents

Ldpc码校验矩阵的构造方法、ldpc码的编码方法和编码装置 Download PDF

Info

Publication number
CN102025441B
CN102025441B CN200910092565.6A CN200910092565A CN102025441B CN 102025441 B CN102025441 B CN 102025441B CN 200910092565 A CN200910092565 A CN 200910092565A CN 102025441 B CN102025441 B CN 102025441B
Authority
CN
China
Prior art keywords
matrix
row
basis matrix
dimensions
check
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN200910092565.6A
Other languages
English (en)
Other versions
CN102025441A (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.)
Beijing Taimei Shiji Science & Technology Co Ltd
Original Assignee
Beijing Taimei Shiji Science & Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Taimei Shiji Science & Technology Co Ltd filed Critical Beijing Taimei Shiji Science & Technology Co Ltd
Priority to CN200910092565.6A priority Critical patent/CN102025441B/zh
Priority to PCT/CN2010/075867 priority patent/WO2011029362A1/zh
Priority to US13/395,478 priority patent/US20120173949A1/en
Priority to EP10814964.2A priority patent/EP2477334A4/en
Publication of CN102025441A publication Critical patent/CN102025441A/zh
Application granted granted Critical
Publication of CN102025441B publication Critical patent/CN102025441B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • 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
    • H03M13/036Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
    • 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
    • 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/0056Systems characterized by the type of code used
    • H04L1/0057Block codes

Landscapes

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

Abstract

本发明的实施例提出了一种LDPC码校验矩阵的构造方法,包括以下步骤:构造一个产生码率为R、码长为N的LDPC码的MB×NB维的基础矩阵B,其中MB=M/K,NB=N/K,M=N(1-R),K为基础矩阵的扩张比,K∈Φ,Φ为M和N的公因子的集合;用K×K的矩阵替换基础矩阵B中的元素,将基础矩阵B扩张为M×N维的校验矩阵H,所述校验矩阵H用于进行LDPC码的编码或译码。本发明的实施例还提出了一种LDPC码的编码方法及装置。本发明的实施例提出的技术方案可以构造出任意码率的性能优秀的LDPC码。此外,本发明的实施例提出的技术方案还解决了校验矩阵的存储问题,有效降低了编码器的实现复杂度。

Description

LDPC码校验矩阵的构造方法、LDPC码的编码方法和编码装置
技术领域
本发明涉及无线通信领域,具体而言,本发明涉及LDPC码校验矩阵的构造方法、LDPC码的编码方法和编码装置。
背景技术
Shannon在著名的“通信的数学理论”中,阐明了在有噪声信道中实现可靠传输的途径是编码。他提出了有噪声信道中信息可传输的最大速率,即信道容量;同时也推导出了信息可无错误传输所需的最小信噪比值,被称为Shannon极限。虽然Shannon的信道编码理论给出了最佳编码的极限性能,但并没有给出具体的编码方案。以此为基础,人们一直致力于寻找性能上接近Shannon极限的编码方案。
LDPC码最早由Gallager提出,是一种校验矩阵非常稀疏的线性分组码。也就是说,其校验矩阵中只有非常少量的非“0”元素(对于二进制码来说,非“0”元素即为“1”元素)。Mackay等人的进一步研究表明,LDPC码的性能在消息传递(MP)迭代译码算法下可以接近Shannon极限。
目前,LDPC码正被越来越多的应用于各种通信系统中。中国移动多媒体广播(CMMB)系统就采用了LDPC码的信道编码方案。CMMB系统通过卫星和地面基站实现天地一体的大面积广播覆盖,传送多路音视频广播业务。用户可以用终端实现移动接收。由于卫星信号功率受限,同步卫星轨道在36000公里高空,下行信号的路径损耗严重,导致接收终端的链路余量很小。因此,需要设计性能优秀的LDPC码。此外,实际的通信系统还需要低的编、译码器实现复杂度。采用计算机搜索的方法虽然可以随机或者类随机的生成性能优秀的LDPC码,但由于校验矩阵的随机性,需要大量的存储器对其进行存储。又由于LDPC码的码长较长,编码器的实现非常复杂度。
因此,有必要提出相应的技术方案,既可以构造任意码率的性能优秀的LDPC码,又能解决校验矩阵的存储问题,有效降低编码器的实现复杂度。
发明内容
本发明的目的旨在至少解决上述技术缺陷之一,特别是通过本发明提出的LDPC码的校验矩阵构造方法,构造出任意码率的性能优秀的LDPC码,解决校验矩阵的存储问题,有效降低编码器的实现复杂度。
为了达到上述目的,本发明的一方面提出了一种LDPC码校验矩阵的构造方法,包括以下步骤:构造一个产生码率为R、码长为N的LDPC码的MB×NB维的基础矩阵B,其中MB=M/K,NB=N/K,M=N(1-R),K为基础矩阵的扩张比,K∈Φ,Φ为M和N的公因子的集合;用K×K的矩阵替换基础矩阵B中的元素,将基础矩阵B扩张为M×N维的校验矩阵H,所述校验矩阵H用于进行LDPC码的编码或译码。
本发明的另一方面还提出了一种LDPC码的编码方法,包括以下步骤:
将校验矩阵H分为两个子矩阵H=[Hm Hp],其中Hm为M×(N-M)维的子矩阵,Hp为M×M维的子矩阵,计算Hp -1和Hp -1Hm,所述校验矩阵H通过以下方式得到,首先构造一个产生码率为R、码长为N的LDPC码的MB×NB维的基础矩阵B,其中MB=M/K,NB=N/K,M=N(1-R),K为基础矩阵的扩张比,K∈Φ,Φ为M和N的公因子的集合,选择基础矩阵B的每一行和每一列中“1”的数目,使得B的行重和列重分布满足预定的节点度分布,在行重和列重满足预定的节点度分布的前提下,选择基础矩阵B中每一行和每一列中“1”的位置,使得B的后MB列组成的MB×MB维的子矩阵满秩,然后将基础矩阵B扩张为M×N维的校验矩阵H,将基础矩阵B中的“0”用K×K维的全“0”矩阵Z替换,将B中的“1”用K×K维的循环置换矩阵P替换,其中,P中“1”的行号i和列号j满足j=(i+k)mod K,k为循环置换矩阵的偏移量,mod表示取模运算,为每一个循环置换矩阵P选择一个偏移量;根据输入的1×(N-M)维的信息序列m,计算1×M维的校验序列p=m(Hp -1Hm)T;将信息序列m和校验序列p组合成1×N维的码字序列c=[m p]并输出。
本发明的另一方面还提出了一种LDPC码的编码装置,包括编码矩阵存储模块、校验序列计算模块以及码字序列生成模块,
所述编码矩阵存储模块用于存储编码矩阵的结构,将M×N维的校验矩阵H分为两个子矩阵H=[Hm Hp],其中Hm为M×(N-M)维的子矩阵,Hp为M×M维的子矩阵,所述编码矩阵存储模块用于存储矩阵Hp -1Hm的结构,所述Hp -1Hm具有分块循环的结构,可以以块为单位进行存储,所述校验矩阵H通过以下方式得到,首先构造一个产生码率为R、码长为N的LDPC码的MB×NB维的基础矩阵B,其中MB=M/K,NB=N/K,M=N(1-R),K为基础矩阵的扩张比,K∈Φ,Φ为M和N的公因子的集合,选择基础矩阵B的每一行和每一列中“1”的数目,使得B的行重和列重分布满足预定的节点度分布,在行重和列重满足预定的节点度分布的前提下,选择基础矩阵B中每一行和每一列中“1”的位置,使得B的后MB列组成的MB×MB维的子矩阵满秩,然后将基础矩阵B扩张为M×N维的校验矩阵H,将基础矩阵B中的“0”用K×K维的全“0”矩阵Z替换,将B中的“1”用K×K维的循环置换矩阵P替换,其中,P中“1”的行号i和列号j满足j=(i+k)mod K,k为循环置换矩阵的偏移量,mod表示取模运算,为每一个循环置换矩阵P选择一个偏移量;所述校验序列计算模块用于将输入的信息序列m与矩阵(Hp -1Hm)T相乘,得到校验序列p;所述码字序列生成模块用于将信息序列m和校验序列p组合成码字序列c并输出。
本发明提出的技术方案可以构造出任意码率的性能优秀的LDPC码。此外,本发明提出的技术方案还解决了校验矩阵的存储问题,有效降低了编码器的实现复杂度。本发明提出的技术方案构造的LDPC码可以与CMMB系统的物理层结构完全兼容,能有效的提高系统的链路余量。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例的LDPC码校验矩阵的构造方法的流程图;
图2为本发明实施例的基础矩阵的示意图;
图3为本发明实施例的LDPC码的性能曲线示意图;
图4为本发明实施例的编码装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
为了实现本发明之目的,本发明的实施例提出了一种LDPC码校验矩阵的构造方法,如图1所示,包括以下步骤:
S101:构造一个产生码率为R、码长为N的LDPC码的MB×NB维的基础矩阵B,其中MB=M/K,NB=N/K,M=N(1-R),K为基础矩阵的扩张比,K∈Φ,Φ为M和N的公因子的集合。
具体而言,构造一个产生码率为R、码长为N的LDPC码的MB×NB维的基础矩阵B,包括以下步骤:
构造一个MB×NB维的基础矩阵B,选择基础矩阵B的每一行和每一列中“1”的数目,使得B的行重和列重分布满足预定的性能优秀的LDPC码集的节点度分布;
在行重和列重满足预定的节点度分布的前提下,选择B中每一行和每一列中“1”的位置,使得B的后MB列组成的MB×MB维的子矩阵满秩。
基础矩阵B的结构可以采用表的形式进行存储,表的每一行记录B的每一行中“1”的位置。行的顺序可以任意,所构造的B等价。
S102:用K×K的矩阵替换基础矩阵B中的元素,将基础矩阵B扩张为M×N维的校验矩阵H。
具体而言,对基础矩阵B进行扩张,包括以下几个步骤:
将基础矩阵B中的“0”用K×K维的全“0”矩阵Z替换,将B中的“1”用K×K维的循环置换矩阵P替换,得到校验矩阵H。其中,P中“1”的行号i和列号j满足j=(i+k)mod K,k为循环置换矩阵的偏移量,mod表示取模运算;
为每一个循环置换矩阵P选择一个偏移量。
循环置换矩阵P的偏移量可以采用表的形式进行存储,表的每一行记录基础矩阵B的每一行中“1”对应的循环置换矩阵的偏移量。对同一行的偏移量再加上某一个相同的偏移量q,即k′=(k+q)mod K,所构造的H等价。
这样,校验矩阵H的结构可以采用基础矩阵位置表和循环置换矩阵偏移量表的形式进行存储,从而解决了校验矩阵的存储问题。
本发明的实施例还提出了一种对依据上述校验矩阵的构造方法构造的LDPC码进行编码的方法,包括以下步骤:
将上述的M×N维的校验矩阵H分为两个子矩阵H=[Hm Hp],其中Hm为M×(N-M)维的子矩阵,Hp为M×M维的子矩阵,计算Hp -1和Hp -1Hm
根据输入的1×(N-M)维的信息序列m,计算1×M维的校验序列p=m(Hp -1Hm)T
将信息序列m和校验序列p组合成1×N维的码字序列c=[m p]并输出。
为了进一步阐述本发明,下面结合CMMB系统的物理层结构,介绍将本发明应用于CMMB系统的实施例。
具体实施例1:
构造一个适用于CMMB系统的码率为1/4的LDPC码。
为了与CMMB系统的物理层结构相兼容,码长N选为9216,也就是要构造一个6912×9216维的校验矩阵H。为了与CMMB系统中1/2和3/4码率的LDPC码相兼容,扩张比K选为256。这样,基础矩阵B的维度为27×36。
选择基础矩阵B的行重和列重。优选的,B的行重分布为{λ5,λ4}={2/27,25/27},列重分布为{ρ10,ρ4,ρ3,ρ2}={3/36,3/36,8/36,22/36}。
在满足行重和列重分布的前提下,选择基础矩阵B的每一行和每一列中“1”的位置,保证由B的后27列组成的27×27维的子矩阵满秩,同时避免B中短环的存在。
依照上述方法生成的基础矩阵位置表为:
10,    13,    14,    18,
0,     1,     3,     16,
0,     2,     3,     20,
2,     6,     8,     10,
1,     11,    17,    24,
0,     5,     9,     21,
4,     6,     10,    25,
2,     20,    22,    26,
2,     27,    31,    35,
1,     2,     16,    19,    22,
1,     2,     21,    29,
0,     1,     3,     15,
0,     4,     18,    35,
0,     1,     11,    34,
9,     17,    19,    33,
0,     1,     5,     14,
0,     5,     7,     13,
2,     4,     11,    12,
2,     7,     8,     32,    34,
0,     3,     6,     12,
4,     13,    32,    33,
1,     7,     29,    30,
9,     28,    30,    31,
1,     2,     8,     28,
15,    25,    26,    27,
1,     2,     5,     23,
0,     12,    23,    24。
对应的基础矩阵如图2所示,图中黑色方块表示元素“1”,白色方块表示元素“0”。
将基础矩阵B中的“0”用256×256维的全“0”矩阵Z替换,将B中的“1”用256×256维的循环置换矩阵P替换,得到校验矩阵H。其中,P中“1”的行号i和列号j满足j=(i+k)mod 256,k为循环置换矩阵的偏移量。
选择每一个循环置换矩阵P的偏移量,进一步增大校验矩阵H的最短环长。
依照上述方法生成的循环置换矩阵偏移量表为:
195,    130,    214,    42,
79,     98,     59,     149,
157,    72,     125,    189,
150,    252,    7,      227,
76,     187,    217,    32,
110,    225,    111,    113,
104,    84,     100,    81,
161,    47,     248,    97,
135,    96,     51,     158,
242,    147,    54,     178,    145,
202,    74,     175,    236,
235,    129,    128,    128,
194,    44,     247,    130,
109,    76,     36,     184,
129,    155,    248,    222,
10,     161,    6,      81,
73,     44,     206,    72,
227,    92,     39,     90,
113,    50,     160,    190,    12,
7,      202,    178,    167,
228,    2,      83,     7,
115,    119,    180,    171,
145,    165,    196,    41,
47,     133,    75,     3,
16,     89,     90,     138,
253,    57,     198,    130,
182,    166,    172,    180。
对依据上述校验矩阵的构造方法构造的LDPC码进行编码的方法,包括以下步骤:
将上述6912×9216维的校验矩阵H分为两个子矩阵H=[Hm Hp],其中Hm为6912×2304维的子矩阵,Hp为6912×6912维的子矩阵,计算Hp -1和Hp -1Hm,矩阵Hp -1Hm具有分块循环的结构,即可以分为27×9个256×256维的循环子矩阵;
根据输入的1×2304维的信息序列m,计算1×6912维的校验序列p=m(Hp -1Hm)T
将信息序列m和校验序列p组合成1×9216维的码字序列c=[m p]并输出。
实现上述编码方法的编码装置,包括编码矩阵存储模块、校验序列计算模块以及码字序列生成模块,
编码矩阵存储模块用于存储矩阵Hp -1Hm的结构,由于Hp -1Hm具有分块循环的结构,可以以块为单位进行存储,从而大大减少了所需存储器的数量;
校验序列计算模块用于将输入的信息序列m与矩阵(Hp -1Hm)T相乘,得到校验序列p;由于Hp -1Hm具有分块循环的结构,矩阵乘法m(Hp -1Hm)T可以采用简单的,例如移位寄存器的方式实现,从而大大降低了编码器的实现复杂度;
码字序列生成模块用于将信息序列m和校验序列p组合成码字序列c并输出。
具体实施例2:
构造一个适用于CMMB系统的码率为1/3的LDPC码。
为了与CMMB系统的物理层结构相兼容,码长N选为9216,也就是要构造一个6144×9216维的校验矩阵H。为了与CMMB系统中1/2和3/4码率的LDPC码相兼容,扩张比K选为256。这样,基础矩阵B的维度为24×36。
选择基础矩阵B的行重和列重。优选的,B的行重分布为{λ5}={24/24},列重分布为{ρ10,ρ3,ρ2}={4/36,16/36,16/36}。
在满足行重和列重分布的前提下,选择基础矩阵B的每一行和每一列中“1”的位置,保证由B的后24列组成的24×24维的子矩阵满秩,同时避免B中短环的存在。
依照上述方法生成的基础矩阵位置表为:
1,    8,     11,    29,    32,
2,    3,     9,     28,    32,
1,    2,     3,     4,     23,
0,    3,     17,    24,    27,
1,    3,     10,    15,    22,
0,    1,     2,     5,     19,
2,    6,     9,     19,    21,
0,    3,     10,    11,    14,
0,    3,     14,    16,    18,
0,    3,     5,     12,    16,
0,    3,     6,     11,    12,
2,    12,    27,    33,    35,
2,    15,    24,    26,    29,
7,    9,    21,    25,    28,
1,    3,    14,    25,    34,
7,    15,   16,    30,    31,
0,    10,   17,    22,    23,
0,    1,    19,    20,    35,
2,    3,    6,     18,    34,
1,    2,    8,     13,    17,
1,    4,    7,     13,    20,
0,    5,    13,    31,    33,
1,    2,    4,     8,     26,
0,    1,    2,     18,    30。
将基础矩阵B中的“0”用256×256维的全“0”矩阵Z替换,将B中的“1”用256×256维的循环置换矩阵P替换,得到校验矩阵H。其中,P中“1”的行号i和列号j满足j=(i+k)mod 256,k为循环置换矩阵的偏移量。
选择每一个循环置换矩阵P的偏移量,进一步增大校验矩阵H的最短环长。
依照上述方法生成的循环置换矩阵偏移量表为:
64,    14,    11,     157,    147,
167,   61,    158,    108,    147,
81,    197,   208,    2,      93,
188,   90,    198,    100,    233,
153,   165,   230,    66,     91,
17,    144,   195,    150,    193,
220,   57,    145,    223,    91,
111,   133,   57,     145,    108,
153,   171,   165,    142,    14,
195,   67,    219,    209,    202,
129,   187,   165,    37,     122,
147,   99,    111,    218,    249,
71,    232,   15,     7,      134,
113,   166,   211,    210,    26,
1,     247,   141,    168,    78,
88,    18,    175,    165,    117,
121,   225,   2,      43,     197,
188,   214,   81,     160,    62,
126,   195,   123,    80,     65,
212,   186,   93,     184,    179,
250,   84,    38,     217,    22,
181,   240,   169,    68,     106,
239,   73,    214,    234,    8,
71,    13,    176,    82,     127。
对依据上述校验矩阵的构造方法构造的LDPC码进行编码的方法,包括以下步骤:
将上述6144×9216维的校验矩阵H分为两个子矩阵H=[Hm,Hp],其中Hm为6144×3072维的子矩阵,Hp为6144×6144维的子矩阵,计算Bp -1和Hp -1Hm,矩阵Hp -1Hm具有分块循环的结构,即可以分为24×12个256×256维的循环子矩阵;
根据输入的1×3072维的信息序列m,计算1×6144维的校验序列p=m(Hp -1Hm)T
将信息序列m和校验序列p组合成1×9216维的码字序列c=[m p],并输出。
实现上述编码方法的编码装置,包括编码矩阵存储模块、校验序列计算模块以及码字序列生成模块,
编码矩阵存储模块用于存储矩阵Hp -1Hm的结构,由于Hp -1Hm具有分块循环的结构,可以以块为单位进行存储,从而大大减少了所需存储器的数量;
校验序列计算模块用于将输入的信息序列m与矩阵(Hp -1Hm)T相乘,得到校验序列p;由于Hp -1Hm具有分块循环的结构,矩阵乘法m(Hp -1Hm)T可以采用简单的,例如移位寄存器的方式实现,从而大大降低了编码器的实现复杂度;
码字序列生成模块用于将信息序列m和校验序列p组合成码字序列c并输出。
上述两实施例中构造的1/4和1/3码率LDPC码的性能曲线,以及与1/2码率LDPC码的性能对比如图3所示。根据Shannon信道编码理论,1/4码率的纠错编码在误码率(BER)达到10-6时的信噪比(SNR)极限约为-3.5dB。从图中可以看出,实施例1中构造的1/4码率的LDPC码在BER达到10-6时的SNR约为-2.5dB,具有接近理论极限的优秀性能。与1/2码率的LDPC码相比,SNR的增益约为4dB,可以有效的提高CMMB系统的链路余量。实施例2中构造的1/3码率的LDPC码也具有类似的结论。
如图4所示,本发明的实施例还提出了一种LDPC码的编码装置,其特征在于,包括编码矩阵存储模块110、校验序列计算模块120以及码字序列生成模块130,
编码矩阵存储模块110用于存储编码矩阵的结构,将M×N维的校验矩阵H分为两个子矩阵H=[Hm Hp],其中Hm为M×(N-M)维的子矩阵,Hp为M×M维的子矩阵,编码矩阵存储模块110用于存储矩阵Hp -1Hm的结构,由于Hp -1Hm具有分块循环的结构,可以以块为单位进行存储,从而大大减少了所需存储器的数量,所述校验矩阵H通过以下方式得到,首先构造一个产生码率为R、码长为N的LDPC码的MB×NB维的基础矩阵B,其中MB=M/K,NB=N/K,M=N(1-R),K为基础矩阵的扩张比,K∈Φ,Φ为M和N的公因子的集合,选择基础矩阵B的每一行和每一列中“1”的数目,使得B的行重和列重分布满足预定的节点度分布,在行重和列重满足预定的节点度分布的前提下,选择基础矩阵B中每一行和每一列中“1”的位置,使得B的后MB列组成的MB×MB维的子矩阵满秩,然后将基础矩阵B扩张为M×N维的校验矩阵H,将基础矩阵B中的“0”用K×K维的全“0”矩阵Z替换,将B中的“1”用K×K维的循环置换矩阵P替换,其中,P中“1”的行号i和列号j满足j=(i+k)mod K,k为循环置换矩阵的偏移量,mod表示取模运算,为每一个循环置换矩阵P选择一个偏移量;
校验序列计算模块120用于将输入的信息序列m与矩阵(Hp -1Hm)T相乘,得到校验序列p;由于Hp -1Hm具有分块循环的结构,矩阵乘法m(Hp -1Hm)T可以采用简单的,例如移位寄存器的方式实现,从而大大降低了编码器的实现复杂度;
码字序列生成模块130用于将信息序列m和校验序列p组合成码字序列c并输出。
作为上述编码装置的实施例,校验矩阵H由27×36维的基础矩阵B通过扩张得到:
基础矩阵B中“1”的位置具体为:
10,    13,   14,   18,
0,     1,    3,    16,
0,     2,    3,    20,
2,     6,    8,    10,
1,    11,    17,    24,
0,    5,     9,     21,
4,    6,     10,    25,
2,    20,    22,    26,
2,    27,    31,    35,
1,    2,     16,    19,    22,
1,    2,     21,    29,
0,    1,     3,     15,
0,    4,     18,    35,
0,    1,     11,    34,
9,    17,    19,    33,
0,    1,     5,     14,
0,    5,     7,     13,
2,    4,     11,    12,
2,    7,     8,     32,    34,
0,    3,     6,     12,
4,    13,    32,    33,
1,    7,     29,    30,
9,    28,    30,    31,
1,    2,     8,     28,
15,   25,    26,    27,
1,    2,     5,     23,
0,    12,    23,    24;
将所述基础矩阵B扩张为6912×9216维的校验矩阵H包括以下步骤:
将基础矩阵B中的“0”用256×256维的全“0”矩阵Z替换,将基础矩阵B中的“1”用256×256维的循环置换矩阵P替换,其中,P中“1”的行号i和列号j满足j=(i+k)mod 256,k为循环置换矩阵的偏移量,mod表示取模运算,循环置换矩阵P的偏移量具体为:
195,    130,    214,    42,
79,     98,     59,     149,
157,    72,     125,    189,
150,    252,    7,      227,
76,     187,    217,    32,
110,    225,    111,    113,
104,    84,     100,    81,
161,    47,     248,    97,
135,    96,     51,     158,
242,    147,    54,     178,    145,
202,    74,     175,    236,
235,    129,    128,    128,
194,    44,     247,    130,
109,    76,     36,     184,
129,    155,    248,    222,
10,    161,    6,      81,
73,    44,     206,    72,
227,   92,     39,     90,
113,   50,     160,    190,    12,
7,     202,    178,    167,
228,   2,      83,     7,
115,   119,    180,    171,
145,   165,    196,    41,
47,    133,    75,     3,
16,    89,     90,     138,
253,   57,     198,    130,
182,   166,    172,    180;
将校验矩阵H分为两个子矩阵H=[Hm Hp],其中Hm为6912×2304维的子矩阵,Hp为6912×6912维的子矩阵。
作为上述编码装置的实施例,校验矩阵H由24×36维的基础矩阵B通过扩张得到:
基础矩阵B中“1”的位置具体为:
1,    8,    11,    29,    32,
2,    3,    9,     28,    32,
1,    2,    3,     4,     23,
0,    3,    17,    24,    27,
1,    3,    10,    15,    22,
0,    1,    2,     5,     19,
2,    6,    9,     19,    21,
0,    3,    10,    11,    14,
0,    3,    14,    16,    18,
0,    3,    5,     12,    16,
0,    3,    6,     11,    12,
2,    12,   27,    33,    35,
2,    15,   24,    26,    29,
7,    9,    21,    25,    28,
1,    3,    14,    25,    34,
7,    15,   16,    30,    31,
0,    10,   17,    22,    23,
0,    1,    19,    20,    35,
2,    3,    6,     18,    34,
1,    2,    8,     13,    17,
1,    4,    7,     13,    20,
0,    5,    13,    31,    33,
1,    2,    4,     8,     26,
0,    1,    2,     18,    30;
将所述基础矩阵B扩张为6144×9216维的校验矩阵H包括以下步骤:
将基础矩阵B中的“0”用256×256维的全“0”矩阵Z替换,将基础矩阵B中的“1”用256×256维的循环置换矩阵P替换,其中,P中“1”的行号i和列号j满足j=(i+k)mod 256,k为循环置换矩阵的偏移量,mod表示取模运算,循环置换矩阵P的偏移量具体为:
64,     14,     11,     157,    147,
167,    61,     158,    108,    147,
81,     197,    208,    2,      93,
188,    90,     198,    100,    233,
153,    165,    230,    66,     91,
17,     144,    195,    150,    193,
220,    57,     145,    223,    91,
111,    133,    57,     145,    108,
153,    171,    165,    142,    14,
195,    67,     219,    209,    202,
129,    187,    165,    37,     122,
147,    99,     111,    218,    249,
71,     232,    15,     7,      134,
113,    166,    211,    210,    26,
1,      247,    141,    168,    78,
88,     18,     175,    165,    117,
121,    225,    2,      43,     197,
188,    214,    81,     160,    62,
126,    195,    123,    80,     65,
212,    186,    93,     184,    179,
250,    84,     38,     217,    22,
181,    240,    169,    68,     106,
239,    73,     214,    234,    8,
71,     13,     176,    82,     127;
将校验矩阵H分为两个子矩阵H=[Hm Hp],其中Hm为6144×3072维的子矩阵,Hp为6144×6144维的子矩阵。
本发明的实施例提出的技术方案可以构造出任意码率的性能优秀的LDPC码。此外,本发明的实施例提出的技术方案还解决了校验矩阵的存储问题,有效降低了编码器的实现复杂度。本发明的实施例提出的技术方案构造的LDPC码可以与CMMB系统的物理层结构完全兼容,能有效的提高系统的链路余量。
本领域普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (15)

1.一种LDPC码校验矩阵的构造方法,其特征在于,包括以下步骤:
构造一个产生码率为R、码长为N的LDPC码的MB×NB维的基础矩阵B,其中MB=M/K,NB=N/K,M=N(1-R),K为基础矩阵的扩张比,K∈Φ,Φ为M和N的公因子的集合,选择基础矩阵B的每一行和每一列中“1”的数目,使得B的行重和列重分布满足预定的节点度分布,在行重和列重满足预定的节点度分布的前提下,选择基础矩阵B中每一行和每一列中“1”的位置,使得B的后MB列组成的MB×MB维的子矩阵满秩;
用K×K的矩阵替换基础矩阵B中的元素,将基础矩阵B扩张为M×N维的校验矩阵H,所述校验矩阵H用于进行LDPC码的编码或译码;其中:
所述码率R为1/4,所述码长N为9216,所述扩张比K为256,所述基础矩阵B的行重分布为{λ5,λ4}={2/27,25/27},列重分布为{ρ10,ρ4,ρ3,ρ2}={3/36,3/36,8/36,22/36};或者,
所述码率R为1/3,所述码长N为9216,所述扩张比K为256,所述基础矩阵B的行重分布为{λ5}={24/24},列重分布为{ρ10,ρ3,ρ2}={4/36,16/36,16/36}。
2.如权利要求1所述的LDPC码校验矩阵的构造方法,其特征在于,将基础矩阵B扩张为M×N维的校验矩阵H包括以下步骤:
将基础矩阵B中的“0”用K×K维的全“0”矩阵Z替换,将B中的“1”用K×K维的循环置换矩阵P替换,其中,P中“1”的行号i和列号j满足j=(i+k)mod K,k为循环置换矩阵的偏移量,mod表示取模运算;
为每一个循环置换矩阵P选择一个偏移量。
3.如权利要求2所述的LDPC码校验矩阵的构造方法,其特征在于,所述基础矩阵B的结构或所述循环置换矩阵P的偏移量采用表的形式进行存储,表的每一行记录B的每一行中“1”的位置或者表的每一行记录基础矩阵B的每一行中“1”对应的循环置换矩阵的偏移量。
4.如权利要求1所述的LDPC码校验矩阵的构造方法,其特征在于,所述码率R为1/4的情况时,所述基础矩阵B中“1”的位置具体为:
10 , 13 , 14 , 18 ,
0 , 1 , 3 , 16 , 0 , 2 , 3 , 20 , 2 , 6 , 8 , 10 , 1 , 11 , 17 , 24 , 0 , 5 , 9 , 21 , 4 , 6 , 10 , 25 , 2 , 20 , 22 , 26 , 2 , 27 , 31 , 35 , 1 , 2 , 16 , 19 , 22 , 1 , 2 , 21 , 29 , 0 , 1 , 3 , 15 , 0 , 4 , 18 , 35 , 0 , 1 , 11 , 34 , 9 , 17 , 19 , 33 , 0 , 1 , 5 , 14 , 0 , 5 , 7 , 13 , 2 , 4 , 11 , 12 , 2 , 7 , 8 , 32 , 34 , 0 , 3 , 6 , 12 , 4 , 13 , 32 , 33 , 1 , 7 , 29 , 30 , 9 , 28 , 30 , 31 , 1 , 2 , 8 , 28 , 15 , 25 , 26 , 27 , 1 , 2 , 5 , 23 , 0 . 12 , 23 , 24 .
5.如权利要求4所述的LDPC码校验矩阵的构造方法,其特征在于,将所述基础矩阵B扩张为6912×9216维的校验矩阵H包括以下步骤:
将所述基础矩阵B中的“0”用256×256维的全“0”矩阵Z替换,将所述基础矩阵B中的“1”用256×256维的循环置换矩阵P替换,其中,P中“1”的行号i和列号j满足j=(i+k)mod256,k为循环置换矩阵的偏移量,mod表示取模运算,循环置换矩阵P的偏移量具体为:
195 , 130 , 214 , 42 , 79 , 98 , 59 , 149 , 157 , 72 , 125 , 189 , 150 , 252 , 7 , 227 , 76 , 187 , 217 , 32 , 110 , 252 , 111 , 113 , 104 , 84 , 100 , 81 , 161 , 47 , 248 , 97 , 135 , 96 , 51 , 158 , 242 , 147 , 54 , 178 , 145 ,
202 , 74 , 175 , 236 , 235 , 129 , 128 , 128 , 194 , 44 , 247 , 130 , 109 , 76 , 36 , 184 , 129 , 155 , 248 , 222 , 10 , 161 , 6 , 81 , 73 , 44 , 206 , 72 , 227 , 92 , 39 , 90 , 113 , 50 , 160 , 190 , 12 , 7 , 202 , 178 , 167 , 228 , 2 , 83 , 7 , 115 , 119 , 180 , 171 , 145 , 165 , 196 , 41 , 47 , 133 , 75 , 3 , 16 , 89 , 90 , 138 , 253 , 57 , 198 , 130 , 182 , 166 , 172 , 180 .
6.如权利要求1所述的LDPC码校验矩阵的构造方法,其特征在于,所述码率R为1/3的情况时,所述基础矩阵B中“1”的位置具体为:
1 , 8 , 11 , 29 , 32 , 2 , 3 , 9 , 28 , 32 , 1 , 2 , 3 , 4 , 23 , 0 , 3 , 17 , 24 , 27 , 1 , 3 , 10 , 15 , 22 , 0 , 1 , 2 , 5 , 19 , 2 , 6 , 9 , 19 , 21 , 0 , 3 , 10 , 11 , 14 , 0 , 3 , 14 , 16 , 18 , 0 , 3 , 5 , 12 , 16 , 0 , 3 , 6 , 11 , 12 , 2 , 12 , 27 , 33 , 35 , 2 , 15 , 24 , 26 , 29 , 7 , 9 , 21 , 25 , 28 , 1 , 3 , 14 , 25 , 34 , 7 , 15 , 16 , 30 , 31 , 0 , 10 , 17 , 22 , 23 , 0 , 1 , 19 , 20 , 35 , 2 , 3 , 6 , 18 , 34 , 1 , 2 , 8 , 13 , 17 , 1 , 4 , 7 , 13 , 20 , 0 , 5 , 13 , 31 , 33 , 1 , 2 , 4 , 8 , 26 , 0 , 1 , 2 , 18 , 30 .
7.如权利要求6所述的LDPC码校验矩阵的构造方法,其特征在于,将所述基础矩阵B扩张为6144×9216维的校验矩阵H包括以下步骤:
将所述基础矩阵B中的“0”用256×256维的全“0”矩阵Z替换,将所述基础矩阵B中的“1”用256×256维的循环置换矩阵P替换,其中,P中“1”的行号i和列号j满足j=(i+k)mod256,k为循环置换矩阵的偏移量,mod表示取模运算,循环置换矩阵P的偏移量具体为:
64 , 14 , 11 , 157 , 147 167 , 61 , 158 , 108 , 147 , 81 , 197 , 208 , 2 , 93 , 188 , 90 , 198 , 100 , 233 , 153 , 165 , 230 , 66 , 91 , 17 , 144 , 195 , 150 , 193 , 220 , 57 , 145 , 223 , 91 , 111 , 133 , 57 , 145 , 108 , 153 , 171 , 165 , 142 , 14 , 195 , 67 , 219 , 209 , 202 , 129 , 187 , 165 , 37 , 122 , 147 , 99 , 111 , 218 , 249 , 71 , 232 , 15 , 7 , 134 , 113 , 166 , 211 , 210 , 26 , 1 , 247 , 141 , 168 , 78 , 88 , 18 , 175 , 165 , 117 , 121 , 225 , 2 , 43 , 197 , 188 , 214 , 81 , 160 , 62 , 126 , 195 , 123 , 80 , 65 , 212 , 186 , 93 , 184 , 179 , 250 , 84 , 38 , 217 , 22 , 181 , 240 , 169 , 68 , 106 , 239 , 73 , 214 , 234 , 8 , 71 , 13 , 176 , 82 , 127 .
8.一种LDPC码的编码方法,其特征在于,包括以下步骤:
将校验矩阵H分为两个子矩阵H=[Hm Hp],其中Hm为M×(N-M)维的子矩阵,Hp为M×M维的子矩阵,计算Hp -1和Hp -1Hm,所述校验矩阵H通过以下方式得到,首先构造一个产生码率为R、码长为N的LDPC码的MB×NB维的基础矩阵B,其中MB=M/K,NB=N/K,M=N(1-R),K为基础矩阵的扩张比,K∈Φ,Φ为M和N的公因子的集合,选择基础矩阵B的每一行和每一列中“1”的数目,使得B的行重和列重分布满足预定的节点度分布,在行重和列重满足预定的节点度分布的前提下,选择基础矩阵B中每一行和每一列中“1”的位置,使得B的后MB列组成的MB×MB维的子矩阵满秩,然后将基础矩阵B扩张为M×N维的校验矩阵H,将基础矩阵B中的“0”用K×K维的全“0”矩阵Z替换,将B中的“1”用K×K维的循环置换矩阵P替换,其中,P中“1”的行号i和列号j满足j=(i+k)mod K,k为循环置换矩阵的偏移量,mod表示取模运算,为每一个循环置换矩阵P选择一个偏移量;其中:
所述码率R为1/4,所述码长N为9216,所述扩张比K为256,所述基础矩阵B的行重分布为{λ5,λ4}={2/27,25/27},列重分布为{ρ10,ρ4,ρ3,ρ2}={3/36,3/36,8/36,22/36};或者,
所述码率R为1/3,所述码长N为9216,所述扩张比K为256,所述基础矩阵B的行重分布为{λ5}={24/24},列重分布为{ρ10,ρ3,ρ2}={4/36,16/36,16/36};
根据输入的1×(N-M)维的信息序列m,计算1×M维的校验序列p=m(Hp -1Hm)T
将信息序列m和校验序列p组合成1×N维的码字序列c=[m p]并输出。
9.如权利要求8所述的LDPC码的编码方法,其特征在于,所述校验矩阵H由27×36维的基础矩阵B通过扩张得到,所述码率R为1/4的情况时,所述基础矩阵B中“1”的位置具体为:
10 , 13 , 14 , 18 , 0 , 1 , 3 , 16 , 0 , 2 , 3 , 20 , 2 , 6 , 8 , 10 , 1 , 11 , 17 , 24 , 0 , 5 , 9 , 21 , 4 , 6 , 10 , 25 , 2 , 20 , 22 , 26 , 2 , 27 , 31 , 35 , 1 , 2 , 16 , 19 , 22 , 1 , 2 , 21 , 29 , 0 , 1 , 3 , 15 , 0 , 4 , 18 , 35 , 0 , 1 , 11 , 34 , 9 , 17 , 19 , 33 , 0 , 1 , 5 , 14 , 0 , 5 , 7 , 13 ,
2 , 4 , 11 , 12 , 2 , 7 , 8 , 32 , 34 , 0 , 3 , 6 , 12 , 4 , 13 , 32 , 33 , 1 , 7 , 29 , 30 , 9 , 28 , 30 , 31 , 1 , 2 , 8 , 28 , 15 , 25 , 26 , 27 , 1 , 2 , 5 , 23 , 0 , 12 , 23 , 24 .
10.如权利要求9所述的LDPC码的编码方法,其特征在于,将所述基础矩阵B扩张为6912×9216维的校验矩阵H包括以下步骤:
将所述基础矩阵B中的“0”用256×256维的全“0”矩阵Z替换,将所述基础矩阵B中的“1”用256×256维的循环置换矩阵P替换,其中,P中“1”的行号i和列号j满足j=(i+k)mod256,k为循环置换矩阵的偏移量,mod表示取模运算,循环置换矩阵P的偏移量具体为:
195 , 130 , 214 , 42 , 79 , 98 , 59 , 149 , 157 , 72 , 125 , 189 , 150 , 252 , 7 , 227 , 76 , 187 , 217 , 32 , 110 , 225 , 111 , 113 , 104 , 84 , 100 , 81 , 161 , 47 , 248 , 97 , 135 , 96 , 51 , 158 , 242 , 147 , 54 , 178 , 145 , 202 , 74 , 175 , 236 , 235 , 129 , 128 , 128 , 194 , 44 , 247 , 130 , 109 , 76 , 36 , 184 , 129 , 155 , 248 , 222 , 10 , 161 , 6 , 841 , 73 , 44 , 206 , 72 , 227 , 92 , 39 , 90 , 113 , 50 , 160 , 190 , 12 , 7 , 202 , 178 , 167 , 228 , 2 , 83 , 7 , 115 , 119 , 180 , 171 , 145 , 165 , 196 , 41 , 47 , 133 , 75 , 3 , 16 , 89 , 90 , 138 , 253 , 57 , 198 , 130 ,
182 , 166 , 172 , 180 ;
将所述的校验矩阵H分为两个子矩阵H=[Hm Hp],其中Hm为6912×2304维的子矩阵,Hp为6912×6912维的子矩阵,计算Hp -1和Hp -1Hm
根据输入的1×2304维的信息序列m,计算1×6912维的校验序列p=m(Hp -1Hm)T
将信息序列m和校验序列p组合成1×9216维的码字序列c=[m p]并输出。
11.如权利要求8所述的LDPC码的编码方法,其特征在于,所述校验矩阵H由24×36维的基础矩阵B通过扩张得到,所述码率R为1/3的情况时,所述基础矩阵B中“1”的位置具体为:
1 , 8 , 11 , 29 , 32 , 2 , 3 , 9 , 28 , 32 , 1 , 2 , 3 , 4 , 23 , 0 , 3 , 17 , 24 , 27 , 1 , 3 , 10 , 15 , 22 , 0 , 1 , 2 , 5 , 19 , 2 , 6 , 9 , 19 , 21 , 0 , 3 , 10 , 11 , 14 , 0 , 3 , 14 , 16 , 18 , 0 , 3 , 5 , 12 , 16 , 0 , 3 , 6 , 11 , 12 , 2 , 12 , 27 , 33 , 35 , 2 , 15 , 24 , 26 , 29 , 7 , 9 , 21 , 25 , 28 , 1 , 3 , 14 , 25 , 34 , 7 , 15 , 16 , 30 , 31 , 0 , 10 , 17 , 22 , 23 , 0 , 1 , 19 , 20 , 35 , 2 , 3 , 6 , 18 , 34 , 1 , 2 , 8 , 13 , 17 , 1 , 4 , 7 , 13 , 20 , 0 , 5 , 13 , 31 , 33 , 1 , 2 , 4 , 8 , 26 , 0 , 1 , 2 , 18 , 30 .
12.如权利要求11所述的LDPC码的编码方法,其特征在于,将所述基础矩阵B扩张为6144×9216维的校验矩阵H包括以下步骤:
将所述基础矩阵B中的“0”用256×256维的全“0”矩阵Z替换,将所述基础矩阵B中的“1”用256×256维的循环置换矩阵P替换,其中,P中“1”的行号i和列号j满足j=(i+k)mod256,k为循环置换矩阵的偏移量,mod表示取模运算,循环置换矩阵P的偏移量具体为:
64 , 14 , 11 , 157 , 147 167 , 61 , 158 , 108 , 147 , 81 , 197 , 208 , 2 , 93 , 188 , 90 , 198 , 100 , 233 , 153 , 165 , 230 , 66 , 91 , 17 , 144 , 195 , 150 , 193 , 220 , 57 , 145 , 223 , 91 , 111 , 133 , 57 , 145 , 108 , 153 , 171 , 165 , 142 , 14 , 195 , 67 , 219 , 209 , 202 , 129 , 187 , 165 , 37 , 122 , 147 , 99 , 111 , 218 , 249 , 71 , 232 , 15 , 7 , 134 , 113 , 166 , 211 , 210 , 26 , 1 , 247 , 141 , 168 , 78 , 88 , 18 , 175 , 165 , 117 , 121 , 225 , 2 , 43 , 197 , 188 , 214 , 81 , 160 , 62 , 126 , 195 , 123 , 80 , 65 , 212 , 186 , 93 , 184 , 179 , 250 , 84 , 38 , 217 , 22 , 181 , 240 , 169 , 68 , 106 , 239 , 73 , 214 , 234 , 8 , 71 , 13 , 176 , 82 , 127 ;
将所述的校验矩阵H分为两个子矩阵H=[Hm Hp],其中Hm为6144×3072维的子矩阵,Hp为6144×6144维的子矩阵,计算Hp -1和Hp -1Hm
根据输入的1×3072维的信息序列m,计算1×6144维的校验序列p=m(Hp -1Hm)T
将信息序列m和校验序列p组合成1×9216维的码字序列c=[m p]并输出。
13.一种LDPC码的编码装置,其特征在于,包括编码矩阵存储模块、校验序列计算模块以及码字序列生成模块,
所述编码矩阵存储模块用于存储编码矩阵的结构,将M×N维的校验矩阵H分为两个子矩阵H=[Hm Hp],其中Hm为M×(N-M)维的子矩阵,Hp为M×M维的子矩阵,所述编码矩阵存储模块用于存储矩阵Hp -1Hm的结构,所述Hp -1Hm具有分块循环的结构,可以以块为单位进行存储,所述校验矩阵H通过以下方式得到,首先构造一个产生码率为R、码长为N的LDPC码的MB×NB维的基础矩阵B,其中MB=M/K,NB=N/K,M=N(1-R),K为基础矩阵的扩张比,K∈Φ,Φ为M和N的公因子的集合,选择基础矩阵B的每一行和每一列中“1”的数目,使得B的行重和列重分布满足预定的节点度分布,在行重和列重满足预定的节点度分布的前提下,选择基础矩阵B中每一行和每一列中“1”的位置,使得B的后MB列组成的MB×MB维的子矩阵满秩,然后将基础矩阵B扩张为M×N维的校验矩阵H,将基础矩阵B中的“0”用K×K维的全“0”矩阵Z替换,将B中的“1”用K×K维的循环置换矩阵P替换,其中,P中“1”的行号i和列号j满足j=(i+k)mod K,k为循环置换矩阵的偏移量,mod表示取模运算,为每一个循环置换矩阵P选择一个偏移量;其中:
所述码率R为1/4,所述码长N为9216,所述扩张比K为256,所述基础矩阵B的行重分布为{λ5,λ4}={2/27,25/27},列重分布为{ρ10,ρ4,ρ3,ρ2}={3/36,3/36,8/36,22/36};或者,
所述码率R为1/3,所述码长N为9216,所述扩张比K为256,所述基础矩阵B的行重分布为{λ5}={24/24},列重分布为{ρ10,ρ3,ρ2}={4/36,16/36,16/36};
所述校验序列计算模块用于将输入的信息序列m与矩阵(Hp -1Hm)T相乘,得到校验序列p;
所述码字序列生成模块用于将信息序列m和校验序列p组合成码字序列c并输出。
14.如权利要求13所述的LDPC码的编码装置,其特征在于,所述校验矩阵H由27×36维的基础矩阵B通过扩张得到:
所述码率R为1/4的情况时,所述基础矩阵B中“1”的位置具体为:
10 , 13 , 14 , 18 , 0 , 1 , 3 , 16 , 0 , 2 , 3 , 20 , 2 , 6 , 8 , 10 , 1 , 11 , 17 , 24 , 0 , 5 , 9 , 21 , 4 , 6 , 10 , 25 , 2 , 20 , 22 , 26 , 2 , 27 , 31 , 35 ,
1 , 2 , 16 , 19 , 22 , 1 , 2 , 21 , 29 , 0 , 1 , 3 , 15 , 0 , 4 , 18 , 35 , 0 , 1 , 11 , 34 , 9 , 17 , 19 , 33 , 0 , 1 , 5 , 14 , 0 , 5 , 7 , 13 , 2 , 4 , 11 , 12 , 2 , 7 , 8 , 32 , 34 , 0 , 3 , 6 , 12 , 4 , 13 , 32 , 33 , 1 , 7 , 29 , 30 , 9 , 28 , 30 , 31 , 1 , 2 , 8 , 28 , 15 , 25 , 26 , 27 , 1 , 2 , 5 , 23 , 0 , 12 , 23 , 24 ;
将所述基础矩阵B扩张为6912×9216维的校验矩阵H包括以下步骤:
将所述基础矩阵B中的“0”用256×256维的全“0”矩阵Z替换,将所述基础矩阵B中的“1”用256×256维的循环置换矩阵P替换,其中,P中“1”的行号i和列号j满足j=(i+k)mod256,k为循环置换矩阵的偏移量,mod表示取模运算,循环置换矩阵P的偏移量具体为:
195 , 130 , 214 , 42 , 79 , 98 , 59 , 149 , 157 , 72 , 125 , 189 , 150 , 252 , 7 , 227 , 76 , 187 , 217 , 32 , 110 , 225 , 111 , 113 , 104 , 84 , 100 , 81 , 161 , 47 , 248 , 97 , 135 , 96 , 51 , 158 , 242 , 147 , 54 , 178 , 145 , 202 , 74 , 175 , 236 , 235 , 129 , 128 , 128 , 194 , 44 , 247 , 130 , 109 , 76 , 36 , 184 , 129 , 155 , 248 , 222 , 10 , 161 , 6 , 81 , 73 , 44 , 206 , 72 , 227 , 92 , 39 , 90 , 113 , 50 , 160 , 190 , 12 , 7 , 202 , 178 , 167 ,
228 , 2 , 83 , 7 , 115 , 119 , 180 , 171 , 145 , 165 , 196 , 41 , 47 , 133 , 75 , 3 , 16 , 89 , 90 , 138 , 253 , 57 , 198 , 130 , 182 , 166 , 172 , 180 ;
将所述校验矩阵H分为两个子矩阵H=[Hm Hp],其中Hm为6912×2304维的子矩阵,Hp为6912×6912维的子矩阵。
15.如权利要求13所述的LDPC码的编码装置,其特征在于,所述校验矩阵H由24×36维的基础矩阵B通过扩张得到:
所述码率R为1/3的情况时,所述基础矩阵B中“1”的位置具体为:
1 , 8 , 11 , 29 , 32 , 2 , 3 , 9 , 28 , 32 , 1 , 2 , 3 , 4 , 23 , 0 , 3 , 17 , 24 , 27 , 1 , 3 , 10 , 15 , 22 , 0 , 1 , 2 , 5 , 19 , 2 , 6 , 9 , 19 , 21 , 0 , 3 , 10 , 11 , 14 , 0 , 3 , 14 , 16 , 18 , 0 , 3 , 5 , 12 , 16 , 0 , 3 , 6 , 11 , 12 , 2 , 12 , 27 , 33 , 35 , 2 , 15 , 24 , 26 , 29 , 7 , 9 , 21 , 25 , 28 , 1 , 3 , 14 , 25 , 34 , 7 , 15 , 16 , 30 , 31 , 0 , 10 , 17 , 22 , 23 , 0 , 1 , 19 , 20 , 35 , 2 , 3 , 6 , 18 , 34 , 1 , 2 , 8 , 13 , 17 , 1 , 4 , 7 , 13 , 20 , 0 , 5 , 13 , 31 , 33 , 1 , 2 , 4 , 8 , 26 , 0 , 1 , 2 , 18 , 30 ;
将所述基础矩阵B扩张为6144×9216维的校验矩阵H包括以下步骤:
将所述基础矩阵B中的“0”用256×256维的全“0”矩阵Z替换,将所述基础矩阵B中的“1”用256×256维的循环置换矩阵P替换,其中,P中“1”的行号i和列号j满足j=(i+k)mod256,k为循环置换矩阵的偏移量,mod表示取模运算,循环置换矩阵P的偏移量具体为:
64 , 14 , 11 , 157 , 147 167 , 61 , 158 , 108 , 147 , 81 , 197 , 208 , 2 , 93 , 188 , 90 , 198 , 100 , 233 , 153 , 165 , 230 , 66 , 91 , 17 , 144 , 195 , 150 , 193 , 220 , 57 , 145 , 223 , 91 , 111 , 133 , 57 , 145 , 108 , 153 , 171 , 165 , 142 , 14 , 195 , 67 , 219 , 209 , 202 , 129 , 187 , 165 , 37 , 122 , 147 , 99 , 111 , 218 , 249 , 71 , 232 , 15 , 7 , 134 , 113 , 166 , 211 , 210 , 26 , 1 , 247 , 141 , 168 , 78 , 88 , 18 , 175 , 165 , 117 , 121 , 225 , 2 , 43 , 197 , 188 , 214 , 81 , 160 , 62 , 126 , 195 , 123 , 80 , 65 , 212 , 186 , 93 , 184 , 179 , 250 , 84 , 38 , 217 , 22 , 181 , 240 , 169 , 68 , 106 , 239 , 73 , 214 , 234 , 8 , 71 , 13 , 176 , 82 , 127 ;
将所述校验矩阵H分为两个子矩阵H=[Hm Hp],其中Hm为6144×3072维的子矩阵,Hp为6144×6144维的子矩阵。
CN200910092565.6A 2009-09-11 2009-09-11 Ldpc码校验矩阵的构造方法、ldpc码的编码方法和编码装置 Expired - Fee Related CN102025441B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN200910092565.6A CN102025441B (zh) 2009-09-11 2009-09-11 Ldpc码校验矩阵的构造方法、ldpc码的编码方法和编码装置
PCT/CN2010/075867 WO2011029362A1 (zh) 2009-09-11 2010-08-11 Ldpc码校验矩阵的构造方法以及基于该方法的编码方法和编码装置
US13/395,478 US20120173949A1 (en) 2009-09-11 2010-08-11 Method of constructing parity-check matrix of ldpc code and encoding method and encoding apparatus based on the method
EP10814964.2A EP2477334A4 (en) 2009-09-11 2010-08-11 METHOD FOR CONFIGURING LDPC CODE MATRIX, AND ENCODING METHOD AND ENCODING APPARATUS BASED ON SAID VERIFICATION METHOD

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910092565.6A CN102025441B (zh) 2009-09-11 2009-09-11 Ldpc码校验矩阵的构造方法、ldpc码的编码方法和编码装置

Publications (2)

Publication Number Publication Date
CN102025441A CN102025441A (zh) 2011-04-20
CN102025441B true CN102025441B (zh) 2013-07-31

Family

ID=43731993

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910092565.6A Expired - Fee Related CN102025441B (zh) 2009-09-11 2009-09-11 Ldpc码校验矩阵的构造方法、ldpc码的编码方法和编码装置

Country Status (4)

Country Link
US (1) US20120173949A1 (zh)
EP (1) EP2477334A4 (zh)
CN (1) CN102025441B (zh)
WO (1) WO2011029362A1 (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102868483A (zh) * 2011-07-06 2013-01-09 北京新岸线无线技术有限公司 一种用于数据传输的方法及装置
CN102957435B (zh) * 2011-08-17 2017-03-15 国家新闻出版广电总局广播科学研究院 Ldpc码校验矩阵的构造方法、装置和编码方法及系统
KR101172228B1 (ko) * 2011-08-30 2012-08-07 한양대학교 산학협력단 Omp 기법에 따른 ldpc디코딩 장치 및 이를 위한 변환된 패리티 검사 행렬 생성 장치
US10621044B2 (en) 2012-04-25 2020-04-14 Pure Storage, Inc. Mapping slice groupings in a dispersed storage network
US10795766B2 (en) 2012-04-25 2020-10-06 Pure Storage, Inc. Mapping slice groupings in a dispersed storage network
US9380032B2 (en) * 2012-04-25 2016-06-28 International Business Machines Corporation Encrypting data for storage in a dispersed storage network
US9577675B1 (en) * 2013-12-03 2017-02-21 Marvell International Ltd. System and method for encoding user data with low-density parity-check codes with flexible redundant parity check matrix structures
US9800266B2 (en) * 2014-08-14 2017-10-24 Electronics And Telecommunications Research Institute Low density parity check encoder having length of 64800 and code rate of 4/15, and low density parity check encoding method using the same
US9602244B2 (en) * 2014-08-14 2017-03-21 Electronics And Telecommunications Research Institute Low density parity check encoder having length of 16200 and code rate of 4/15, and low density parity check encoding method using the same
CN107437948B (zh) * 2014-09-17 2020-08-07 上海数字电视国家工程研究中心有限公司 针对低码率ldpc码的校验矩阵及编码方法
CN104363023B (zh) * 2014-10-11 2017-10-03 中国科学院国家授时中心 北斗高精度差分信息编码方法
CN105811996B (zh) 2014-12-30 2019-12-06 华为技术有限公司 一种基于准循环ldpc的数据处理方法及系统
CN106160937B (zh) 2015-04-15 2019-01-04 中兴通讯股份有限公司 一种实现码块分割的方法及装置
CN105933107B (zh) * 2016-04-22 2020-12-15 北京航空航天大学 一种基于ldpc变码技术的纠错加密方法
CN106341138B (zh) * 2016-09-05 2019-05-10 厦门大学 基于原模图ldpc码的联合信源信道编码矩阵构造方法
CN116683917A (zh) 2016-09-30 2023-09-01 中兴通讯股份有限公司 准循环ldpc编译码方法、装置及ldpc编译码器
CN108111174B (zh) * 2016-11-25 2020-09-11 华为技术有限公司 一种ldpc码发送方法、接收方法及装置
WO2018117651A1 (en) * 2016-12-20 2018-06-28 Samsung Electronics Co., Ltd. Apparatus and method for channel encoding/decoding in communication or broadcasting system
CA3094841C (en) 2017-03-24 2023-05-02 Zte Corporation Processing method and device for quasi-cyclic low density parity check coding
WO2018201912A1 (zh) * 2017-05-05 2018-11-08 电信科学技术研究院有限公司 低密度奇偶校验码的基础图选择方法及装置
CN108809509B (zh) 2017-05-05 2021-01-22 电信科学技术研究院 低密度奇偶校验码的基础图选择方法及装置
CN109150191A (zh) * 2017-06-15 2019-01-04 华为技术有限公司 信息处理的方法、装置和通信设备
CN110754042B (zh) 2017-06-15 2024-06-04 华为技术有限公司 信息处理的方法和通信装置
CN110677157B (zh) * 2017-06-27 2023-02-07 华为技术有限公司 信息处理的方法、装置和通信设备
CN109150194B (zh) * 2017-06-27 2022-01-14 华为技术有限公司 信息处理的方法、装置和通信设备
CN118473422A (zh) 2017-06-27 2024-08-09 华为技术有限公司 信息处理的方法、装置和通信设备
CN109217879B (zh) * 2018-08-06 2020-07-31 中国科学院计算技术研究所 一种多速率低密度校验码的构造方法和装置
CN114362764B (zh) * 2022-01-06 2024-05-28 清华大学 Urllc场景下信道编码校验矩阵的构建方法及装置
CN116112125B (zh) * 2023-04-12 2023-07-14 浪潮电子信息产业股份有限公司 一种数据传输方法、装置、设备和计算机可读存储介质
CN116436475B (zh) * 2023-06-13 2024-07-16 国家广播电视总局广播电视科学研究院 一种ldpc码的构造及编码方法、装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1794621A (zh) * 2006-01-12 2006-06-28 北京大学 非规则置换矩阵ldpc码的构造方法及装置
CN1960190A (zh) * 2006-10-20 2007-05-09 北京泰美世纪科技有限公司 Ldpc码校验矩阵构造方法及利用该方法的编码解码装置
CN1964199A (zh) * 2006-06-14 2007-05-16 北京新岸线软件科技有限公司 一类低密度奇偶校验码的实现方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7526717B2 (en) * 2004-06-16 2009-04-28 Samsung Electronics Co., Ltd. Apparatus and method for coding and decoding semi-systematic block low density parity check codes
EP1806849A4 (en) * 2004-10-08 2008-03-05 Mitsubishi Electric Corp APPARATUS PROVIDING A VERIFICATION MATRIX AND COMMUNICATION APPARATUS
CN100550655C (zh) * 2004-11-04 2009-10-14 中兴通讯股份有限公司 一种低密度奇偶校验码的编码器/译码器及其生成方法
US7617439B2 (en) * 2005-01-10 2009-11-10 Broadcom Corporation Algebraic construction of LDPC (Low Density Parity Check) codes with corresponding parity check matrix having CSI (Cyclic Shifted Identity) sub-matrices
US8028216B1 (en) * 2006-06-02 2011-09-27 Marvell International Ltd. Embedded parity coding for data storage
CN100586028C (zh) * 2006-08-09 2010-01-27 华为技术有限公司 实现ldpc编码的方法和编码装置
US8392786B2 (en) * 2008-05-07 2013-03-05 Broadcom Corporation LDPC coding systems for 60 GHz millimeter wave based physical layer extension

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1794621A (zh) * 2006-01-12 2006-06-28 北京大学 非规则置换矩阵ldpc码的构造方法及装置
CN1964199A (zh) * 2006-06-14 2007-05-16 北京新岸线软件科技有限公司 一类低密度奇偶校验码的实现方法及装置
CN1960190A (zh) * 2006-10-20 2007-05-09 北京泰美世纪科技有限公司 Ldpc码校验矩阵构造方法及利用该方法的编码解码装置

Also Published As

Publication number Publication date
WO2011029362A1 (zh) 2011-03-17
US20120173949A1 (en) 2012-07-05
EP2477334A4 (en) 2013-11-06
CN102025441A (zh) 2011-04-20
EP2477334A1 (en) 2012-07-18

Similar Documents

Publication Publication Date Title
CN102025441B (zh) Ldpc码校验矩阵的构造方法、ldpc码的编码方法和编码装置
CN100596029C (zh) Ldpc码校验矩阵构造方法及利用该方法的编码解码装置
CA2486048C (en) Method and system for providing long and short block length low density parity check (ldpc) codes
CN101141133B (zh) 一种结构化低密度校验码的编码方法
US7536623B2 (en) Method and apparatus for generating a low-density parity check code
CN101689865B (zh) 置乱式ldpc解码
US9094043B2 (en) Data processing device and data processing method
US8516347B1 (en) Non-binary LDPC extrinsic calculation unit (LECU) for iterative decoding
US20080294963A1 (en) Method and apparatus for designing low density parity check code with multiple code rates, and information storage medium thereof
WO2006016751A2 (en) Method of encoding and decoding using low density parity check matrix
US8386906B2 (en) Multi-CSI (cyclic shifted identity) sub-matrix based LDPC (low density parity check) codes
CN102957435B (zh) Ldpc码校验矩阵的构造方法、装置和编码方法及系统
CN101252360A (zh) 一种高围长低码率多进制ldpc码的结构化构造方法
Li et al. A tradeoff between the sub-packetization size and the repair bandwidth for Reed-Solomon code
KR101065693B1 (ko) Ldpc 코드를 이용한 부호화, 복호화 방법 및 부호화또는 복호화를 위한 ldpc 코드 생성 방법
US8255782B2 (en) Method for constructing LDPC code in the mobile digital multimedia broadcast system
CN101364809B (zh) 解码器
Tan et al. A general and optimal framework to achieve the entire rate region for Slepian–Wolf coding
Kuo et al. Symbol-flipping based decoding of generalized low-density parity-check codes over GF (q)
KR102487767B1 (ko) 길이가 16200이며, 부호율이 2/15인 ldpc 부호어 및 64-심볼 맵핑에 상응하는 bicm 수신 장치 및 방법
CN104168029A (zh) 用于地面云广播的低密度奇偶校验码
Kuo et al. Symbol-Flipping Based Decoding of Generalized Low-Density Parity-Check Coded Constructed over GF (q)
CN116436475A (zh) 一种ldpc码的构造及编码方法、装置
Ma et al. An improved WBF algorithm for higher-speed decoding of LDPC codes
EP1800406A2 (en) Method of encoding and decoding using ldpc code and apparatus thereof

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1152168

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1152168

Country of ref document: HK

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130731

Termination date: 20210911