一种低密度奇偶校验码的编码器/译码器及其生成方法

文档序号:7506290阅读:273来源:国知局
专利名称:一种低密度奇偶校验码的编码器/译码器及其生成方法
技术领域
本发明涉及一种数字通信系统用于数据传输纠错的编码器和译码器,特别是涉及数字通信领域纠错技术中的基于单位阵及其循环移位矩阵的低密度奇偶校验码的编码器和译码器。
背景技术
所有的数字通信系统如通信、雷达、遥控遥测、数字计算机的存储系统和内部运算以及计算机之间的数据传输等都可以归结为如图1所示的模型。
图1中的信源编码器是为了提高传输的有效性,信道编码器是为了抗击传输过程中各种各样的噪声和干扰,通过人为地增加冗余信息,使得系统具有自动纠正差错的能力,从而保证数字传输的可靠性。随着无线数字通信的发展及各种高速率、突发性强的业务的出现,人们对纠错编码技术提出了愈来愈高的要求。
最初纠错码的研究主要集中在以代数理论为基础的线性分组码,随后出现了汉明码、循环码、BCH码、RS码等一系列好码。五十年代出现的卷积码在编码过程中引入了寄存器,增加了码元之间的相关性,从而在相同的复杂度下获得比分组码更高的编码增益。随着各种卷积码译码算法(Viterbi算法)的出现,卷积码得到了深入研究和应用。1993年,法国的C.Berrou等人提出了Turbo码,使人们朝着编码性能的极限又迈进了一大步。在获得巨大成功的Turbo码的启发下,另一类具有相似特征和性能的编码重新得到人们的重视,这就是低密度奇偶校验码(Low Density Parity Check Codes,记为LDPC码)。LDPC码是一类可以用非常稀疏的奇偶校验矩阵或者二分图定义的线性分组码,最初由Gallager发现,所以称为Gallager码。经过数十年的沉寂,随着计算机硬件和相关理论的发展,MacKay和.Neal重新发现了它,并证明了它具有逼近香农限的性能。最新研究表明,LDPC码具有以下特点低译码复杂度,可线性时间编码,具有逼近香农限的性能,可并行译码,以及在长码长条件下优于Turbo码。
LDPC码是一种基于稀疏校验矩阵的线性分组码,正是利用它的校验矩阵的稀疏性,才能实现低复杂度的编译码,从而使得LDPC码走向实用化。前面提到的Gallager码是一种正则的LDPC码(regular ldpcc),而Luby和Mitzenmacher等人对Gallager码进行了推广,提出非正则的LDPC码(irregularldpcc)。Gallager最初提出的编码具有规则的码结构,其校验矩阵是稀疏矩阵,且每一行具有相同个数的1,每一列也具有相同个数的1。M.G.Luby认为,如果允许校验矩阵的行或者列中非零元的个数发生变化,同时保证矩阵的稀疏性,那么编码的译码算法仍然适用,而编码的性能却能够得到极大的提高,使之能够达到甚至超过Turbo码的性能。这是因为在这种编码结构中,如果对应二分图的左节点和右节点有合适的次数分布(degree distribution),那么在译码时将会存在一种波状效应(waveform effect),将极大地提高译码性能。非正则码就是这种允许同种节点有不同次数的低密度的编码,而Gallager最初提出的编码相应的称为正则码。
对于中短长度的LDPC码,二分图中短长度圈将使码性能严重下降,如何构造无短长度圈的研究因此变得非常重要。这方面的构造方法现在主要有组合构造法、有限几何构造法、群论构造法以及图论构造法等,但是这些方法主要是面向正则码,有很大局限性,而且理论性太强,实用性较差。J.Campello等提出了扩展的比特填充(Bit-Filling)算法,可以设计出girth(指LDPC码二分图的最短圈圈长)一定,高码率的LDPC码或者码率一定,高girth的码,是具有一般性的方法,适当改进将可以用来设计具有保证girth的非正则的LDPC码。所以,如何寻找短圈(short cycles)尽量少的LDPC码变得很重要。
目前,大量文献提出用单位矩阵以及它的循环移位矩阵来构造任意可变码长的LDPC码,这种具有分组循环奇偶校验矩阵的LDPC码成为当前的研究热点。目前,如何构造出具有短圈尽量少的此类LDPC码的码构造方法还很不全面。
基于单位阵及其循环移位矩阵的LDPC码由于具有任意可变码长,编码实现简单,扩展过程中可以保证次数分布和girth分布不变的特点,成为当前学术界的研究重点。目前构造的基于单位阵及其循环移位LDPC码都没有充分考虑girth的影响以及码长和girth的关系,从而使得误码率(BER)曲线在信噪比较高的时候下降速度急剧变慢,常常出现差错平底(error floor)现象,从而导致性能下降。如何才能消除LDPC码的差错平底现象,加速BER曲线下降速度,在高信噪比时提高LDPC码的性能,成为当前亟待解决的问题。

发明内容
本发明所要解决的技术问题在于提供一种基于单位阵及其循环移位矩阵的LDPC码的编码器和译码器的生成方法,使用该方法生成的编码器和译码器能够有效地消除LDPC码的差错平底现象,加速BER曲线下降速度,明显提高LDPC码的性能,并且具有很好的普遍适用性。
为了实现上述目的,本发明提供了一种低密度奇偶校验码的编码器/译码器的生成方法,该编码器/译码器由一低密度奇偶校验码的奇偶校验矩阵唯一确定,其中,所述奇偶校验矩阵由如下步骤构造步骤一,确定要构造的低密度奇偶校验码的基础矩阵的码率、码长及校验位个数;步骤二,确定所述基础矩阵的行重量向量和列重量向量;步骤三,根据行重量向量和列重量向量,采用比特填充法构造出girth尽量大、最短圈数目尽量少的原始基础矩阵,其中,girth为低密度奇偶校验码二分图的最短圈圈长;步骤四,由所述原始基础矩阵构造尽量高girth的所述基础矩阵;及步骤五,对所述基础矩阵进行扩展,得到需要的低密度奇偶校验码的奇偶校验矩阵。
上述的编码器/译码器的生成方法,其中,在步骤二中,还包括确定要构造的低密度奇偶校验码采用的是非正则码,还是正则码的步骤;如果采用正则码,则需要确定行重量向量和列重量向量;如果采用非正则码,则需要通过密度演进来确定次数分布,并由次数分布得到所述基础矩阵的行重量向量和列重量向量。
上述的编码器/译码器的生成方法,其中,所述步骤二中的次数分布是通过充分考虑信噪比门限和迭代收敛速度以及算法的复杂度,从计算结果中最终选择出一个合适的次数分布。
上述的编码器/译码器的生成方法,其中,所述步骤四中构造尽量高girth的基础矩阵的算法为从集合{0,1,2,...,z-1}中选择合适的元素放到原始基础矩阵中“1”的位置上,直至将所有“1”的位置放完,得到所述基础矩阵。
上述的编码器/译码器的生成方法,其中,在所述高girth的低密度奇偶校验码在构造步骤中选择的低密度奇偶校验码的最短圈的长度应尽量大。
上述的编码器/译码器的生成方法,其中,在所述高girth的低密度奇偶校验码在构造步骤中,对于具有同样大小girth的低密度奇偶校验码,被选择的低密度奇偶校验码的最短圈的数目应该尽量少。
上述的编码器/译码器的生成方法,其中,所述比特填充法构造原始基础矩阵的过程中,采用具有准下三角结构来构造出符合线性时间编码的奇偶校验矩阵的结构。
上述的编码器/译码器的生成方法,其中,所述低密度奇偶校验码在girth不同时,设扩展因子z为偶数,其奇偶校验矩阵构成不同的结构,至少包括若所述低密度奇偶校验码的奇偶校验矩阵的girth为6时,则有在奇偶校验矩阵的基础矩阵中,对于按照逆时针方向构成的长度为4的短圈的任意元素i、j、k、l,总有mod(i-j+k-l,z)≠0;若所述低密度奇偶校验码的奇偶校验矩阵的girth为8时,则有在奇偶校验矩阵的基础矩阵中,对于按照逆时针方向构成的长度为4的短圈的任意元素i、j、k、l,总有mod(i-j+k-l,z)≠0;对于按照逆时针方向构成的长度为6的短圈的任意元素i、j、k、l、m、n,总有mod(i-j+k-l+m-n,z)≠0;及若所述低密度奇偶校验码的奇偶校验矩阵的girth为10时,则有在奇偶校验矩阵的基础矩阵中,对于按照逆时针方向构成的长度为4的短圈的任意元素i、j、k、l,总有mod(i-j+k-l,z/2)≠0;对于按照逆时针方向构成的长度为6的短圈的任意元素i、j、k、l、m、n,总有mod(i-j+k-l+m-n,z)≠0;对于按照逆时针方向构成的长度为8短圈的任意元素i、j、k、l、m、n、s、t,总有mod(i-j+k-l+m-n+s-t,z)≠0。
当girth≥10时,提高girth对译码器的性能改善很少,所以本发明只需要考虑消除长度为4、6和8的短圈。
此外,本发明所要解决的另一技术问题在于提供一种码长可以连续变化的LDPC码的编码器和译码器,该种LDPC码能够有效消除LDPC码的差错平底现象,加速BER曲线下降速度,明显提高LDPC码的性能,并且具有很好的普遍适用性。
为了实现上述目的,本发明提供了一种基于单位阵及其循环移位矩阵的特定码率的低密度奇偶校验码编码器/译码器,它的码长是可以连续变化的,用于数字通信系统中数据传输的纠错,其中,该编码器/译码器是由低密度奇偶校验码的奇偶校验矩阵唯一确定的,所述奇偶校验矩阵是根据码长的增加而适当调整基于单位阵及其循环移位矩阵的基础矩阵的取值,或者由唯一不变的Mb×Nb基础矩阵和可变扩展因子z通过扩展得到,使得在设计的范围内任何码长的扩展码都是高girth的码,尽可能地消除了上述低密度奇偶校验码的短圈。
上述的编码器/译码器,其中,特定码率每一个码长的LDPC码都有一个基础矩阵和一个扩展因子z,某一个特定码长(Nb×z)的LDPC码的奇偶校验矩阵可以由一个Nb×Mb基础矩阵和一个扩展因子z通过扩展得到,不同的码长具有不同的基础矩阵。所述码长连续可变的低密度奇偶校验码在girth不同时,设扩展因子z为偶数,其奇偶校验矩阵构成不同的结构,至少包括若所述特定码长的低密度奇偶校验码的奇偶校验矩阵的girth为6时,则有在奇偶校验矩阵的基础矩阵中,对于按照逆时针方向构成的长度为4的短圈的任意元素i、j、k、l,总有mod(i-j+k-l,z)≠0;若所述特定码长的低密度奇偶校验码的奇偶校验矩阵的girth为8时,则有在奇偶校验矩阵的基础矩阵中,对于按照逆时针方向构成的长度为4的短圈的任意元素i、j、k、l,总有mod(i-j+k-l,z)≠0;对于按照逆时针方向构成的长度为6的短圈的任意元素i、j、k、l、m、n,总有mod(i-j+k-l+m-n,z)≠0;及若所述特定码长的低密度奇偶校验码的奇偶校验矩阵的girth为10时,则有在奇偶校验矩阵的基础矩阵中,对于按照逆时针方向构成的长度为4的短圈的任意元素i、j、k、l,总有mod(i-j+k-l,z/2)≠0;对于按照逆时针方向构成的长度为6的短圈的任意元素i、j、k、l、m、n,总有mod(i-j+k-l+m-n,z)≠0;对于按照逆时针方向构成的长度为8短圈的任意元素i、j、k、l、m、n、s、t,总有mod(i-j+k-l+m-n+s-t,z)≠0。
当girth≥10时,提高girth对译码器的性能改善很少,所以本发明只需要考虑消除长度为4、6和8的短圈。上述z为出现在集合[zmin,...,zmax]中的与特定码长相对应的某一个扩展因子。
上述的编码器/译码器,其中,所述码长连续可变的低密度奇偶校验码的奇偶校验矩阵,有且仅有一个Mb×Nb基础矩阵,设z为出现在集合[zmin,...,zmax]中的任何一个扩展因子。对于任何z,码长为(Nb×z)的LDPC码的奇偶校验矩阵都可以由唯一的基础矩阵Hb和一个扩展因子z通过扩展得到。所述的特定码率任意码长(从Nb*zmin到Nb*zmax)低密度奇偶校验码都具有相同的girth值。
为了保证所有码长的奇偶校验矩阵具有尽量大的girth,此基础矩阵的最大元素总是等于或者大于zmax。其奇偶校验矩阵构成不同的结构,至少包括若所述特定码率任何码长的低密度奇偶校验码的奇偶校验矩阵的girth值都为6的时候,则有在奇偶校验矩阵的基础矩阵中,对于z∈[zmin,L,zmax],和按照逆时针方向构成的长度为4的短圈的任意元素i、j、k、l,总有mod(i-j+k-l,z)≠0;若所述特定码率任何码长的低密度奇偶校验码的奇偶校验矩阵的girth都为8时,则有在奇偶校验矩阵的基础矩阵中,对于z∈[zmin,L,zmax],和按照逆时针方向构成的长度为4的短圈的任意元素i、j、k、l,总有mod(i-j+k-l,z)≠0;对于按照逆时针方向构成的长度为6的短圈的任意元素i、j、k、l、m、n,总有mod(i-j+k-l+m-n,z)≠0;若所述特定码率任何码长的低密度奇偶校验码的奇偶校验矩阵的girth都为10时,则有在奇偶校验矩阵的基础矩阵中,对于z∈[zmin,L,zmax],和按照逆时针方向构成的长度为4的短圈的任意元素i、j、k、l,总有mod(i-j+k-l,z/2)≠0;对于按照逆时针方向构成的长度为6的短圈的任意元素i、j、k、l、m、n,总有mod(i-j+k-l+m-n,z)≠0;对于按照逆时针方向构成的长度为8的短圈的任意元素i、j、k、l、m、n、s、t,总有mod(i-j+k-l+m-n+s-t,z)≠0。
上述的zmin表示设计的最短码长低密度奇偶校验码的扩展因子,zmax表示设计的最长码长低密度奇偶校验码的扩展因子,[zmin,...,zmax]表示设计的所有码长低密度奇偶校验码对应的扩展因子构成的集合。所有的码长为Nb×[zmin,...,zmax]。
另外,本发明所要解决的另一技术问题在于提供一种数字通信系统,该种LDPC码能够有效消除LDPC码的差错平底现象,加速BER曲线下降速度,明显提高LDPC码的性能,并且具有很好的普遍适用性。
为了实现上述目的,本发明提供了一种数字通信系统,包括基于单位阵及其循环移位矩阵的低密度奇偶校验码的编码器/译码器,该编码器/译码器是由一低密度奇偶校验码的奇偶校验矩阵唯一确定的,所述奇偶校验矩阵是根据码长的增加而适当调整基于单位阵及其循环移位矩阵的基础矩阵的取值,使得构造出扩展码的girth分布适应码长变化。
上述的数字通信系统,其中,所述低密度奇偶校验码在girth不同时,设扩展因子z为偶数,其奇偶校验矩阵构成不同的结构,至少包括若所述低密度奇偶校验码的奇偶校验矩阵的girth为6时,则有在奇偶校验矩阵的基础矩阵中,对于按照逆时针方向构成的长度为4的短圈的任意元素i、j、k、l,总有mod(i-j+k-l,z)≠0;若所述低密度奇偶校验码的奇偶校验矩阵的girth为8时,则有在奇偶校验矩阵的基础矩阵中,对于按照逆时针方向构成的长度为4的短圈的任意元素i、j、k、l,总有mod(i-j+k-l,z)≠0;对于按照逆时针方向构成的长度为6的短圈的任意元素i、j、k、l、m、n,总有mod(i-j+k-l+m-n,z)≠0;及若所述低密度奇偶校验码的奇偶校验矩阵的girth为10时,则有在奇偶校验矩阵的基础矩阵中,对于按照逆时针方向构成的长度为4的短圈的任意元素i、j、k、l,总有mod(i-j+k-l,z/2)≠0;对于按照逆时针方向构成的长度为6的短圈的任意元素i、j、k、l、m、n,总有mod(i-j+k-l+m-n,z)≠0;对于按照逆时针方向构成的长度为8的短圈的任意元素i、j、k、l、m、n、s、t,总有mod(i-j+k-l+m-n+s-t,z)≠0。
本发明给出了具有特定码率特定girth(如6、8、10)的码长可连续变化的LDPC码;并且进一步提出随着码长的变化可以保持基础矩阵唯一不变的方法,同传统方法相比较,在没有增加编译码器的存储容量和计算复杂度的条件,解决了如何消除特定码率连续可变码长的LDPC码的短圈问题。本发明提高此类LDPC码高信噪比时的性能,加速BER曲线下降速度,消除此类LDPC码的差错平底,并且具有普遍适用性,构造的基于单位阵及其循环移位矩阵的LDPC码充分考虑了girth对码性能的影响,以及码长对girth的影响,使得LDPC码达到了最佳性能,在高信噪比时性能表现非常理想。本发明还具有广泛适用性,可以与考虑LDPC码其它因素(主要有次数分布和线性时间编码)的构造方法很好的相互兼容。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。


图1为数字通信系统的模块图;图2为二分图中长度为4短圈的示意图;图3为二分图中长度为6短圈的示意图;图4为校验矩阵中长度为4短圈的示意图;图5为校验矩阵中长度为6短圈的示意图;图6为四个单位矩阵的循环移位矩阵在H中构成长度为4的短圈的示意图;图7为六个单位矩阵的循环移位矩阵在H中构成长度为6的短圈的示意图;图8为八个单位矩阵的循环移位矩阵在H中构成长度为8的短圈的示意图;图9为z=4,2×2基础矩阵的长度为4短圈的扩展矩阵(extend matrix)和长度为8短圈的扩展矩阵的示意图;图10为从第x0行第y0列元素对应边出发后展开的二分图的示意图;图11为在图10的二分图中从第x0行第y0列元素对应边出发的任意一条路径的示意图;图12为图11所示的路径构成长度为4的短圈的示意图;图13为图11所示的路径构成长度为6的短圈的示意图;图14为图11所示的路径构成长度为8的短圈的示意图;图15为本发明实施例1构造出的girth=8或10的R=1/2 LDPC码同16econtribution构造出的girth=6的LDPC码的BER比较图;图16为本发明实施例1构造出的girth=8或10的R=1/2 LDPC码同16econtribution构造出的girth=6的LDPC码的FER比较图;及图17为本发明实施例2构造出的girth=6的R=2/3 LDPC码同16econtribution构造出的girth=4的R=2/3 LDPC码的FER比较图。
具体实施例方式
下面结合附图对技术方案的实施例作进一步的详细描述图2为二分图中长度为4短圈的示意图。根据该图所示,黑色加重的实线告诉信息比特x1、x2和校验比特c1、c2构成了一个长度为4的圈。
图3为二分图中长度为6短圈的示意图。根据该图所示,黑色加重的实线告诉信息比特x1、x2、x3和校验比特c1、c2、c4构成了一个长度为6的圈。
概念girth用来定量描述二分图中的短圈。在图论中,二分图的girth是指一个图中最短圈的圈长,例如某个二分图有长度为6、8、10、12和长度更长的圈,则该二分图的girth为6。二分图中,某个节点u的girth(the girth at nodeu)是指经过节点u的最短圈的圈长,例如经过节点u有长度为8、10、12和长度更长的圈,则该节点u的girth为8。二分图中,某条边e的girth(the girthat edge e)是指经过此边e的最短圈的圈长,例如经过边e有长度为8、10、12和长度更长的圈,则此边e的girth为8。
一个变量节点的girth是指最短路径的长度,它等同于从这个节点出来的信息传递回该节点本身的最小迭代次数。在实际迭代次数达到这个最小迭代次数之前,与这个节点联系的信息可以最优地传递给二分图的剩余部分。如果某个变量节点的girth越大,那么该变量节点发出的信息被传递给自身的正反馈信息将越小,则译码性能也越好。所以,使变量节点的girth尽量大对码性能的提高是有利的。
二分图中短圈破坏了LDPC码的性能。LDPC码校验矩阵的图形表示形式是二分图,首先介绍一下什么是二分图。二分图和校验矩阵之间具有一一对应的关系,一个M*N的奇偶校验矩阵H定义了每个具有N比特的码字满足M个奇偶校验集的约束。一个二分图包括N个变量节点,每个节点对应H中一个比特位;还包括M个奇偶校验节点,每个节点对应一个H中的奇偶校验。校验节点将连到将要进行校验的变量节点上;具体的说,当第m个校验涉及到第n个比特位,即Hm,n=1的时候,将有一根连线连接校验节点m和比特节点n。二分图名称的由来就是因为它包括两类节点,即变量节点和校验节点。其中,任何同一类的节点之间都不会有连接。并且二分图中的总边数和校验矩阵中非零元素的个数相等。
图2所示说明了x1、x2通过长度为4的圈相互联系,图3所示说明了x1、x2、x3通过长度为6的圈相互联系,而LDPC码的信息传递译码算法假定变量节点是相互独立的,短圈的存在必然破坏了独立性的假设,使得译码性能明显下降。事实上,圈4、圈6等短圈的存在使得变量节点在迭代译码的过程中频繁给自身传递正反馈信息,这对于迭代译码而言是不希望出现的。大家知道,turbo码也是迭代译码的,它正是使用交织器来减少这种正反馈效应的。对于没有圈(cycle free)的Tanner图,信息传递算法会导致最优解码,而短圈的存在使得信息传递算法是一种次优(sub-optimality)的迭代译码算法,事实上最短圈长度越长,信息传递算法越接近最优算法。
图4为校验矩阵中长度为4短圈的示意图。该图所示给出了圈长为4的短圈在LDPC码校验矩阵中出现的一般形式。
图5为校验矩阵中长度为6短圈的示意图。该图所示出了圈长为6的短圈在LDPC码校验矩阵中出现的一般形式。
可见,LDPC码二分图中的短圈将恶化LDPC码的码性能,所以无论对于正则码,还是对于非正则码,找到消除短圈的算法是至关重要的。
综上所述,构造短圈尽量少的LDPC码原则如下首先,被选择的码的最短圈的长度girth应该尽量大;其次,对于具有同样大小girth的码,被选择的码的最短圈的数目应该尽量少。
图6为四个单位矩阵的循环移位矩阵在H中构成长度为4的短圈的示意图。
LDPC码的奇偶校验矩阵H设为(M×z)×(N×z)矩阵,它是由M×N个分块矩阵构成,每个分块矩阵都是z×z的基本置换矩阵的不同幂次,它们都是单位阵的循环矩阵。通过这样的幂次就可以唯一标识每一个分块矩阵。对于H,如果每个分块矩阵都用它的幂次代替,就得到一个M×N的幂次矩阵Hb。这里,定义Hb是H的基础矩阵(base matrix);由于H可以通过Hb扩展而得到,所以奇偶校验矩阵H又被称Hb的扩展矩阵(extend matrix)。需要明确的是,基础矩阵中一个幂次j唯一标识一个对一个单位阵循环右移j位后得到z×z矩阵,这里j是任意大于等于0的正整数。在后面的内容,循环移位默认为右移。
此类LDPC码的奇偶校验矩阵可以定义如下
H=P0,0P0,1P0,2...P0,n0-2P0,n0-1P1,0P1,1P1,2...P1,n0-2P1,n0-1P2,0P2,1P2,2...P2,n0-2P2,n0-1..................Pmb-1,0Pmb-1,1Pmb-1,2...Pmb-1,nb-2Pmb-1,nb-1=PHb]]>P是N×N基本循环置换矩阵P=010···0001···0...............000···1100···0]]>如果已知z,一个M×N的基础矩阵Hb可以唯一扩展出一个扩展矩阵H。分析可知,调整基本置换矩阵的维数z就可以改变扩展矩阵的大小,因此基于基础矩阵可以构造出在相同码率和相同次数分布条件下一个连续可变码长的LDPC码码集。
下面给出一个6×12的码率为1/2的基于单位矩阵以及其循环移位矩阵的LDPC码实例 分析上式可知,上面的LDPC码的奇偶校验矩阵H可以分块为8个分块矩阵,每个分块矩阵都可以看成3×3单位矩阵的循环移位矩阵。只需要知道两个参数就可以确定此校验矩阵,第一个参数是单位矩阵的维数,第二个参数是每个分块矩阵对应的循环移位的位数。
如果I表示单位阵,则单位校验矩阵的维数可以定义为Idims。设某矩阵是单位阵的循环移位i位后得到的矩阵,可以用i来表示它;对于单位矩阵,可以看成将单位阵循环移位0位得到的矩阵,所以用0来表示;而对于0矩阵,一般用-1来表示。所以上述校验矩阵可以用下面的Idims参数和一个2×4矩阵Hb来表示
Idims=3和Hb=010-12121]]>如该图6所示,分析校验矩阵和二分图的拓扑结构,当基础矩阵Hb中出现长度为4的短圈时,Hb的扩展矩阵H才可能出现长度为4或者更大的短圈。
经过计算机仿真和数学推理的验证,结论归纳如下z为偶数,由四个z×z的分块矩阵Pi、Pj、Pk、Pl对应的幂次元素i、j、k、1在Hb中构成了长度为4的短圈,若mod(i-j+k-l,z)=0,则Pi、Pj、Pk、Pl在H中构成了长度为4的短圈;若mod(i-j+k-l,z/2)=0,则Pi、Pj、Pk、Pl在H中构成了长度为8的短圈。其它情况下,Pi、Pj、Pk、Pl在H中构成了长度为12的短圈或者不构成短圈。
图7为六个单位矩阵的循环移位矩阵在H中构成长度为6的短圈的示意图。如该图所示,分析校验矩阵和二分图的拓扑结构,当基础矩阵Hb中出现长度为6的短圈的时候,Hb的扩展矩阵H才可能出现长度为6或者更大的短圈,如下z为偶数,有六个z×z的分块矩阵Pi、Pj、Pk、Pl、Pm、Pn对应的幂次元素i、j、k、l、m、n在Hb中构成了长度为6的短圈,若mod(i-j+k-l+m-n,z)=0,则Pi、Pj、Pk、Pl、Pm、Pn在H中构成了长度为6的短圈;若mod(i-j+k-l+m-n,z/2)=0,则Pi、Pj、Pk、Pl、Pm、Pn在H中构成了长度为10的短圈。其它情况下,Pi、Pj、Pk、Pl、Pm、Pn在H中构成了长度大于等于12的短圈或者不构成短圈。
图8为八个单位矩阵的循环移位矩阵在H中构成长度为8的短圈的示意图。如该图所示,分析校验矩阵和二分图的拓扑结构,当基础矩阵Hb中出现长度为8的短圈的时候,Hb的扩展矩阵H才可能出现长度为8或者更大的短圈,如下z为偶数,有八个z×z的分块矩阵Pi、Pj、Pk、Pl、Pm、Pn、Ps、Pt对应的幂次元素i、j、k、l、m、n、s、t在Hb中构成了长度为8的短圈;若mod(i-j+k-l+m-n+s-t,z)=0,则Pi、Pj、Pk、Pl、Pm、Pn、Ps、Pt在H中构成了长度为8的短圈;其它情况下,Pi、Pj、Pk、Pl、Pm、Pn、Ps、Pt在H中构成了长度为12的短圈或者不构成短圈。
图9为z=4,2×2基础矩阵的长度为4短圈的扩展矩阵(extend matrix)和长度为8短圈的扩展矩阵的示意图。在该图中
z=4,Hb=0213,]]>mod(0-2+3-1,4)=0,由上述结论可知有长度为4的短圈。
z=4,Hb=0002,]]>mod(0-0+2-0,4)=2,由上述结论可知有长度为8的短圈。
在实际应用中,扩展矩阵是由基本矩阵扩展得到的,循环置换矩阵的维数z一般都是偶数,后序的内容都默认z是偶数。分析校验矩阵的拓扑可知,扩展矩阵中z×z的分块矩阵和基础矩阵的元素是唯一对应的,如果基础矩阵中某些元素不构成短圈,那么这些元素对应的分块矩阵在扩展矩阵中也将不构成短圈。所以,为了研究扩展矩阵的短圈,仅需要考虑当基础矩阵中出现短圈的情况。
在本发明设计的一个基于单位阵及其循环移位矩阵的LDPC码的编码器译码器的又一实施例中,该编码器/译码器总是由某个奇偶校验矩阵H唯一确定。
首先给出一个LDPC码的编码器。LDPC码是一种特殊的线性分组码。通信中,每发送一个分组长度为N比特的码字,为了保证其具有一定的纠错能力,需要有M个校验比特,每个码字都要求满足HxT=0T,其中H为二元域上m×n维的奇偶校验矩阵。所有的运算都是在二元域GF(2)上进行的,这里加和减是异或运算,而乘是与运算。
当H满秩时,将存在2N-M个码字,本发明用一个码字表示长度为N-M的源数据块(source block)。编码的问题就是确定一种从N-M比特的源数据到N比特码字的映射。
下面给出系统分组码的直接编码方法把M×N的奇偶校验矩阵H划分为M×(N-M)和M×M的两块,即H=[A|B],本发明需要找出H矩阵列向量的最大线性无关组(M个列向量),把它们通过列重排放到B的位置上,这时B是非奇异,即是可逆的。以同样方式把一个码字x划分为N-M个信息比特s和M个校验比特c,根据H×x=0,可得[A|B]×[sc]=0]]>
于是可以得到A×s+B×c=0。于是可得c=B-1As。
与码字划分对应,校验矩阵也分为A和B,分别对应系统比特和校验比特。当B采用特殊的矩阵结构,如严格下三角结构(半随机矩阵)、双下三角结构等,则B-1具有非常简单的形式,可以直接按照上面式子直接得到码字中校验比特部分c,并且可以保证编码器具有线性复杂度。
下面给出Richarson线性时间编码方法当奇偶校验矩阵H具有准下三角结构,如图Richarson提出了一种可以实现线性时编码的,设H具有如下形式H=ABTCDE]]>这里A的维数是(m-g)×(n-m),B是(m-g)×g,T是(m-g)×(m-g),C是g×(n-m),D是g×g,E是g×(m-g)。所有这些矩阵都是稀疏矩阵,而T是下三角矩阵,主对角线元素全为1。设编码后码字是x=(s,p1,p2),这里s为编码码字的系统比特部分,p1和p2为码字的校验比特部分,p1的长度为g,p2长度为(m-g),可以由下面式子求得 p2T=-T-1(AsT+Bp1T)]]>根据上述的方法,本发明设计的LDPC码的编码器的功能就是实现稀疏矩阵的乘法和加法运算。对于基于单位阵以及其循环移位矩阵的LDPC码,稀疏矩阵的乘法运算可以由多个z位的循环移位寄存器和多个z位的加法器构成,而稀疏矩阵的加法运算就是由上述的多个z位的加法器完成。一旦基础矩阵和扩展因子确定,根据上述的直接方法或者Richarson方法,就很容易用多个z位的循环移位寄存器和多个z位的加法器构造出一个LDPC编码器硬件电路。总之,本发明设计的LDPC码的编码器可以由其奇偶校验矩阵唯一确定。
现在给出一个LDPC码的译码器。信息传递(message passing)算法是一种在二分图中信息在节点间被传递的译码技术,节点可以作为独立的处理器来工作,可以收集输入信息和产生输出信息。关于时间和信息的内容没有全局的控制存在;相反,比特和校验节点(check node)服从一个普遍的本地准则(localrule),即一旦所有的输入信息都得到接收就可以产生一个输出。当图是无圈的,信息传递算法在经过有限次信息传递后可以收敛到一个后验对数似然比。但是,大部分好码在它们的二分图中都存在圈。当存在圈的码得到使用,信息传递算法不再是准确,而只是近似。幸运的是,即使当图有圈的存在,信息传递算法也是工作的非常好,并且它的复杂度非常低。
下面将给出一个对数域上正则或者非正则的信息传递算法。定义下标集合Mn={mHm,n=1}和Nm={nHm,n=1}。定义um,n(1)在第1次迭代中从校验节点m传递到变量节点(variable node)n的信息。并且让λn(1)指经过1次迭代过后第n个比特的对数似然比预测值。
算法如下初始化●对于所有的m∈{1,...,M}和n∈Nm,令um,n(0)=0]]>●对于所有的n∈{1,...,N},令λn(0)=(2/σ2)rn]]>迭代 for迭代次数1=1,2,...,lmax,●校验节点更新for m∈{1...M}并且n∈Nm,um,n(l)=-2tanh-1(Πi∈Nm-ntanh(-λi(l-1)+um,i(l-1)2))]]>●变量节点更新for n∈{1...N},λn(l)=(2/σ2)rn+Σm∈Mnum,n(l)]]>这个算法可以用二分图中的信息传递过程来解释。
对于硬件设计的LDPC码译码器,首先需要一个二维的存储器网络,它用于存储二分图的每条边上的边信息(extrinsic information),还需要保证信息传递路由的有效性;然后需要一个对应于M个校验节点的M个独立的校验节点处理单元(CNPU,Check Node Processing Unit),它用于所有的校验节点的计算和相邻的节点之间的信息传递;还包括计算N个变量节点可以N个独立的变量节点处理单元(VNPU,Variable Node Processing Unit),它用于所有的校验节点的求和计算和相邻的节点之间的信息传递。硬件的并行实现保证了LDPC码高速迭代译码。总之,一旦确定了LDPC码的奇偶校验矩阵,就可以设计出一个LDPC的译码器。当采用硬件实现(如现场可编程门阵列FPGA),译码器并行度可以很高,并且结构简单。
综上所述,奇偶校验矩阵可以唯一确定一个LDPC码的编码器和译码器,实际上LDPC码的奇偶校验矩阵不仅仅决定了LDPC码译码器的性能,而且决定了LDPC码的编码器和译码器的复杂度、存储空间和处理延时。所以,寻找合适的LDPC码的奇偶校验矩阵结构是至关重要的,本发明将着重从LDPC码的girth角度来设计好的LDPC码的编码器和译码器,努力在特定码长条件下找到girth尽量大的奇偶校验矩阵。
下面将给出不同girth条件下上述LDPC的校验矩阵H的矩阵结构,设扩展因子z为偶数,如下结论若这个LDPC码的编码器和译码器的校验矩阵H的girth=6,则必然有在它的基础矩阵Hb中,对于按照逆时针方向构成了长度为4的短圈的任意元素i,j,k,l,总有mod(i-j+k-l,z)≠0;若这个LDPC码的编码器和译码器的校验矩阵H的girth=8,则必然有在它的基础矩阵Hb中,对于按照逆时针方向构成了长度为4的短圈的任意元素i,j,k,l,总有mod(i-j+k-l,z)≠0;对于按照逆时针方向构成了长度为6的短圈的任意元素i,j,k,l,m,n,总有mod(i-j+k-l+m-n,z)≠0;若这个LDPC码的编码器和译码器的校验矩阵H的girth=10,则必然有在它的基础矩阵Hb中,对于按照逆时针方向构成了长度为4的短圈的任意元素i,j,k,l,总有mod(i-j+k-l,z/2)≠0;对于按照逆时针方向构成了长度为6的短圈的任意元素i,j,k,l,m,n,总有mod(i-j+k-l+m-n,z)≠0;对于按照逆时针方向构成了长度为8的短圈的任意元素i,j,k,l,m,n,s,t,总有mod(i-j+k-l+m-n+s-t,z)≠0当girth≥10时,提高girth对译码器的性能改善很少,所以本发明只需要考虑消除长度为4、6和8的短圈。
所以,在特定的码长条件下,本发明设计的LDPC码的编码器和译码器的奇偶校验矩阵尽量满足上述不等式。实际上,码长较短的时候,本发明可以设计出girth=6的LDPC码编译器;码长中等的时候,则可以设计出girth=8的LDPC码编译器;码长较长的时候,则可以设计出girth=10的LDPC码编译器。不同的码长具有不同的基础矩阵。
本发明给出了构造高girth的LDPC码的奇偶校验矩阵的方法的又一实施例,内容包括第一步,确定将要构造的LDPC码基础矩阵的码率、码长、校验位个数;第二步,确定要构造的LDPC码采用的是非正则码,还是正则码;
第三步,如果采用正则码,则确定行重量和列重量;如果采用非正则码,则需要通过密度演进来确定次数分布,需要综合考虑信噪比门限和迭代收敛速度以及算法的复杂度来设计次数分布,最终选择出一个合适的次数分布,并由次数分布得到矩阵的行重量向量和列重量向量。
第四步,根据行重量向量和列重量向量,采用比特填充法(参见,徐俊,《LDPC码及其在第四代移动通信系统中应用》[硕士论文],南京邮电学院,2003;或者J.Campello et al.,Extented Bit-Filling and LDPC CodesDesign,Proc.IEEE Globecom Conf.San Antonio,TX,Nov.2001)可以构造出girth尽量大,最短圈数目尽量少的原始基础矩阵OriginalBaseMatrixH,由于原始基础矩阵一般都很小,所以原始基础矩阵的girth为4,关键是尽量减小长度为4的短圈的数目。原始基础矩阵仅由0,1组成,此基础矩阵反映出最终需要构造的LDPC码的次数分布、码率等重要特征。另外,在比特填充的过程,需要构造出符合线性时间编码的校验矩阵的结构,一般都具有准下三角结构。
第五步,基于构造尽量高girth的基础矩阵的方法,从集合{0,1,2,L,z-1}中选择合适的元素放到原始基础矩阵中“1”的位置上,直至将所有“1”的位置放完,最终得到基础矩阵Hb。需要补充的是,为了实现线性时间编码,需要对基础矩阵所对应的校验位部分首先赋值,这一部分往往具有准下三角结构。
第六步,根据已知的扩展因子z,对基础矩阵进行扩展,即可以得到需要的LDPC码的奇偶校验矩阵,最后验证此矩阵的次数分布、girth以及其它码的参数和特性是否符合要求,并通过仿真检验LDPC码的性能。
上述第四步中比特填充法具体是首先需要确定原始基础矩阵的行重量向量和列重量向量,然后将“1”一个一个放到校验矩阵中,但是要求必须满足girth的约束条件(girth尽量大并且最短圈的数目尽量少)和次数分布(不要超过事先约定好的行重量和列重量)的约束条件。对于比特填充算法,girth限制在整个执行过程中都是变化的。扩展算法开始坚持大girth的约束(g),一直进行到为了满足girth的约束条件而不再能够在校验矩阵中放“1”的时候。此时,girth约束可以降低(如g减2),继续向校验矩阵中放“1”,并且要求不违反girth的约束和次数分布的约束。设二分图的总边数为1,那么当E个“1”被成功地放到校验矩阵中,则生成矩阵成功。下面将要介绍在第五步中如何构造具有尽量大girth的低密度奇偶校验码的基础矩阵的方法。类似比特填充的过程,基础矩阵是通过从{0,1,2,...,z-1}中选择值填充到原始基础矩阵的“1”位置而得到的。
现在问题的关键是如何从集合{0,1,2,L,z-1}中选择一个合适的元素放到原始基础矩阵中“1”的位置上。
假设已经在原始基础矩阵的某些“1”的位置上填充了{0,1,2,L,z-1}中的元素,得到已经构造出来的部分基础矩阵Hc,并且Hc对应的扩展矩阵的girth≥10,因而需要选择一个合适的值添加到Hc的第x0行第y0列。
图10为从第x0行第y0列元素对应边出发后展开的二分图的示意图。对于基础矩阵Hc的二分图,从第x0行第y0列元素对应的边出发,遍历所有可能的路径,就可以得到从第x0行第y0列元素对应边出发的二分图,如图10所示,图中圆圈表示变量节点,方块表示校验节点。V1表示与y0距离为2的相邻变量节点集合,C1表示与y0距离为3的相邻校验节点集合,V2表示与y0距离为4的相邻变量节点集合,C2表示与y0距离为5的相邻校验节点集合,V3表示与y0距离为6的相邻变量节点集合,C3表示与y0距离为7的相邻校验节点集合,V4表示与y0距离为8的相邻变量节点集合,C4表示与y0距离为9的相邻校验节点集合,V5表示与y0距离为10的相邻变量节点集合。当y0出现在V2中,则出现了长度为4的短圈;当y0出现在V3中,则出现了长度为6的短圈;当y0出现在V4中,则出现了长度为8的短圈;当y0出现在V5中,则出现了长度为10的短圈。所以,包含第x0行第y0列元素对应边的任何短圈都会在此局部二分图上表现出来,此图同样可以用来确定校验矩阵的二分图的girth。
在图10,设出现的黑色粗线为从第x0行第y0列元素对应边出发的任意一条路径。在校验矩阵中,从第x0行第y0列出发,沿着水平方向找到某个非零元素,设它的位置为第x0行第y1列;再沿着垂直方向找到某个非零元素,设它的位置为第x1行第y1列;再沿着水平方向找到某个非零元素,设它的位置为第x1行第y2列;再沿着垂直方向找到某个非零元素,设它的位置为第x2行第y2列;以此类推,得到从第x0行第y0列元素对应边出发的二分图的该条路径,此路径在上图是以黑色粗线标识出来。
图11为在图10的二分图中从第x0行第y0列元素对应边出发的任意一条路径的示意图。分析该图,根据LDPC码的译码信息传递算法,必然有y1≠y0。当y2=y0,可知y0、x0、y1、x1构成了一条长度4的短圈;当y2≠y0且y3=y0,可知y0、x0、y1、x1、y2、x2构成了一条长度6的短圈;当y2,y3≠y0且y4=y0,可知y0、x0、y1、x1、y2、x2、y3、x3构成了一条长度8的短圈;以此类推。总之,从第x0行第y0列元素对应边出发,可以找出所有可能包含它的短圈。
图12为图11所示的路径构成长度为4的短圈的示意图。在部分构造的基础矩阵Hc中,从第x0行第y0列元素对应边出发,存在如图11的路径,若满足y0=y2,可知构成了图12所示的长度为4的短圈。根据校验矩阵和二分图的对应关系,二分图的每条边和矩阵中一个非零元素唯一对应,可知H(x0,y1)与校验节点x0到变量节点y1的边对应,H(x1,y1)与校验节点x1到变量节点y1的边对应,H(x1,y0)与校验节点x1到变量节点y0的边对应,H(x0,y0)与校验节点x0到变量节点y0的边对应。其中,H(x0,y0),H(x0,y1),H(x1,y1),H(x1,y1)属于集合{0,1,2,...,z-1},H(x0,y1),H(x1,y1);H(x1,y1)是已知,而H(x0,y0)是未知,需要选择填充的。根据前面的结论可知,若mod(H(x0,y0)-H(x0,y1)+H(x1,y1)-H(x1,y0),z)≠0 (1)则基础矩阵中长度为4的短圈不会导致扩展矩阵的长度为4短圈出现;若mod(H(x0,y0)-H(x0,y1)+H(x1,y1)-H(x1,y0),z/2)≠0 (2)则基础矩阵中长度为4的短圈不会导致扩展矩阵的长度为8短圈出现。
图13为图11所示的路径构成长度为6的短圈的示意图。在部分构造的基础矩阵Hc中,从第x0行第y0列元素对应边出发,存在如图11的路径,若满足y0=y3,可知构成了图13所示的长度为6的短圈。根据前面的结论可知,若mod(H(x0,y0)-H(x0,y1)+H(x1,y1)-H(x1,y2)+H(x2,y2)+H(x2,y0),z)≠0 (3)则基础矩阵中长度为6的短圈不会导致扩展矩阵的长度为6短圈出现;若mod(H(x0,y0)-H(x0,y1)+H(x1,y1)-H(x1,y2)+H(x2,y2)+H(x2,y0),z/2)≠0 (4)则基础矩阵中长度为6的短圈不会导致扩展矩阵的长度为10短圈出现。
图14为图11所示的路径构成长度为8的短圈的示意图。在部分构造的基础矩阵Hc中,从第x0行第y0列元素对应边出发,存在如上图11的路径,若满足y0=y4,可知构成了图14所示的长度为8的短圈。
根据前面的结论可知,若mod(H(x0,y0)-H(x0,y1)+H(x1,y1)-H(x1,y2)+H(x2,y2)-H(x2,y3)+H(x3,y3)-H(x3,y4),z)≠0(5)则基础矩阵中长度为8的短圈不会导致扩展矩阵的长度小于等于10的短圈出现。
需要解决的问题是要从{0,1,2,....,z-1}中选择一个合适的值添加到部分已经构造出来的基础矩阵的第x0行第y0列。解决方法如下以部分已经构造的基础矩阵Hc为对象,在二分图中从第x0行第y0列元素对应边出发,遍历所有可能路径,可以找到所有的短圈。若Hc对应二分图的长度为4的短圈出现,选值的时候保证(1)式成立,则可以保证扩展矩阵的girth>4。若Hc对应二分图的长度为6的短圈出现,选值的时候保证(3)式成立,则可以保证扩展矩阵的girth>6。若Hc对应二分图的长度为4的短圈出现,选值的时候保证(2)式成立,并且若Hc对应二分图的长度为8的短圈出现,选值的时候保证(5)式成立,则可以保证扩展矩阵的girth>8。这样,就可以构造出girth=10的扩展矩阵,如果找不到值,可以构造girth=8的扩展矩阵。
在实际仿真过程中,发现码长和girth密切相关,当码长越长,则{0,1,2,...,z-1}的取值范围越大,越容易找到合适的填充值,越容易构造出高girth的码;否则相反。
如果对于每个不同的扩展因子,无法保证基础矩阵唯一,那么,对于每个不同的码长(或者扩展因子),所述的LDPC码编译码器都需要存储一个基础矩阵,当码长很多时,就要存储很多基础矩阵,就对LDPC码编译码器的存储空间提出了很高要求。
基于上述问题,本发明提出了具有唯一的基础矩阵的低密度奇偶校验码编码器/译码器的又一实施例。低密度奇偶校验的码长是可以连续变化的,用于数字通信系统中数据传输的纠错,其中,该编码器/译码器是由一低密度奇偶校验码的奇偶校验矩阵唯一确定的,所述的奇偶校验矩阵可以由唯一不变的Mb×Nb基础矩阵和可变扩展因子z通过扩展得到,使得在设计的范围内任何码长的扩展码都是高girth的码(最短圈圈长尽量大),尽可能地消除了所述低密度奇偶校验码的短圈。
上述的编码器/译码器,其中,所述码长连续可变的低密度奇偶校验码在girth不同时,设z为出现在集合[zmin,...,zmax]中的任何一个扩展因子。其奇偶校验矩阵构成不同的结构,至少包括
若所述所有码长的低密度奇偶校验码的奇偶校验矩阵的girth都为6时,则有在奇偶校验矩阵的基础矩阵中,对于z∈[zmin,L,zmax],和按照逆时针方向构成的长度为4的短圈的任意元素i、j、k、l,总有mod(i-j+k-l,z)≠0;若所述所有码长的低密度奇偶校验码的奇偶校验矩阵的girth都为8时,则有在奇偶校验矩阵的基础矩阵中,对于z∈[zmin,L,zmax],和按照逆时针方向构成的长度为4的短圈的任意元素i、j、k、l,总有mod(i-j+k-l,z)≠0;对于按照逆时针方向构成的长度为6的短圈的任意元素i、j、k、l、m、n,总有mod(i-j+k-l+m-n,z)≠0;及若所述所有码长的低密度奇偶校验码的奇偶校验矩阵的girth都为10时,则有在奇偶校验矩阵的基础矩阵中,对于z∈[zmin,L,zmax],和按照逆时针方向构成的长度为4的短圈的任意元素i、j、k、l,总有mod(i-j+k-l,z/2)≠0;对于按照逆时针方向构成的长度为6的短圈的任意元素i、j、k、l、m、n,总有mod(i-j+k-l+m-n,z)≠0;对于按照逆时针方向构成的长度为8短圈的任意元素i、j、k、l、m、n、s、t,总有mod(i-j+k-l+m-n+s-t,z)≠0。
上述的编码器/译码器,其中,所述码长连续可变的低密度奇偶校验码的奇偶校验矩阵,有且仅有一个Mb×Nb基础矩阵,为了保证唯一的基础矩阵同时满足所有可能z值的特定girth的不等式,此基础矩阵的最大元素总是等于或者大于zmax。
在这里,zmin表示设计的最短码长低密度奇偶校验码的扩展因子,zmax表示设计的最长码长低密度奇偶校验码的扩展因子,[zmin,...,zmax]表示设计的所有码长低密度奇偶校验码对应的扩展因子构成的集合。所有的码长为Nb×[zmin,...,zmax]。
本发明给出了具有特定码率、特定girth(如6、8、10)的和码长可连续变化的LDPC码;并且随着码长的变化可以保持基础矩阵唯一不变,同传统方法相比较,在没有增加编译码器的存储容量和计算复杂度的条件,解决了如何消除特定码率、连续可变码长的LDPC码的短圈问题。事实上,如果基础矩阵的最大元素足够大,则基础矩阵的取值范围就足够大,当要求的设计girth不很高,就可以找到一个唯一的基础矩阵,使得在z取任何可能值的时候,都能够满足上述特定girth的不等式。
目前,人们对通信、雷达、遥控遥测等数字通信系统要求愈来愈高的纠错编码能力,以保证数字传输的可靠性,而现有的数字通信系统往往不具有自动纠正差错的能力,纠错编码能力低,既不能有效保证数字传输的可靠性,更不能完成高速率、突发性强的任务。
基于上述问题,本发明提出了一实施例数字通信系统,包括基于单位阵及其循环移位矩阵的低密度奇偶校验码的编码器/译码器,其中,该编码器/译码器是由一低密度奇偶校验码的奇偶校验矩阵唯一确定的,所述奇偶校验矩阵是根据码长的增加而适当调整基于单位阵及其循环移位矩阵的基础矩阵的取值,使得构造出扩展码的girth分布适应码长变化。
上述的数字通信系统,其中,所述低密度奇偶校验码在girth不同时,设扩展因子z为偶数,其奇偶校验矩阵构成不同的结构,至少包括如下结论若所述低密度奇偶校验码的奇偶校验矩阵的girth为6时,则有在奇偶校验矩阵的基础矩阵中,对于按照逆时针方向构成的长度为4的短圈的任意元素i、j、k、l,总有mod(i-j+k-l,z)≠0;若所述低密度奇偶校验码的奇偶校验矩阵的girth为8时,则有在奇偶校验矩阵的基础矩阵中,对于按照逆时针方向构成的长度为4的短圈的任意元素i、j、k、l,总有mod(i-j+k-l,z)≠0;对于按照逆时针方向构成的长度为6的短圈的任意元素i、j、k、l、m、n,总有mod(i-j+k-l+m-n,z)≠0;及若所述低密度奇偶校验码的奇偶校验矩阵的girth为10时,则有在奇偶校验矩阵的基础矩阵中,对于按照逆时针方向构成的长度为4的短圈的任意元素i、j、k、l,总有mod(i-j+k-l,z/2)≠0;对于按照逆时针方向构成的长度为6的短圈的任意元素i、j、k、l、m、n,总有mod(i-j+k-l+m-n,z)≠0;对于按照逆时针方向构成的长度为8的短圈的任意元素i、j、k、l、m、n、s、t,总有mod(i-j+k-l+m-n+s-t,z)≠0。
下面给出本发明设计的LDPC码的编码器和译码器的校验矩阵的实例1,这种情况下基础矩阵不唯一,要求设计出码率为1/2,码长从576按照96为间隔连续变化到2304的LDPC码。根据本发明所述的方法,设计了一个12×24的原始基础矩阵,此矩阵反映了将要构造的矩阵的码率及次数分布,它是一个半正则的校验矩阵,对应信息比特的校验矩阵部分具有正则的结构,并且行重量为4,列重量也为4;对应校验比特的校验矩阵部分具有双下三角结构,目的是实现直接的线性时间编码。
OriginalBaseMatrixH=100100010100110000000000100011001000011000000000010010001010001100000000001010010010000110000000000101000101000011000000001000100101000001100000010001110000100000110000001001000011000000011000011100001000000000001100100000101100000000000110110000000011000000000011000110110000100000000001]]>根据码设计的需要,本发明需要从{0,1,2,...,z-1}中选择值填充到原始基础校验矩阵中,此外矩阵所有0元素用-1来填充。根据半正则矩阵的设计要求,此矩阵左边一半的所有“1”要求用“0”来代替,而右边的矩阵则按照本发明提供的方法来填充。
在这里,z的取值是变化的,z的取值取决于需要设计的码长N,z=N/Nb,Nb是基础矩阵的码长,这里为24。所以,本发明认为基础矩阵中元素取值应该可以随着码长而变化,当码长增加,z的取值增大,向原始基础矩阵填充的值的选择范围将更大,将更加容易构造出高girth的LDPC码,从而保证构造的LDPC码可以有效地克服短圈对码性能的影响。例如在IEEE802.16e标准中,码率取1/2,基础矩阵是12×24的矩阵,扩展因子z可以从24连续取值到96,则可以产生码长从576按照96为间隔连续变化到2304的LDPC码。本发明的基础矩阵不再唯一,每个码长都一个不同的基础矩阵,但是原始基础都是相同的。
图15为本发明实施例1构造出的girth=8或10的R=1/2 LDPC码同16econtribution构造出的girth=6的LDPC码的BER比较图。
图16为本发明实施例1构造出的girth=8或10的R=1/2 LDPC码同16econtribution构造出的girth=6的LDPC码的FER比较图。
若需要构造码长N=576的LDPC码,此时z=N/Nb=576/24=24,则构造基础矩阵如下,此时可以保证构造出来的矩阵的girth=8BaseMatrixH1=3-1-111-1-1-119-116-1-100-1-1-1-1-1-1-1-1-1-14-1-1-11517-1-114-1-1-1-100-1-1-1-1-1-1-1-1-1-111-1-117-1-1-15-113-1-1-100-1-1-1-1-1-1-1-1-1-116-13-1-112-1-117-1-1-1-100-1-1-1-1-1-1-1-1-1-15-17-1-1-121-111-1-1-1-100-1-1-1-1-1-1-1-16-1-1-121-1-19-19-1-1-1-1-100-1-1-1-1-1-16-1-1-115818-1-1-1-10-1-1-1-1-100-1-1-1-1-1-118-1-10-1-1-1-1716-1-1-1-1-1-1-100-1-1-1-1142023-1-1-15-1-1-1-1-1-1-1-1-1-1-1-100-1-14-1-1-1-1-13-1120-1-1-1-1-1-1-1-1-1-1-100-1619-1-1-1-1-1-1-1-1193-1-1-1-1-1-1-1-1-1-100-1-1-1183-11810-1-1-1-10-1-1-1-1-1-1-1-1-1-10]]>
若需要构造码长N=1152的LDPC码,此时z=N/Nb=1152/24=48,则构造基础矩阵如下,此时可以保证构造出来的矩阵的girth=8BaseMatrixH2=30,-1,-1,39,-1,-1,41,-1,47,-1,-1,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-116,-1,-1,-1,20,15,-1,-1,46,-1,-1,-1,-1,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1-1,18,-1,-1,2,-1,-1,-1,35,-1,11,-1,-1,-1,0,0,-1,-1,-1,-1,-1,-1,-1,-1-1,-1,7,-1,40,-1,-1,46,-1,-1,28,-1,-1,-1,-1,0,0,-1,-1,-1,-1,-1,-1,-1-1,-1,-1,2,-1,12,-1,-1,-1,9,-1,30,-1,-1,-1,-1,0,0,-1,-1,-1,-1,-1,-1-1,-1,15,-1,-1,-1,5,-1,-1,31,-1,40,-1,-1,-1,-1,-1,0,0,-1,-1,-1,-1,-1-1,5,-1,-1,-1,10,14,37,-1,-1,-1,-1,0,-1,-1,-1,-1,-1,0,0,-1,-1,-1,-1-1,-1,12,-1,-1,16,-1,-1,-1,-1,1,10,-1,-1,-1,-1,-1,-1,-1,0,0,-1,-1,-1-1,27,41,32,-1,-1,-1,-1,45,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,-1,-136,-1,-1,-1,-1,-1,19,-1,6,14,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,-137,14,-1,-1,-1,-1,-1,-1,-1,-1,26,21,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0-1,-1,-1,30,12,-1,27,17,-1,-1,-1,-1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0]]>若需要构造码长N=2304的LDPC码,此时z=N/Nb=2304/24=96,则构造基础矩阵如下,此时可以保证构造出来的矩阵的girth=10BaseMatrixH3=59-1-139-1-1-172-185-1-100-1-1-1-1-1-1-1-1-1-125-1-1-1817-1-131-1-1-1-100-1-1-1-1-1-1-1-1-1-151-1-111-1-1-13-148-1-1-100-1-1-1-1-1-1-1-1-1-153-117-1-179-1-129-1-1-1-100-1-1-1-1-1-1-1-1-1-192-177-1-1-121-143-1-1-1-100-1-1-1-1-1-1-1-111-1-1-132-1-177-155-1-1-1-1-100-1-1-1-1-1-146-1-1-167916-1-1-1-10-1-1-1-1-100-1-1-1-1-1-187-1-173-1-1-1-11342-1-1-1-1-1-1-100-1-1-1-187638-1-1-1-147-1-1-1-1-1-1-1-1-1-1-100-1-18-1-1-1-1-175-18649-1-1-1-1-1-1-1-1-1-1-100-19313-1-1-1-1-1-1-1-1888-1-1-1-1-1-1-1-1-1-100-1-1-14532-17852-1-1-1-10-1-1-1-1-1-1-1-1-1-10]]>根据图15、16所示,在码长相同(分别取576、1152、2304)、次数分布相同、奇偶校验矩阵对应校验矩阵部分相同的条件下,仿真表明BaseMatrxH1、BaseMatrixH2、BaseMatrixH3扩展得到girth=8或者10的LDPC码性能明显优于802.16e contribution(Motorola IEEEC802.16e-04/373r1“LDPC codingOFDMA PHY”)所给出的由基础矩阵扩展得到的girth=6的LDPC码的性能,本发明构造的LDPC码克服了LDPC码的差错平底现象。
此处,不同码长采用了不同的基础矩阵,保证了不同码长条件下产生具有girth尽量大的LDPC码。由于码长有19种,所以编译码器需要存储19个基础矩阵,这对编译码器存储容量提出了较高的要求,阻碍了消除短圈技术的应用,但是利用第7节的编译码器的矩阵结构,只需要存储一个基础矩阵,并且保证对于19种码长,所有校验矩阵的girth都为8。
下面给出本发明设计的LDPC码的编码器和译码器的校验矩阵的实例2,这种情况下基础矩阵是唯一的,要求设计出码率为2/3,码长从576按照96为间隔连续变化到2304的LDPC码。根据本发明所述的方法,设计了一个8×24的原始基础矩阵,此矩阵反映了将要构造的矩阵的码率及次数分布,它是一个半正则的校验矩阵,对应信息比特的校验矩阵部分具有正则的结构,并且行重量为4,列重量也为4;对应校验比特的校验矩阵部分具有双下三角结构,目的是实现直接的线性时间编码。
图17为本发明实施例2构造出的girth=6的R=2/3 LDPC码同16econtribution构造出的girth=4的R=2/3 LDPC码的FER比较图。
根据上述矩阵结构和方法,我们得到唯一的基础矩阵BaseMatrixH4,当码长从576到2304连续变化的时候,girth总是为6。
BaseMatrixH4=9055-1-115-11342-1-151-14818-1-100-1-1-1-1-1-1-146874-1-1-1256388-1-123-164-1-100-1-1-1-1-170-1-17360-142-16-1-15-129-192-1-100-1-1-1-1287275-1-192-1-115-191281-1-1-1-1-1-100-1-1-1-1-1-1677089-187-184-1690-1-1430-1-1-100-1-110-141-1-1472765-1-1-167-1-11430-1-1-1-1-100-1-115-147-14440-1-12272-1-19218-1-1-1-1-1-1-100-1-144-193-1-1-135954-1-18447620-1-1-1-1-1-10]]>根据图17所示,在码率相同(都是2/3)、码长相同(分别取576、1152、2304)、次数分布相同、奇偶校验矩阵对应校验矩阵部分相同的条件下,仿真表明由BaseMatrxH4扩展得到girth=6的LDPC码性能明显优于802.16econtribution(Motorola IEEEC802.16e-04/373r1“LDPC coding OFDMA PHY”)所给出的由基础矩阵扩展得到的girth=4的LDPC码的性能,本发明构造的LDPC码克服了LDPC码的差错平底现象。
实际上,在其它码长情况下,本发明设计出的具有更大girth的LDPC码也优于现有技术。本发明不仅可以用于正则码,也可以用于非正则码。本发明不依赖于具体的次数分布,可以应用于任何形式的基于单位阵以及其循环移位的LDPC码,具有普遍可适用性,可消除此类LDPC码的差错平底。
本发明提出了可以克服差错平底的基于单位阵及其循环移位矩阵的LDPC码的编码器和译码器,该LDPC码的编码器和译码器以奇偶校验校验矩阵为基础,提出高girth的奇偶校验矩阵的通用结构,提高了译码器的性能。首次提出根据码长改变基础矩阵,保证了设计出的奇偶校验矩阵具有尽量大的girth的方法,并且构造基于单位阵及其循环移位矩阵的LDPC码的系统算法。可以在保证码长较长的情况下,构造出girth更大的奇偶校验矩阵,从而提高LDPC码的性能,加速BER曲线的下降速度,有效了消除LDPC码的差错平底现象,使得LDPC码达到最佳性能,能够减小编码器和译码器的复杂度和存储空间,提高编码和译码性能,实现较高的纠错技术。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1.一种低密度奇偶校验码的编码器/译码器的生成方法,该编码器/译码器由一低密度奇偶校验码的奇偶校验矩阵唯一确定,其特征在于,所述奇偶校验矩阵由如下步骤构造步骤一,确定要构造的低密度奇偶校验码的基础矩阵的码率、码长及校验位个数;步骤二,确定所述基础矩阵的行重量向量和列重量向量;步骤三,根据行重量向量和列重量向量,采用比特填充法构造出girth尽量大、最短圈的数目尽量少的原始基础矩阵,其中,girth为低密度奇偶校验码二分图的最短圈圈长;步骤四,由所述原始基础矩阵构造尽量高girth的所述基础矩阵;及步骤五,对所述基础矩阵进行扩展,得到需要的低密度奇偶校验码的奇偶校验矩阵。
2.根据权利要求1所述的编码器/译码器的生成方法,其特征在于,在步骤二中,还包括确定要构造的低密度奇偶校验码采用的是非正则码,还是正则码的步骤;如果采用正则码,则需要确定行重量向量和列重量向量;如果采用非正则码,则需要通过密度演进来确定次数分布,并由次数分布得到所述基础矩阵的行重量向量和列重量向量。
3.根据权利要求2所述的编码器/译码器的生成方法,其特征在于,所述步骤二中的次数分布是通过充分考虑信噪比门限和迭代收敛速度以及算法的复杂度,从计算结果中最终选择出一个合适的次数分布。
4.根据权利要求1、2或3所述的编码器/译码器的生成方法,其特征在于,所述步骤四中构造尽量高girth的基础矩阵的算法为从集合{0,1,2,…,z-1}中选择合适的元素放到原始基础矩阵中“1”的位置上,直至将所有“1”的位置放完,得到所述基础矩阵。
5.根据权利要求1所述的编码器/译码器的生成方法,其特征在于,在所述高girth的低密度奇偶校验码在构造步骤三中选择的原始基础矩阵的最短圈的长度应尽量大。
6.根据权利要求1所述的编码器/译码器的生成方法,其特征在于,在所述高girth的低密度奇偶校验码在构造步骤三中,对于具有同样大小girth的原始基础矩阵,被选择的原始基础矩阵的最短圈的数目应该尽量少。
7.根据权利要求1所述的编码器/译码器的生成方法,其特征在于,所述比特填充法构造原始基础矩阵的过程中,采用具有准下三角结构来构造出符合线性时间编码的奇偶校验矩阵的结构。
8.根据权利要求1所述的编码器/译码器的生成方法,其特征在于,所述低密度奇偶校验码在girth不同时,设扩展因子z为偶数,其奇偶校验矩阵构对于特定的girth具有不同的结构,包括若所述低密度奇偶校验码的奇偶校验矩阵的girth为6时,则有在奇偶校验矩阵的基础矩阵中,对于按照逆时针方向构成的长度为4的短圈的任意元素i、j、k、l,总有mod(i-j+k-l,z)≠0;若所述低密度奇偶校验码的奇偶校验矩阵的girth为8时,则有在奇偶校验矩阵的基础矩阵中,对于按照逆时针方向构成的长度为4的短圈的任意元素i、j、k、l,总有mod(i-j+k-l,z)≠0;对于按照逆时针方向构成的长度为6的短圈的任意元素i、j、k、l、m、n,总有mod(i-j+k-l+m-n,z)≠0;及若所述低密度奇偶校验码的奇偶校验矩阵的girth为10时,则有在奇偶校验矩阵的基础矩阵中,对于按照逆时针方向构成的长度为4的短圈的任意元素i、j、k、l,总有mod(i-j+k-l,z/2)≠0;对于按照逆时针方向构成的长度为6的短圈的任意元素i、j、k、l、m、n,总有mod(i-j+k-l+m-n,z)≠0;对于按照逆时针方向构成的长度为8的短圈的任意元素i、j、k、l、m、n、s、t,总有mod(i-j+k-l+m-n+s-t,z)≠0。
9.一种基于单位阵及其循环移位矩阵的低密度奇偶校验码编码器/译码器,用于数字通信系统中数据传输的纠错,其特征在于,该编码器/译码器是由一低密度奇偶校验码的奇偶校验矩阵唯一确定的,所述奇偶校验矩阵是由基础矩阵和扩展因子z唯一确定的。
10.根据权利要求9所述的编码器/译码器,其特征在于,所述奇偶校验矩阵中的基础矩阵的元素取值范围根据码长的增加而得到调整,即,特定码率每一个码长的低密度奇偶校验码都有一个基础矩阵和一个扩展因子z,一个特定码长(Nb×z)的低密度奇偶校验码的奇偶校验矩阵可以由一个Nb×Mb基础矩阵和一个扩展因子z通过扩展得到,不同的码长具有不同的基础矩阵,使得所述的低密度奇偶校验码随着码长的增加具有尽可能好girth分布,使得所述的低密度奇偶校验码的二分图的短圈数目尽量少;所述码长连续可变低密度奇偶校验码在girth不同时,设扩展因子z为偶数,其奇偶校验矩阵构成不同的结构,至少包括若所述特定码长的低密度奇偶校验码的奇偶校验矩阵的girth为6时,则有在奇偶校验矩阵的基础矩阵中,对于按照逆时针方向构成的长度为4的短圈的任意元素i、j、k、l,总有mod(i-j+k-l,z)≠0;若所述特定码长的低密度奇偶校验码的奇偶校验矩阵的girth为8时,则有在奇偶校验矩阵的基础矩阵中,对于按照逆时针方向构成的长度为4的短圈的任意元素i、j、k、l,总有mod(i-j+k-l,z)≠0;对于按照逆时针方向构成的长度为6的短圈的任意元素i、j、k、l、m、n,总有mod(i-j+k-l+m-n,z)≠0;及若所述特定码长的低密度奇偶校验码的奇偶校验矩阵的girth为10时,则有在奇偶校验矩阵的基础矩阵中,对于按照逆时针方向构成的长度为4的短圈的任意元素i、j、k、l,总有mod(i-j+k-l,z/2)≠0;对于按照逆时针方向构成的长度为6的短圈的任意元素i、j、k、l、m、n,总有mod(i-j+k-l+m-n,z)≠0;对于按照逆时针方向构成的长度为8的短圈的任意元素i、j、k、l、m、n、s、t,总有mod(i-j+k-l+m-n+s-t,z)≠0。
11.根据权利要求9所述的编码器/译码器,其特征在于,所述的奇偶校验矩阵可以由唯一不变的Mb×Nb基础矩阵和可变扩展因子z通过扩展得到;所述码长连续可变的低密度奇偶校验码在girth不同时,设扩展因子z为偶数,其奇偶校验矩阵构成不同的结构,至少包括若所述特定码率任何码长的低密度奇偶校验码的奇偶校验矩阵的girth都为6时,则有在奇偶校验矩阵的基础矩阵中,对于z∈[zmin,L,zmax],和按照逆时针方向构成的长度为4的短圈的任意元素i、j、k、l,总有mod(i-j+k-l,z)≠0;若所述特定码率任何码长的低密度奇偶校验码的奇偶校验矩阵的girth都为8时,则有在奇偶校验矩阵的基础矩阵中,对于z∈[zmin,L,zmax],和按照逆时针方向构成的长度为4的短圈的任意元素i、j、k、l,总有mod(i-j+k-l,z)≠0;对于按照逆时针方向构成的长度为6的短圈的任意元素i、j、k、l、m、n,总有mod(i-j+k-l+m-n,z)≠0;及若所述特定码率任何码长的低密度奇偶校验码的奇偶校验矩阵的girth都为10时,则有在奇偶校验矩阵的基础矩阵中,对于z∈[zmin,L,zmax],和按照逆时针方向构成的长度为4的短圈的任意元素i、j、k、l,总有mod(i-j+k-l,z/2)≠0;对于按照逆时针方向构成的长度为6的短圈的任意元素i、j、k、l、m、n,总有mod(i-j+k-l+m-n,z)≠0;对于按照逆时针方向构成的长度为8的短圈的任意元素i、j、k、l、m、n、s、t,总有mod(i-j+k-l+m-n+s-t,z)≠0;
12.根据权利要求11所述的编码器/译码器,其特征在于,所述的奇偶校验矩阵的基础矩阵中的最大元素总是等于或者大于zmax,以保证所有码长的奇偶校验矩阵具有尽量大的girth;所述zmin表示设计的最短码长低密度奇偶校验码的扩展因子,所述zmax表示设计的最长码长低密度奇偶校验码的扩展因子,所述[zmin,…,zmax]表示设计的所有码长低密度奇偶校验码对应的扩展因子构成的集合。所有的码长为Nb×[zmin,…,zmax]。
13.一种数字通信系统,包括基于单位阵及其循环移位矩阵的低密度奇偶校验码的编码器/译码器,其特征在于,该编码器/译码器是由一低密度奇偶校验码的奇偶校验矩阵唯一确定的,所述奇偶校验矩阵是根据码长的增加而适当调整基于单位阵及其循环移位矩阵的基础矩阵的取值,使得构造出扩展码的girth分布适应码长变化。
14.根据权利要求13所述的数字通信系统,其特征在于,所述低密度奇偶校验码在girth不同时,设扩展因子z为偶数,其奇偶校验矩阵构成不同的结构,至少包括若所述低密度奇偶校验码的奇偶校验矩阵的girth为6时,则有在奇偶校验矩阵的基础矩阵中,对于按照逆时针方向构成的长度为4的短圈的任意元素i、j、k、l,总有mod(i-j+k-l,z)≠0;若所述低密度奇偶校验码的奇偶校验矩阵的girth为8时,则有在奇偶校验矩阵的基础矩阵中,对于按照逆时针方向构成的长度为4的短圈的任意元素i、j、k、l,总有mod(i-j+k-l,z)≠0;对于按照逆时针方向构成的长度为6的短圈的任意元素i、j、k、l、m、n,总有mod(i-j+k-l+m-n,z)≠0;及若所述低密度奇偶校验码的奇偶校验矩阵的girth为10时,则有在奇偶校验矩阵的基础矩阵中,对于按照逆时针方向构成的长度为4的短圈的任意元素i、j、k、l,总有mod(i-j+k-l,z/2)≠0;对于按照逆时针方向构成的长度为6的短圈的任意元素i、j、k、l、m、n,总有mod(i-j+k-l+m-n,z)≠0;对于按照逆时针方向构成的长度为8的短圈的任意元素i、j、k、l、m、n、s、t,总有mod(i-j+k-l+m-n+s-t,z)≠0。
全文摘要
本发明公开了一种码长可连续变化的低密度奇偶校验码的编码器/译码器及其生成方法,该编码器/译码器用于数字通信系统中数据传输的纠错,是由一低密度奇偶校验码的奇偶校验矩阵唯一确定的,所述的奇偶校验矩阵可以由基础矩阵和可变扩展因子通过扩展得到,使得在设计范围内任何码长的扩展码都是高girth的码,尽可能地消除了上述低密度奇偶校验码的短圈。本发明提高了编码器/译码器的性能,加速了误码率曲线的下降,有效消除了低密度奇偶校验码的差错平底现象,使得低密度奇偶校验码达到最佳性能。
文档编号H03M13/00GK1770640SQ20041000974
公开日2006年5月10日 申请日期2004年11月4日 优先权日2004年11月4日
发明者徐俊, 张友刚, 袁柳清 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1