Qc-ldpc码构建方法

文档序号:7517110阅读:161来源:国知局

专利名称::Qc-ldpc码构建方法
技术领域
:本发明涉及信道编码
技术领域
,尤其涉及一种准循环低密度奇偶校验码(QuasiCyclic-LowDensityParityCheck,QC-LDPC)码构建方法。
背景技术
:由于随机噪声、多径衰减、磁性存储器的磁道损失等原因,数据在无线或者有线通信的传输过程中常出现数据错误。因此,通常采用信道编码的方法来对数据进行编码和纠错。在目前已有的编码方法中,LDPC由于其卓越的性能引起了人们的注意,并且在许多领域获得了广泛的应用,比如卫星电视传输标准DVB-S2,中国高清电视标准等等。如何构建LDPC码以使其获得优异的解码性能一直是众多单位研究的课题。为了更好的研究LDPC码,通常用唐纳图(TannerGraph)来表示LDPC码,并用信息软值迭代传播算法进行LDPC的解码。在唐纳图中包含两种类型的节点,可变节点和校验节点,唐纳图中的每一条边两端分别连接校验节点和可变节点。在解码过程中,软值沿着唐纳图的边进行交换传播,并且在可变节点和校验节点中进行计算。一个设计良好的LDPC码,信息软值将经过几次迭代运算很快收敛在正确的值。但是,LDPC码的高性能与唐纳图中相邻节点之间的相对独立性是相关的。唐纳图中的非零单元总是不可避免的组成环形,这些环形的周长叫做环周,其中最小环的周长叫做最小环周。如果唐纳图中包含太多小环周的环形,就会使得节点之间的相对独立性变差,从而使得LDPC码的性能变差,一方面导致LDPC码的解码收敛变慢,并且有可能收敛在错误的结果上,另外一方面会使得LDPC码存在严重的错误地板。为了构建高性能的LDPC码,相继出现了一些算法。如J.Campello,D.S.Modha禾口S.Rajagopalan在"DesigningLDPCCodesUsingBit-Filling,"Proc.Int.Conf.Communications(ICC),pp.55-59,Helsinki,Finland,2001设计的Bit-Filling算法,以及Χ·Y.Hu,Ε·Eleftheriou禾口D.Μ·Arnold在"ProgressiveEdge-GrowthTannerGraphs,,,GIobalTelecommunicationsConference,pp.995-1001,Vol.2,Nov.2001中设计的PEG算法。通过认真的确定非零单元在LDPC矩阵中的位置,BitFilling和PEG算法可以提高唐纳图的最小环周,从而提高LDPC码的性能。但是这些算法并没有考虑LDPC码的硬件实现,LDPC矩阵中的非零单元很难被映射到硬件实现的单元。为了方便硬件的实现,人们还相继提出了一些其它方法,比如H.ZhangandΤ.Zhang,"DesignofVLSIImplementation-OrientedLDPCCodes,,,VehicularTechnologyConference,vol.1,pp.670-673,2003.以及D.E.Hocevar,“LDPCCodeConstructionwithFlexibleHardwareImplementation,,,IEEEInternationalConferenceonCommunications,pp.2708-2712,2003中的方法。上述算法的主要特点是为了构建一个MXN的LDPC矩阵,先构造一个小的基本矩阵MbXNb,该小矩阵中间的每一个非零单元(x,y)最后被扩展成一个行循环位移的单位矩阵LXL(M=MbXL,N=NbXL)。这个扩展矩阵LXL是在非零单元的基础上进行了行循环位移,其移动值为P,其中P是X,y的函数P(x,y)。这种矩阵的构造方法构建出的LDPC码被称为QC-LDPC码,QC-LDPC码是一个十分重要的LDPC码研究分支,是一类结构化的LDPC码,其校验矩阵H采用准循环方式构造,具有实现复杂度低的特点,它可以很方便的在硬件上面进行实现,但是这种LDPC码如果没有设计合理,并不会提高的最小环周特性,只能保证整个QC-LDPC矩阵的最小环周不小于其基本矩阵的最小环周。例如,如果基本矩阵的最小环周是4,那么最终构造的QC-LDPC矩阵有可能包含大量环周为4的矩阵,从而导致QC-LDPC码的性能很差。
发明内容(一)要解决的技术问题本发明要解决的技术问题是最大化QC-LDPC码的最小环周值,从而提高QC-LDPC码的性能,包括可以更快的收敛以及具有更低的错误地板。(二)技术方案为实现上述目的,本发明提供了一种QC-LDPC码构建方法,该方法包括步骤Si.初始化基础矩阵的所有非零单元对应的扩展矩阵的行位移值为零;S2.按照从左至右的顺序,遍历所述基础矩阵的所有列,针对当前列的每个非零单元,通过环形搜索算法找出包含该非零单元的所有环形;S3.遍历所有环形,针对当前环形,依次设置该环形所包含的每一个非零单元对应的行位移值,使其满足设定的约束条件;S4.选定每个所述环形中具有最小行位移值的非零单元,并保留其对应的最小行位移值的改变,所述环形中其他的非零单元的行位移值恢复原值;S5.遍历所有列后,确定所有非零单元的行位移值,并根据所有非零单元的位置及其行位移值构建QC-LDPC码矩阵。其中,所述设定的约束条件为使得当前环形的所有水平或垂直方向的行位移增加值总和不等于kXL,其中,k=0,士1,士2,...,士g,g为目标最小环周值的一半,L为扩展矩阵的大小。其中,所述环形搜索算法为从基础矩阵中位于坐标(i,j)的非零单元开始,将其作为父单元,找到其位于基础矩阵右边部分且与其在同一行的非零单元,作为所述父单元的第一代子孙;从第一代子孙开始,找到与其位于同一列的非零单元,称为所述父单元的第二代子孙;依此找到所述父单元的第η代子孙,若所述第η代子孙与所述父单元在同一列,则找到长度为η+1的环形。其中,在步骤S3中,若设置的行位移值不能使所在环形的所有水平或垂直方向的行位移增加值总和不等于kXL,则重新设置行位移值为所述行位移值加1。其中,若行位移值超过L-1,则根据当前所有非零单元对应的行位移值构建QC-LDPC码,或者重新设定目标最小环周值并返回执行步骤Si。(三)有益效果本发明的方法利用环形消除算法生成的QC-LDPC矩阵具有较大的最小环周,因而具有收敛迅速以及低错误地板等优点,此外,由于本发明方法构造的QC-LDPC码还具有高纠错增益,适合硬件实现,可以适用于深衰落的信道传输等比较恶劣无线传输环境。图1为带有环形的QC-LDPC基本矩阵示意图;图2为基础矩阵的环形经过矩阵扩展生成多个等环周的环形;图3为同行或者同列位移单位阵之间的位移增加值示意图;图4为依照本发明一种实施方式的QC-LDPC码构建方法流程图;图5为环形搜索算法示例;图6为QC-LDPC码的硬件测试结果示意图;图7为QC-LDPC码最小环周结果示意图。具体实施例方式本发明提出的QC-LDPC码构建方法,结合附图和实施例详细说明如下。QC-LDPC是由基础矩阵里面的每一个非零单元扩展成为一个循环矩阵而成,本发明的方法旨在确定每一个循环矩阵的行位移值,从而最大化QC-LDPC码的最小环周。为了说明本发明的实现方案,从一个MbXNb(Mb=6,Nb=12)的基本矩阵开始,该矩阵包含环周为4、6、8的环形,如图1所示。如果采用前面描述的基本矩阵扩展算法(即为了构建一个MXN的QC-LDPC矩阵,先构建一个小的基本矩阵MbXNb,在小矩阵中间的每一个非零单元(X,y)最后被扩展成一个行循环位移的单位矩阵LXL(M=MbXL,N=NbXL)),其中的每个非零单元“1”被扩展成为LXL(L=453)的行循环位移的单位矩阵,这样最终得到的矩阵MXN为2718X5436。为提高生成矩阵MXN的最小环周,必须研究基本矩阵中的环形与生成矩阵中环形的关系。可以看到,在从基本矩阵向生成矩阵的扩展过程中,在基础矩阵中环周为2g的环将在生成矩阵中生成L个环周为2g的矩阵。例如一个环周为4的环在扩展成为L=5的生成矩阵的过程中,会生成5个环周为4的环形,如图2所示。考虑在基础矩阵中位于同一行的两个“1”,其坐标分别为(i,j)和(i,m),在矩阵扩展过程中,每个“1,,都将被扩展成为行循环位移的单位矩阵Hi,j和Hi,m,每个位移单位矩阵的行位移值为Pi,」和Pi,m。将ΔΡ^im=定义为从Hiij到Hiim行位移的增加值。同时,同在一行的“1,,扩展后的行位移增加值△Pi,j>im定义为水平方向的行位移增加值,同在一列的“1”扩展后的行位移增加值被定义为垂直方向的行位移增加值。在基础矩阵包含的环形中,定义Ση(ΔΡ)为所有水平方向的行位移增加值的总和,Σν(ΔΡ)为所有垂直方向的行位移增加值总和。在图3中,左图的Σν(ΔΡ)=(3)+(-3)=0,右图的Σν(ΔΡ)=(-1)+(-1)+(2)=O0计算结果指示出下面的定理。定理在基础矩阵中任何环周为2g的环形在扩展过程中将导致L个环周为2g的环形,其充分和必要条件是基础矩阵的所有水平(垂直)方向的行位置增加值总和等于kXL,这里k=0,士1,士2...士g。基于如上定理,本发明的方法通过遍历基础矩阵的每一列,针对当前列的每一个非零单元“1”,找到包含这个“1,,的所有环形,通过设置环形中“1,,对应的扩展行循环位移值P,从而使得存在于基础矩阵的环形在生成矩阵中不再出现。具体地,首先将每一个“1,,的行位移值初始化为0,遍历整个基础矩阵每一列中的每个“1”,找到包含该“1”的所有环形,通过设置每一个扩展单位阵的行位移值P,从而将这些基础阵中具有低于目标最小环周的环周的小环形在扩展阵中打破,从而使这些小环周的环形在生成矩阵中不再出现,直至P值达到其最大的上限值L-I。整个方法的结果可保证扩展生成的QC-LDPC矩阵有着最大的最小环周值。如图4所示,依照本发明一种实施方式的QC-LDPC码构建方法具体实施步骤如下Si.初始化基础矩阵的所有非零单元“1”对应的扩展单位阵行位移值P为0,由于每个基础矩阵的“1,,可能被包含在多个环形之中,每一个环形将根据上述定理生成一个环形约束,这样每个“1,,将生成一个约束列表,列表中的每个约束对应一个环形。S2.按照从左至右的顺序,遍历基础矩阵的所有列,针对当前列的每一个“1”,通过环形搜索算法找出包含该“1”的所有环形,从而可以再后续的步骤中通过设置这个“1”对应的单位阵行位移值P,达到在扩展矩阵中打破环形的目的。其中,环形搜索算法可以通过图5所示的示例进行描述从基础矩阵中位于坐标(i,j)的非零单元开始,将其作为父单元,如图中的坐标(1,1)的“1”,把它表示为H(l,l),开始找到其位于基础矩阵右边部分且与其在同一行的非零单元,作为父单元的第一代子孙,如图中的H(l,2);从第一代子孙开始,找到与其位于同一列的非零单元,称为父单元的第二代子孙,如图中的H(3,2);接着往下寻找并且找到H(3,4),H(2,4),以及H(2,1),直至找到父单元的第η代子孙,若第η代子孙与所述父单元在同一列,则找到长度为η+1的环形。如图中所示,如果第三代子孙和H(l,l)本身处于同一列,一个长度为4的环形将被找至IJ,如果第五代子孙和H(l,l)处于同一列,一个长度为6的环形将会被找到。基于这个环形搜索算法,所有基础矩阵右边部分所有包含H(l,1)的环形都将被找到。S3.找到相关的环形之后,遍历所有环形,当前环形路径上包含的所有“1”将依次被检查,依次设置当前环形包含的每一个非零单元对应的行位移值,因为每个“1”都包含一个约束列表,如果其对应的行位移值P不能满足约束列表中的所有设定的约束条件,即使得包含该“1”的当前环形的所有水平或垂直方向的行位移增加值总和不等于kXL,其中,k=0,士1,士2,...,士g,则把这个P值依次加一直到所有约束条件都被满足。S4.检查本环形路径上所有“1”对应的P值,选定每个环形中具有最小行位移值的非零单元,并保留其对应的行位移值得改变,该环形中其他的非零单元的行位移值恢复至原值,直至遍历每个环形后确定所有非零单元的行位移值;S5.最后,把所有列遍历完之后,根据所有非零单元的位置及其确定的行位移值构建QC-LDPC码矩阵。本发明的方法可保证通过改变P值在生成矩阵中打破基础矩阵中对应的环周小于目标最小环周的环形,但是P值又不会增长太快。不过,在环形搜索算法的搜索过程中,所找到的与包含当前“1”的环形的数目也将随着设置的目标最小环周的变大而呈指数增长,但是每一个扩展行循环位移单元阵的P值是有最大值L-I的限制的。例如,在一个实例中,一个18X36的基础矩阵,如果设置的目标最小环周为8,矩阵中的每一个“1”对应的相关矩阵数目平均值为1174个,在整个方法中,所有基础矩阵中环周为4、6、8的矩阵将会被消除,如果P值达到最大值L-I,则整个方法将会随着P值达到最大值而结束,根据当前所有非零单元对应的行位移值构建QC-LDPC码,在这种情况下,也可以重新设置目标最小环周,并返回步骤Sl重新构建QC-LDPC码。以下通过设计三种码率的LDPC矩阵,验证本发明的有益效果。三种码率的LDPC矩阵分别是码率为1/2的非规则LDPC码、码率为5/8的规则LDPC码、以及码率为7/8的规则LDPC码。为了与本发明的方法做对比,可使用了另外一种构造QC-LDPC码的方法,简称ZP方法,这种方法描述在文献:T.ZhangandK.K.Parhi,"VLSIImplementation-0riented(3,k)-RegularLow-DensityParity-CheckCodes,,,IEEEWorkshoponSignalProcessingSystems,pp.25-36,Sep.2001中。这些码的具体情况如下表所示表1.本发明方法与ZP算法构造的QC-LDPC码参数<table>tableseeoriginaldocumentpage7</column></row><table>从上表可以看出,使用ZP方法构造的三种码的平均最小环周达到8.0556,8.25以及5.9132;然而使用本发明的方法构造的三种码的码率提高到10、10、8。为了比较两种方法构造的码的性能结果。用硬件描述语言VHDL实现了这些QC-LDPC码的解码器,并在Xi1inxVirtex-IIXC2V4000进行了实现,5/8和7/8解码器的最大数据速率达到了66Mbps,1/2码率解码器的最大数据速率达到了30Mbps。环形消除算法和ZP方法构造的QC-LDPC码的硬件测试结果如图6所示,在图中,几种QC-LDPC码的误包率曲线被画出来。从测试结果中可以看出,用ZP方法以及本发明方法构造的QC-LDPC码在误包率并没有大的区别,然后ZP方法构造的码率为1/2和7/8的LDPC码在10_4的地方发生了错误地板的现象。这种错误地板的现象可以从图7中得到解释,在图7中可以看出,因为5/8码的基础矩阵的最小环周为8,因此在此基础上无论用ZP还是本发明方法生成的最终的QC-LDPC码的最小环周都是8,因此不会发生严重的错误地板情况。而在码率1/2和7/8的实例中,使用本发明方法构造的QC-LDPC码因为具有更小的最小环周,因此比ZP方法构建的QC-LDPC码具有更低的错误地板。同时用本发明方法构造的QC-LDPC码与ZP方法构造的QC-LDPC码相比在纠错性能方面不会有太大的差异,其差异都在0.IdB之内。由于本发明方法构造的QC-LDPC码不仅具有高纠错增益,适合硬件实现,还具有低错误地板,可以适用于深衰落的信道传输等比较恶劣无线传输环境。以上实施方式仅用于说明本发明,而并非对本发明的限制,有关
技术领域
的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定 。权利要求一种QC-LDPC码构建方法,该方法包括步骤S1.初始化基础矩阵的所有非零单元对应的扩展矩阵的行位移值为零;S2.按照从左至右的顺序,遍历所述基础矩阵的所有列,针对当前列的每个非零单元,通过环形搜索算法找出包含该非零单元的所有环形;S3.遍历所有环形,针对当前环形,依次设置该环形所包含的每一个非零单元对应的行位移值,使其满足设定的约束条件;S4.选定每个环形中具有最小行位移值的非零单元,并保留其对应的最小行位移值的改变,所述环形中其他的非零单元的行位移值恢复原值;S5.遍历所有列后,确定所有非零单元的行位移值,并根据所有非零单元的位置及其行位移值构建QC-LDPC码矩阵。2.如权利要求1所述的QC-LDPC码构建方法,其特征在于,所述设定的约束条件为使得当前环形的所有水平或垂直方向的行位移增加值总和不等于kXL,其中,k=0,士1,士2,...,士g,g为目标最小环周值的一半,L为扩展矩阵的大小。3.如权利要求2所述的QC-LDPC码构建方法,其特征在于,所述环形搜索算法为从基础矩阵中位于坐标(i,j)的非零单元开始,将其作为父单元,找到其位于基础矩阵右边部分且与其在同一行的非零单元,作为所述父单元的第一代子孙;从第一代子孙开始,找到与其位于同一列的非零单元,称为所述父单元的第二代子孙;依此找到所述父单元的第η代子孙,若所述第η代子孙与所述父单元在同一列,则找到长度为η+1的环形。4.如权利要求3所述的QC-LDPC码构建方法,其特征在于,在步骤S3中,若设置的行位移值不能使所在环形的所有水平或垂直方向的行位移增加值总和不等于kXL,则重新设置行位移值为所述行位移值加1。5.如权利要求4所述的QC-LDPC码构建方法,其特征在于,若行位移值超过L-I,则根据当前所有非零单元对应的行位移值构建QC-LDPC码,或者重新设定目标最小环周值并返回执行步骤Si。全文摘要本发明涉及一种QC-LDPC码构建方法,包括步骤初始化基础矩阵的所有非零单元对应的行位移值;按照从左往右的顺序,遍历基础矩阵的每一列,针对当前列的每个非零单元,找出包含该非零单元的所有环形;对每一个环形,依次设置该环形包含的每一个非零单元的行位移值,使其满足设定的约束条件;选定每个环形中具有最小行位移值的非零单元,保留其行位移值的改变,其他非零单元行位移值恢复原值;当所有列都被遍历之后,基础矩阵所有非零单元对应的行位移值最终确定下来,据此构建QC-LDPC码矩阵。本发明的方法可使QC-LDPC码的最小环周值最大化,从而提升其性能,使得构造的QC-LDPC码可更快的收敛且具有更低的错误地板。文档编号H03M13/11GK101826878SQ20101015551公开日2010年9月8日申请日期2010年4月26日优先权日2010年4月26日发明者杨磊申请人:杨磊
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1