劉煥兵,陳 翔,姜 暉
(合肥電子工程學(xué)院,安徽 合肥 230037)
低密度奇偶校驗(yàn)(LDPC)碼[1]已成為當(dāng)今信道編碼領(lǐng)域的研究熱點(diǎn)之一,其隨機(jī)化編碼思想和概率迭代譯碼算法使其具有逼近香農(nóng)限的性能,與Turbo碼一起成為當(dāng)今性能最優(yōu)越的糾錯(cuò)碼,具有較高的研究?jī)r(jià)值。LDPC碼和Turbo碼都能達(dá)到逼近香農(nóng)限的性能,Turbo碼能實(shí)現(xiàn)線性編碼復(fù)雜度,但譯碼復(fù)雜度比較高;LDPC碼能實(shí)現(xiàn)線性譯碼復(fù)雜度,但編碼復(fù)雜度較高。而IRA碼不僅是一類(lèi)“Turbo-like”碼—串行級(jí)聯(lián)卷積碼,而且是LDPC碼的一個(gè)子類(lèi),集合了兩者的優(yōu)點(diǎn),既能實(shí)現(xiàn)線性編碼復(fù)雜度,又能實(shí)現(xiàn)線性譯碼復(fù)雜度,Hui Jin等人提出的IRA碼具有簡(jiǎn)單的原模圖和優(yōu)越的次數(shù)分布對(duì)。本文在其基礎(chǔ)上,結(jié)合準(zhǔn)循環(huán)碼的方法,對(duì)每個(gè)子矩陣進(jìn)行具體設(shè)計(jì),構(gòu)造出碼長(zhǎng)靈活可變、性能優(yōu)越的LDPC好碼。
LDPC碼是一種(n,k)線性分組碼,碼長(zhǎng)為n,信息序列長(zhǎng)度為k,可以由校驗(yàn)矩陣H唯一定義[2]。H的維數(shù)是m×n,每一行對(duì)應(yīng)一個(gè)校驗(yàn)方程,每一列對(duì)應(yīng)碼字的一列。每一行和每一列中非零元素的個(gè)數(shù)為行重、列重。式(1)是一個(gè)5×10的校驗(yàn)方程,其中碼字c=(c1,c2,c3,c4,c5,c6,c7,c8,c9,c10)∈C,滿(mǎn)足 H·c=0,即
除了用校驗(yàn)矩陣表示LDPC碼以外,還可以用雙向的模型圖表示,其中Tanner圖表示是比較方便的一種,可以形象地描述LDPC碼的編譯碼特性。圖1是與式(1)對(duì)應(yīng)的 LDPC碼的 Tanner圖,包含變量節(jié)點(diǎn)(VN){bj,j=1,2,…,n}、校驗(yàn)節(jié)點(diǎn)(CN){ci,i=1,2,…,m}和連接它們的邊,其中VN對(duì)應(yīng)校驗(yàn)矩陣H的列,即碼字的每個(gè)碼元,CN對(duì)應(yīng)H的行,即每個(gè)校驗(yàn)方程,第j個(gè)VN和第i個(gè)CN有連接的邊就意味著H的i行j列元素不為零。與第j個(gè)VN相連的邊的個(gè)數(shù)稱(chēng)為該變量節(jié)點(diǎn)的度或次數(shù)(degree),等于H第j列的列重與第i個(gè)CN相連的邊的個(gè)數(shù)稱(chēng)為該校驗(yàn)節(jié)點(diǎn)的度或次數(shù),等于H第i行的行重。
圖1 LDPC碼的Tanner圖
LDPC碼的環(huán)定義為T(mén)anner圖中由VN,CN和連接它們的邊首尾相連組成的閉合環(huán)路,次數(shù)分布是指具有相同次數(shù)的節(jié)點(diǎn)所對(duì)應(yīng)的與之相連的邊占總邊數(shù)的比例。短環(huán)和次數(shù)分布對(duì)是影響非規(guī)則LDPC碼性能的兩大主要因素,在LDPC碼構(gòu)造時(shí),要盡量避免環(huán)尤其是短環(huán)的出現(xiàn)。
傳統(tǒng)的LDPC編碼主要采用高斯消去法編碼。用給定的M×N的校驗(yàn)矩陣H,編碼后得到的碼字c應(yīng)滿(mǎn)足HcT=0。LDPC碼的高斯消去法產(chǎn)生如圖2所示的下三角矩陣。若將c分成兩部分,即s代表信息序列,p代表校驗(yàn)序列,則系統(tǒng)編碼可分為兩個(gè)步驟:第一步將長(zhǎng)度為N-M的信息序列直接給s賦值,第二步通過(guò)后向遞推得到p,其中第i個(gè)校驗(yàn)比特pi為
高斯消去法編碼復(fù)雜,需要進(jìn)行的運(yùn)算量為N2。
圖2 高斯消去法
Hui Jin等人提出IRA碼是一種簡(jiǎn)單的類(lèi)Turbo碼,同時(shí)也是一種特殊的LDPC碼,這種碼編碼簡(jiǎn)單,僅由重復(fù)器、交織器和累加器組成,譯碼可由高速并行的置信傳播(BP)譯碼器實(shí)現(xiàn),從而實(shí)現(xiàn)了線性的編譯碼復(fù)雜度。
IRA碼是由一個(gè)重復(fù)器和一個(gè)累加器,中間級(jí)聯(lián)一個(gè)交織器組成,其編碼原理如圖3所示。長(zhǎng)度為K的信息序列進(jìn)入重復(fù)q次,然后經(jīng)過(guò)一個(gè)交織器,隨機(jī)交織,最后經(jīng)過(guò)累加器進(jìn)行累加,最后輸出校驗(yàn)序列P。
圖3 IRA碼編碼原理
IRA碼可以由原模圖表示,即節(jié)點(diǎn)數(shù)量較少的Tanner圖,如圖4所示,通過(guò)原模圖進(jìn)行“復(fù)制—置換”操作,可以得到任意大小的Tanner圖。原模圖用G=(V,C,E)表示,其中V,C和E分別是其變量節(jié)點(diǎn)、校驗(yàn)節(jié)點(diǎn)和邊的集合。
圖4 非規(guī)則重復(fù)累加碼的原模圖
一些線性分組碼(n,k)的碼字循環(huán)移位n0(n=zn0,k=zk0)次后得到的仍是該碼的一個(gè)碼字,這類(lèi)碼稱(chēng)為準(zhǔn)循環(huán)(QC)碼[3-4]。準(zhǔn)循環(huán)碼的校驗(yàn)矩陣完全由其前k0行決定,編碼也可用移位寄存器實(shí)現(xiàn),降低了編碼器的復(fù)雜度。其循環(huán)右移過(guò)程如圖5所示。
圖5 準(zhǔn)循環(huán)碼的循環(huán)右移過(guò)程
首先通過(guò)文獻(xiàn)[5]中給出的原模圖得到次數(shù)分布對(duì)和未具體設(shè)計(jì)子矩陣的基校驗(yàn)矩陣,然后通過(guò)準(zhǔn)循環(huán)的方法對(duì)子矩陣進(jìn)行具體設(shè)計(jì),最后對(duì)校驗(yàn)矩陣進(jìn)行去四環(huán)優(yōu)化。
非規(guī)則重復(fù)累加碼的原模圖由圖4給出,可以看出原模圖包含6個(gè)變量節(jié)點(diǎn),3個(gè)校驗(yàn)節(jié)點(diǎn)、邊數(shù),將其轉(zhuǎn)換到校驗(yàn)矩陣形式,得到校驗(yàn)矩陣的列重分別為 3,4,3,2,2,2,行重分別為5,6,5??梢杂善湓O(shè)計(jì)校驗(yàn)矩陣Hm×n(m=3,n=6),表示為
式中:Π1代表列重為1的子矩陣,Π2代表列重為2的子矩陣,0代表全零陣。IRA碼的次數(shù)分布對(duì)為
對(duì)于列重為1的子矩陣,利用單位矩陣進(jìn)行循環(huán)右移,對(duì)于列重為2的子矩陣,利用雙對(duì)角線陣進(jìn)行循環(huán)右移,如圖6所示,全零陣保持不變。
定義基準(zhǔn)矩陣Bm×n(m=3,n=6)為子矩陣循環(huán)右移次數(shù)的集合,其表達(dá)式如式(5)所示?;鶞?zhǔn)矩陣Bm×n對(duì)應(yīng)檢驗(yàn)矩陣 Hm×n,如果 b1,1=12,則代表 Hm×n中第一行第一列個(gè)子矩陣循環(huán)右移次數(shù)為12
圖6 雙對(duì)角線陣循環(huán)右移過(guò)程
單位陣、雙對(duì)角線陣、全零陣都是z×z方陣,z的大小可靈活選取,從而構(gòu)造碼長(zhǎng)不同的LDPC碼。
LDPC碼的環(huán)[6]是指Tanner圖中由變量節(jié)點(diǎn)、校驗(yàn)節(jié)點(diǎn)和連接它們的邊首尾相連組成的閉合環(huán)路。環(huán)長(zhǎng)是指其中包含的變數(shù),環(huán)長(zhǎng)最小值為4。四環(huán)是影響LDPC碼性能的重要因素,因?yàn)門(mén)anner圖中的環(huán)特別是長(zhǎng)度較短的循環(huán)使譯碼不充分,使節(jié)點(diǎn)之間傳遞的外部信息的獨(dú)立性減小,減低了抗干擾能力,從而使譯碼算法無(wú)法收斂到一個(gè)最優(yōu)的譯碼效果,造成了性能的下降。
為了進(jìn)一步提高碼的性能,對(duì)校驗(yàn)矩陣進(jìn)行去四環(huán)優(yōu)化。本文構(gòu)建校驗(yàn)矩陣使用的子矩陣是單位陣和雙對(duì)角線結(jié)構(gòu)的準(zhǔn)循環(huán)矩陣,結(jié)合單位陣、雙對(duì)角線陣、準(zhǔn)循環(huán)的特殊性,所以只要滿(mǎn)足以下兩個(gè)條件,校驗(yàn)矩陣中就不會(huì)出現(xiàn)四環(huán):
1)對(duì)于由單位矩陣得到的循環(huán)右移子矩陣,應(yīng)滿(mǎn)足
式中:1≤i<i+m≤3,1≤j<j+n≤6。
2)對(duì)于由雙對(duì)角線矩陣得到的循環(huán)右移子矩陣,應(yīng)滿(mǎn)足
式中:1≤i<i+m≤3,1≤j<j+n≤6。
在產(chǎn)生B基準(zhǔn)矩陣后,經(jīng)過(guò)驗(yàn)證,如果不滿(mǎn)足以上條件,則重新生成,直至產(chǎn)生不存在四環(huán)的B基準(zhǔn)矩陣,本文使用的基準(zhǔn)矩陣如式(8)所示,經(jīng)驗(yàn)證,滿(mǎn)足以上條件
在加性高斯白噪聲信道(AWGN)中,采用二進(jìn)制相移鍵控(BPSK)調(diào)制,置信傳播譯碼算法迭代50次,驗(yàn)證算法構(gòu)造LDPC碼的的性能。
仿真1:比較碼長(zhǎng)變化時(shí)碼的性能。將子矩陣大小z取值25,50,100,200,從而構(gòu)造碼長(zhǎng)為 150,300,600,1200的碼,對(duì)其進(jìn)行性能比較,其結(jié)果如圖7所示,可以看出,當(dāng)碼長(zhǎng)變化時(shí),碼的性能始終保持在一個(gè)較好的范圍之內(nèi),雖然碼長(zhǎng)變化,但次數(shù)分布對(duì)并沒(méi)有改變,四環(huán)也沒(méi)有增加。隨碼長(zhǎng)增加,碼字性能逐漸變好。
圖7 碼長(zhǎng)變化靈活的非規(guī)則重復(fù)累加碼的誤比特率性能
仿真2:比較去四環(huán)之前與去四環(huán)之后碼的性能。z取值100,碼長(zhǎng)為600,仿真結(jié)果如圖8所示,可以看出優(yōu)化去四環(huán)之后,碼的性能有了明顯的改善,去四環(huán)之前,LDPC碼的誤差平層較高,在高信噪比區(qū)域曲線下降的趨勢(shì)變緩,從而證明了四環(huán)是影響LDPC碼重要因素之一。
圖8 去四環(huán)之前與去四環(huán)之后的碼性能仿真圖
仿真3:比較算法構(gòu)造的LDPC碼與IEEE 802.16e標(biāo)準(zhǔn)規(guī)定的LDPC碼性能。z取值100,碼長(zhǎng)為600,IEEE 802.16e標(biāo)準(zhǔn)規(guī)定的LDPC碼碼長(zhǎng)為576,其仿真結(jié)果如圖9所示。
圖9比較了算法構(gòu)造碼與IEEE 802.16e標(biāo)準(zhǔn)規(guī)定的LDPC碼性能,可以看出,本文構(gòu)造的LDPC碼與標(biāo)準(zhǔn)中規(guī)定的LDPC碼性能極為接近,當(dāng)誤塊率為0.01時(shí),差距在0.5 dB以?xún)?nèi),說(shuō)明所構(gòu)造的LDPC碼也達(dá)到了逼近香農(nóng)限的性能。
圖9 算法構(gòu)造的LDPC碼與IEEE 802.16e標(biāo)準(zhǔn)規(guī)定的LDPC碼性能比較
本文在一類(lèi)IRA碼優(yōu)越的次數(shù)分布對(duì)基礎(chǔ)上,利用準(zhǔn)循環(huán)碼原理具體設(shè)計(jì)了基校驗(yàn)矩陣,并進(jìn)行了去四環(huán)優(yōu)化。通過(guò)仿真結(jié)果和理論分析可以得到,利用算法構(gòu)建優(yōu)化的LDPC碼,碼長(zhǎng)變化靈活,性能比優(yōu)化前有明顯提高,十分接近IEEE 802.16e標(biāo)準(zhǔn)規(guī)定的LDPC碼性能,在電視信號(hào)傳輸領(lǐng)域具有較好的應(yīng)用前景。
[1]GALLAGER R G.Low-density parity-check codes[EB/OL].[2011-08-09].http://www.rle.mit.edu/rgallager/documents/ldpc.pdf.
[2]袁東風(fēng),張海剛.LDPC碼理論與應(yīng)用[M].北京:人民郵電出版社,2008.
[3]FOSSORIER M P C.Quasicyclic low density parity check codes from circulant permutation matrices[J].IEEE Trans.Information Theory,2004,50(8):1788-1793.
[4]劉春江,吳智勇,于新,等.一類(lèi)準(zhǔn)循環(huán)LDPC碼的快速編碼方法[J].電視技術(shù),2007,31(6):11-13.
[5]JIN H,KHANDEKAR A,MCELIECE R.Irregular repeat-accumulate codes[EB/OL].[2011-08-09].http://www.ee.caltech.edu/EE/Faculty/rjm/papers/Brest00.pdf.
[6]陳翔.LDPC碼鏈路自適應(yīng)技術(shù)研究[D].北京:北京理工大學(xué),2009.
[7]龔昊,龍滬強(qiáng),張羅鳴,等.一種低誤碼平層的LDPC碼的構(gòu)造與實(shí)現(xiàn)[J]. 電視技術(shù),2008,32(S1):106-109.