滑动矩形窗式的QC-LDPC码设计
2012-11-26汪汉新苏开友
汪汉新,苏开友
(中南民族大学电子信息工程学院,武汉430074)
QC(Quasi Cyclic)LDPC 码[1]是一类结构化的LDPC码,其校验矩阵H由基校验矩阵Hb中的元素经方块子矩阵扩展后得到,易于高效编译码,适合硬件实现,因此QC-LDPC码成为当前通信领域研究热点之一.
在构造LDPC码H矩阵时,需要考虑一个很重要的约束条件就是避免4环的存在.环是指与H矩阵对应的Tanner图中,形成闭合回路的边数,其中最小环称为围长[2],其大小与Hb矩阵中的元素值有关[1].通过修改元素值可实现较大围长[3,4]和改进围长为6的H矩阵[5-8],进而提高QC-LDPC码的误码性能.例如zhang等人提出的BIBD的构造方法[3],能构造出围长为10的H矩阵;Kim等人通过设计母矩阵能将H矩阵的围长提高到14或18[4].虽然H矩阵围长的提高,有利于译码的同时能获得较好性能,但符合要求的码的数量很少,而且随着围长的增大,其码长也要达到一定长度,因此无法满足码长连续的要求,限制了该码的实际应用.优化无4环是指在H矩阵的围长为6的情况下,对非规则QC-LDPC码的循环移位次数和度分布进行优化,提高误码性能.其中最为典型的是围长为6的IEEE802.16e[5]标准中 LDPC 码的设计;另外还有最大化 ACE[6,7]和最小误码率准则[8]等优化方法,但是算法复杂度较高,且无法连续对一系列不同码长进行优化.除此之外,基于等差数列也能快速构造出无4环的H矩阵[9],但未经优化处理时,其误码性能较差,且当Hb矩阵较大时,置换矩阵的长度也要求很长,码长的范围受到不同程度的限制.
以上改进方法中,由于增大围长要求较高,且多倾向于规则LDPC码的构造;而802.16e标准LDPC码的码率范围和码的数量有限,不适合自适应传输系统中码长码率灵活变化的要求.因此,本文提出一种基于代数理论的滑动矩形窗式构造QC-LDPC码的方法,并采用去对角线法来优化H矩阵的度分布.与802.16e标准 LDPC码相比,本方法构造的QC-LDPC码具有较好的优越性.
1 滑动矩形窗式LDPC码的构造方法
1.1 矩阵的构造
全矩阵Hs的结构如式(1).
其中,Sij(1≤i≤N,1≤j≤N)表示矩阵中第 i行第j列置换矩阵的循环移位次数,该值不小于-1,正整数表示循环右移,0表示单位矩阵,-1表示零矩阵;扩展因子z表示置换矩阵的维数,则Hs扩展后的矩阵大小为Nz×Nz.
由文献[9]知,若循环移位次数Sij满足式(2),且z满足一定值时,则构造出的矩阵无4环.
和文献[9]相比,本文的Hs矩阵元素的计算公式,满足要求的z值更小.例如构造4×4的矩阵,矩阵A的z值应不小于22,而矩阵B的z值应不小于12,两种方法构造的Hs矩阵如图1所示.
图1 两种方法的比较Fig.1 Compare of two methods
本文的QC-LDPC码的结构采用和802.16e标准LDPC码相同的准双对角线结构,其基校验矩阵Hb结构如式(5)~(7).
其中,Hb1和Hb2分别为Hb矩阵中的数据部分和校验部分;Hb2是一个结构固定的矩阵,矩阵中的0和-1分别表示单位矩阵和全零矩阵;b(1)=b(m)=bm(bm为小于z的素数);b(r)=0.Hb1矩阵是Hs矩阵中的某一小部分,可由滑动形窗式构造法求得.
根据式(2),在Hs矩阵中一个任意大小的矩阵可由式(8)求出.对应的z值应满足式(9).
其中,1≤i≤m;hf为矩阵的第一个第一列元素的值;ct为第一行公差;rt为第一列公差;m和k分别为Hb1矩阵的行和列的值.
在自适应传输系统中,当码率发生改变时,由于码率R=k/(k+m),因此只需改变其中m和k的值即可.例如当m=k=6时,码率R=1/2,最小码长可达6×62=372,步长为12;若R变为1/3,则在m不变的情况下,只需将k值变为3,在Hb1矩阵中相当于删除其中3列,相应的最小码长为9×16=144,步长变为9;或者将m和k的值变为4和2,则相当于删除其中2行和4列,最小码长变为6×7=42,步长为6.在码率变换方面可以看出,在码率变换方面非常灵活,无需重新构造,只需删除一定的行和列即可,而码长也可以在步长较小的情况下连续变化.同时通过修改hf、ct和rt的值,能构造出不同z值和Tanner图结构的Hb1矩阵,其最终达到的效果也不尽相同,这三个值的选取可在误码率和迭代次数之间权衡.例如,构造一个6×6的矩阵,其中hf=1、ct=0、rt=1,由此得到的矩阵如图2中实线矩形窗覆盖的矩阵.而当 hf、ct、rt的值变为 3、1、2 时,得到的矩阵如图2中虚线矩形窗.数值的变化在图2中就相当于实线矩形窗向左和向下各移一位到虚线矩形窗的位置.
图2 全矩阵及滑动矩形窗Fig.2 Global matrix and slide rectangular window
因此,本文提出一种在结构、码长和码率可灵活变化的QC-LDPC码的构造方法——滑动矩形窗式构造法.首先,设计一个矩形窗的大小m×k,再放入全矩阵中进行平行移动,其覆盖的元素作为Hb矩阵中的Hb1部分,而Hb2部分则是m×m的矩阵.之所以称为滑动矩形窗式构造法,是因为由式(8)计算得到的矩阵就如同矩形窗在全矩阵中平行移动得到的矩阵.如图2中实线框和虚线框所示.该构造方法和文献[9,10]相比,构造的Hb1矩阵,其z值要求更小,扩大了构造校验矩阵H的码长范围.
1.2 Hb1矩阵的去对角线改进法
若直接采用覆盖的矩阵,则构造出的QC-LDPC码中的行和列的度数一样,这相当于规则LDPC码,而规则LDPC码的误码性能会随着构造矩阵的增大而提升缓慢[11].因此本文通过去对角线改进法,将行列度数相同的矩阵修改成具有不同度数的矩阵,能进一步提高校验矩阵的误码性能.
去对角线法是指将Hb1矩阵中的元素沿着对角线用-1代替,即将这些位置的置换矩阵用零矩阵代替,实现度数的修改.例如将图2实线框中矩阵修改如式(10)所示结构,经过和Hb2矩阵合并得到如式(11)所示的Hb矩阵,仿真结果表明,通过该方法改进后能提高QC-LDPC码的误码性能.
通过滑动矩形窗式构造的Hb矩阵以及简易的对角线改进法,在保证性能的同时,码长和码率能灵活变化.另外,由于H矩阵采用准双对角线结构,编码算法具有线性复杂度,因此非常适合自适应传输系统下的硬件实现.
2 仿真结果分析
实验条件是在AWGN信道下,采用快速迭代编码算法,BPSK调制,LLR BP译码算法,迭代次数20次.对本文构造的QC-LDPC码进行了蒙托卡诺仿真,同时也和IEEE802.16e标准LDPC码进行了比较.例如,当m=6时,构造的H矩阵部分参数如表1所示.
表1 矩形窗式构造法码长码率灵活变化的H矩阵参数Tab.1 parameters of H with with agilely variable lengths and rates by using slide rectangular window
表1给出了在m值确定的情况下,k值的不同,则码率不同,且码长也按照不同的步长连续变化.当k≤10时,码率范围从1/7到5/8.码长最小值从42到816,因此可以满足自适应传输系统的需求.
图3是在相同码率的情况下,不同维度的基校验矩阵在改进前后的性能对比.从中可以看出在度数不大于6时,改进前后误码性能差别不大,但当度数大于6时,改进后的性能优势明显.这证明了对角线改进法能提高误码性能.
在802.16e标准LDPC码中每种码率共有19种码长,由于码长和码率较多,因此选择部分码长码率进行比较.取其中576、960、1440和2304四种码长进行对比.仿真结果如图4所示.
从图4中可以看出,本文构造的QC-LDPC码和IEEE802.16e标准LDPC码相比,在误码性能上都略有损失,但差别在一个数量级以内.在信噪比(dB)为2时,本文构造的码在码长为2304时,BER能达到10-5数量级,能够满足实际系统的需求.
表2中,802.16e标准的 LDPC码的在码率为1/2时,码长从576到2304,且以96为步长共19种.文献[12]的码率从1/4到3/4共10种,步长从4到9共6中步长.本文构造LDPC码,其码率没有限制,最小码长为42,步长最小为4.
图3 改进前后的误码性能比较Fig.3 BER performance before and after improvement
表2 3种H矩阵的参数对比Tab.2 The parameters of different parity-check matrix H
图4 本文QC-LDPC码和802.16e标准LDPC码的性能比较Fig.4 The BER performance for different QC-LDPC
从表2的对比中可以看出,本文构造的QCLDPC码在误码性能略有损失的情况下,具有以下几个优点:码率更加灵活可变;码长的最小值可达42;步长更加宽泛;结构化设计以及改进算法的简易性.
3 结语
基于矩形窗式构造的QC-LDPC码以及去对角线改进法,相比其他构造和改进算法,本文算法设计简单且易于理解,同时该方法在误码性能损失不多的情况下,可实现码率、码长的灵活变化,提高了可用QC-LDPC码的范围,更适合于自适应传输系统.另外,校验矩阵采用准双对角线结构,其编码算法具有线性复杂度,便于自适应传输系统下的硬件实现.同时,去对角线方法还能有一定的研究优化空间,这也是下一步的工作.
[1]Fossorier M P.Quasi-Cyclic Low Density Parity Check Codes From Circulant Permutation Matrices[J].IEEE Trans Info Theory,2004,50(8):1788-1793.
[2]Tanner R M.A recursive approach to low complexity codes[J].IEEE Trans Info Theory,1981,27(5):533-548.
[3]Zhang Fan,Mao Xuehong,Zhou Wuyang,et al.Girth-10 LDPC codes based on 3-D cyclic lattices[J].IEEE Trans on Vehicular Technology,2008,57(2):1049-1060.
[4]Kim S,No J,and Chung H,et al.On the girth of Tanner(3,5)Quasi-Cyclic LDPC codes[J].IEEE Trans Info Theory,2006,52(4):1739-1744.
[5]IEEE 802.16e D5 Amendment to IEEE Standard for Local and Metropolitan Area Networks,Part 16:Air Interface for Fixed and Mobile Broadband Wireless Access Systems[S].New York:IEEE,2006.
[6]Kang J,Fan P,Cao Z.Flexible construction of irregular partitioned LDPC codes with low error floors[J].IEEE Communications Letters,2005,9(6):534-536.
[7]Myung S,Yang K.Lifting methods for quasi-cyclic LDPC codes[J].IEEE Communications Letters,2006,10(6):489-491.
[8]Sharon E,Lisyn S.Constructing LDPC codes by error minimization progressive edge growth[J].IEEE Trans Communications,2008,56(3):359-368.
[9]彭 立,朱光喜.QC-LDPC码的置换矩阵循环移位次数设计[J].电子学报,2010,38(4):786-790.
[10]郭 锐,胡方宁,刘济林.一种低差错平底线性复杂度的 QC-LDPC码构造方法[J].电路与系统学报,2011,16(6):87-93.
[11]Luby M G,Mitzenmacher M,Shokrollah M A,et al.Improved Low-density Parity-check Codes Using Irregular Graphs[J].IEEE Trans Info Theory,2001,47(2):585-598.
[12]韩 辉,刘 磊,詹 磊,等.一种码率码长灵活变化的 QC-LDPC 码[J].无线通信技术,2009,18(4):1-4.