1 引 言
碼長較長的低速LDPC編碼在信噪比較低的應用場合呈現出其他編碼無法匹敵的優勢,已經證明非規則的LDPC碼性能甚至優于Turbo碼高速 LDPC編碼性能也比較好。尤其是在磁記錄等一些應用場合,碼長較短的高速LDPC編碼有著較為廣闊的應用前景。在不久的將來,LDPC編碼將用于更多高速高質量的通信場合。而UWB通信技術因其傳輸速率高、功耗低等優點在短距離的網絡中得到越來越多的關注。特別是UWB無線通信因其具有良好的時域可分辨性尤其適合于密集多徑環境中的短距離多用戶接入。本文在SvstemGenerator中對LDPC碼整個編譯碼系統進行了參數化的硬件實現,并構建了超寬帶通信系統LDPC碼硬件仿真平臺,驗證了LDPC碼在UWB通信中的優異性能。
2 UWB~LDPC的譯碼算法及不同環境下的初始化方法
LDPC碼采用置信傳播算法(BP)可以有效地解碼,由于存在大量的乘法運算,直接采用BP算法會導致很高的硬件復雜性,因此采用了對數(Log)運算將乘法變換為加法,這種算法叫做Log-BP算法。實際上,BP和Log-BP算法實現的是同樣的譯碼準則。
首先定義幾個可能用到的幾個變量及符號的意義:H
因子的統計平均值,當瑞利信道平均能量為1時,Ea(a)=0.8662。在UWB通信中,采取文獻給出的混合軟標準化算法,利用UwB信號的歸一化的自相關值對
3 LDPC碼硬件解碼結構
由于并行解碼性能與串行解碼在性能上并無差別,只是占用更多的硬件資源來換取更快的速度,并且每一種并行結構只能針對具有某一特定校驗矩陣的LDPC碼。所以本文就以串行解碼硬件實現方式進行實現分析。
3.1串行解碼結構
串行解碼結構圖如圖1所示,幀檢測單元檢測到幀頭后表示后面的輸入有效,啟動譯碼器。初始化單元完成譯碼器的初始化;校驗節點單元和變量節點單元分別完成校驗節點和變量節點的更新計算,其中校驗節點單元還要判斷是否滿足校驗條件或達到最大迭代次數;兩個RAM完成特定校驗矩陣迭代信息的位置置換;中心控制模塊完成整個系統的流程控制;緩沖模塊是為了達到速率匹配和能夠連續譯碼而設置的。
(1) 初始化單元
初始化信息是整個譯碼器最重要的譯碼依據,在對一幀初始化信息進行譯碼判決的過程中,迭代運算不斷調用的初始化信息必須保持不變,因此采用存儲器將初始化信息進行存儲,在一幀的時間內保持不變。一幀時間后將開始接收新的信息為下一幀譯碼做準備。初始化單元在 SystemGenerator中實現比較簡單,只要用一個ROM存儲所需的初始化信息,然后根據量化后的軟信息查表即可。
(2)VNU(變量節點)單元
VNU的功能為計算“變量一校驗”信息以及更新后驗對數似然比。其硬件實現圖如圖2所示,3個“校驗一變量”信息和1個比特初始化信息相加減去相對應的1個“校驗一變量”信息所得到的值舍人處理后作為查找表運算的輸入,查找表用于計算公式
最后將查找表運算結果按符號位正負輸出至CNU處理單元,硬判決位輸出至校驗單元進行奇偶校驗。
(3)CNU(校驗節點)單元
CNU的功能為計算“校驗一變量”信息。CNU實現與VNU基本相似,6個“變量一校驗”信息相加減去相對應的1個“變量一校驗”信息所得到的值舍入處理后作為查找表運算的輸入,最后將查找表運算結果按計算的符號位正負輸出至VNU處理單元。由于是二進制系統,本文采用異或運算代替乘法運算計算符號位,其硬件實現圖如圖3所示。
3.2 串行解碼在SystemGenerator中的整體實現
串行解碼在SystemGeneratot中的整體實現如圖4所示,其中frame detect實現圖1中的幀檢測模塊用來啟動譯碼器,VNU,CNU完成變量節點和校驗節點更新的計算,2個單口RAM通過讀寫和地址的控制完成迭代信息的位置置換,其置換地址是預先在軟件中計算得出存在ROM中的。這種串行解碼結構比較靈活,只需要改變ROM中的讀寫地址就可以適用于不同的LDPC碼 (校驗矩陣的維數,行重、列重必須相同),而對于每個LDPC碼其地址置換信息只需計算一次即可。原始信息經過延遲用以與解碼后的數據比較。
4 UWB-LDPC的SystemGenerator參數化硬件仿真
4.1 系統仿真的總體框圖
系統仿真的總體框圖如圖5所示,原始數據通過LDPC編碼和調制,通過信道加上噪聲,然后解調后的量化軟信息進入LDPC譯碼器進行解碼,由于編碼和解碼都需要一定的時間,因此原始數據必須經過延時后才能與譯碼數據進行比較和計算誤碼率。
4.2 仿真環境
我們在SystemGenerator環境下實現了串行和并行兩種解碼方式以及不同初始化方案的LDPC碼,整個實現都采用參數化方式。為了方便驗證性能,本文還建立了VC仿真界面來設置不同的參數。SystemGenerator是DSP高層系統設計與 Xilinx FPGA實現之間的“橋梁”,他在Matlab/Simulink的環境下完成算法的建模,然后生成相應的工程。ISE可對工程進行仿真、綜合、最后完成算法的硬件化。仿真環境和參數設置見表1。
其中高斯信道的硬件模擬是采用文獻的BoxMuller算法。仿真采用蒙特卡羅仿真方法,LDPC解碼在不同環境下的BER性能和迭代次數如圖6所示。
圖6(a)表示的是誤碼率仿真圖,圖6(b)表示的是平均迭代次數仿真圖。仿真結果表明,對于傳統的LDPC碼采用硬件仿真的性能由于量化的影響略差于軟件仿真,但采用了文獻改進初始化方案的UWB-LDPC的硬件仿真性能要好于軟件仿真的傳統LDPC編碼方式。尤其是信噪比大于1.5dB 時,UWB-LDPC的BER性能有較大的改善,在10-4時大約比傳統的LDPC大約有1.2 dB的編碼增益,平均迭代次數也有所減少。因此改進的LDPC碼比傳統的LDPC碼更能滿足UwB通信需求。
5結 語
本文對LDPC碼在UWB通信中的應用做了探索,整個仿真都在SystemGenerator中參數化實現并構建了硬件仿真環境,為LDPC碼在UWB通信中的應用和實現進行了有益的嘗試。
責任編輯:gt
-
存儲器
+關注
關注
38文章
7484瀏覽量
163768 -
仿真
+關注
關注
50文章
4073瀏覽量
133555 -
譯碼器
+關注
關注
4文章
310瀏覽量
50316
發布評論請先 登錄
相關推薦
評論