章謙驊,包建榮
(杭州電子科技大學通信工程學院,浙江杭州310018)
目前,在空間任務中,對于信道編碼技術有了更多的要求,來實現(xiàn)所要求的帶寬、速率及系統(tǒng)復雜度。1998年,Divsalar等提出了一種類似Turbo碼的可進行快速編碼的低密度奇偶校驗碼(Low Density Parity Check Codes,LDPC),稱為重復累積碼(Repeat Accumulate Codes,RA)[1]。在 RA 碼的基礎上進行了推廣和改進,又提出了非規(guī)則重復累積碼(Irregular Repeat Accumulate Codes,IRA)[2]。20世紀90年代,Turbo碼和LDPC碼相繼問世,它們都有接近Shannon限的性能,對于該兩類碼的研究也成為信道編碼領域熱點。累積重復累積碼(Accumulate Repeat Accumulate Codes,ARA)起源于RA碼和IRA碼,是LDPC碼的子類[3]。美國加州理工學院的J.Thorpe首次給出了原模圖的定義,在此基礎上得到了原模圖LDPC碼[4-5]。原模圖是Tanner圖的一種,特指節(jié)點數(shù)量較少的圖。由于ARA碼的最小碼距不隨碼長的增長而增長,所以不適合深空通信中碼長較長的LDPC碼。精心設計的原模圖LDPC碼具有編譯碼復雜度較低和誤碼平底較低的優(yōu)點,由其衍生出的累積重復參差累積碼(Accumulate Repeat Jagged Accumulate,ARJA)已被空間數(shù)據(jù)系統(tǒng)咨詢委員會收入到深空通信中LDPC碼的設計標準中[6]。本文采用改進的啟發(fā)式優(yōu)化算法構造基本原模圖,基于此構造性能優(yōu)異的LDPC碼,并對其性能進行仿真驗證。
隨機方法構造出來的LDPC碼的校驗矩陣無確定結構,基本都是由計算機搜索得到,無法用表達式表達,不具有循環(huán)(準循環(huán))結構。這使得其硬件實現(xiàn)較為不便,如存儲所消耗的寄存器數(shù)量較大和編碼模塊實現(xiàn)復雜度較高等方面。矩陣的行列之間沒有邏輯聯(lián)系,因此在存儲器中必須完整地存放所有矩陣元素。結構化方法構造出來的LDPC碼的校驗矩陣具有確定的結構,通常采用幾何或圖論的方法實現(xiàn),本文所采用的構造方法即是一種結構化構造方法。
原模圖構造的LDPC碼是一種準循環(huán)的LDPC碼,其Tanner圖中節(jié)點數(shù)目相對較少,且允許平行邊的出現(xiàn)。這里采用G=(V,C,E)來表示一個原模圖,其中V為變量節(jié)點集合,C為校驗節(jié)點集合,E為邊集合。任一變量節(jié)點Ve∈V和任一校驗節(jié)點Ce∈C之間的連線為e∈E。
最初構造得到的原模圖被作為母板,通過拷貝可以得到多個完全相同的副本,然后按照一定的規(guī)則將圖中所有的邊重新連接,使得來自不同副本之間的節(jié)點得以互連,從而得到任意碼長的新的原模圖。由于原模圖中允許存在多重邊,即一對節(jié)點間相連的邊數(shù)可以不為1。但在二進制LDPC碼的Tanner圖中,一對節(jié)點之間只允許存在一條邊。這使得在處理后的原模圖還要進行多重邊重分配操作?;镜母咝阅茉D可依據(jù)實際需要的碼率,利用特定的線性分組碼對基本的校驗矩陣原模圖采取準循環(huán)擴展。一個基本原模圖如圖1所示。
圖1中共有3個校驗節(jié)點(矩形表示校驗節(jié)點)、4個變量節(jié)點(圓形表示變量節(jié)點),且第3個校驗節(jié)點和第4個變量節(jié)點間有多重邊存在。基本原模圖對應的校驗矩陣記為Hb。根據(jù)圖1中所給出的基本原模圖,可以得到其對應的矩陣Hb如下:
圖1 一個簡單的基本原模圖
得到了基本原模圖,就可以通過擴展操作獲得所需碼長的擴展原模圖。即可對基本原模圖進行L次拷貝,本文以2次拷貝為例,使變量節(jié)點和校驗節(jié)點數(shù)目都變?yōu)?倍。處理后的原模圖還要進行多重邊重分配操作,這里所采用的多重邊重分配操作都是對整個圖結構的重構即重新選定校驗方程,同時確保已經連接的節(jié)點對仍然互連,可以保持最初高性能原模圖的優(yōu)異性能。處理后的二分圖如圖2所示,對所有的節(jié)點采取重新編號。
由此可以看出,擴展后所得的Tanner圖和基本原模圖的碼率相同。經過擴展、消重、置換后的基本原模圖對應的校驗矩陣為基矩陣,記為H。以圖2為例,其對應基矩陣如下:
圖2 經過消重置換后的原模圖
式中,編碼的碼長由圖1及復制次數(shù)L決定。上述源矩陣Hb和擴展后的基矩陣H的邊度分布多項式相同,且具有相同譯碼門限。因此,原模圖的設計成為決定碼字性能的關鍵。
ARA碼的編碼中加入了累積器(即預編碼)。在ARA碼的原模圖中,度為2的變量節(jié)點數(shù)等于內部校驗節(jié)點數(shù)。ARJA碼將半數(shù)的度為2的變量節(jié)點的度增加為3,這樣就可以提高碼字的漸進最小距離,從而獲得更低的誤碼平底[7]。在這個過程中,如果重復次數(shù)是4,那么就是AR4JA碼[8]。一個簡單的1/2碼率的AR4JA碼的原型圖如圖3所示。
AR4JA碼具有良好的系列性。在構造過程中,可以通過打孔提高碼率;通過修改變量節(jié)點的度,進而改變譯碼閥值,可以得到更低的誤碼平臺,其編碼器的原理圖如圖4所示。
圖3 生成矩陣的兼容結構示意圖
圖4 AR4JA碼編碼器原理圖
由圖4所示的編碼器原理圖可得,AR4JA碼的碼率為K/(K+2)K。K=2時碼率為1/2,K=4時碼率為2/3,K=8時碼率為4/5??梢钥闯鐾ㄟ^K的取值的變化,碼率也在不斷的變化,形成一整個碼族。包含需刪除的C0,G矩陣的大小為MK×M(K+3);去掉需刪除的C0,G矩陣的大小為MK×M(K+2),具體方法如下:
1)定義矩陣A為H矩陣中列號最大的3M列所形成的矩陣,即A為3M×3M矩陣;
2)定義矩陣B為H矩陣中列號最小的MK列所形成的矩陣,即B為3M×MK矩陣;
3)定義矩陣I為大小為MK×MK的單位陣;
4)經過模2計算后得循環(huán)密集矩陣W:
5)構造塊循環(huán)矩陣G:
矩陣G由大小為m=M/4的循環(huán)陣疊加形成。其中的循環(huán)陣由Ci(i∈{0,…,m -1})累加得到。其中,C0為單位陣,Ci為循環(huán)矩陣,并滿足如下條件:
AR4JA碼的碼字具有很好的系列性,其碼率R=(n+1)/(n+2),n=0,1,2,…。通過不同的取值可以得到不同碼率的碼字,且在改變碼率的同時,不失去固有的良好性能。AR4JA碼系列原型圖如圖5所示。
圖5 AR4JA碼系列原型圖
下面通過仿真實例來驗證所提出的AR4JA-LDPC碼的性能。仿真中的調制方式選取BPSK調制,信道參數(shù)符合AWGN信道。LDPC碼(1 280,1 024)的誤碼率及誤幀率仿真結果如圖6、7所示。
圖6 LDPC碼(1 280,1 024)BER曲線
圖7 LDPC碼(1 280,1 024)FER曲線
從圖6、7中可以看出,隨著迭代次數(shù)的增加,BER和FER性能有顯著提高,50次迭代下的BER性能在3.8 dB時已接近10-6。本文采用的譯碼算法是一種置信消息傳遞算法。當量化階數(shù)到達無窮大時,即為BP譯碼算法。對數(shù)似然比是對數(shù)域BP算法中消息的傳遞形式。相對于實數(shù)域更適合硬件實現(xiàn)。
從仿真曲線上可以得出,本文所提出的原模圖AR4JA碼的碼率R=4/5。在BER較大時,該碼仍沒有出現(xiàn)誤碼平臺現(xiàn)象。這是由碼字的結構造成的,通過置換度數(shù)較低的變量節(jié)點,提高碼字的漸進最小距離,從而獲得更低的誤碼平底。同時,AR4JA碼本身固有的良好的系列性,使得其可以在不同的情況下改變碼率以適應不同環(huán)境、不同場合的需求。AR4JA碼所具有的循環(huán)特性使得其硬件實現(xiàn)的復雜度相對較低。在BER性能滿足工程需要的情況下,可以設置更低的迭代次數(shù),縮短譯碼時間。
LDPC碼具有接近香農極限的性能和適中的編譯碼復雜度,在深空通信中具有較大應用前景。本文介紹了空間數(shù)據(jù)系統(tǒng)咨詢委員會標準推薦的ARA碼的構造方法,根據(jù)碼字的原模圖對ARA碼進行了討論。經過改進得到AR4JA碼性能良好,具有系列性,采用并行結構解碼,編解碼復雜度較低。因此,基于原模圖的AR4JA碼在未來的航天工程中必將發(fā)揮重要的作用。
[1]Divsalar D,Jin H,McEliece R J.Coding theorems for“turbo-like”codes[C].Allerton:University of Illinois,1998:201-210.
[2]Jin H,Khandekar A,McEliece R.Irregular repeat-accumulate codes[C].Brest:Ecole Nationale Superieure des Telecommun,2000:1 -8.
[3]Abbasfar A,Divsalar D,Yao K.Accumulate Repeat Accumulate Codes[C].Dallas:Institute of Electrical and Electronics Engineers,2004:509 -513.
[4]Thorpe J.Low-Density Parity-Check(LDPC)Codes Constructed from Protographs[R].Pasadena:JPL Inter Planetary Network(IPN)Progress Report,2003:42 -154.
[5]Thorpe J.Analysis and Design of Protograph Based LDPC Codes and Ensembles[D].Pasadena:California Institute of technology,2005:36 -59.
[6]CCSDS 131.1-O-2.Low Density Parity Check Codes for Use in Near-Earth and Deep Space Applications[S].
[7]Divsalar D,Jones C,Dolinar S,et al.Protograph Based LDPC Codes with Minimum Distance Linearly Growing with Block Size[C].Saint.Louis:IEEE Global telecommunications Conference,2005:1 152 -1 156.
[8]Abbasfar A,Divsalar D,Yao Kun.Accumulate Repeat Accumulate Codes[J].IEEE Transation om Communications,2007,55(4):692 -702.