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

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA的FIR數(shù)字濾波器設計與實現(xiàn)

          基于FPGA的FIR數(shù)字濾波器設計與實現(xiàn)

          作者: 時間:2013-10-23 來源:網(wǎng)絡 收藏

          所有的選項確定好后,在FDATool界面中點擊“Design Filter”,Matlab就會計算系數(shù)并作相關(guān)分析。圖5所示為的幅頻響應,圖6所示為濾波器的階躍響應。

          本文引用地址:http://www.ex-cimer.com/article/189493.htm

          e.JPG


          由于所有的模塊都在同一個Simulink圖中,這時的Simulink圖顯得很復雜,不利于閱讀和排錯,因此把濾波器模型做成一個子系統(tǒng)在圖中顯示出來,如圖7所示,這就是Matlab中的層次化設計,在頂層設計圖中,濾波器作為名稱是Sub_533_16js的一個模塊出現(xiàn)。同時,圖7中還設置了其他模塊,包括仿真信號輸入模塊、Signal TapⅡ信號實時監(jiān)測模塊、Signal Compiler模塊、硬件開發(fā)板模塊、TestBench模塊。

          f1.jpg


          這樣整個濾波器的Simulink電路設計模型就完成了,然后要對該模型進行系統(tǒng)級仿真,查看其仿真結(jié)果,在頻率為533 Hz的波形輸入上加入了頻率為3 600 Hz的擾動波形,其Simulink仿真結(jié)果如圖8所示。

          f.JPG


          圖中,上面的波形是533 Hz的輸出,中間的波形是533 Hz加上3 600 Hz高頻干擾后的輸出,下面的波形是經(jīng)過濾波后的輸出。
          3.2 從模型文件到Verilog代碼的RTL級轉(zhuǎn)換和編譯適配
          利用Signal Compiler模塊將電路模型文件即Simulink模塊文件(.mdl)轉(zhuǎn)換成RTL級的Verilog代碼表述和Tcl(工具命令語言)腳本。這種轉(zhuǎn)換是用來對濾波器Simulink模型進行結(jié)構(gòu)化分析的。獲得轉(zhuǎn)換好的VHDL描述后就可以調(diào)用Verilog綜合器,這里我們選用Quartus Ⅱ,用來生成底層網(wǎng)表文件,同時也就可以得到其網(wǎng)表文件對應的RTL電路圖。如圖9所示。

          g.JPG


          3.3 濾波器的ModelSim功能仿真
          ModelSim軟件可支持VHDL和Verilog混合仿真,無論是設計的RTL級和門級電路仿真,還是系統(tǒng)的功能仿真都可以用ModelSim來。由Signal Compiler生成的Verilog硬件描述語言模塊,在ModelSim中可以直接對Verilog代碼進行仿真,檢測源代碼是否符合功能要求。圖10所示的16階數(shù)字濾波器的功能仿真結(jié)果圖。與圖8的Simulink仿真結(jié)果圖的波形一致,表明經(jīng)過轉(zhuǎn)換的Verilog源代碼可以正常的濾波功能。

          h.JPG

          電源濾波器相關(guān)文章:電源濾波器原理


          數(shù)字濾波器相關(guān)文章:數(shù)字濾波器原理


          評論


          相關(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); })();