文獻標識碼: A
文章編號: 0258-7998(2014)09-0101-04
LDPC(Low Density Parity Check Code)碼是一種性能優(yōu)異的線性分組碼,其性能非常接近于Shannon極限且具有很強的糾錯能力。但自LDPC碼被發(fā)明以來就存在一個阻礙其發(fā)展的巨大障礙。眾所周知,一般的線性分組碼是通過其生成矩陣實現(xiàn)編碼。而LDPC碼的校驗矩陣雖然是稀疏的,但生成矩陣卻不是稀疏矩陣。由于LDPC碼的編碼長度都很長,因此復(fù)雜的生成矩陣為編碼帶來了巨大困難。后來,人們利用其校驗矩陣的特點實現(xiàn)了快速編碼。即便如此,當碼長很長時編碼所需的存儲空間仍然非常龐大,學(xué)者們也在不斷探索高性能的編碼方法。
目前,LDPC碼已開始逐漸應(yīng)用于空間通信、光纖通信、數(shù)字視頻和音頻廣播等領(lǐng)域。LDPC碼的編碼標準主要有:DVB-S(DigitalVideoBroadcasting-Sa-tellite)標準、DVB-S2[1]標準、CCSDS(Consultative Committee for Space Data Systems)標準[2]、GB20600標準[3]、IEEE802.16e標準[4]等。LDPC編碼已經(jīng)在IEEE802.16e標準中作為專用傳輸碼使用。DVB-S2是新一代數(shù)字衛(wèi)星廣播的標準,與DVB-S標準相比,其傳輸容量增益可達30%。CCSDS標準中的LDPC碼包括近地和深空應(yīng)用。GB20600標準中的LDPC碼主要用于數(shù)字電視地面廣播系統(tǒng)。本文主要研究IEEE 802.16e標準中LDPC碼快速編碼的實現(xiàn)方法,并將其與DVB-S2標準的LDPC縮短碼的性能進行比較。
1 IEEE802.16e標準中的LDPC碼校驗矩陣的構(gòu)造方式
IEEE802.16e標準中定義的LDPC碼是一種準循環(huán)的非規(guī)則LDPC碼,共有4種速率[4]。每一種速率都有相應(yīng)的校驗矩陣H。Hb是H的基校驗矩陣,Hb經(jīng)過擴展后可得到H,Hb的尺寸為mb×nb,具體構(gòu)成見式(1)。nb的長度固定為24,mb的長度根據(jù)碼速率不同而異。Hb1是一個mb×(nb-mb)矩陣。Hb2是一個mb×mb矩陣。q稱為擴展系數(shù),Hb可通過mb·q×nb·q的擴展方式獲得校驗矩陣H。
Hb1中的元素由-1或非負整數(shù)組成,若為-1,則校驗矩陣H相應(yīng)的位置是全0矩陣;若為非負整數(shù),則校驗矩陣H相應(yīng)的位置是單位矩陣E進行非負整數(shù)次右移所得的矩陣。Hb2的第一列中h(1)、h(r)、h(mb)為非負整數(shù),且h(1)=h(mb)。r的取值范圍為2≤r≤mb-1,其具體值由IEEE802.16e標準指定。Hb2除第一列外,其余部分構(gòu)成準雙對角線結(jié)構(gòu),兩條準對角線上的元素為0,其他位置為-1。Hb2的元素構(gòu)成見式(2)。
根據(jù)IEEE802.16e標準,基矩陣Hb的擴展系數(shù)q共有19種取值,分別對應(yīng)19種碼長,最小為24,最大為96,具體的擴展規(guī)則見參考文獻[4]。設(shè)基校驗矩陣中處于位置(i,j)的元素為q(i,j)。以1/2速率的LDPC碼為例,當q=96時,1/2速率的LDPC碼的基校驗矩陣為式(3),q(i,j)的更新方法見式(4),表示向下取整。
2 IEEE802.16e標準中LDPC碼的FPGA實現(xiàn)
2.1 LDPC碼的快速編碼算法
將線性方程組式(5)中的各行都加在第一行,可推出:
2.2 快速編碼算法的FPGA實現(xiàn)
以q=24、速率為1/2的LDPC碼為例,其基校驗矩陣根據(jù)式(3)、(4)計算可得到式(10),其中mb=nb-mb=kb=12。
根據(jù)式(6)可推得:
設(shè)輸入序列s的長度為mb·q,每個時鐘上升沿輸入的位寬為q,即每次輸入為si。可以定義kb個寄存器ZH,每個寄存器的位數(shù)為q位。利用上述寄存器來存儲輸入序列與基矩陣每一列的乘積,這個乘積在每個時鐘周期進行更新。在更新時需計算當前值與乘積值的異或。在校驗位計算中經(jīng)常需要計算的乘積,
表示基校驗矩陣Hb1中位于(i,j)位置的元素。由于該元素表示單位矩陣的移位,所以其與輸入數(shù)據(jù)序列sj的乘積等效為輸入數(shù)據(jù)序列的循環(huán)移位。當單位矩陣是右移時,乘積等效為輸入序列的循環(huán)右移;當單位矩陣是左移時,乘積等效為輸入序列的循環(huán)左移。利用這個特性可以大大簡化序列與矩陣之間的乘法運算。圖1表示編碼的詳細計算流程。在序列s12輸入后,每個ZHi(i=1,2…12)寄存器中就會得到
將上述編碼方法用HDL在Quartus II中實現(xiàn),并分別在EP2C70F896C6、EP2S15484C3上實現(xiàn)綜合和布線。邏輯資源占用情況如表1所示。對于不同的器件,消耗的邏輯資源各異,同時布線后邏輯單元的延遲也不盡相同。使用Stratix II系列的器件相比Cyclone II系列的器件的時鐘頻率提高了約50%。可以預(yù)見,如果提升輸入和輸出的位寬,邏輯單元間附加延遲會導(dǎo)致時鐘頻率略有降低,但由于并行度的增加,將顯著提升數(shù)據(jù)吞吐速率。
在EP2C70F896C6上的時序仿真如圖2所示。在仿真開始前首先復(fù)位使系統(tǒng)進入初始狀態(tài)。工作時鐘為50 MHz,輸入序列s1=FF0000,s2=s3=…=s11=000000,s12=FFFFFF。輸出的校驗碼序列為p1=F87C7B,p2=F0F8F7,…。在原碼輸出與校驗位輸出之間有一個等待周期。與參考文獻[5]相比,考慮到預(yù)處理的時間以及輸入和輸出均需要大長度高速串/并、并/串轉(zhuǎn)換,實際的系統(tǒng)性能會有一定程度下降。與參考文獻[5]、[6]相比,本設(shè)計利用高速狀態(tài)機實現(xiàn),具有實時性強,不需要進行大長度串/并、并/串轉(zhuǎn)換的優(yōu)點,而且也不需要對基矩陣進行預(yù)處理和分割,對輸入/輸出的制約小,具有較高的性能。
3 IEEE802.16e和DVB-S2標準ldpc碼的性能比較
本設(shè)計實現(xiàn)了q=24下,1/2速率的IEEE802.16e標準的LDPC碼的快速編碼。根據(jù)圖3左圖所示,在q=24時其HT·H結(jié)果中只有主對角線上的元素大于1,其他元素均小于等于1。根據(jù)參考文獻[7],本校驗矩陣中無4環(huán),具有良好的譯碼性能。DVB-S2標準的LDPC碼分為長碼和短碼兩種,長度分別為64 800 bit和16 200 bit。由于碼長較長,LDPC碼編解碼器實現(xiàn)具有相當難度,因此將本設(shè)計與DVB-S2標準的LDPC縮短碼比較,縮短方法見參考文獻[8]。由于長度24·q=576的IEEE802.16e標準LDPC碼沒有適當?shù)膓1值可使DVB-S2縮短碼的碼長與之相等,取q1=15,速率為1/2,則DVB-S2縮短碼的碼長為n=600。在高斯白噪聲信道中進行性能仿真。仿真信道的調(diào)制方式為BPSK,采用BP譯碼算法,最大迭代次數(shù)為500次。對于200幀隨機數(shù)據(jù),每幀長度分別為288 bit和300 bit,分別進行編碼調(diào)制和接收譯碼。最后的仿真曲線如圖4所示。可見在碼長基本相同的條件下,IEEE802.16e標準的LDPC碼較DVB-S2縮短碼具有優(yōu)異的BER性能。圖3右圖是n=600的情況下DVB-S2縮短碼的HT·H數(shù)值分布。由圖中可見有大量4環(huán)位于校驗矩陣H中,這也是其BER曲線中存在誤碼平臺的原因。
本文對IEEE802.16e標準的LDPC碼的快速編碼算法進行了研究,并在FPGA上實現(xiàn)了q=24、n=576、速率為1/2的LDPC碼快速編碼器。時序仿真的結(jié)果顯示該編碼器具有良好的實時編碼性能,資源占用少,性能優(yōu)良。同時,該編碼器具有良好的可擴展性。當q不同時,只要增加并行輸入輸出的位寬和內(nèi)部寄存器位數(shù)即可靈活改變碼長。其誤碼率在相同的信噪比下優(yōu)于長度相近的DVB-S2標準的LDPC縮短碼。因此,該編碼器具有良好的實用價值。
參考文獻
[1] DVB-S2 standard draft ETSI EN 302 307 V1.1.1[S].2004.
[2] CCSDS131.1-0-2.Low density parity check codes for use in near-earth and deep space applications[S].CCSDS,2007.
[3] 中華人民共和國國家標準.數(shù)字電視地面廣播標準(GB20600)[S].2006.
[4] IEEE P802.16e/D8[S].IEEE Standard for Local and Metropo-litan Area Networks Part 16:Air Interface for Fixed and Mobile Broadband Wireless Access Systems,May 2005.
[5] 李超,石磊.基于IEEE802.16e標準的LDPC編碼器設(shè)計與實現(xiàn)[J].電子科技,2011,24(6):40-42.
[6] 俞華梁,毛志剛,張函雋.IEEE802.16e標準的LDPC編碼器設(shè)計及硬件實現(xiàn)[J].信息技術(shù),2008(4):63-66.
[7] XIAO Y,LEE M H.Low complexity MIMO-LDPC CDMA systems over multipath channels[J].IEICE Trans.,2006,89(5):1713-1717.
[8] 肖揚.Turbo與LDPC編解碼及其應(yīng)用[M].北京:人民郵電出版社,2010.