采用DSPBuilder的FIR濾波器的方案實(shí)現
4.3 基于DSPBuilder的濾波器仿真
輸入信號分別采用頻率f1=8KHz和f2=16KHz的兩個(gè)正弦信號進(jìn)行疊加。其中的仿真波形如圖3所示,從FIR濾波電路的仿真結果看出,輸入信號通過(guò)濾波器后輸出基本上變成單頻率的正弦信號,進(jìn)一步通過(guò)頻譜儀可看出f2得到了較大的抑制,與條件規定的fc=10.8kHz低通濾波器相符合,至此完成了模型仿真。
4.4 運用Modelsim進(jìn)行功能仿真
在Simulink中進(jìn)行的仿真是屬于系統驗證性質(zhì)的,是對MDL文件進(jìn)行的仿真,并沒(méi)有對生成的VHDL代碼進(jìn)行過(guò)仿真。事實(shí)上,生成VHDL描述是RTL級的,是針對具體的硬件結構的,而在Matlab的Simulink中的模型仿真是算法級(系統級)的,是針對算法實(shí)現的,這二者之間有可能存在軟件理解上的差異,轉換后的VHDL代碼實(shí)現可能與MDL模型描述的情況不完全相符,這就是需要針對生成的RTL級VHDL代碼進(jìn)行功能仿真。
在此,筆者利用Modelsim對生成的VHDL代碼進(jìn)行功能仿真。設置輸入輸出信號均為模擬形式,出現如圖4所示的仿真波形,可以看到這與Simulink里的仿真結果基本一致,即可在QuartusⅡ環(huán)境下進(jìn)行硬件設計。
在QuartusⅡ環(huán)境中打開(kāi)DSPBuilder建立的QuartusⅡ項目文件firl.qpf。在QuartusⅡ中進(jìn)行再一次仿真,由此可以看到符合要求時(shí)序波形,然后指定器件引腳并進(jìn)行編譯,最后下載到FPGA器件中,就可以對硬件進(jìn)行測試,加上CLCOK信號和使能信號,用信號發(fā)生器產(chǎn)生所要求的兩個(gè)不同頻率的正弦信號,就可以在示波器上看到濾波以后的結果,需要設計不同的濾波器電路時(shí),僅修改FIR濾波模型文件就可以實(shí)現,這樣不僅避免了繁瑣的VHDL語(yǔ)言編程,而且便于進(jìn)行調整。
5 結束語(yǔ)
在利用FPGA進(jìn)行數字濾波器的開(kāi)發(fā)時(shí),采用DSPBuilder作為設計工具能加快進(jìn)度。當然,在實(shí)際應用中,受精度、速度和器件選擇方面的影響,可以對其轉化的VHDL進(jìn)行進(jìn)一步的優(yōu)化。
評論