用MATLAB設(shè)計FIR濾波器的方法
介紹了利用MATLAB信號處理工具箱進行FIR濾波器設(shè)計的三種方法:程序設(shè)計法、FDATool設(shè)計法和SPTool設(shè)計法,給出了詳細的設(shè)計步驟,并將設(shè)計的濾波器應(yīng)用到一個混和正弦波信號,以驗證濾波器的性能。
本文引用地址:http://m.butianyuan.cn/article/190611.htm1 前言
數(shù)字濾波器是一種用來過濾時間離散信號的數(shù)字系統(tǒng),通過對抽樣數(shù)據(jù)進行數(shù)學(xué)處理來達到頻域濾波的目的。根據(jù)其單位沖激響應(yīng)函數(shù)的時域特性可分為兩類:無限沖激響應(yīng)(IIR)濾波器和有限沖激響應(yīng)(FIR)濾波器。與IIR濾波器相比,FIR的實現(xiàn)是非遞歸的,總是穩(wěn)定的;更重要的是,F(xiàn)IR濾波器在滿足幅頻響應(yīng)要求的同時,可以獲得嚴格的線性相位特性。因此,它在高保真的信號處理,如數(shù)字音頻、圖像處理、數(shù)據(jù)傳輸、生物醫(yī)學(xué)等領(lǐng)域得到廣泛應(yīng)用。
2 FIR濾波器的窗函數(shù)設(shè)計法
FIR濾波器的設(shè)計方法有許多種,如窗函數(shù)設(shè)計法、頻率采樣設(shè)計法和最優(yōu)化設(shè)計法等。窗函數(shù)設(shè)計法的基本原理是用一定寬度窗函數(shù)截取無限脈沖響應(yīng)序列獲得有限長的脈沖響應(yīng)序列,主要設(shè)計步驟為:
(1) 通過傅里葉逆變換獲得理想濾波器的單位脈沖響應(yīng)hd(n)。
(2) 由性能指標確定窗函數(shù)W(n)和窗口長度N。
(3) 求得實際濾波器的單位脈沖響應(yīng)h(n), h(n)即為所設(shè)計FIR濾波器系數(shù)向量b(n)。
(4) 檢驗濾波器性能。
本文將針對一個含有5Hz、15Hz和30Hz的混和正弦波信號,設(shè)計一個FIR帶通濾波器,給出利用MATLAB實現(xiàn)的三種方法:程序設(shè)計法、 FDATool設(shè)計法和SPTool設(shè)計法。參數(shù)要求:采樣頻率fs=100Hz,通帶下限截止頻率fc1=10 Hz,通帶上限截止頻率fc2=20 Hz,過渡帶寬6 Hz,通阻帶波動0.01,采用凱塞窗設(shè)計。
2 程序設(shè)計法
MATLAB信號處理工具箱提供了各種窗函數(shù)、濾波器設(shè)計函數(shù)和濾波器實現(xiàn)函數(shù)。本文的帶通濾波器設(shè)計及濾波程序如下:
[n,Wn,beta,ftype]=kaiserord([7 13 17 23],[0 1 0],[0.01 0.01 0.01],100);
%得出濾波器的階數(shù)n=38,beta=3.4
w1=2*fc1/fs; w2=2*fc2/fs;%將模擬濾波器的技術(shù)指標轉(zhuǎn)換為數(shù)字濾波器的技術(shù)指標
window=kaiser(n+1,beta);%使用kaiser窗函數(shù)
b=fir1(n,[w1 w2],window);使用標準頻率響應(yīng)的加窗設(shè)計函數(shù)fir1
freqz(b,1,512);%數(shù)字濾波器頻率響應(yīng)
t = (0:100)/Fs;
s = sin(2*pi*t*5)+sin(2*pi*t*15)+sin(2*pi*t*30);%混和正弦波信號
sf = filter(b,1,s);%對信號s進行濾波
程序執(zhí)行的結(jié)果如圖1所示:
(1)濾波器幅頻特性和相頻特性 (2)濾波前后的波形
圖1 濾波器特性和濾波效果圖
濾波器相關(guān)文章:濾波器原理
濾波器相關(guān)文章:濾波器原理
電源濾波器相關(guān)文章:電源濾波器原理
評論