FIR数字滤波器:
通带和阻带的数字边界频率:
?c?0.25??r?0.3?
求理想低通滤波器的边界频率用通带和阻带边界频率的中心近似:
?n??c??r2?0.275?
滤波器的过渡带宽为 ?r??c?0.05?, 阻带衰减不小于50dB,因此选择海明窗,因此窗口长度为:
6.6??0.05??N?132 N线性相位延迟常数为:
??N?1?65.5 2根据理想边界频率?n和线性相位延迟常数?,求理想单位脉冲响应hd(n):
1hd(n)?2?????nej?(n??)d??nsin[(n??)?n]
?(n??)窗函数与理想单位脉冲响应相乘,得到线性相位FIR低通滤波器的单位脉冲响应:
????2?n??sin??n?65.5?0.275hd(n)??0.54?0.46cos??R132?n? ????131?n?65.5????程序:
N=132; n=0:N-1; a=(N-1)/2; wn=0.275*pi;
hd=sin(0.275*pi*(n-a))./(pi*(n-a));
win=0.54-0.46*cos(n*2*pi/(N-1)); %win=hamming(N)'; h=win.*hd;
figure; stem(n,h);
xlabel('n'); ylabel('h(n)'); grid;
title('线性相位FIR低通滤波器的单位脉冲响应h(n)'); [H,w]=freqz(h,1); H=20*log10(abs(H)); figure; plot(w/pi, H);
axis([0 1 -100 10]); xlabel('频率/Hz'); ylabel('幅度/dB'); grid;
title('线性相位FIR低通滤波器,海明窗,N=132');
结果:
线性相位FIR低通滤波器的单位脉冲响应h(n)0.30.250.20.15h(n)0.10.050-0.05-0.10204060n80100120140
线性相位FIR低通滤波器,海明窗,N=132100-10-20-30幅度/dB-40-50-60-70-80-90-10000.10.20.30.40.50.6频率/Hz0.70.80.91
(2)高通滤波器:
IIR数字滤波器:
程序: clear
fs=8000;fr=2800;fc=3000;rs=50;rp=1; wp=2*fs*tan(2*pi*fc/fs/2); ws=2*fs*tan(2*pi*fr/fs/2);
[N, wp] = ellipord(wp, ws, rp, rs, 's'); [b,a]=ellip(N,rp,rs,wp,'high','s') [bz,az]=bilinear(b,a,fs); [h,w]=freqz(bz,az); f=w/(2*pi)*fs;
plot(f,20*log10(abs(h)));
axis([0,4000,-100,10]);grid; xlabel('频率/Hz'); ylabel('幅度'); legend('双线性变换法'); title('椭圆高通滤波器');
结果:
椭圆高通滤波器100-10-20-30双线性变换法 幅度-40-50-60-70-80-90-100 0500100015002000频率/Hz2500300035004000
系统函数:
错误!未找到引用源。
N=6
FIR滤波器:
通带和阻带的数字边界频率:
?c?0.75??r?0.7?
理想高通滤波器的边界频率用通带和阻带边界频率的中心近似:
?n??c??r2?0.725?
滤波器的过渡带宽为 ?c??r?0.05?, 阻带衰减不小于50dB,因此选择海明窗因此窗口长度为:
6.6??0.05??N?132 N线性相位延迟常数为:
??N?1?65.5 2根据理想边界频率?n和线性相位延迟常数?,求理想单位脉冲响应hd(n):
hd(n)?12??????nej?(n??)d??12????nej?(n??)d??sin[(n??)?]?sin[(n??)?n]
?(n??)窗函数与理想单位脉冲响应相乘,得到线性相位FIR低通滤波器的单位脉冲响应:
????2?n??sin??n?65.5????sin??n?65.5?0.725hd(n)??0.54?0.46cos??R132?n? ????n?65.5??131???程序:
N=132; n=0:N-1; a=(N-1)/2; wn=0.725*pi;
hd=(sin(pi*(n-a))-sin(0.725*pi*(n-a)))./(pi*(n-a)); win=0.54-0.46*cos(n*2*pi/(N-1)); %win=hamming(N)'; h=win.*hd;
figure; stem(n,h);
xlabel('n'); ylabel('h(n)'); grid;
title('线性相位FIR高通滤波器的单位脉冲响应h(n)'); [H,w]=freqz(h,1); H=20*log10(abs(H)); figure; plot(w/pi, H);
axis([0 1 -100 10]); xlabel('频率/Hz'); ylabel('幅度/dB'); grid; title('线性相位FIR高通滤波器,海明窗,N=132');
结果:
线性相位FIR高通滤波器的单位脉冲响应h(n)0.20.150.10.05h(n)0-0.05-0.1-0.15-0.20204060n80100120140线性相位FIR高通滤波器,海明窗,N=132100-10-20-30幅度/dB-40-50-60-70-80-90-10000.10.20.30.40.50.6频率/Hz0.70.80.91(3)带通滤波器 IIR: