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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 幾種不同的FIR濾波器設(shè)計及對比

          幾種不同的FIR濾波器設(shè)計及對比

          作者: 時間:2012-03-30 來源:網(wǎng)絡(luò) 收藏

          數(shù)字通常分成有限脈沖響應(yīng)(finite impulse response,也就是)和無限脈沖響應(yīng)(infinite impulse response,也就是IIR)兩大類。 相對于IIR而言,優(yōu)點(diǎn)是相位線性和性能穩(wěn)定,應(yīng)用范圍廣,缺點(diǎn)是需要長的沖擊響應(yīng)(即高階數(shù))才能得到理想的結(jié)果,實現(xiàn)難度較大。因此在FPGA 上實現(xiàn)高性能 濾波器是很具有挑戰(zhàn)性的。下面我們用幾種的方法來完成FIR濾波器,并進(jìn)行比較。
          FIR 濾波器的系數(shù)為{11,-69, -51, 61, 85, -72, -198, -37, 234,72,-631,-922,594,4185,8139,9871,8139,4185,594,-922,-631,72,234,-37,-198,-72,85,61,-51,-69,11}。兩路輸入,輸入信號位寬為7,輸出信號位寬為23。
          輸入為VHDL 語言,輸入輸出信號聲明如下:
          entity receive_low_pass_filter is
          port (chip_input_i : in signed(6 downto 0);

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

          chip_input_q : in signed(6 downto 0);
          clk : in std_logic;
          reset : in std_logic;
          data_i_channel_output : out signed(22 downto 0);
          data_q_channel_output : out signed(22 downto 0) );
          end receive_low_pass_filter;
          第一種方法:使用Altera 公司的QuartusII3.0 單獨(dú)完成整個過程,在Quartus 中新建一個項目(project),然后將VHDL 文件添加進(jìn)去,我們選
          擇APEX 系列20K1000EBC652 芯片,執(zhí)行Start Compilation,得到時序分析報告,發(fā)現(xiàn)最大頻率為72.19MHz。
          第二種方法:使用Precision RTL 綜合在不使用任何約束條件下對VHDL 文件進(jìn)行綜合,如圖2 所示。

          圖 2 Precision RTL 綜合界面
          用綜合得到的網(wǎng)表文件(EDIF 文件)代替Quartus 項目中的VHDL 文件,執(zhí)行Start Compilation,得到時序分析報告,發(fā)現(xiàn)最大頻率為95.2MHz。

          B 時序仿真
          圖4 仿真結(jié)果
          以上實例充分驗證了Precision RTL 綜合在FPGA 設(shè)計中的重要作用,它對我們設(shè)計水平的提高有很大幫助。

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


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


          關(guān)鍵詞: 對比 設(shè)計 濾波器 FIR 不同

          評論


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