CN101588183A - 一种ldpc码快速编码方法与系统 - Google Patents

一种ldpc码快速编码方法与系统 Download PDF

Info

Publication number
CN101588183A
CN101588183A CN 200910087806 CN200910087806A CN101588183A CN 101588183 A CN101588183 A CN 101588183A CN 200910087806 CN200910087806 CN 200910087806 CN 200910087806 A CN200910087806 A CN 200910087806A CN 101588183 A CN101588183 A CN 101588183A
Authority
CN
China
Prior art keywords
matrix
code
sign indicating
indicating number
row
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 200910087806
Other languages
English (en)
Other versions
CN101588183B (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 Jiaotong University
Original Assignee
Beijing Jiaotong University
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 Jiaotong University filed Critical Beijing Jiaotong University
Priority to CN200910087806.8A priority Critical patent/CN101588183B/zh
Publication of CN101588183A publication Critical patent/CN101588183A/zh
Application granted granted Critical
Publication of CN101588183B publication Critical patent/CN101588183B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

不同于Turbo码,LDPC码的码长很长,虽然LDPC码的校验矩阵H是稀疏矩阵,但是其生成矩阵G一般不是稀疏矩阵。所以编码时计算量是非常大的,尤其在码长非常大的情况下。LDPC码的编码需要占用大量存储空间,需要进行庞大矩阵运算,包括大量的乘法与加法运算,这使得LDPC码的编码器的硬件具有很高的复杂度和很高的成本。为解决该问题,本发明提出一种无乘法的LDPC码快速编码系统与方法,可以使LDPC码的编码器取消庞大矩阵运算和乘法运算,计算复杂度由0(n^2)降为0(n),若子矩阵H1的行重为u,码长为n,忽略寻址时间,则编码的计算速度可提高n-u倍以上。

Description

一种LDPC码快速编码方法与系统
技术领域
本发明属于通信与电子系统领域,涉及编码技术,具体地涉及信道纠错码中LDPC码编码系统与方法。
背景技术
现代通信系统中,信道编码的设计是保证数据传输可靠性的一个重要组成部分,因为它可以检测并纠正信号传输过程中引入的错误。多年以来,随着通信技术的发展和实际应用的增加,人们一直努力寻找能够更加逼近先农Shannon极限的信道编码方案。从早期的分组码、代数码,到RS码、卷积码,直到今天的Turbo码、LDPC码,系统性能与Shannon极限间的差距越来越小。
低密度奇偶校验码(Low Density Parity-check Code(LDPC))由Gallager于20世纪60年代首次提出。其中最重要的创新在于引入了迭代译码算法。近些年来,LDPC码受到了广泛的关注,其出色的纠错性能以及可以并行解码的特点,特别是其简单实用性,使其成为下一代通信系统纠错编码的首选。目前的研究均表明LDPC码是信道编码中纠错能力最强的一种码,而且由于其译码器结构简单,可以用较少的资源消耗获得极高的吞吐量,因此应用前景相当广泛。目前,LDPC码已被IEEE 802.3an、DVB-S.2、IEEE 802.16e等标准所采纳,并可应用于外层空间和卫星通信、光通信、深空通信、下一代移动通信系统、高速和甚高速率数字用户线、光和磁记录系统及网络数据包传输等领域。
LDPC码结构可采用几何方法、图论方法、实验设计方法、置换(permutation)方法来设计。好的LDPC码关键在于要有好的纠错性能和需要较少的编码时间,可参见文献1:Xiao Y.,Kim K,Alternative good LDPC codes for DVB-S2[C]//Proc.9th International Conference on Signal Processing(ICSP 2008),Beijing,Oct.26-29,2008,pp.1959-1962。
LDPC码因其校验矩阵是含有大量0而很少1的稀疏矩阵而得名。其编码过程与一般编码类似。
设待编码的信息码是长度为k的行向量s,s=[s(0) s(1)L s(k-1)],编码后得到的校验码是长度为m的行向量p,编码输出为行向量c=[s p],其长度为n,则有n=k+m。
设生成矩阵为G,维数为k×n,校验矩阵为H,维数为m×n。编码过程为:
c=sG=[s p]         (1)
而且编码输出必须满足
Hc=0                (2)
根据上面的式(1)和式(2)可以得到
HGT=0               (3)
GT为G的转置。式(3)可以作为从H矩阵推导出满足条件的G矩阵的依据。
虽然LDPC码的校验矩阵H是稀疏矩阵,但是其生成矩阵G一般不是稀疏矩阵。所以编码时计算量是非常大的,尤其在码长非常大的情况下。例如DVB-S.2标准中的LDPC码的码长为16200和64800,可参见文献2:ETSI EN 302 307 V1.1.1,Digital Video Broadcasting(DVB);Second generation framing structure,channel coding and modulation systems for Broadcasting,InteractiveServices,News Gathering and other broadband satellite applications[S].2004,06。如果实现1/2码率的生成矩阵G,需要存储维数分别为8100×16200和32400×64800矩阵,完成式(1)的编码需要进行的乘法次数为8100×16200和32400×64800,加法次数为8100×16200和32400×64800。
因此,绕过生成矩阵G而进行直接利用校验矩阵H编码,可降低系统编码系统实现的存储空间和计算量,降低实现成本。这是本发明的目的之一。
设校验矩阵H的结构为
H=[H1 H2]    (4)
其中H1的维数为m×k,H2的维数为m×m.则式(2)可以写成
H 1 H 2 · [ s T p T ] = 0 - - - ( 5 )
展开可得
H2·pT+H1·sT=0    (6)
由于编码以元素为0,1的二进制计算进行,所以上式又可得到
H2·pT=H1·sT    (7)
p T = H 2 - 1 · H 1 · s T - - - ( 8 )
p为校验码是长度m的向量。
从式(8)可以看出,可以越过生成矩阵G而直接用校验矩阵H来编码。D.J.C.Mackay等指出:能快速编码的LDPC矩阵通常具有下三角形(lower-triangular)结构,参见文献3:D.J.C.MacKay,S.T.Wilson,M.C.Davey.Comparison of constructions of irregular Gallager codes[C].IEEETransactions on Communications,Sept.1998,Vol.42,No.10,pp.1449-1454。DVB-S.2标准中的LDPC码就是通过校验矩阵直接编码的,参见文献2。在DVB-S.2标准中的LDPC码的校验矩阵中,是具有双对角线结构的矩阵。虽然双对角线结构的矩阵有可能将式(8)的编码转化为一种迭代编码,但是,已有基于双对角线结构的迭代编码未考虑其快速实现。
发明内容
不同于Turbo码,LDPC码的码长很长,使LDPC码的编码需要占用大量存储空间,需要进行庞大矩阵运算,包括大量的乘法与加法运算,这使得LDPC码的编码器的硬件具有很高的复杂度和很高的成本。为解决该问题,本发明提出一种无乘法的迭代LDPC码快速编码系统与方法,可以使所LDPC码的编码器取消庞大矩阵运算和乘法运算,计算复杂度由O(n^2)降为O(n),若子矩阵H1的行重为u,码长为n,忽略寻址时间,则编码的计算速度可提高n-u倍以上。
下面给出本发明的LDPC编码的快速算法。令式(4)中H1的维数为m×k,k=n-m,而H2是一个具有双对角线结构的矩阵,其维数为m×m,结构如下所示:
H 2 = 1 1 1 0 1 O O O 0 O 1 1 1 - - - ( 9 )
将维数为k×n的生成矩阵G写成如下形式:
G=[G1 G2]    (10)
其中G1是一个维数为k×k的单位矩阵,G2的维数为k×m.所以G又可以写为:
G=[Ik×k G2]    (11)
信息码向量长度为k比特,记为:
s=[s(1) s(2)L s(k)]    (12)
校验码向量长度为m比特,记为:
p=[p(1) p(2) L p(m)]    (13)
设编码输出为向量c=[s p],根据式(1)得到:
c=sG
 =s[G1 G2]
 =s[Ik×k G2]
                (14)
 =[sIk×k sG2]
 =[s sG2]
 =[s p]
由此可得,p和s的关系如下:
p=sG2    (15)
由上式可得:
p(i)=s·(G2)(i),i=1,2,L,m        (16)
其中(G2)(i)为生成矩阵的子矩阵G2的第i列。由式(8)得到校验矩阵H和生成矩阵G的子矩阵G2有如下关系:
G2=H1 T·H2 -T    (17)
所以有
( G 2 ) ( i ) = H 1 T · ( H 2 - T ) ( i )
= Σ j = 1 m ( H 1 T ) ( j ) · H 2 - T ( j , i )
= Σ j = 1 m ( H 1 ( j ) ) T · H 2 - 1 ( i , j )
= Σ j = 1 m H 1 ( j , 1 ) H 1 ( j , 2 ) M H 1 ( j , k ) · H 2 - 1 ( i , j )
= Σ j = 1 m H 1 ( j , 1 ) · H 2 - 1 ( i , j ) Σ j = 1 m H 1 ( j , 2 ) · H 2 - 1 ( i , j ) M Σ j = 1 m H 1 ( j , k ) · H 2 - 1 ( i , j ) - - - ( 18 )
将上式代入式(16)中得到:
p ( i ) = s V · Σ j = 1 m H 1 ( j , 1 ) · H 2 - 1 ( i , j ) Σ j = 1 m H 1 ( j , 2 ) · H 2 - 1 ( i , j ) M Σ j = 1 m H 1 ( j , k ) · H 2 - 1 ( i , j ) - - - ( 19 )
= Σ l = 1 k s ( l ) Σ j = 1 m H 1 ( j , l ) · H 2 - 1 ( i , j )
= Σ l = 1 k s ( l ) Σ j = 1 m H 2 - 1 ( i , j ) · H 1 ( j , l )
= Σ l = 1 k s ( l ) · ( H 2 - 1 ) ( i ) · ( H 1 ) ( l )
即有:
p ( i ) = ( H 2 - 1 ) ( i ) · Σ l = 1 k s ( l ) · ( H 1 ) ( l ) - - - ( 20 )
现在求H2 -1。根据式(9),对矩阵H2做如下初等行变换:依次将矩阵H2的第1行加到第2行,第2行加到第3行,…,一直到第m-1行加到第m行,结合[0,1]有限域的运算性质,则可将矩阵H2化作一个单位矩阵。根据矩阵求逆的法则,对一个维数为m×m的单位矩阵施以同样的初等变换,得到的矩阵即为H2 -1,则有:
H 2 - 1 = 1 1 1 0 1 1 O M M O 1 1 1 L 1 1 - - - ( 21 )
式(20)中等号右边第二个因式,
Figure A20091008780600107
是一个长度为m的列向量,所以记:
a V = a ( 1 ) a ( 2 ) M a ( m ) = Σ l = 1 k s ( l ) · ( H 1 ) ( l ) - - - ( 22 )
其中
a ( i ) = Σ j = 1 k s ( j ) · H 1 ( i , j ) , i=1,2,L,m      (23)
综上,最终可得:
p ( i ) = 1 1 1 0 1 1 O M M O 1 1 1 L 1 1 ( i ) · a ( 1 ) a ( 2 ) M a ( m ) - - - ( 24 )
上式表明,校验码向量的第i(i≥1)位p(i)等于下三角矩阵的第i(i≥1)行与[a(1) a(2)L a(m)]T相乘的结果。于是根据下三角矩阵的相邻行之间的关系可以得到迭代关系为:
p ( 1 ) = a ( 1 ) p ( i ) = mod ( p ( i - 1 ) + a ( i ) , 2 ) i = 2,3 , L , m - - - ( 25 )
或写为
p ( 1 ) = mod ( Σ j = 1 k s ( j ) · H 1 ( 1 , j ) , 2 ) p ( i ) = mod ( p ( i - 1 ) + Σ j = 1 k s ( j ) · H 1 ( i , j ) , 2 ) , i = 2,3 , L , m - - - ( 26 )
式(25)或式(26)就是本发明LDPC码的迭代算法公式的基础。
从迭代公式(26)可见,迭代算法的关键是如何快速计算
Σ j = 1 k s ( j ) · H 1 ( i , j ) , i = 1,2 , L , m - - - ( 27 )
要快速实现迭代算法,则要找出式(27)的快速实现方法。根据推导式(26)的过程可知,迭代算法公式(26)中的矩阵H1是稀疏矩阵,所以迭代算法的计算复杂度小,运算量也很小。
本发明计算式(27)的第2项
Figure A20091008780600116
的方法是:分别将H1的第i行第j列(j=1,2,L,k)中的非零元素对应的信息码输入点s(j)送加法器,从而避免
Figure A20091008780600117
中的乘法计算。
因此,本发明提出,
mod ( Σ j = 1 k s ( j ) · H 1 ( i , j ) , 2 ) = mod ( Σ j ∈ i ( j ) s ( j ) , 2 ) - - - ( 28 )
其中i(j)表示H1(i,j),j=1,2,L,k中的非零元素的位置。
如果H1为等行重,且行重为u,则式(28)的计算无乘法计算,第i行的加法计算为u次。利用该方法,本发明提出对应式(26)的快速算法
p ( 1 ) = mod ( Σ j ∈ 1 ( j ) s ( j ) , 2 ) p ( i ) = mod ( p ( i - 1 ) + Σ j ∈ i ( j ) s ( j ) , 2 ) , i = 2,3 , L , m - - - ( 29 )
其中1(j)表示H1(1,j)第1行第j列(j=1,2,L,k)中的非零元素的位置,i(j)表示H1(i,j),j=1,2,L,k中的非零元素的位置。
实现快速迭代算法的硬件系统框图如图1所示。图1中的系统以中间的矩形框的左右两边为分界线,将系统分为模块(a),模块(b)和模块(c)三部分。
模块(a)中的s(1)-s(k)为输入数据比特;模块(b)和模块(c)中
Figure A20091008780600123
为二进制加法器;模块(c)中p(1)-p(m)为输出检验比特。
图1系统的编码过程可以简单描述为:信息码以k位为一帧并行输入,相应于每一帧信息码的m位校验码分别从第1位到第m位串行输出。
模块(a)实现编码输入,s(j)(j=1,2,L,k)所输入的各个节点叫做信息码输入点,每次输入长度为k的信息码向量:
s=[s(1) s(2)L s(k)]
模块(b)实现快速求和寻址,负责式(29)中的求和寻址。模块(b)中有m个加法器,它们自上而下分别叫做加法器1,加法器2,L,加法器m,即图1中的
Figure A20091008780600124
各个加法器右侧的输出节点,即方框右侧模块(c)中的
Figure A20091008780600125
称为迭代输出点。
根据式(29),模块(b)中的电路连线方法是这样的:子矩阵H1有m行k列,H1的第j(j=1,2,L,k)列分别与第j个信息码输入点s(j)相对应。如果H1为等列重,且列重为v,则连接第j个信息码输入点s(j)的电路连线只有v根。H1的第i(i=1,2,L,m)行是一个长度为k的行向量,其中第l(l=1,2,L,k)个元素分别与加法器l,还有第l个运算输出点相对应。
模块(c)的功能是实现校验码的迭代,见式(29),输出结果是校验码向量
p=[p(1) p(2) L p(m)],
模块(c)中输出校验码p(i)(i=1,2,L,m)的各个节点,图1中方框右侧模块(c)中的加法器
Figure A20091008780600131
称为迭代输出点。
从图1可以看出,通过本发明快速迭代编码算法进行编码可以避免进行乘法运算,只进行加法运算就可以实现编码。本发明的快速迭代算法上是一种通过校验矩阵提供编码地址的编码算法,并不需要信息码向量s=[s(1) s(2)L s(k)]与H1的乘法计算。
如果仍将校验矩阵写成如下形式:
H=[H1 H2]
则图1的模块(b)实现的是编码中关于H1的运算,而模块(c)实现的是关于H2的运算。根据本发明迭代算法的式(29),H1是一个稀疏矩阵,所以模块(a)中每个信息码输入点所引出的电路连线很少,因此该算法的计算量非常小。
根据本发明的一个方面,提供一种低密度奇偶校验码的快速编码方法,该方法包括如下步骤:
输入待编码的信息码,所述信息码是长度为k的行向量s,并且
s=[s(0) s(1)L s(k-1)];
将校验矩阵H划分为两个子矩阵H1和H2,使得H=[H1 H2],其中H1的维数为m×k,H2的维数为m×m,而H2是具有双对角线结构的矩阵,
H 2 = 1 1 1 0 1 O O O 0 O 1 1 1 ;
并且根据下列公式
p ( 1 ) = mod ( Σ j ∈ 1 ( j ) s ( j ) , 2 ) p ( i ) = mod ( p ( i - 1 ) + Σ j ∈ i ( j ) s ( j ) , 2 ) , i = 2,3 , L , m
对所述信息码进行编码,获得校验码向量,其中所述校验码向量是长度为m的行向量p,并且p=[p(1) p(2)L p(m)],而该公式中的1(j)表示H1(1,j),j=1,2,L,k中非零元素的位置,i(j)表示H1(i,j),j=1,2,L,k中非零元素的位置;
输出编码行向量为c=[s p]。
根据本发明的一个方面,在上述公式中,p(1)仅对1(j)指出的位置的信息比特进行二进制求和,p(i)仅对i(j)指出的位置的信息比特进行二进制求和,且与p(i-1)二进制相加。
根据本发明的一个方面,提供一种低密度奇偶校验码的快速编码系统,其校验矩阵H包括两个子矩阵H1和H2,H1的维数为m×k,H2的维数为m×m,且H=[H1 H2],而H2是一个具有双对角线结构的矩阵,结构如下所示:
H 2 = 1 1 1 0 1 O O O 0 O 1 1 1
待编码的信息码是长度为k的行向量s,其中信息码以k位为一帧并行输入,相应于每一帧信息码的m位校验码分别从第1位到第m位串行输出;
该快速编码系统进一步包括:
编码输入模块,用于实现信息码的输入;
快速求和寻址模块,用于根据下列公式
p ( 1 ) = mod ( Σ j ∈ 1 ( j ) s ( j ) , 2 ) p ( i ) = mod ( p ( i - 1 ) + Σ j ∈ i ( j ) s ( j ) , 2 ) , i = 2,3 , L , m
进行求和寻址,其中该公式中的1(j)表示H1(1,j),j=1,2,L,k中非零元素的位置,i(j)表示H1(i,j),j=1,2,L,k中非零元素的位置;
校验码迭代模块,用于对校验码进行迭代,得到校验码向量p=[p(1) p(2)L p(m)],并输出编码行向量c=[s p]。
根据本发明的一个方面,编码输入模块具有多个信息码输入点,用于输入s(j)(j=1,2,L,k),每次输入长度为k的信息码向量:s=[s(1) s(2)L s(k)]。
根据本发明的一个方面,快速求和寻址模块中有m个加法器,它们自上而下分别为加法器1,加法器2,L,加法器m,各个加法器右侧具有运算输出点;快速求和寻址模块中的电路连线方式是:子矩阵H1有m行k列,H1的第j(j=1,2,L,k)列分别与第j个信息码输入点s(j)相对应;如果H1为等列重,且列重为v,则连接第j个信息码输入点s(j)的电路连线只有v根;H1的第i(i=1,2,L,m)行是一个长度为k的行向量,其中第l(l=1,2,L,k)个元素分别与加法器l,还有第l个运算输出点相对应。
根据本发明的一个方面,校验码迭代模块输出结果是校验码向量p=[p(1) p(2)L p(m)],校验码迭代模块中具有多个迭代输出点,用于输出各个校验码p(i)(i=1,2,L,m)。
附图说明
图1是按照本发明的一个实施方式的快速迭代算法的硬件系统框图。
图2是按照本发明的一个实施方式的本发明方法编码的码长为5400的LDPC码和同样长度随机LDPC码的误码率曲线。
图3是按照本发明的一个实施方式的本发明方法编码的码长为5400的LDPC码的校验就矩阵中H1的行向量码重分布图。
具体实施方式
下面结合附图详细描述本发明的具体实施方式。
根据本发明的一个具体实施方式,考虑1/2码率、长度为5400的LDPC码,其校验矩阵H的维数为2700×5400,其中矩阵H1的维数为2700×2700,H1由20个子矩阵组成,记为
H1=[H1,1,H1,2,L,H1,20]                (30)
每一个子矩阵的维数均为2700×135,每一个子矩阵有2700行、135列。
设子矩阵H1,j第1列上元素“1”的行标为向量p1(j)中的元素值,即
H1,j(p1,1(j),1)=1,...,H1,j(p1,v(j),1)=1,
其中v为H1,j的列重,向量p1(j)中有8个元素代表子矩阵H1,j的v=8。规定1/2码率、长度为5400的LDPC码的检验矩阵中H1的20个子矩阵第1列素“1”的行标,即表1。表1对应于向量p1(j),p1(j)=[p1,1(j),p1,2(j),L,p1,v(j)],j=1,2,Λ,20。
由表1,矩阵H1的前5个子矩阵列重为8,后15个子矩阵列重为3.
p1(j)中有8个元素代表子矩阵H1,j的v=8。当j=1,…,5时,p1(j)的v=8。
p1(j)中有3个元素代表子矩阵H1,j的q=3。当j=6,…,20时,p1(j)的v=3。
子矩阵H1,j中第1个列向量p1(j)由表1中的第j行数字定义。
子矩阵H1,j后续各列1的位置由p1(j)计算,
pk,i(j)=mod((p1,i(j)+20×(k-1)),2700)    (31)
1<k<=135,进而得到子矩阵H1,j
表1:码率=1/2(码长N=5400)时的p1(j)的取值
Figure A20091008780600171
下面以子矩阵H1,1为例来说明如何由表1中的一行数字来生成一个子矩阵。p1(j)由表1第一行数字(20 712 2386 954 1361 1062 2345 2458)来定义。
通过DVB-S2(参见文献2)中对LDPC码的定义可知,当k=1时,第1个子矩阵H1,1的p1(1)的元素为
p1,1(1)=20,
p1,2(1)=712,
p1,3(1)=2386,
p1,4(1)=954,
p1,5(1)=1361,
p1,6(1)=1062,
p1,7(1)=2345,
p1,8(1)=2458.
子矩阵H1,1的第1列“1”的位置由上述p1(1)的元素确定。H1,1的后续各列“1”的位置由pk(1)的元素确定。通过式(8)可以得到pk(1),k=1,2,L,135,
pk,1(1)=mod((20+20×(k-1)),2700),
pk,2(1)=mod((712+20×(k-1)),2700),
pk,3(1)=mod((2386+20×(k-1)),2700),
pk,4(1)=mod((954+20×(k-1)),2700),
pk,5(1)=mod((1361+20×(k-1)),2700),
pk,6(1)=mod((1062+20×(k-1)),2700),
pk,7(1)=mod((2345+20×(k-1)),2700),
pk,8(1)=mod((2458+20×(k-1)),2700)。
这样就可以得到H1,1
同理,可以得到H1,2,H1,3,L,H1,20
子矩阵H2的维数为2700×2700,H2为一双对角矩阵,
H 2 = 1 1 1 0 1 O O 1 0 1 1 1 1 2700 × 2700 - - - ( 32 )
由式(31)和式(32)得到式(1)的校验矩阵H=[H1 H2]。
为了方便关于本发明涉及的LDPC码误码率性能的系统仿真,系统仿真实验中发送的LDPC编码序列采用BPSK调制,通过加性白噪声(AWGN)信道传输,接收端采用BP迭代译码,BP迭代译码见文献4(D.J.C.MacKay,“Gooderror-correcting codes based on very sparse matrices”,IEEETransactions on Information Theory,Vol.45,No.2,1999,pp.399-431),最大迭代次数为20。仿真中每个信噪比观测点采用200数据帧,每帧为5400比特。
采用本发明方法进行系统仿真编码,并与随机LDPC码比较。一种随机LDPC码的设计参见文献5:Y.Xiao,M.H.Lee,“Adaptive LDPC decoding formultipath channels”,ICSP 2006,pp.342-345.随机LDPC码的校验矩阵未采用双对角线子矩阵。
系统仿真中码长为5400,码率为0.5。本发明方法编码的LDPC码和随机LDPC码在码长5400,码率0.5。系统仿真得到码长为5400的本发明方法编码的LDPC码和随机LDPC码的误码率性能曲线,如图2所示。图2中横坐标为信噪比,纵坐标为误码率,带星号的曲线为本发明LDPC码的误码率性能曲线,带圆圈的曲线为随机LDPC码的误码率性能曲线。
图2的曲线显示按本发明方法编码的LDPC码误码率性能可优于随机LDPC码在码长5400,码率0.5时的误码率性能,两种码的误码率在1dB-2dB间出现好码具有相近“瀑布”特性。误码率曲线的“瀑布”特性指误码率曲线在某范围内迅速下降的特性,该特性只有好码具备。“瀑布”特性意味着该码在同等码长的情况下,具有较强的纠错能力。
图3给出本发明方法编码的码长为5400的LDPC码的校验矩阵中H1的行向量码重分布。图2中横坐标表示H1的行向量码重,纵坐标H1的行向量码重分布,各个柱体表示H1的行向量中各个码重的行向量个数。
根据图3,本发明实施例的编码需要的加法次数为2700×3,(3为H1的平均行向量码重),无乘法运算,无需存储生成矩阵G,仅需存储子矩阵H1的各行向量的地址;而实现1/2码率、码长为5400的随机LDPC码的生成矩阵G,需要存储维数为2700×5400矩阵,完成式(1)的编码需要进行的乘法次数为2700×5400,加法次数为2700×5400。两者相比,本发明实施例的编码计算比同样1/2码率、码长为5400的随机LDPC码的编码计算速度,提高(5400-3)倍以上。
上述特定的实施例可直接用于手机视频编解码系统或一般无线通信系统,其执行过程和结果说明本发明的特征和优点。该实施例和执行过程包括被认为用于实现本发明的最佳方式。本发明也可以是其它不同的实施例,本发明的多处内容可以在各种显而易见的方面上进行修改,所有的修改将不会超出本发明的精神和范围。因此,附图和说明书都被认为是实质上起说明性的作用,而非限制性的作用。

Claims (6)

1、一种低密度奇偶校验码的快速编码方法,其特征在于,该方法包括如下步骤:
输入待编码的信息码,所述信息码是长度为k的行向量s,并且s=[s(0)s(1)L s(k-1)];
将校验矩阵H划分为两个子矩阵H1和H2,使得H=[H1 H2],其中H1的维数为m×k,H2的维数为m×m,而H2是具有双对角线结构的矩阵,
H 2 = 1 1 1 0 1 O O O 0 O 1 1 1 ;
并且根据下列公式
p ( 1 ) = mod ( Σ j ∈ 1 ( j ) s ( j ) , 2 ) p ( i ) = mod ( p ( i - 1 ) + Σ j ∈ i ( j ) s ( j ) , 2 ) , i = 2,3 , L , m
对所述信息码进行编码,获得校验码向量,其中所述校验码向量是长度为m的行向量p,并且p=[p(1) p(2)L p(m)],而该公式中的1(j)表示H1(1,j),j=1,2,L,k中非零元素的位置,i(j)表示H1(i,j),j=1,2,L,k中非零元素的位置;
输出编码行向量为c=[s p]。
2、如权利要求1的一种低密度奇偶校验码的快速编码方法,其特征在于,在上述公式中,p(1)仅对1(j)指出的位置的信息比特进行二进制求和,p(i)仅对i(j)指出的位置的信息比特进行二进制求和,且与p(i-1)二进制相加。
3、一种低密度奇偶校验码的快速编码系统,其特征在于,其校验矩阵H包括两个子矩阵H1和H2,H1的维数为m×k,H2的维数为m×m,且H=[H1 H2],而H2是一个具有双对角线结构的矩阵,结构如下所示:
H 2 = 1 1 1 0 1 O O O 0 O 1 1 1
待编码的信息码是长度为k的行向量s,其中信息码以k位为一帧并行输入,相应于每一帧信息码的m位校验码分别从第1位到第m位串行输出;
该快速编码系统进一步包括:
编码输入模块,用于实现信息码的输入;
快速求和寻址模块,用于根据下列公式
p ( 1 ) = mod ( Σ j ∈ 1 ( j ) s ( j ) , 2 ) p ( i ) = mod ( p ( i - 1 ) + Σ j ∈ i ( j ) s ( j ) , 2 ) , i = 2,3 , L , m
进行求和寻址,其中该公式中的1(j)表示H1(1,j),j=1,2,L,k中非零元素的位置,i(j)表示H1(i,j),j=1,2,L,k中非零元素的位置;
校验码迭代模块,用于对校验码进行迭代,得到校验码向量p=[p(1) p(2)L p(m)],并输出编码行向量c=[s p]。
4、如权利要求3的系统,其特征在于,编码输入模块具有多个信息码输入点,用于输入s(j)(j=1,2,L,k),每次输入长度为k的信息码向量:s=[s(1) s(2)L s(k)]。
5、如权利要求3的系统,其特征在于,快速求和寻址模块中有m个加法器,它们自上而下分别为加法器1,加法器2,L,加法器m,各个加法器右侧具有运算输出点;
快速求和寻址模块中的电路连线方式是:子矩阵H1有m行k列,H1的第j(j=1,2,L,k)列分别与第j个信息码输入点s(j)相对应;如果H1为等列重,且列重为v,则连接第j个信息码输入点s(j)的电路连线只有v根;H1的第i(i=1,2,L,m)行是一个长度为k的行向量,其中第l(l=1,2,L,k)个元素分别与加法器l,及第l个运算输出点相对应。
6、如权利要求3的系统,其特征在于,校验码迭代模块输出结果是校验码向量p=[p(1) p(2)L p(m)],校验码迭代模块中具有多个迭代输出点,用于输出各个校验码p(i)(i=1,2,L,m)。
CN200910087806.8A 2009-06-26 2009-06-26 一种ldpc码快速编码方法与系统 Expired - Fee Related CN101588183B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910087806.8A CN101588183B (zh) 2009-06-26 2009-06-26 一种ldpc码快速编码方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910087806.8A CN101588183B (zh) 2009-06-26 2009-06-26 一种ldpc码快速编码方法与系统

Publications (2)

Publication Number Publication Date
CN101588183A true CN101588183A (zh) 2009-11-25
CN101588183B CN101588183B (zh) 2014-01-29

Family

ID=41372273

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910087806.8A Expired - Fee Related CN101588183B (zh) 2009-06-26 2009-06-26 一种ldpc码快速编码方法与系统

Country Status (1)

Country Link
CN (1) CN101588183B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101789795A (zh) * 2010-03-11 2010-07-28 北京交通大学 基于多码率原模图ldpc码的编码方法及编码器
CN101800627A (zh) * 2010-03-16 2010-08-11 北京海格神舟通信科技有限公司 一种多码率兼容的高速ldpc编码器的硬件实现
CN102315902A (zh) * 2010-07-07 2012-01-11 中国科学院微电子研究所 一种准循环低密度奇偶校验码的通用寻址装置及方法
CN104850468A (zh) * 2015-05-31 2015-08-19 上海交通大学 基于校验矩阵的纠删码解码方法
WO2015120584A1 (zh) * 2014-02-12 2015-08-20 华为技术有限公司 一种信道编码方法及装置
CN106844085A (zh) * 2016-12-30 2017-06-13 北京联想核芯科技有限公司 数据处理方法和装置
CN111698060A (zh) * 2020-06-24 2020-09-22 京信通信系统(中国)有限公司 编码方法、装置、设备及存储介质
CN113055023A (zh) * 2021-03-02 2021-06-29 北京科技大学 一种高能效高速并行ldpc编码方法及编码器

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7934140B2 (en) * 2004-09-17 2011-04-26 Lg Electronics Inc. Method of encoding and decoding using LDPC code
CN100505555C (zh) * 2005-09-30 2009-06-24 电子科技大学 一种无线通信系统中非正则低密度奇偶校验码的生成方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101789795A (zh) * 2010-03-11 2010-07-28 北京交通大学 基于多码率原模图ldpc码的编码方法及编码器
CN101800627A (zh) * 2010-03-16 2010-08-11 北京海格神舟通信科技有限公司 一种多码率兼容的高速ldpc编码器的硬件实现
CN101800627B (zh) * 2010-03-16 2012-12-05 北京海格神舟通信科技有限公司 一种多码率兼容的高速ldpc编码器的硬件实现
CN102315902A (zh) * 2010-07-07 2012-01-11 中国科学院微电子研究所 一种准循环低密度奇偶校验码的通用寻址装置及方法
CN105474548A (zh) * 2014-02-12 2016-04-06 华为技术有限公司 一种信道编码方法及装置
WO2015120584A1 (zh) * 2014-02-12 2015-08-20 华为技术有限公司 一种信道编码方法及装置
CN105474548B (zh) * 2014-02-12 2019-06-11 华为技术有限公司 一种信道编码方法及装置
CN104850468A (zh) * 2015-05-31 2015-08-19 上海交通大学 基于校验矩阵的纠删码解码方法
CN104850468B (zh) * 2015-05-31 2018-04-27 上海交通大学 基于校验矩阵的纠删码解码方法
CN106844085A (zh) * 2016-12-30 2017-06-13 北京联想核芯科技有限公司 数据处理方法和装置
CN111698060A (zh) * 2020-06-24 2020-09-22 京信通信系统(中国)有限公司 编码方法、装置、设备及存储介质
CN111698060B (zh) * 2020-06-24 2023-10-20 京信网络系统股份有限公司 编码方法、装置、设备及存储介质
CN113055023A (zh) * 2021-03-02 2021-06-29 北京科技大学 一种高能效高速并行ldpc编码方法及编码器
CN113055023B (zh) * 2021-03-02 2022-02-18 北京科技大学 一种高能效高速并行ldpc编码方法及编码器

Also Published As

Publication number Publication date
CN101588183B (zh) 2014-01-29

Similar Documents

Publication Publication Date Title
CN101588183B (zh) 一种ldpc码快速编码方法与系统
EP1413059B9 (en) Bit-interleaved coded modulation using low density parity check (ldpc) codes
CN101924565B (zh) Ldpc编码器、解码器、系统及方法
CN101079646B (zh) 用于在通信系统中接收信号的装置和方法
US7577207B2 (en) Bit labeling for amplitude phase shift constellation used with low density parity check (LDPC) codes
US20080065947A1 (en) Method and system for decoding low density parity check (ldpc) codes
US20090106625A1 (en) Basic Matrix, Coder/Encoder and Generation Method of the Low Density Parity Check Codes
US8539304B1 (en) Parallel encoder for low-density parity-check (LDPC) codes
CN101141133A (zh) 一种结构化低密度校验码的编码方法
US20110083052A1 (en) Method and system for encoding and decoding low-density-parity-check (ldpc) codes
CN100592639C (zh) 低密度奇偶校验编码方法、装置及奇偶校验矩阵生成方法
CN103259545A (zh) 基于振荡的准循环低密度奇偶校验码置信传播译码方法
CN109586732B (zh) 中短码ldpc编解码系统和方法
CN105763203A (zh) 一种基于硬可靠度信息的多元ldpc码译码方法
CN101345532A (zh) Ldpc信道编码的译码方法
CN1933336B (zh) 使用grs码构建ldpc码的方法和装置
CN101277118A (zh) 基于ldpc码的级联码的编码方法
CN100486119C (zh) 一种结构化的ldpc编码方法
EP2190123B9 (en) Method and system for generating low density parity check (LDPC) codes
CN1973440A (zh) Ldpc编码器、解码器、系统及方法
CN103036577B (zh) 一种低复杂度的低密度奇偶校验ldpc码编码电路结构
CN101854179B (zh) 一种应用于ldpc译码的5比特量化方法
CN101789795B (zh) 基于多码率原模图ldpc码的编码方法及编码器
CN103338044A (zh) 一种适用于深空光通信系统的原模图码
CN107911123B (zh) 针对深空应用的一类低密度奇偶校验码的编码方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
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: 20140129

Termination date: 20160626