用MATLAB設計FIR濾波器的方法
4 FDATool設計法
FDATool(Filter Design Analysis Tool)是MATLAB信號處理工具箱專用的濾波器設計分析工具,操作簡單、靈活,可以采用多種方法設計FIR和IIR濾波器。在MATLAB命令窗口輸入FDATool后回車就會彈出FDATool界面。
4.1 帶通濾波器設計
已知濾波器的階數(shù)n=38,beta=3.4。本例中,首先在Filter Type中選擇Bandpass;在Design Method選項中選擇FIR 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所示。
(1)Simulink仿真圖 (2)濾波前后的離散波形
圖2 Simulink仿真圖和濾波效果圖
5 SPTool設計法
SPTool是MATLAB信號處理工具箱中自帶的交互式圖形用戶界面工具,它包含了信號處理工具箱中的大部分函數(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。
濾波器相關文章:濾波器原理
濾波器相關文章:濾波器原理
電源濾波器相關文章:電源濾波器原理
評論