一种用于生成RC‑LDPC码校验矩阵的方法与流程

文档序号:12037432阅读:470来源:国知局
一种用于生成RC‑LDPC码校验矩阵的方法与流程
本发明属于信道编码
技术领域
,涉及一种用于生成rc-ldpc码校验矩阵的方法。
背景技术
:在传统的通信系统中,为了保证通信传输的可靠性,传输模式通常依据比较差的信道条件来设计。在信道条件比较好的情况下,是对资源的一种极大浪费,大大影响了数据的传输速率。因此,在时变信道中,信道编码不仅要具有较强的纠错能力,而且还要能够根据信道当前的状态动态地调整发送码字的码率,这样就对信道编码的结构设计就有更高的要求。通信系统为了提供不同的服务质量以适应不同的传输环境,需要传输码字的码长或码率能够自适应地根据信道环境做出相应调整,因而研究码率兼容ldpc码的设计显得尤为重要,20世纪80年代末,hagenauer首次提出速率兼容删除型卷积码的概念,母码经过删除后得到高码率的码字,扩展后得到低码率的码字,这样使用一个编码器就可以获得不同码率的码字,接收端根据删除矩阵只需要一个译码器就可以对接收的码字进行译码,从而做到速率兼容。速率兼容的bch码和卷积码很容易实现,但是它们不能提供足够的吞吐量。turbo码虽然性能良好,但是译码具有高的复杂度。2002年,li提出了通过打孔构造速率兼容ldpc码的方法,将构造的速率兼容ldpc码应用到自动重传请求系统中。tian等人在2004年提出了一种针对下三角结构的校验矩阵的打孔方案。同年,j.ha等人提出了一种通过寻找最佳打孔度分布来构造速率兼容码字的思想,将打孔与度分布联系起来,理论上可以获得一系列最优的速率兼容ldpc码。针对打孔度分布的研究也随即展开起来。2006年,j.ha提出了一种针对ldpc码中短码长的有效的打孔方法,将ldpc码的迭代译码通过树图的形式来表示,可有效解决打孔变量节点恢复概率低的问题。近年来,在通过缩短算法构造速率兼容ldpc码方面,也取得了一些成果。2010年,l.zhou等人设计了一种比特反转的缩短算法,并成功应用到多元速率兼容ldpc的构造。通过打孔实现不同速率的编译码不能保证在一个很大的码率范围内的ldpc码的性能。这是因为在高码率的情况下,打孔打掉了大部分译码器需要的软信息,与打孔算法相比,扩展也是一种实现率兼容的方法,扩展率兼容码是增加更多的校验信息,从而可以在高码率的母码基础上,获得低码率的码字。通过扩展技术获得的速率兼容ldpc码字,它在最开始传输的时候就是一个性能很好码字,在此基础上,我们增加了额外的校验信息来降低了码率,因此它在低码率的时候性能会更好。使用扩展技术有两个重票的原因,第一,在harq系统中,最开始的传输质量对整个系统的吞吐量有关键的作用;第二,在编码的时候,打孔算法会使用已生成全部的校验位的码字进行传输,而不管这些校验位在将来是否会有用,因为有可能在只需要高码率的码字的时候,有些校验位是永远也不会被用到的,而扩展方法是只有用到更多校验位的时候,它才会去生成,因此在编译码端避免了很多不必要的计算。因此,需要提供一种基于扩展的高性能速率兼容的编码方法,该编码方法能够自适应地改变码率,扩大码率的动态变化范围,来适应多变的信道环境,保证比特错误率,进一步提高传输的可靠性。技术实现要素:本发明针对现有rc-ldpc码在计算复杂度和速率自适应方面存在的缺陷,提出了一种基于peg扩展的rc-ldpc码校验矩阵构造方法。该方法通过扩展校验位的方式,支持灵活可变的码速率,为无线链路的自适应提供了一种可行的信道编码方式。对于低码率,由于采用了逐级扩展的校验矩阵,能够利用peg算法来对码结构进行优化设计,从而消除短环并降低编译码的计算复杂度。peg(progressiveedge-growth)算法是一种简单有效的构造较大环长双边图的贪婪算法。peg算法需要给定变量节点的个数n,校验节点的个数m和变量节点的度分布。peg构造图时遵循基本原则是:新边增加的时候要保证当前图的周长最大。使用修改后的peg构造具有下三角形式的ldpc码校验矩阵。而使用peg算法构造出来的下三角结构的ldpc码校验矩阵具有线性编码复杂度,并且性能接近peg算法构造的ldpc码。本发明的技术方案是:一种用于生成rc-ldpc码校验矩阵的方法,其特征在于,包括以下步骤:s1、生成母码,具体包括:s11、设定母码的信息位长度k和校验位长度n,根据码率的定义式得到码率r为:r=k/n;s12、根据母码的码率,确定母码中检验节点的度分布;s13、根据母码的度分布,采用peg算法构造出具有下三角结构校验矩阵h,h作为母码,大小为m0×n0,是具有最高码率的非规则ldpc码;s2、在母码的基础上增添扩展块:通过保持信息序列长度k不变,增大校验序列长度m的方法来增添扩展块,具体为对获得的校验矩阵h,将行和列同时扩大相同的长度mext,获得扩展之后的校验矩阵hi;s3、重复步骤s2,对母码进行i-1次扩展,得到码率为ri=k/(n0+i·mext)的子码的检验矩阵。进一步的,所述步骤s13中,采用peg算法构造出具有下三角结构校验矩阵h的具体方法为:从列号由大到小的顺序依次添加h矩阵的每列:对选中的变量节点vj,按照从k=0到的顺序依次添加每行元素,为节点vj的度:k=0,添加边表示连接到变量节点vj的第一条边,ci为当前边集合中具有最小度数的校验节点;然后依次添加与其相连的第k条边其中ci的取法为:由当前变量节点vj展开成一个深度为l的子图,如图1所示,若子图展开过程中中的元素停止增加,且个数小于m,则ci取中度数最小的校验节点,若子图展开过程中中的元素个数达到m,此时所有校验节点均已出现在子图中,即但中的元素个数小于m,则ci取中度数最小的校验节点;其中,对于后面的m个校验节点,每个比特节点的第l校验位必须添加在对角线的位置上,其余的校验位添加在对角线的下方,即添加h矩阵中具有下三角结构的那些列时,每列的第1个“1”在对角线的位置上,其余的“1”在对角线的下方。进一步的,所述步骤s2中,利用扩展的方法得到如下结构的校验矩阵hi。步骤s2包括以下几个子步骤:s21、在hi-1的右边添加一个全零矩阵,大小为mi-1×mext,其中mi-1为hi-1的行数。s22、在hi的右下角扩展一个小方阵hext,大小为mext×mext,扩展方阵设为与母码具有相同度序列的扩展块,即:将校验矩阵的列重由高到低分布,使得校验比特能够按照度数由高到低的顺序进行重传,根据与母码相同的度分布,得到所有变量节点的度的大小,按度照降序的方法,对变量节点排序,得到降序的度序列,根据度序列,采用与步骤s13相同的方法,构造具有下三角结构的扩展块矩阵hext。对于非规则ldpc码,度分布是一个非常重要的概念。研究表明:非规则ldpc码中,不同度数的信息节点在译码过程中发挥的作用不同。度数较大的信息节点比度数较小的信息节点连接更多的校验节点,迭代译码过程中度数大的节点接收更多的置信度信息,使得度数大的信息节点译码后的误比特率要低于度数小的信息节点。利用扩展方式构造rc-ldpc码的校验矩阵过程中,将校验矩阵的列重由高到低分布,使得校验比特能够按照度数由高到低的顺序进行重传,对于部分扩展码率,能够提高误码性能,提升吞吐量。s23、在hi-1的正下方添加一个小矩阵大小为mext×ni-1,其中ni-1为hi-1的列数;左下角的扩展部分要求非常稀疏,同时要求扩展部分与原矩阵之间保持非相关性。s24、确定的度序列。为了增强母码的h矩阵与扩展块之间的依赖性,在扩展块的左下部分增添两个列重均为1的矩阵,分别为位置如图2所示,其余部分的列重均为0。因此,扩展块的左下部分的度序列为:对于中元素“1”的位置,也即是当和的度分布一定的条件下,可以通过上述方法来确定。s25、中非零元位置的选取,即中的非零元位置的选取按照以下思想进行:hi-1为上一级扩展得到的校验矩阵,对于的取值问题,也即是当和的度分布一定的条件下,如何使非规则ldpc码矩阵最优的问题。由于peg算法在构造的时候能够按照一个节点接着一个节点的顺序连接边。对应在h矩阵上就是一列一列地逐一添加非零元,可以通过peg算法优化得到。因此可以通过优化的peg算法确定的取值。注意,在采用peg对进行构造时,hi-1部分不能发生变化。利用peg算法来对码结构进行优化设计,从而消除短环并降低编译码的计算复杂度。确定取值的优化peg算法基本与原有的peg算法流程相同。主要的改进有如下两点:(1)在采用peg对进行构造时,hi-1部分不能发生变化,在添加比特节点时,即添加h矩阵的每列时,每个比特节点的校验位必须添加在的位置上;(2)对于度分布控制非零元的数目时,由于hi-1的度已确定,在添加第j列的非零元时,若在该列的度为1,则采用peg算法,根据当前环长最大原则,确定“1”的位置;否则,停止该列的搜索,进行下一列的添加。进一步的,所述步骤s3的具体方法为:假设母码码字对应的校验矩阵为通过每次增加mext行、mext列来保证信息序列不变,从而构造不同的较低码率的校验矩阵。每次扩展只要重复步骤s2即可得到对应码率的校验矩阵。根据码率公式r=k/n,可以得到扩展i次后的码率为:可以得到经过l级的扩展之后的码率为各级码率的关系:r0>r1>…rl。上述方案中,得到的不同码率的校验矩阵均具有以下特点:假设校验矩阵h=[hd,hp],其中hd为任意的二元矩阵,hp具有下三角结构:即矩阵h具有如图3所示结构。则可以直接采用迭代编码算法进行编码,设该码字向量为c∈fn,将其分为2个部分,即信息位向量s∈fn-m和校验位向量p∈fm,即c∈(s,p)fn-m,该码的编码过程可具体描述为:1)直接将信息比特的值赋给信息位向量s;2)采用后项迭代的方式确定所有校验位的值,即对所有的l∈[0,n-k-1],从小到大依次计算下式:其中:hi,j表示第i行,第j列上的元素。实际上,该编码过程就是在从上到下依次利用校验矩阵各行的约束关系。对于每一个校验约束关系,其中涉及的变量除了对角线上的“1”所对应的校验位外,其余的变量要么是信息位,要么就是前面已经求出的校验位,也就是说,该校验关系中只有一个未知变量,因此可以很容易求出校验位的值。当校验矩阵的平均行重相对于码长可以看做很小的常数时,该编码方法就具有线性的复杂度,同时该编码算法不需要对校验矩阵进行预处理。本发明的有益效果为:(1)结合校验位扩展方法和修改的peg算法,优化扩展部分中非零元的位置,得到性能较好的子码的校验矩阵,进而构造出灵活可变的高性能速率兼容ldpc码的校验矩阵h;(2)ldpc码的校验矩阵h右侧部分的下三角结构则使得实际中可以直接利用校验矩阵h进行线性复杂度的编码;(3)所构造的码在各个码率下均有较好的误码性能;(4)各个码率下的ldpc码的ber曲线具有良好的“瀑布”特性,且未出现错误平层;(5)子码校验矩阵h的扩展部分中非零元的位置是在母码为约束的条件下采用了peg算法,消除构造过程中产生的4环,该方法设计的ldpc码在不同码率上避免了性能损失。附图说明图1是本发明中采用peg构造时以为根节点生成的子图;图2是本发明的基于peg扩展的速率兼容ldpc码校验矩阵的结构示意图;图3是本发明中具有下三角形式的ldpc码的校验矩阵结构图;图4是用本发明实施例构造的信息长度为1024比特,码率为4/9的ldpc码校验矩阵的散点图;图5是用本发明实施例构造的信息长度为1024比特,码率为4/10的ldpc码校验矩阵的散点图;图6是本发明实施例提供的速率兼容ldpc码各码率对应的码字结构示意图;图7是本发明实施例的ldpc码仿真系统框图;图8是用本发明实施例构造的ldpc码与现有技术中的ldpc码的性能对比曲线仿真图。具体实施方式下面结合附图和实施例,详细描述本发明的技术方案:本发明是一种基于peg扩展的速率兼容ldpc码的构造方法,是通过保持信息位长度不变和优化的peg算法相结合的方法构造各个子码率下的校验矩阵。该方法设计出递增校验位的产生方法,进而得到低码率的码,实现了速率兼容,同时避免了由于打孔处理而造成的译码性能降低。下面结合实施例和附图,对本发明的技术方案进行清楚、完整的描述。速率兼容兼容编码为嵌套序列码,其中较高码速率的校验比特嵌入到低速率码的校验比特中,通过自适应地改变码率、发送功率,扩大码率动态变化范围,来适应时变的信道环境,以补偿由于衰落带来的性能恶化,保证较低的比特错误率,提高传输的性能。通过扩展技术获得的速率兼容码字,它在最开始传输的时候是一个性能很好码字,在此基础上,我们增加了额外的校验信息来降低了码率,因此它在低码率的时候性能会更好。使用扩展技术有两个重要的原因:第一,在harq系统中,最开始的传输质量对整个系统的吞吐量有关键的作用。通过扩展的方法构造的rc-ldpc码可以很方便地应用于harq系统系统中。而通过减少码字中的信息位的长度从而降低码率的缩短算法,由于缩短之后信息位的长度不再相同,因此缩短算法不适用于harq应用。第二,在编码的时候,打孔算法会使用已生成全部的校验位的码字进行传输,而不管这些校验位在将来是否会有用,因为有可能在只需要高码率的码字的时候,有些校验位是永远也不会被用到的,而扩展方法是只有用到更多校验位的时候,它才会去生成,因此在编译码端避免了很多不必要的计算。示例性的,本发明实施例提供的速率兼容ldpc码的校验矩阵构造方式如图2所示,本实例的实现步骤如下:(1)根据所需构造的速率兼容ldpc码的最高码率rmax和码长n的要求,确定信息比特长度k和校验比特长度m,其中信息比特长度k=r×n,校验比特长度m=n-k,式中,校验比特m、信息比特长度k和码长n均为正整数;本发明具体实施例中,母码码率为4/8,码长为2048。扩展码长n有两种,分别为2304、2560,对应的信息比特长度k保持不变,均为1024。(2)根据母码的码率,确定母码中检验节点的度分布为:λ(x)=0.38354x+0.04237x2+0.57409x3;(3)根据母码的度分布,采用peg算法构造出具有下三角结构的母码的校验矩阵h;(4)在母码的校验矩阵h中,同时增加256行,256列,以得到4/9码率的校验矩阵;(5)如图2所示,扩展之后的校验矩阵右上角设置为全零矩阵,这样不但可以保证前行的非相关性,而且还可以保证扩展码字的误码性能;(6)如图2所示,扩展之后的校验矩阵右下角的扩展方阵设为与母码具有相同度序列的扩展块,这样可以保证校验矩阵的稀疏性;这个扩展块采用peg方法构造时应采用以下思想进行:一是在添加比特节点时,即添加h矩阵的每列时,顺序是沿着列号由大到小、列重由小到大的顺序依次进行;二是采用优化的peg算法,构造的方阵具有下三角结构。(7)图2所示的校验矩阵可用式(3)形象地表示,本实施例是通过优化的peg算法确定的取值,为扩展块的左下角部分,h0为母码,在采用peg对进行构造时,h0部分不能发生变化。而的度序列为:至此,得到码率为4/9的校验矩阵。该校验矩阵的结构参见图4,图中点表示非0元素,空白表示0元素。因矩阵右侧部分具有下三角的结构而易于直接通过校验矩阵来实现硬件编码;(8)在码率为4/9的校验矩阵h中,同时增加256行,256列,以得到4/10码率的校验矩阵;(9)重复步骤(5)、(6)、(7),不同的是在步骤(7)中,的度序列为:至此,得到码率为4/10的校验矩阵。该校验矩阵的结构参见图5,图中点表示非0元素,空白表示0元素。由图2可设各码率下的校验矩阵可以表示为:h=[h1h2]其中h1为m×k的矩阵,h2为m×m的矩阵,由图2可知,h2为下三角矩阵,所以h2满秩;另外设g=[ipt],根据g和h的关系式:g·ht=0即有:[ipt]·[h1h2]=0由此可得:采用公式的形式表示这种方法所构造的rc-ldpc码的生成矩阵g如下:g=[i|g0|g1|…|gi]其中i是为单位矩阵,扩展的生成矩阵gi大小为mi。由于这种类型的生成矩阵中的高码率的生成矩阵包含在低码率的生成矩阵中,所以从高码率的方式转换到低码率的方式只需要将信息位与扩展的低码率生成部分gi相乘即可以得到增加的校验位。这样该结构的rc-ldpc码可以很方便的应用于harq系统中。假设系统初始时采用码率为r0的纠错码。在接收端,如果译码错误,只需要向发端反馈一个nack信号,发送端收到该信号后将信源通过g1进行编码获得增加的校验位p1如果仍然不能正确译码则发送更多的校验位pi,i≥1,直到能够正确地译码。示例性的,本发明实施例提供了4/8码率对应的码字、4/9码率对应的码字、4/10码率对应的码字的结构示意图,如图6所示。依据本发明的构造方法,可通过灵活改变扩展次数来构造新的更多的固定信息长k的速率兼容ldpc码,以适应特定的通信应用需求。由上述本发明的具体实现过程可见,在构造速率兼容的ldpc码过程中,本发明中采用由母码矩阵进行扩展,并在扩展时结合peg算法,得到各个子码率下的校验矩阵,上述方式与现有的在扩展块的左下角机械地放置两个单位阵的扩展方式相比,在扩展矩阵的过程中,根据peg算法的思想,最小环长最大化的准则进行,因此能够提高译码性能。为了鉴定依照本发明方式的ldpc码的传输性能,采用awgn信道模型,对本发明构造出的ldpc码的传输性能进行了仿真实验,并与现有技术中通过在扩展块的左下角机械地放置两个单位阵的扩展方式实现的ldpc码进行了性能比较。仿真系统框图如图7所示。表1为用于实验和分析性能的实施例各个参数设置情况。表1用于实验和分析性能的实施例各个参数参数名称数值有限域gf(2)信息位长(k)1024母码度分布λ(x)=0.38354x+0.04237x2+0.57409x3调制模式bpsk信道模型awgn译码方式log-bp最大迭代次数100帧数10000根据本发明的基于peg扩展的rc-ldpc码校验矩阵构造方法,最终就可以得到一个表2所示的支持多种码率的ldpc码。表2给出了基于母码扩展得到的码率兼容的几个ldpc码的具体参数。表2基于母码扩展得到的码率兼容的几个ldpc码的具体参数码率(k,n)扩展块的大小(mext)扩展次数(i)4/8(母码)(1024,2048)————4/9(1024,2304)25614/10(1024,2560)2562图8为本发明与现有技术中的ldpc码的误比特率(ber)和信噪比(eb/n0)之间的性能对比曲线关系,实线按照本发明的方法实现的ldpc码的传输性能曲线。与现有的扩展技术相比,采用本发明构造的ldpc码的误比特率性能优于现有技术。基于peg扩展的速率兼容ldpc码的ber性能曲线从右至左,随着码率的降低,性能越来越好,而且各个码率下的ldpc码的ber曲线具有良好的“瀑布”特性且未出现错误平层。4/9码率下,在ber=10-5时本发明的构造方式有0.15db提升。4/10码率下,在ber=10-5时本发明的构造方式有0.1db提升。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1