基于FPGA的FIR數(shù)字濾波器設計方案
3.2 從模型文件到Verilog代碼的RTL級轉換和編譯適配
本文引用地址:http://butianyuan.cn/article/221566.htm利用Signal Compiler模塊將電路模型文件即Simu-link 模塊文件(。mdl)轉換成RTL 級的Verilog 代碼表述和Tcl(工具命令語言)腳本。這種轉換是用來對數(shù)字濾波器Simulink模型進行結構化分析的[5]。獲得轉換好的VHDL描述后就可以調用 Verilog綜合器,這里我們選用Quartus Ⅱ,用來生成底層網(wǎng)表文件,同時也就可以得到其網(wǎng)表文件對應的RTL電路圖。如圖9所示。
3.3 數(shù)字濾波器的ModelSim功能仿真
ModelSim軟件可支持VHDL和Verilog混合仿真,無論是FPGA設計的RTL級和門級電路仿真,還是系統(tǒng)的功能仿真都可以用ModelSim來實現(xiàn)[4-5]。由Signal Com-piler生成的Verilog硬件描述語言模塊,在ModelSim中可以直接對Verilog代碼進行仿真,檢測源代碼是否符合功能要求。圖 10所示的16階FIR數(shù)字濾波器的功能仿真結果圖。與圖8的Simulink仿真結果圖的波形一致,表明經(jīng)過轉換的Verilog源代碼可以實現(xiàn)正常的濾波功能。
3.4 FIR數(shù)字濾波器的FPGA硬件實現(xiàn)
FIR數(shù)字濾波器一般是嵌入在采集器的采集板卡中進行工作的,把由數(shù)字濾波器的Verilog源代碼生成的模塊嵌入到采集板卡的FPGA邏輯中,如圖11所示。
在Quartus Ⅱ環(huán)境下,數(shù)字濾波器的內部邏輯經(jīng)過編譯適配之后,以。sof文件的形式直接加載到FPGA中。
4 FIR 數(shù)字濾波器的FPGA 實時測試
進行實時測試的電路是應用FPGA和USB的數(shù)據(jù)采集電路,如圖12所示。
測試時把信號發(fā)生器設置好的輸入信號輸入到A/D,采樣得到的數(shù)據(jù)經(jīng)過FPGA,再通過USB與PC機相連,應用QuartusⅡ中的SignalTapⅡ工具進行實時檢測,結果如圖13所示,其中,上面的波形為輸入波形,頻率為200 Hz,下面的波形為輸出波形,由于200 Hz在低通的帶通內,所以兩者的波形相差不大。當輸入波形為頻率533 Hz時,由于是在截頻點,其輸出波形的幅值約為輸入波形幅值的71%,如圖13和14所示。
5 結束
FIR數(shù)字濾波器在數(shù)字信號處理領域有著廣泛的使用,本文通過仿真和實時驗證兩種方式實現(xiàn)了一種基于FPGA和DSP Builder的FIR數(shù)字濾波器。先根據(jù)FIR濾波器的基本原理和結構框圖搭建了濾波器的模型,再根據(jù)濾波器的性能指標通過FDATool工具對其進行設計,并通過系統(tǒng)級仿真和ModelSim功能仿真進行了簡要的可行性分析,最后通過QuartusⅡ軟件對FIR數(shù)字濾波器進行實時驗證,表明本方案所設計的FIR 濾波器功能正確,性能良好。
濾波器相關文章:濾波器原理
fpga相關文章:fpga是什么
濾波器相關文章:濾波器原理
電源濾波器相關文章:電源濾波器原理
數(shù)字濾波器相關文章:數(shù)字濾波器原理
評論