摘 要: 在數(shù)字接收機中,通常需要對采樣的數(shù)據(jù)進行一定倍數(shù)的插值,。采用Altera公司的DSP Builder設計工具,,在MATLAB/Simulink中建立相應的算法模型并仿真,。通過引入回路硬件模塊,將硬件平臺接入由Simulink構建的仿真測試回路中進行軟硬件協(xié)同仿真,,最后可以直接生成FPGA的下載文件,。該方法簡化了設計流程,降低了開發(fā)成本和周期,,具有廣闊的應用前景,。
關鍵詞: DSP Builder;插值濾波器,;FPGA,;回路硬件仿真
插值濾波器是一種結構相對較為簡單、整齊劃一,、占用存儲量小的濾波器,,廣泛應用于數(shù)字示波器、數(shù)字通信和全數(shù)字收發(fā)機中,。它不需要乘法器,,因此占用硬件資源較少、實現(xiàn)簡單且速度較高,,是高分解速率濾波器的一種非常有效的結構,,在高速抽取或插值系統(tǒng)中是非常有效的單元[1-3]。在插值濾波器的具體實現(xiàn)中,,人們大多使用DSP來實現(xiàn),,但由于DSP具有串行執(zhí)行指令的特點,使得其在高速信號處理中無法滿足設計需要[4],。而高性能大規(guī)??删幊踢壿嬈骷某霈F(xiàn),使得在FPGA中用軟件實現(xiàn)插值濾波器成為可能,,而且FPGA芯片內(nèi)部的資源相當豐富,,并行的處理速度較快,并具有極大的靈活性,,使其成為設計的首選,。
在以FPGA為核心器件來設計信號處理系統(tǒng)時,Altera公司的DSP Builder是一款理想的系統(tǒng)級工具軟件,,它建立了數(shù)字信號處理系統(tǒng)的抽象算法模型,,并將抽象算法模型轉化成可靠的硬件實現(xiàn)。DSP Builder提供了一個從MATLAB/Simulink直接到FPGA硬件實現(xiàn)的設計接口,,是數(shù)字信號處理高層系統(tǒng)設計與FPGA的橋梁,。DSP Builder極大地簡化了硬件實現(xiàn)流程,同時提供了系統(tǒng)仿真測試功能,使利用FPGA設計并實現(xiàn)數(shù)字信號處理更加靈活,,更容易開發(fā),。此外,還可以將設計模型直接編譯成能在FPGA器件中布局布線的網(wǎng)表文件,,成功地解決了算法研究人員和硬件實現(xiàn)工程師之間的工作協(xié)調(diào)問題,,使得用戶能夠以最快的速度將他們的算法得到硬件實現(xiàn)。
1 插值濾波原理
插值濾波是由N個Comb模塊(采樣頻率為fs/RD),,再級聯(lián)N個Intergrator模塊級聯(lián)(采樣頻率為fs),,結構如圖1所示。一般情況下插值比率為1:1,、1:2,、1:5、1:10,、1:20,、1:50。插值濾波器由一個插零模塊和一個濾波器構成,。如果插值比率為1:N,,則插零模塊負責在每兩個原始數(shù)據(jù)之間插入N-1個0,再通過濾波平滑波形,,出來的插值后的波形的采樣率將是原始波形的N倍,。
2 CIC濾波器的模型建立
2.1 數(shù)據(jù)處理寬度的確定
用FPGA實現(xiàn)插值濾波器時[5-8],還有一個很重要的參數(shù)需要確定,,那就是寄存器的寬度(或者位數(shù)),。只有精心計算寄存器的寬度,才能在運算不溢出的情況下,,最大限度地節(jié)省FPGA的硬件資源,。對于插值濾波器,最終的梳狀器輸出增益G=(RD)N,,其中,,R為抽取因子,D為延遲數(shù)值,,N為濾波器級數(shù),。假定采用二進制補碼,設輸入數(shù)據(jù)寬度為Bin,,則內(nèi)部數(shù)據(jù)處理的寬度Bout=Nlog2(RD)+Bin,。本設計中輸入數(shù)據(jù)寬度為8,N=3,,R=75,,D=1(即抽取因子為75,,延遲為1的三級插值濾波器),則輸出字寬W=8+log2(75×1)≈26 bit,,保證不會產(chǎn)生運行時間溢出。因此,,可以根據(jù)前面的分析建立模型,。
2.2 插值濾波器的模型建立
本文以帶寬為30 kHz、采樣率為2 MHz的信號加速為采樣率為150 MHz的信號,,而要求通帶衰減最大不得超過3 dB,,阻帶衰減不得低于45 dB。根據(jù)前面的分析可以采用三級插值濾波器來實現(xiàn),。根據(jù)圖1所示的框圖在MATLAB的Simulink下,,利用DSP Builder建立圖2所示的三級插值濾波器模型[5-7]。
用SignalCompiler將圖2的核心插值濾波器模型轉化為VHDL硬件描述語言,,雙擊“SignalCompiler”圖標,,在彈出的對話框中點擊“Compile”,DSP Builder將會調(diào)用Quartus II進行全程編譯,,其過程包括創(chuàng)建Quartus II工程,、綜合及適配。由于在DSP Builder中只有器件系列,,且編譯之后沒有時序報告,,因此,在用SignalCompiler將 .mdl文件轉化成HDL語言后,,一般還需在Quartus II中進行進一步的設置和完整編譯,。
3 仿真分析
3.1 基于DSP Builder軟硬件協(xié)同仿真
由于在Simulink下進行的仿真不涉及任何硬件(如FPGA),只能是算法級的仿真,,但是如果完全放在底層設計工具Quartus II上仿真,,盡管獲得了全硬件的仿真結果,但是難以獲得一些特定功能的激勵信號,,因此,,本仿真通過引入HIL模塊來進行軟硬件協(xié)同仿真。首先在Simulink平臺下進行軟件仿真,,當結果滿足設計要求時,,使用HIL將Input和Output模塊之間DSP Builder模塊生成HDL工程,從而實現(xiàn)基于MATLAB/DSP Builder平臺的硬件仿真,。本文選用Altera公司的Cyclone II系列EP2C5Q208C8為主芯片的開發(fā)板進行仿真,,仿真結果如圖3所示。由圖3可以看出,,輸出端的數(shù)據(jù)比輸入端的數(shù)據(jù)整整快了75倍,,仿真結果表明,,三級插值濾波器的實現(xiàn)方法正確。
3.2 Quartus II時序仿真
采用一個幅值為127的階躍信號作為插值濾波器的輸入信號,,在Quartus II開發(fā)環(huán)境下進行仿真,、綜合,運行結果如圖4所示,??梢钥闯鲞_到了預定的設計要求。
本文提出一種根據(jù)插值濾波器數(shù)學模型,,采用MATLAB/Simulink來建立相應的模型,,然后利用Signal Compiler工具將其轉化為Quartus II能夠識別的VHDL程序來實現(xiàn)插值濾波器的方案。該方案充分發(fā)揮了FPGA器件處理速度快,、實現(xiàn)靈活方便的特性,,大大提高了整個系統(tǒng)的性能。采用DSP Builder系統(tǒng)工具,,從插值濾波器建模,、仿真到FPGA的具體設計都在一個環(huán)境中完成,方便了系統(tǒng)的更改和擴展,,使得設計更加靈活,、便捷,相對于傳統(tǒng)開發(fā)方式,,具有更大的優(yōu)勢,。
參考文獻
[1] 姜宇柏,游思晴.軟件無線電原理與工程應用[M].北京:機械工業(yè)出版社,,2007.
[2] 田耘,,徐文波,張延偉.無線通信FPGA設計[M].北京:電子工業(yè)出版社,,2008.
[3] 王超,,董德存.GLONASS接收機快速捕獲方案及其仿真[J].鐵路計算機應用,2005,,14(12):7-9.
[4] 曹琦,,畢篤彥.MAC在FPGA中的高效實現(xiàn)[J].微計算機信息,2007(6-2):216-218.
[5] 馬濤,,陳娟,,單洪.基于DSP Builder的數(shù)字下變頻器的FPGA設計[J].電子技術應用,2006,,(32)7:93-96.
[6] 賈雪琴,,李強,王旭,,等.用MATLAB在FPGA芯片中實現(xiàn)數(shù)字下變頻設計[J].計算機仿真,,2005(12):303-306.
[7] 王飛,,梁清華.基于FPGA的CIC濾波器的設計[J].遼寧工業(yè)大學學報(自然科學版),2009(4):77-79.
[8] 牛大勝,,唐麗萍.積分梳狀濾波器在FPGA中的實現(xiàn)[J].國外電子測量技術,,2006(9):48-50.