基于FPGA的8PSK軟解調(diào)的研究與實(shí)現(xiàn)
表1 是通過MATLAB 仿真平臺計(jì)算出來的每個Eb/N0所對應(yīng)的誤碼率,圖2 是與之相對應(yīng)的誤碼率曲線圖。由圖2 可知,對于Eb/N0 測試區(qū)間為4 dB 到7 dB 的任意一個測試點(diǎn),LLR 最優(yōu)算法的誤碼率總比定點(diǎn)MAX 算法和浮點(diǎn)MAX 算法要小,其中浮點(diǎn)MAX 算法誤碼性能居中,定點(diǎn)MAX 算法最差。MAX 算法是通過降低誤碼性能來換取運(yùn)算復(fù)雜度的降低,其誤碼性能要比LLR 最優(yōu)算法差。與浮點(diǎn)MAX 算法相比,定點(diǎn)MAX 算法對輸入軟解調(diào)模塊的I、Q兩路信號和輸出的似然比分別進(jìn)行了截位和限幅,如圖2 所示,定點(diǎn)MAX 算法相對于浮點(diǎn)MAX 算法損失了一定的誤碼性能。由表可知,定點(diǎn)MAX 算法在Eb/N0 為6.64 dB 時,其誤碼率為6.5125×10-8,驗(yàn)證了該定點(diǎn)方案能夠滿足系統(tǒng)設(shè)計(jì)要求。
表 1 MATLAB 誤碼率仿真表
圖2 MATLAB 誤碼率仿真
3 MAX 算法硬件實(shí)現(xiàn)
由于硬件實(shí)現(xiàn)都是定點(diǎn)運(yùn)算,所以MAX 算法的實(shí)現(xiàn)是針對定點(diǎn)的MAX 算法進(jìn)行硬件設(shè)計(jì)的。硬件仿真流圖如圖3 所示,首先利用MATLAB 產(chǎn)生隨機(jī)序列,假設(shè)每一編碼塊為4032 bit,LDPC 編碼效率為1/2 碼率,則經(jīng)過LDPC 編碼后,每一編碼塊為8 064 bit,經(jīng)8PSK 調(diào)制成符號后,每一個編碼塊被調(diào)制成2 688 個符號,實(shí)部虛部分為I、Q 兩路,再疊加信噪比為SNR 的高斯白噪聲,最后把數(shù)據(jù)文件存儲在RAM 中。在硬件實(shí)現(xiàn)上,定點(diǎn)MAX 軟解調(diào)模塊以一定速率從RAM 讀取數(shù)據(jù)并進(jìn)行軟解調(diào),軟解調(diào)輸出的對數(shù)似然比存儲在乒乓RAM 中,每存滿一個編碼塊就向LDPC 譯碼器發(fā)出一個讀有效信號,LDPC 譯碼器在接收到該有效信號的下一個時鐘周期就開始以一定速率讀取整個編碼塊的對數(shù)似然值,接著開始進(jìn)行LDPC 譯碼,最后以一定速率輸出最終的譯碼結(jié)果。
圖3 硬件設(shè)計(jì)仿真
4 硬件設(shè)計(jì)結(jié)果分析
驗(yàn)證一個軟解調(diào)模塊性能的好壞,需要級聯(lián)譯碼模塊進(jìn)行仿真綜合驗(yàn)證。在硬件設(shè)計(jì)中,通過在Stratix II FPGA 硬件平臺上級聯(lián)MAX 定點(diǎn)算法模塊與LDPC 譯碼算法模塊,然后進(jìn)行綜合布線,最后下載到硬件平臺進(jìn)行測試。
將仿真通過的工程文件使用Chipscope 添加觀察采樣信號,觸發(fā)信號和待觀察信號后重新綜合、布局布線生成bit文件,下載到目標(biāo)板后用Chipscope 進(jìn)行在線測試,通過將輸出結(jié)果與輸入比特流進(jìn)行比較,驗(yàn)證設(shè)計(jì)正確性。分析QUARTUS II 綜合報(bào)告,該設(shè)計(jì)模塊只需加減法器,部分寄存器和16 個乘法模塊,使用資源較少,能滿足低復(fù)雜度、高吞吐量的設(shè)計(jì)要求。
5 結(jié)語
由于LLR 算法具有較高的運(yùn)算復(fù)雜度,不易于硬件實(shí)現(xiàn),而經(jīng)過簡化的MAX 算法由于避免了指數(shù)和對數(shù)運(yùn)算,大大降低運(yùn)算復(fù)雜度,只需進(jìn)行加減法和少數(shù)乘法運(yùn)算,適合于硬件實(shí)現(xiàn)。該設(shè)計(jì)通過MATLAB 與VHDL 仿真對照,驗(yàn)證了MAX 軟解調(diào)算法硬件設(shè)計(jì)的準(zhǔn)確性,同時將該模塊與LDPC 譯碼模塊級聯(lián),在具體的FPGA 芯片上運(yùn)行,利用片上分析儀Chipscope 進(jìn)一步驗(yàn)證設(shè)計(jì)的可行性。
評論