基于DSP Builder的16階FIR濾波器實(shí)現(xiàn)
完成模型設(shè)計(jì)之后,可以先在Simulink中對(duì)模型進(jìn)行仿真,可以通過Simulink中的示波器模塊查看各個(gè)步驟的中間結(jié)果。輸入信號(hào)采用800 Hz和1 600 Hz,幅值相同的兩個(gè)正弦信號(hào)的疊加。仿真結(jié)果如圖3所示。從仿真波形可以看出,通過濾波器之后,1 600 Hz的信號(hào)能夠被很好地濾除。
本文引用地址:http://butianyuan.cn/article/188501.htm
雙擊SignalCompiler可對(duì)以上的設(shè)計(jì)模型進(jìn)行分析,選擇相應(yīng)的芯片,將以上設(shè)計(jì)模塊圖文件“翻譯”成VHDL語言。
2.2.4 Modelsim的RTL仿真
在Simulink中進(jìn)行的仿真屬于系統(tǒng)驗(yàn)證性質(zhì)的,是對(duì)mdl文件進(jìn)行的仿真,并沒有對(duì)生成的VHDL代碼進(jìn)行仿真。事實(shí)上,生成VHDL描述的是RTL級(jí)的,是針對(duì)具體的硬件結(jié)構(gòu),而在Matlab的Simulink中的模型仿真是算法級(jí)的,兩者之間有可能存在軟件理解上的差異,轉(zhuǎn)化后的VHDL代碼實(shí)現(xiàn)可能與mdl模型描述的情況不完全相符。這就需要針對(duì)生成的RTL級(jí)VHDL代碼進(jìn)行功能仿真,仿真結(jié)果如圖4所示。
仿真結(jié)果說明,在Modelsim中仿真結(jié)果和Simulink里的仿真結(jié)果基本一致,該濾波器有較好的濾波效果。可以看出,輸入正弦波經(jīng)過數(shù)字化過程以后,能夠在Modelsim中還原出模擬波形.符合設(shè)計(jì)的要求,可以在QLtortusⅡ的環(huán)境下進(jìn)行硬件設(shè)計(jì)。
2.2.5 濾波器在FPGA上的實(shí)現(xiàn)
在QuartusⅡ環(huán)境中,打開DSP Builder建立的QuartusⅡ項(xiàng)目文件,在QuartusⅡ中再進(jìn)行一次仿真,由此可以看到符合要求的時(shí)序波形。然后指定器件引腳,并進(jìn)行編譯,最后下載到FPGA器件中,就可以對(duì)硬件進(jìn)行測(cè)試,加上clok信號(hào)和使能信號(hào),用信號(hào)發(fā)生器產(chǎn)生所要求的兩個(gè)不同頻率的正弦信號(hào),就可以在示波器上看到濾波后的結(jié)果。需要設(shè)計(jì)不同的濾波器電路是僅修改FIR濾波器模型文件就可以實(shí)現(xiàn),這樣不僅避免了繁瑣的VHDL語言編程,而且便于進(jìn)行調(diào)整。
3 結(jié) 語
在利用FPGA進(jìn)行數(shù)字濾波器開發(fā)時(shí),采用DSPBuilder作為設(shè)計(jì)工具,能加快進(jìn)度。當(dāng)然,在實(shí)際應(yīng)用中,受精度、速度和器件選擇方面的影響,可能對(duì)其轉(zhuǎn)化的VHDL進(jìn)行進(jìn)一步的優(yōu)化。
評(píng)論