《電子技術應用》
您所在的位置:首頁 > 通信与网络 > 设计应用 > IEEE 802.16e标准中LDPC编码的实现与仿真
IEEE 802.16e标准中LDPC编码的实现与仿真
2014年电子技术应用第9期
宁 平
上海航天电子技术研究所,上海201109
摘要: 根据IEEE802.16e标准中LDPC编码的定义,提出了一种利用高速状态机来实现编码的快速算法。在Quartus II下使用Verilog HDL实现了该算法并进行了时序仿真。仿真结果表明,设计具有良好的实时性,克服了以往设计中预处理复杂、消耗逻辑资源多的缺点。最后利用MATLAB对该设计与DVB-S2缩短码的BER性能进行了比较,分析了制约DVB-S2缩短码性能的因素。
中圖分類號: TN919.3+3
文獻標識碼: A
文章編號: 0258-7998(2014)09-0101-04
The implementation and simulation of IEEE 802.16e LDPC coding
Ning Ping
The Institute of Shanghai Aerospace Electronics Technology,Shanghai 201109,China
Abstract: According to the definition of IEEE802.16e LDPC coding, this paper proposes a high-speed state machine to achieve fast coding algorithm. This algorithm is realized under the Quartus II environment by using Verilog HDL and timing simulation is also made. The results show that the design has a good real-time performance. It overcomes the shortcomings of complex pre-processing and consumption of logic resources. Finally, the BER performances between this design and shortened DVB-S2 codes are compared under MATLAB. The facts which can restrict shortened DVB-S2 code performance are also analyzed.
Key words : LDPC coding;IEEE802.16e standard;base check matrix

    LDPC(Low Density Parity Check Code)碼是一種性能優異的線性分組碼,其性能非常接近于Shannon極限且具有很強的糾錯能力。但自LDPC碼被發明以來就存在一個阻礙其發展的巨大障礙。眾所周知,一般的線性分組碼是通過其生成矩陣實現編碼。而LDPC碼的校驗矩陣雖然是稀疏的,但生成矩陣卻不是稀疏矩陣。由于LDPC碼的編碼長度都很長,因此復雜的生成矩陣為編碼帶來了巨大困難。后來,人們利用其校驗矩陣的特點實現了快速編碼。即便如此,當碼長很長時編碼所需的存儲空間仍然非常龐大,學者們也在不斷探索高性能的編碼方法。

    目前,LDPC碼已開始逐漸應用于空間通信、光纖通信、數字視頻和音頻廣播等領域。LDPC碼的編碼標準主要有:DVB-S(DigitalVideoBroadcasting-Sa-tellite)標準、DVB-S2[1]標準、CCSDS(Consultative Committee for Space Data Systems)標準[2]、GB20600標準[3]、IEEE802.16e標準[4]等。LDPC編碼已經在IEEE802.16e標準中作為專用傳輸碼使用。DVB-S2是新一代數字衛星廣播的標準,與DVB-S標準相比,其傳輸容量增益可達30%。CCSDS標準中的LDPC碼包括近地和深空應用。GB20600標準中的LDPC碼主要用于數字電視地面廣播系統。本文主要研究IEEE 802.16e標準中LDPC碼快速編碼的實現方法,并將其與DVB-S2標準的LDPC縮短碼的性能進行比較。

1 IEEE802.16e標準中的LDPC碼校驗矩陣的構造方式

    IEEE802.16e標準中定義的LDPC碼是一種準循環的非規則LDPC碼,共有4種速率[4]。每一種速率都有相應的校驗矩陣H。Hb是H的基校驗矩陣,Hb經過擴展后可得到H,Hb的尺寸為mb×nb,具體構成見式(1)。nb的長度固定為24,mb的長度根據碼速率不同而異。Hb1是一個mb×(nb-mb)矩陣。Hb2是一個mb×mb矩陣。q稱為擴展系數,Hb可通過mb·q×nb·q的擴展方式獲得校驗矩陣H。

    tx5-gs1.gif

    Hb1中的元素由-1或非負整數組成,若為-1,則校驗矩陣H相應的位置是全0矩陣;若為非負整數,則校驗矩陣H相應的位置是單位矩陣E進行非負整數次右移所得的矩陣。Hb2的第一列中h(1)、h(r)、h(mb)為非負整數,且h(1)=h(mb)。r的取值范圍為2≤r≤mb-1,其具體值由IEEE802.16e標準指定。Hb2除第一列外,其余部分構成準雙對角線結構,兩條準對角線上的元素為0,其他位置為-1。Hb2的元素構成見式(2)。

tx5-gs2.gif    

    根據IEEE802.16e標準,基矩陣Hb的擴展系數q共有19種取值,分別對應19種碼長,最小為24,最大為96,具體的擴展規則見參考文獻[4]。設基校驗矩陣中處于位置(i,j)的元素為q(i,j)。以1/2速率的LDPC碼為例,當q=96時,1/2速率的LDPC碼的基校驗矩陣為式(3),q(i,j)的更新方法見式(4),tx5-gs2-1.gif表示向下取整。

tx5-gs3.gif

tx5-gs4.gif

2 IEEE802.16e標準中LDPC碼的FPGA實現

2.1 LDPC碼的快速編碼算法

tx5-gs4-1.gif

    tx5-gs5.gif

    將線性方程組式(5)中的各行都加在第一行,可推出:

tx5-gs6-9.gif

2.2 快速編碼算法的FPGA實現

    以q=24、速率為1/2的LDPC碼為例,其基校驗矩陣根據式(3)、(4)計算可得到式(10),其中mb=nb-mb=kb=12。

tx5-gs10.gif

    根據式(6)可推得:

tx5-gs11.gif

    設輸入序列s的長度為mb·q,每個時鐘上升沿輸入的位寬為q,即每次輸入為si。可以定義kb個寄存器ZH,每個寄存器的位數為q位。利用上述寄存器來存儲輸入序列與基矩陣每一列的乘積,這個乘積在每個時鐘周期進行更新。在更新時需計算當前值與乘積值的異或。在校驗位計算中經常需要計算tx5-gs11-1.gif的乘積,tx5-gs11-2.gif表示基校驗矩陣Hb1中位于(i,j)位置的元素。由于該元素表示單位矩陣的移位,所以其與輸入數據序列sj的乘積等效為輸入數據序列的循環移位。當單位矩陣是右移時,乘積等效為輸入序列的循環右移;當單位矩陣是左移時,乘積等效為輸入序列的循環左移。利用這個特性可以大大簡化序列與矩陣之間的乘法運算。圖1表示編碼的詳細計算流程。在序列s12輸入后,每個ZHi(i=1,2…12)寄存器中就會得到tx5-gs11-3.gif 

tx5-t1.gif

    將上述編碼方法用HDL在Quartus II中實現,并分別在EP2C70F896C6、EP2S15484C3上實現綜合和布線。邏輯資源占用情況如表1所示。對于不同的器件,消耗的邏輯資源各異,同時布線后邏輯單元的延遲也不盡相同。使用Stratix II系列的器件相比Cyclone II系列的器件的時鐘頻率提高了約50%。可以預見,如果提升輸入和輸出的位寬,邏輯單元間附加延遲會導致時鐘頻率略有降低,但由于并行度的增加,將顯著提升數據吞吐速率。

tx5-b1.gif

    在EP2C70F896C6上的時序仿真如圖2所示。在仿真開始前首先復位使系統進入初始狀態。工作時鐘為50 MHz,輸入序列s1=FF0000,s2=s3=…=s11=000000,s12=FFFFFF。輸出的校驗碼序列為p1=F87C7B,p2=F0F8F7,…。在原碼輸出與校驗位輸出之間有一個等待周期。與參考文獻[5]相比,考慮到預處理的時間以及輸入和輸出均需要大長度高速串/并、并/串轉換,實際的系統性能會有一定程度下降。與參考文獻[5]、[6]相比,本設計利用高速狀態機實現,具有實時性強,不需要進行大長度串/并、并/串轉換的優點,而且也不需要對基矩陣進行預處理和分割,對輸入/輸出的制約小,具有較高的性能。

tx5-t2.gif

3 IEEE802.16e和DVB-S2標準ldpc碼的性能比較

    本設計實現了q=24下,1/2速率的IEEE802.16e標準的LDPC碼的快速編碼。根據圖3左圖所示,在q=24時其HT·H結果中只有主對角線上的元素大于1,其他元素均小于等于1。根據參考文獻[7],本校驗矩陣中無4環,具有良好的譯碼性能。DVB-S2標準的LDPC碼分為長碼和短碼兩種,長度分別為64 800 bit和16 200 bit。由于碼長較長,LDPC碼編解碼器實現具有相當難度,因此將本設計與DVB-S2標準的LDPC縮短碼比較,縮短方法見參考文獻[8]。由于長度24·q=576的IEEE802.16e標準LDPC碼沒有適當的q1值可使DVB-S2縮短碼的碼長與之相等,取q1=15,速率為1/2,則DVB-S2縮短碼的碼長為n=600。在高斯白噪聲信道中進行性能仿真。仿真信道的調制方式為BPSK,采用BP譯碼算法,最大迭代次數為500次。對于200幀隨機數據,每幀長度分別為288 bit和300 bit,分別進行編碼調制和接收譯碼。最后的仿真曲線如圖4所示。可見在碼長基本相同的條件下,IEEE802.16e標準的LDPC碼較DVB-S2縮短碼具有優異的BER性能。圖3右圖是n=600的情況下DVB-S2縮短碼的HT·H數值分布。由圖中可見有大量4環位于校驗矩陣H中,這也是其BER曲線中存在誤碼平臺的原因。

tx5-t3.gif

tx5-t4.gif

    本文對IEEE802.16e標準的LDPC碼的快速編碼算法進行了研究,并在FPGA上實現了q=24、n=576、速率為1/2的LDPC碼快速編碼器。時序仿真的結果顯示該編碼器具有良好的實時編碼性能,資源占用少,性能優良。同時,該編碼器具有良好的可擴展性。當q不同時,只要增加并行輸入輸出的位寬和內部寄存器位數即可靈活改變碼長。其誤碼率在相同的信噪比下優于長度相近的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] 中華人民共和國國家標準.數字電視地面廣播標準(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編碼器設計與實現[J].電子科技,2011,24(6):40-42.

[6] 俞華梁,毛志剛,張函雋.IEEE802.16e標準的LDPC編碼器設計及硬件實現[J].信息技術,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編解碼及其應用[M].北京:人民郵電出版社,2010.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 日本精品一区二区三区在线播放视频 | 久久精品久久久久| 亚洲欧美日韩不卡一区二区三区| 日韩在线视频在线观看| 青青久久av北条麻妃黑人| 不卡日韩av| 99精品一级欧美片免费播放 | 欧美少妇一区| 国产精品亚洲片夜色在线| 热久久这里只有| 大波视频国产精品久久| 亚洲欧洲国产日韩精品| 一区二区三区四区欧美日韩| 国产极品尤物在线| 国产一级片91| 国产精品97在线| 99爱精品视频| 欧美精品久久久久久久久久久| 日韩中文字幕三区| 国产精品久久久久久久久免费| 久久精品亚洲热| 国产精品免费久久久久影院| 日韩欧美精品在线观看视频| www日韩视频| 亚洲欧美综合一区| 欧美在线视频二区| 国产精品美女视频网站| 精品久久久久亚洲| 国产亚洲精品网站| 国产在线精品一区二区三区| 91精品免费视频| 日本成人中文字幕在线| 国产精品 日韩| 欧美日韩国产999| 国产欧美日韩亚洲| 亚洲精品中文字幕在线| 久久久人人爽| 国产精品免费久久久久久| 欧美亚洲另类激情另类| 高清视频一区| 久久免费国产视频|