<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 采用DSPBuilder的FIR濾波器的方案實(shí)現(xiàn)

          采用DSPBuilder的FIR濾波器的方案實(shí)現(xiàn)

          作者: 時(shí)間:2010-03-09 來源:網(wǎng)絡(luò) 收藏

          4.3 基于仿真

          輸入信號(hào)分別頻率f1=8KHz和f2=16KHz的兩個(gè)正弦信號(hào)進(jìn)行疊加。其中的仿真波形如圖3所示,從濾波電路的仿真結(jié)果看出,輸入信號(hào)通過后輸出基本上變成單頻率的正弦信號(hào),進(jìn)一步通過頻譜儀可看出f2得到了較大的抑制,與條件規(guī)定的fc=10.8kHz低通相符合,至此完成了模型仿真。

          仿真波形

          4.4 運(yùn)用Modelsim進(jìn)行功能仿真

          在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í)(系統(tǒng)級(jí))的,是針對(duì)算法的,這二者之間有可能存在軟件理解上的差異,轉(zhuǎn)換后的VHDL代碼可能與MDL模型描述的情況不完全相符,這就是需要針對(duì)生成的RTL級(jí)VHDL代碼進(jìn)行功能仿真。

          在此,筆者利用Modelsim對(duì)生成的VHDL代碼進(jìn)行功能仿真。設(shè)置輸入輸出信號(hào)均為模擬形式,出現(xiàn)如圖4所示的仿真波形,可以看到這與Simulink里的仿真結(jié)果基本一致,即可在QuartusⅡ環(huán)境下進(jìn)行硬件設(shè)計(jì)。

          4.5 在FPGA器件中濾波器

          在QuartusⅡ環(huán)境中打開建立的QuartusⅡ項(xiàng)目文件firl.qpf。在QuartusⅡ中進(jìn)行再一次仿真,由此可以看到符合要求時(shí)序波形,然后指定器件引腳并進(jìn)行編譯,最后下載到FPGA器件中,就可以對(duì)硬件進(jìn)行測(cè)試,加上CLCOK信號(hào)和使能信號(hào),用信號(hào)發(fā)生器產(chǎn)生所要求的兩個(gè)不同頻率的正弦信號(hào),就可以在示波器上看到濾波以后的結(jié)果,需要設(shè)計(jì)不同的濾波器電路時(shí),僅修改濾波模型文件就可以實(shí)現(xiàn),這樣不僅避免了繁瑣的VHDL語言編程,而且便于進(jìn)行調(diào)整。

          5 結(jié)束語

          在利用FPGA進(jìn)行數(shù)字濾波器的開發(fā)時(shí),作為設(shè)計(jì)工具能加快進(jìn)度。當(dāng)然,在實(shí)際應(yīng)用中,受精度、速度和器件選擇方面的影響,可以對(duì)其轉(zhuǎn)化的VHDL進(jìn)行進(jìn)一步的優(yōu)化。


          上一頁 1 2 下一頁

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();