杜飛飛
摘要:文章研究了在System Generator搭建LDPC編碼器模型的方法,針對IEEE802.16e標準設計實現了RU編碼算法,并在此基礎上對結構進行優化,減小了編碼延時,降低了設計復雜度。
關鍵詞:LDPC;編碼器;System Generator;RU編碼算法;編碼延時 文獻標識碼:A
中圖分類號:TN911 文章編號:1009-2374(2015)17-0019-02 DOI:10.13535/j.cnki.11-4406/n.2015.17.009
LDPC編碼算法已經比較成熟,但是設計復雜度和系統數據速率的折中是在硬件實現時面臨的最主要的問題,而System Generator是基于模塊的設計平臺,加快了算法的實現。在System Generator下設計了一種LDPC編碼器,并對其結構進行改進,降低了硬件設計復雜度,減小了編碼延時。
1 LDPC算法
1.1 IEEE802.16e中的LDPC碼
IEEE802.16e定義的LDPC碼是一種準循環碼,編碼長度為576~2304bit,每種碼長相差96bit,共19種編碼長度,碼率分為1/2、2/3A、2/3B、3/4A、3/4B和5/6共
6種。
1.2 LDPC的編碼算法——RU算法
IEEE802.16e標準中LDPC碼校驗矩陣具有準循環特性,RU算法利用這一特性通過校驗矩陣H進行快速編碼。在保持矩陣稀疏性的同時,對校驗矩陣的行、列重排,從而得到近似的下三角矩陣。如圖2所示,校驗矩陣分成了六個稀疏矩陣,其中T是對角線元素全為1的下三角矩陣。
IEEE802.16e標準的LDPC碼為系統碼,原始信息位s有1152bit,編碼后校驗位、共1152bit,最終的編碼流有2304bit。圖3為編碼器整體結構,包括串并模塊,計算模塊,計算模塊和輸出模塊,其中、計算模塊為核心處理模塊,也是復雜度最高的部分。
串并模塊:將原始信息位分成12組,每組96bit,組內串行輸出,組間并行輸出,便于并行處理。
核心處理模塊:、計算模塊將原始信息位s通過計算獲得校驗比特、,它的速度和復雜度決定了整個編碼器的速度和復雜度。其硬件結構如圖4所示:
輸出模塊:將s、、延時相應的時間單位并按序輸出。根據LDPC碼的準循環特性,存儲結構可采用循環移位寄存器。矩陣乘法模塊主要采用循環移位器和模二加法器。根據FPGA的并行特點以及LDPC校驗矩陣的準循環特性,矩陣乘法可按行并行操作。A的第二行與s相乘,由于A第二行第2、6、7、8、12列均為單位循環矩陣,將對應的原始碼流、、、、與循環單位陣相乘,然后把五組乘積異或,就得到A第二行與原始碼流的乘積。通過此并行操作,能夠求出A中每一行與原始碼流的乘積。
3 性能分析
通過仿真得出,本文設計的編碼器編碼延時為2個采樣時鐘,延時比較少,可以實時傳輸數據。LDPC編碼器采用的FPGA型號為XC4VSX55。最高工作頻率為71.656MHz,工作頻率比較高,能滿足一般無線通信系統的需求。該編碼器綜合資源使用報告如表1。從表1可以看出,硬件利用率不高,即編碼器的硬件實現復雜度可以通過一定的結構優化來降低。
參考文獻
[1] 俞華梁,毛志剛,張函雋.IEEE802.16e標準的LDPC編碼器設計及硬件實現[J].信息技術,2008,32(4).
[2] 簡沖.LDPC碼及其在壓縮圖像傳輸中應用的研究
[D].電子科技大學,2010.
[3] 李超,石磊.基于IEEE802.16e標準的LDPC編碼器設計與實現[J],電子科技,2011,24(6).
(責任編輯:周 瓊)