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

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 用MATLAB設計FIR濾波器的方法

          用MATLAB設計FIR濾波器的方法

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

          4 FDATool設計法

          FDATool(Filter Design Analysis Tool)是信號處理工具箱專用的設計分析工具,操作簡單、靈活,可以采用多種設計和IIR。在命令窗口輸入FDATool后回車就會彈出FDATool界面。

          4.1 帶通設計

          已知濾波器的階數(shù)n=38,beta=3.4。本例中,首先在Filter Type中選擇Bandpass;在Design Method選項中選擇 Window,接著在Window選項中選取Kaiser,Beta值為3.4;指定Filter Order項中的Specify order為38;采樣頻率Fs=100Hz,截止頻率Fc1=10Hz,Fc2=20Hz。設置完以后點擊窗口下方的Design Filter,在窗口上方就會看到所設計濾波器的幅頻響應,通過菜單選項Analysis還可以看到濾波器的相頻響應、組延遲、脈沖響應、階躍響應、零極點配置等。設計完成后將結果保存為kaiser15.fda文件。

          4.2 Simulink仿真

          在Simulink環(huán)境下,將濾波器文件kaiser15.fda導入Digital Filter Design模塊,輸入信號為s(t)=sin(10πt)+sin(30πt)+sin(60πt),生成的仿真圖和濾波效果如圖2所示。

          44.jpg

          (1)Simulink仿真圖 (2)濾波前后的離散波形
          圖2 Simulink仿真圖和濾波效果圖

          5 SPTool設計法

          SPTool是信號處理工具箱中自帶的交互式圖形用戶界面工具,它包含了信號處理工具箱中的大部分函數(shù),可以方便快捷地完成對信號、濾波器及頻譜的分析、設計和瀏覽。在本例中按以下步驟完成濾波器的設計和濾波:

          創(chuàng)建并導入信號源。
          在MATLAB命令窗口輸入命令:
          Fs=100;t = (0:100)/Fs;
          s = sin(2*pi*t*5)+sin(2*pi*t*15)+sin(2*pi*t*30);

          此時,變量Fs、t、s將顯示在workspace列表中。在命令窗口鍵入Sptool,將彈出Sptool主界面,如圖3所示;點擊菜單File/Import將信號s導入并取名為s。

          (2)單擊Filters列表下的New,按照參數(shù)要求設計出濾波器filt1,具體步驟類似于3.2.1。

          (3)將濾波器filt1應用到s信號序列。分別在Signals、Filters、Spectra列表中選擇s、filt1、mtlbse,單擊Filters列表下的Apply按鈕,在彈出的Apply Filter對話框中將輸出信號命名為sin15hz。

          (4)進行頻譜分析。在Signals中選擇s,單擊Spectra下的Create按鈕,在彈出的Spectra Viewer界面中選擇Method為FFT,Nfft=512,單擊Apply按鈕生成s的頻譜spect1。同樣的步驟可以生成信號sin15hz的頻譜spect2。

          濾波器相關文章:濾波器原理


          濾波器相關文章:濾波器原理


          電源濾波器相關文章:電源濾波器原理




          關鍵詞: MATLAB FIR 濾波器 方法

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();