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