窗函數法設計FIR數字高通濾波器

題目:

窗函數法設計FIR數字高通濾波器
用matlab
技術指標 fc=4800Hz,fp=5000Hz,Ac=100dB,Ap=1dB

解答:

將模擬頻率轉化爲數字頻率,設取樣時間爲T(要滿足抽樣定理)
Ωp=2π*fp*T Ωs=2π*fs*T
過渡帶寬度△Ω=Ωp-Ωs
阻帶衰減已經超過74db,要選用Kaiser窗了,Kaiser的參數可變,要根據公式確定濾波器的參數
一般都選用Ⅰ型線性相位濾波器即濾波器階數M爲偶數,程序如下:
wp=;ws=;Ap=1;As=100;
Rp=1-10.^(-0.05*Ap);Rs=10.^(-0.05*As);
f=[fp fs];
a=[0 1];
dev=[Rp Rs];
[M,wc,beta,ftype]=kaiserord(f,a,dev);
M=mod(M,2)+M;
h=fir1(M,wc,ftype,kaiser(M+1,beta));
omega=linspace(0,pi,512);
mag=freqz(h,[1],omega);
plot(omega/pi,20*log10(abs(mag)));
grid;
omega1=linspace(0,wp,512);
h1=freqz(h,[1],omega1);
omega2=linspace(ws,pi,512);
h2=freqz(h,[1],omega2);
fprintf('Ap=%.4f\n',-20*log10(min(abs(h1))));
fprintf('As=%.4f\n',-20*log10(max(abs(h2))));
運行程序可以得到濾波器的通阻帶衰減,畫出頻率響應,若同阻帶衰減不滿足要求還可以使用濾波器的優化,一般使用的等波紋FIR進行優化

添加新評論

暱稱
郵箱
網站