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