汪漢新,蘇開友
(中南民族大學(xué)電子信息工程學(xué)院,武漢430074)
QC(Quasi Cyclic)LDPC 碼[1]是一類結(jié)構(gòu)化的LDPC碼,其校驗(yàn)矩陣H由基校驗(yàn)矩陣Hb中的元素經(jīng)方塊子矩陣擴(kuò)展后得到,易于高效編譯碼,適合硬件實(shí)現(xiàn),因此QC-LDPC碼成為當(dāng)前通信領(lǐng)域研究熱點(diǎn)之一.
在構(gòu)造LDPC碼H矩陣時(shí),需要考慮一個(gè)很重要的約束條件就是避免4環(huán)的存在.環(huán)是指與H矩陣對(duì)應(yīng)的Tanner圖中,形成閉合回路的邊數(shù),其中最小環(huán)稱為圍長(zhǎng)[2],其大小與Hb矩陣中的元素值有關(guān)[1].通過修改元素值可實(shí)現(xiàn)較大圍長(zhǎng)[3,4]和改進(jìn)圍長(zhǎng)為6的H矩陣[5-8],進(jìn)而提高QC-LDPC碼的誤碼性能.例如zhang等人提出的BIBD的構(gòu)造方法[3],能構(gòu)造出圍長(zhǎng)為10的H矩陣;Kim等人通過設(shè)計(jì)母矩陣能將H矩陣的圍長(zhǎng)提高到14或18[4].雖然H矩陣圍長(zhǎng)的提高,有利于譯碼的同時(shí)能獲得較好性能,但符合要求的碼的數(shù)量很少,而且隨著圍長(zhǎng)的增大,其碼長(zhǎng)也要達(dá)到一定長(zhǎng)度,因此無法滿足碼長(zhǎng)連續(xù)的要求,限制了該碼的實(shí)際應(yīng)用.優(yōu)化無4環(huán)是指在H矩陣的圍長(zhǎng)為6的情況下,對(duì)非規(guī)則QC-LDPC碼的循環(huán)移位次數(shù)和度分布進(jìn)行優(yōu)化,提高誤碼性能.其中最為典型的是圍長(zhǎng)為6的IEEE802.16e[5]標(biāo)準(zhǔn)中 LDPC 碼的設(shè)計(jì);另外還有最大化 ACE[6,7]和最小誤碼率準(zhǔn)則[8]等優(yōu)化方法,但是算法復(fù)雜度較高,且無法連續(xù)對(duì)一系列不同碼長(zhǎng)進(jìn)行優(yōu)化.除此之外,基于等差數(shù)列也能快速構(gòu)造出無4環(huán)的H矩陣[9],但未經(jīng)優(yōu)化處理時(shí),其誤碼性能較差,且當(dāng)Hb矩陣較大時(shí),置換矩陣的長(zhǎng)度也要求很長(zhǎng),碼長(zhǎng)的范圍受到不同程度的限制.
以上改進(jìn)方法中,由于增大圍長(zhǎng)要求較高,且多傾向于規(guī)則LDPC碼的構(gòu)造;而802.16e標(biāo)準(zhǔn)LDPC碼的碼率范圍和碼的數(shù)量有限,不適合自適應(yīng)傳輸系統(tǒng)中碼長(zhǎng)碼率靈活變化的要求.因此,本文提出一種基于代數(shù)理論的滑動(dòng)矩形窗式構(gòu)造QC-LDPC碼的方法,并采用去對(duì)角線法來優(yōu)化H矩陣的度分布.與802.16e標(biāo)準(zhǔn) LDPC碼相比,本方法構(gòu)造的QC-LDPC碼具有較好的優(yōu)越性.
全矩陣Hs的結(jié)構(gòu)如式(1).
其中,Sij(1≤i≤N,1≤j≤N)表示矩陣中第 i行第j列置換矩陣的循環(huán)移位次數(shù),該值不小于-1,正整數(shù)表示循環(huán)右移,0表示單位矩陣,-1表示零矩陣;擴(kuò)展因子z表示置換矩陣的維數(shù),則Hs擴(kuò)展后的矩陣大小為Nz×Nz.
由文獻(xiàn)[9]知,若循環(huán)移位次數(shù)Sij滿足式(2),且z滿足一定值時(shí),則構(gòu)造出的矩陣無4環(huán).
和文獻(xiàn)[9]相比,本文的Hs矩陣元素的計(jì)算公式,滿足要求的z值更小.例如構(gòu)造4×4的矩陣,矩陣A的z值應(yīng)不小于22,而矩陣B的z值應(yīng)不小于12,兩種方法構(gòu)造的Hs矩陣如圖1所示.
圖1 兩種方法的比較Fig.1 Compare of two methods
本文的QC-LDPC碼的結(jié)構(gòu)采用和802.16e標(biāo)準(zhǔn)LDPC碼相同的準(zhǔn)雙對(duì)角線結(jié)構(gòu),其基校驗(yàn)矩陣Hb結(jié)構(gòu)如式(5)~(7).
其中,Hb1和Hb2分別為Hb矩陣中的數(shù)據(jù)部分和校驗(yàn)部分;Hb2是一個(gè)結(jié)構(gòu)固定的矩陣,矩陣中的0和-1分別表示單位矩陣和全零矩陣;b(1)=b(m)=bm(bm為小于z的素?cái)?shù));b(r)=0.Hb1矩陣是Hs矩陣中的某一小部分,可由滑動(dòng)形窗式構(gòu)造法求得.
根據(jù)式(2),在Hs矩陣中一個(gè)任意大小的矩陣可由式(8)求出.對(duì)應(yīng)的z值應(yīng)滿足式(9).
其中,1≤i≤m;hf為矩陣的第一個(gè)第一列元素的值;ct為第一行公差;rt為第一列公差;m和k分別為Hb1矩陣的行和列的值.
在自適應(yīng)傳輸系統(tǒng)中,當(dāng)碼率發(fā)生改變時(shí),由于碼率R=k/(k+m),因此只需改變其中m和k的值即可.例如當(dāng)m=k=6時(shí),碼率R=1/2,最小碼長(zhǎng)可達(dá)6×62=372,步長(zhǎng)為12;若R變?yōu)?/3,則在m不變的情況下,只需將k值變?yōu)?,在Hb1矩陣中相當(dāng)于刪除其中3列,相應(yīng)的最小碼長(zhǎng)為9×16=144,步長(zhǎng)變?yōu)?;或者將m和k的值變?yōu)?和2,則相當(dāng)于刪除其中2行和4列,最小碼長(zhǎng)變?yōu)?×7=42,步長(zhǎng)為6.在碼率變換方面可以看出,在碼率變換方面非常靈活,無需重新構(gòu)造,只需刪除一定的行和列即可,而碼長(zhǎng)也可以在步長(zhǎng)較小的情況下連續(xù)變化.同時(shí)通過修改hf、ct和rt的值,能構(gòu)造出不同z值和Tanner圖結(jié)構(gòu)的Hb1矩陣,其最終達(dá)到的效果也不盡相同,這三個(gè)值的選取可在誤碼率和迭代次數(shù)之間權(quán)衡.例如,構(gòu)造一個(gè)6×6的矩陣,其中hf=1、ct=0、rt=1,由此得到的矩陣如圖2中實(shí)線矩形窗覆蓋的矩陣.而當(dāng) hf、ct、rt的值變?yōu)?3、1、2 時(shí),得到的矩陣如圖2中虛線矩形窗.數(shù)值的變化在圖2中就相當(dāng)于實(shí)線矩形窗向左和向下各移一位到虛線矩形窗的位置.
圖2 全矩陣及滑動(dòng)矩形窗Fig.2 Global matrix and slide rectangular window
因此,本文提出一種在結(jié)構(gòu)、碼長(zhǎng)和碼率可靈活變化的QC-LDPC碼的構(gòu)造方法——滑動(dòng)矩形窗式構(gòu)造法.首先,設(shè)計(jì)一個(gè)矩形窗的大小m×k,再放入全矩陣中進(jìn)行平行移動(dòng),其覆蓋的元素作為Hb矩陣中的Hb1部分,而Hb2部分則是m×m的矩陣.之所以稱為滑動(dòng)矩形窗式構(gòu)造法,是因?yàn)橛墒?8)計(jì)算得到的矩陣就如同矩形窗在全矩陣中平行移動(dòng)得到的矩陣.如圖2中實(shí)線框和虛線框所示.該構(gòu)造方法和文獻(xiàn)[9,10]相比,構(gòu)造的Hb1矩陣,其z值要求更小,擴(kuò)大了構(gòu)造校驗(yàn)矩陣H的碼長(zhǎng)范圍.
若直接采用覆蓋的矩陣,則構(gòu)造出的QC-LDPC碼中的行和列的度數(shù)一樣,這相當(dāng)于規(guī)則LDPC碼,而規(guī)則LDPC碼的誤碼性能會(huì)隨著構(gòu)造矩陣的增大而提升緩慢[11].因此本文通過去對(duì)角線改進(jìn)法,將行列度數(shù)相同的矩陣修改成具有不同度數(shù)的矩陣,能進(jìn)一步提高校驗(yàn)矩陣的誤碼性能.
去對(duì)角線法是指將Hb1矩陣中的元素沿著對(duì)角線用-1代替,即將這些位置的置換矩陣用零矩陣代替,實(shí)現(xiàn)度數(shù)的修改.例如將圖2實(shí)線框中矩陣修改如式(10)所示結(jié)構(gòu),經(jīng)過和Hb2矩陣合并得到如式(11)所示的Hb矩陣,仿真結(jié)果表明,通過該方法改進(jìn)后能提高QC-LDPC碼的誤碼性能.
通過滑動(dòng)矩形窗式構(gòu)造的Hb矩陣以及簡(jiǎn)易的對(duì)角線改進(jìn)法,在保證性能的同時(shí),碼長(zhǎng)和碼率能靈活變化.另外,由于H矩陣采用準(zhǔn)雙對(duì)角線結(jié)構(gòu),編碼算法具有線性復(fù)雜度,因此非常適合自適應(yīng)傳輸系統(tǒng)下的硬件實(shí)現(xiàn).
實(shí)驗(yàn)條件是在AWGN信道下,采用快速迭代編碼算法,BPSK調(diào)制,LLR BP譯碼算法,迭代次數(shù)20次.對(duì)本文構(gòu)造的QC-LDPC碼進(jìn)行了蒙托卡諾仿真,同時(shí)也和IEEE802.16e標(biāo)準(zhǔn)LDPC碼進(jìn)行了比較.例如,當(dāng)m=6時(shí),構(gòu)造的H矩陣部分參數(shù)如表1所示.
表1 矩形窗式構(gòu)造法碼長(zhǎng)碼率靈活變化的H矩陣參數(shù)Tab.1 parameters of H with with agilely variable lengths and rates by using slide rectangular window
表1給出了在m值確定的情況下,k值的不同,則碼率不同,且碼長(zhǎng)也按照不同的步長(zhǎng)連續(xù)變化.當(dāng)k≤10時(shí),碼率范圍從1/7到5/8.碼長(zhǎng)最小值從42到816,因此可以滿足自適應(yīng)傳輸系統(tǒng)的需求.
圖3是在相同碼率的情況下,不同維度的基校驗(yàn)矩陣在改進(jìn)前后的性能對(duì)比.從中可以看出在度數(shù)不大于6時(shí),改進(jìn)前后誤碼性能差別不大,但當(dāng)度數(shù)大于6時(shí),改進(jìn)后的性能優(yōu)勢(shì)明顯.這證明了對(duì)角線改進(jìn)法能提高誤碼性能.
在802.16e標(biāo)準(zhǔn)LDPC碼中每種碼率共有19種碼長(zhǎng),由于碼長(zhǎng)和碼率較多,因此選擇部分碼長(zhǎng)碼率進(jìn)行比較.取其中576、960、1440和2304四種碼長(zhǎng)進(jìn)行對(duì)比.仿真結(jié)果如圖4所示.
從圖4中可以看出,本文構(gòu)造的QC-LDPC碼和IEEE802.16e標(biāo)準(zhǔn)LDPC碼相比,在誤碼性能上都略有損失,但差別在一個(gè)數(shù)量級(jí)以內(nèi).在信噪比(dB)為2時(shí),本文構(gòu)造的碼在碼長(zhǎng)為2304時(shí),BER能達(dá)到10-5數(shù)量級(jí),能夠滿足實(shí)際系統(tǒng)的需求.
表2中,802.16e標(biāo)準(zhǔn)的 LDPC碼的在碼率為1/2時(shí),碼長(zhǎng)從576到2304,且以96為步長(zhǎng)共19種.文獻(xiàn)[12]的碼率從1/4到3/4共10種,步長(zhǎng)從4到9共6中步長(zhǎng).本文構(gòu)造LDPC碼,其碼率沒有限制,最小碼長(zhǎng)為42,步長(zhǎng)最小為4.
圖3 改進(jìn)前后的誤碼性能比較Fig.3 BER performance before and after improvement
表2 3種H矩陣的參數(shù)對(duì)比Tab.2 The parameters of different parity-check matrix H
圖4 本文QC-LDPC碼和802.16e標(biāo)準(zhǔn)LDPC碼的性能比較Fig.4 The BER performance for different QC-LDPC
從表2的對(duì)比中可以看出,本文構(gòu)造的QCLDPC碼在誤碼性能略有損失的情況下,具有以下幾個(gè)優(yōu)點(diǎn):碼率更加靈活可變;碼長(zhǎng)的最小值可達(dá)42;步長(zhǎng)更加寬泛;結(jié)構(gòu)化設(shè)計(jì)以及改進(jìn)算法的簡(jiǎn)易性.
基于矩形窗式構(gòu)造的QC-LDPC碼以及去對(duì)角線改進(jìn)法,相比其他構(gòu)造和改進(jìn)算法,本文算法設(shè)計(jì)簡(jiǎn)單且易于理解,同時(shí)該方法在誤碼性能損失不多的情況下,可實(shí)現(xiàn)碼率、碼長(zhǎng)的靈活變化,提高了可用QC-LDPC碼的范圍,更適合于自適應(yīng)傳輸系統(tǒng).另外,校驗(yàn)矩陣采用準(zhǔn)雙對(duì)角線結(jié)構(gòu),其編碼算法具有線性復(fù)雜度,便于自適應(yīng)傳輸系統(tǒng)下的硬件實(shí)現(xiàn).同時(shí),去對(duì)角線方法還能有一定的研究?jī)?yōu)化空間,這也是下一步的工作.
[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,F(xiàn)an 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碼的置換矩陣循環(huán)移位次數(shù)設(shè)計(jì)[J].電子學(xué)報(bào),2010,38(4):786-790.
[10]郭 銳,胡方寧,劉濟(jì)林.一種低差錯(cuò)平底線性復(fù)雜度的 QC-LDPC碼構(gòu)造方法[J].電路與系統(tǒng)學(xué)報(bào),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]韓 輝,劉 磊,詹 磊,等.一種碼率碼長(zhǎng)靈活變化的 QC-LDPC 碼[J].無線通信技術(shù),2009,18(4):1-4.
中南民族大學(xué)學(xué)報(bào)(自然科學(xué)版)2012年4期