当前位置: 首页 > 专利查询>复旦大学专利>正文

一种算法复杂度低的准循环LDPC码的构造方法技术

技术编号:3420790 阅读:328 留言:0更新日期:2012-04-11 18:40
本发明专利技术属于通信技术领域,具体为一种计算复杂度低的准循环低密度奇偶校验码(QC-LDPC)的构造方法。本方法包括2个步骤:1.构造QC-LDPC码奇偶校验矩阵的指数矩阵;2.通过指数扩展把指数矩阵变换成QC-LDPC码的奇偶校验矩阵H。由本发明专利技术构造的QC-LDPC码在使用迭代解码时的误码率明显比传统的PEG算法低(特别是在高信噪比的情况下),且其算法复杂度比传统方法的算法复杂度低得多,因此本发明专利技术的构造速度比传统方法快得多。此外,本发明专利技术方法在构造QC-LDPC码的时候,可以灵活的控制生成的码的各种参数。

【技术实现步骤摘要】

本专利技术属于通信
,具体涉及一种快速的设计准循环LDPC码的算法。
技术介绍
LDPC码(低密度校验码)是一种校验矩阵为稀疏矩阵的线性校验码。由于误码率在高斯白噪声下可以接近香农极限,近些年来LDPC码得到了广泛的关注。而QC-LDPC码(准循环低密度校验码)由于可以以线性复杂度被编码,近些年来成为了研究的热点。LDPC码可以由其校验矩阵H或其所对应的Tanner图所唯一确定。LDPC码的校验矩阵是一个n×m的稀疏矩阵。如果矩阵的每一行和每一列都有相同的重量j,k(一行或一列的中1的个数称为重量)称这种LDPC码是规则的,否则这种LDPC码是不规则的。LDPC码性能与该码对应的Tanner图中的最小环的长度有很大的关系。我们称该最小环长度为该LDPC码的围长g。Tanner在证明了LDPC码得最小距离dmin的下界随着围长g的增长指数增长。而且,当使用迭代解码算法(如BP(brief propagation)算法)时候,围长大的码一般比围长小的码收敛得快。因此,在设计LDPC码得时候,一般都首先考虑围长g的大小。现有设计QC-LDPC码的方法主要有以下的几种。基于有限域上的几何的方法,这种方法的缺点是只能保证构造出g>4的码。Fossorier在中给出了使用循环置换矩阵构造的LDPC码的围长g和行列的重量j,k之间的关系,但是并没有给出有效的构造方法。有人提出了一种半随机的消去短环的算法,不过这种算法的复杂度十分高。有人使用将矩阵倍乘的方法来消去短环,也具有比较高的复杂度。另外,这些方法有一个共同的缺点,就是不够灵活,无法对生成的LDPC码的参数进行控制。中提出了一种非代数的构造LDPC码的算法,称为PEG(progressive edge-growth)算法,这种算法在Tanner图中一次添加一条边来生成需要的LDPC码,具有较低的算法复杂度和较好的灵活性。
技术实现思路
本专利技术的目的在于提出一种算法复杂度低的QC-LDPC码的构造方法。本专利技术提出的QC-LDPC码构造方法,是一种改进的PEG算法。该方法不仅能够构造具有较大最小环的QC-LDPC码,而且设计灵活,适用正则和非正则QC-LDPC码的构造,而算法的复杂度却很小,是一种灵活快速高效的QC-LDPC码的构造方法。LDPC码是一种冗余编码,它的构造决定于奇偶校验矩阵H,这是一个只包含‘0’和‘1’且‘1’占很小比例的稀疏矩阵。和所有的线性分组码一样,域GF(2)上的(n,k)维编码C可用(n-k)×n的奇偶校验矩阵H来描述C={x|x∈GF(2),HxT=0}。因此,本专利技术构造QC-LDPC码,主要是构造出相应的奇偶校验矩阵。本专利技术构造QC-LDPC码奇偶校验矩阵H,包括2个步骤1、构造QC-LDPC码奇偶校验矩阵的指数矩阵M(H);2、通过指数扩展把指数矩阵M(H)变换成QC-LDPC码的奇偶校验矩阵H。具体介绍如下1、构造指数矩阵M(H)。设指数矩阵M(H)的大小为m×n,置换矩阵的大小为q×q。关于指数距阵、置换矩阵和加权Tanner图的介绍见附录1。该过程分为以下几步A、建立一个全空的的m×n距阵,即所有的元素都是#。也就是没有任何变化的加权Tanner图。B、使用算法1对加权Tanner图的每个数据节点添加规定数目的边。算法1的描述如下在加权Tanner图中,一个顶点的度定义为与其相连的边的数目。对于每个变量节点vi,我们设计其度为dvi。对校验节点cj的度不加限制,不过规定其度尽可能的平均分布。那么我们可以分别对每个节点vi依次添加dvi条边,每条边的添加规则是使添加边产生的环的长度最大,由定理2可知,应当添加一条权值为l的边e(vi,cj)_E,使dijmin(l)最大。有可能出现有很多种可以选择的cj和l,在本算法里,我们在具有最小的度的校验节点中随机的选择一个cj和l。算法的伪代码见算法1,其中n为数据节点的数量,fvi是vi的度,Evik是vi第k+1次添加的边。 C、使用算法2对每个数据节点更新最短距离。算法2的描述如下添加一条边e(vi,cj)后,只有dksmin(l)(k≤i),需要被更新,因为vk(k≥i)没有和任何边连接。根据k,s的不同可以分几种情况讨论(下面的所有的关于权值的加法都是mod q的。)I、如果k=i,s=j,则dksmin(w)=1---(1)]]>II、如果k=i,s≠j,则取t≤i。vi到cs的路径如下所示因此dksmin(l)new=minw-l1+l2=l{dksmin(l),(1+dtjmin(l1)+dtsmin(l2))}---(2)]]>III、如果k≠i,s=j,则取vt∈V。vi到cs的路径如下所示因此dksmin(l)new=minw-l1+l2=l{dksmin(l),(1+ditmin(l1)+dktmin(l2))}---(3)]]> IV.如果k≠i,s≠j,则vk到cs的路径如下所示因此dksmin(l)new=min-w+l1+l2=l{dksmin(l),(1+dkjmin(l1)+dismin(l2))}---(4)]]>算法的伪代码见算法2,其中m是校验节点的数量,n是数据节点的数量,i,j分别为这次添加的边对应的数据节点和校验节点。 D、如果还有数据节点没有添加边,则转到B。E、当所有的边都被添加后就得到了所需要的指数矩阵M(H)。2、由指数矩阵M(H)扩展成校验距阵H。每个指数矩阵的元素在H中对应的是一个q×q的循环置换距阵,从而将m×n的指数矩阵M(H)转化成需要的mq×nq的QC-LDPC码奇偶校验矩阵H。将M(H)扩展成H,是指在指数矩阵M(H)中,在值为P(非0)的位置转换成用q×q的单位矩阵每行右移P位后的循环置换矩阵;在值为0的位置,置换成q×q的全零矩阵。其中M(H)ij在H对应的矩阵范围为H。经过扩展后就得到了所需的H。本专利技术利用贪心算法的思想,在QC-LDPC码奇偶校验矩阵的指数矩阵上不断添加边,来构造满足需要参数的奇偶校验矩阵,同时利用在添加列的过程中记录校验节点和数据节点的最小距离,作为构造过程中避免小环出现的参考信息,从而极大地提高了设计的速度。本专利技术的技术效果1、算法复杂度每次添加一条边,主要的算法复杂度是使用(6),(7),(8)式来更新最短距离。(6)式的算法的复杂度为iq2,(7)式的算法复杂度为mq2,(8)的算法复杂度为q2。每次更新的过程需要用到m次((6)式),n次((7)式),(m-1)(n-1)次((8)式)。总的复杂度为miq2+nmq2+(m-1)(n-1)q2≤3mnq2。因此一次更新的复杂度为O(mnq2),比中的算法要有效的多。2、仿真结果A.构造QC-LDPC码的时间在码的生成速度方面,在P4 3.0G,1G内存的环境下使用本专利技术的算法生成图2中的LDPC码(N=1008,M=504,MaxDeg=15),其中N为校验距阵的列数,M为校验矩阵的行数,MaxDeg为数据节点的最大的度。耗时7秒,使用原始的PEG算法(代码可以从下载)耗时21秒,而使用中的算法耗时1352秒。可以看出,本专利技术中的算法在速度上有明显的优势。B.QC-L本文档来自技高网
...

【技术保护点】
一种算法复杂度低的准循环LDPC码的构造方法,包括:(1)构造QC-LDPC码奇偶校验矩阵的指数矩阵M(H);(2)通过指数扩展把指数矩阵M(H)变换成QC-LDPC码的奇偶校验矩阵H;其中:QC-LDPC码的校验矩阵H,定义如下:***(5)其中P↓[ij]∈{#}∪{01…q-1},q质数,当P↓[ij]=#时,Q↑[P↓[mn]]为q×q的全零矩阵,当P↓[ij]∈{01…q-1}时,Q↑[P↓[mn]]为将q×q的矩阵右移P↓[mn]位得到的循环置换矩阵;校验矩阵H由以下的指数矩阵M(H)所唯一的确定:***(6)由M(H)↓[mn],mn为M(H)的阶数,定义n个数据节点v↓[1],v↓[2],…,v↓[n]和m个校验节点c↓[1],c↓[2],…,c↓[m],记所有数据节点的集合为V,校验节点的集合为C;如果P↓[ij]≠#,那么添加一条边e(v↓[i],c↓[j]),并且给这条边一个权值w(e(v↓[i],c↓[j]))=P↓[ij];记所有边e(v↓[i],c↓[j])的集合为E,即得到与M(H)对应的加权Tanner图;其特征在于具体步骤如下:(1)构造指数矩阵M(H):该过程分为以下几步:A、建立一个全空的m×n距阵,所有的元素都是#,为没有任何变化的加权Tanner图;B、使用算法1对加权Tanner图的每个数据节点添加规定数目的边,算法1的描述如下:在加权Tanner图中,一个顶点的度定义为与其相连的边的数目,对于每个变量节点v↓[i],i=1,2,…,n,设计其度为d↓[v↓[i]],对校验节点c↓[j]的度规定其度尽可能的平均分布;那么分别对每个节点v↓[i]依次添加d↓[v↓[i]]条边,每条边的添加规则是使添加边产生的环的长度最大,即应当添加一条权值为l的边e(v↓[i],c↓[j])*E,使d↓[ij]↑[min](l)最大;在本算法里,在具有最小的度的校验节点中随机的选择一个c↓[j]和l;C、使用算法2对每个数据节点更新最短距离,算法2的描述如下:添加一条边e(v↓[i],c↓[j])后,只有d↓[ks]↑[min](l),k≤i,需要被更新,根据k、s的不同可以分几种情况讨论,下面的所有的关于权值的加法都是modq的:Ⅰ、如果k=i,s=j,则d↓[ks]↑[min](w)=1(1)Ⅱ、如果k=i,s≠j,则取t≤i,v↓[i]到c↓[s]的路径如下所示v↓[i]*c↓[...

【技术特征摘要】

【专利技术属性】
技术研发人员:王江张建秋
申请(专利权)人:复旦大学
类型:发明
国别省市:31[中国|上海]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1