实际脉冲响应0.40.31窗函数特性wd(n)0102030n幅度频率响应40h(n)0.20.100.5002040n相位频率响应0-343.1416H(ej?)-20?(?)0-50-3.141600.30.45频率(单位:?)100.30.45频率(单位:?)1
图11-3
例11-4 用MATLAB信号处理工具箱的fir1函数设计一个FIR数字低通滤波器,要求:通带截止频率为wp=0.3π,Rp=0.05dB;阻带截止频率为ws=0.45π,As=50dB。
程序清单如下: wp=0.3*pi;ws=0.45*pi; deltaw=ws-wp; N0=ceil(6.6*pi/deltaw);
N=N0+mod(N0+1,2) %为实现FIR类型1偶对称滤波器,应确保N为奇数 windows=hamming(N);%使用哈明窗,此举可省略 wc=(ws+wp)/2/pi;%截止频率取归一化通阻带频率的平均值
b=fir1(N-1,wc,windows);%用fir1函数求系统函数系数,windows可省略 [db,mag,pha,grd,w]=freqz_m(b,1); n=0:N-1;dw=2*pi/1000;
Rp=-(min(db(1:wp/dw+1))) %检验通带波动
As=-round(max(db(ws/dw+1:501))) %检验最小阻带衰减
4、用窗函数法设计FIR数字高通滤波器
例11-5选择合适的窗函数设计一个FIR数字高通滤波器,要求:通带截止频率为wp=0.45π,Rp=0.5dB;阻带截止频率为ws=0.3π,As=20dB。描绘该滤波器的脉冲响应、窗函数及滤波器的幅频响应曲线和相频响应曲线。
分析:根据设计指标,查表11-1,应选择三角形窗。程序清单如下: wp=0.45*pi;ws=0.3*pi; deltaw=wp-ws; N0=ceil(6.1*pi/deltaw);
N=N0+mod(N0+1,2) %为实现FIR类型1偶对称滤波器,应确保N为奇数 windows=(triang(N))'; wc=(ws+wp)/2;
hd=ideal_lp(pi,N)-ideal_lp(wc,N); b=hd.*windows;
[db,mag,pha,grd,w]=freqz_m(b,1); n=0:N-1;dw=2*pi/1000;
Rp=-(min(db(wp/dw+1:501))) %检验通带波动 As=-round(max(db(1:ws/dw+1))) %检验最小阻带衰减 subplot(2,2,1);stem(n,b);
axis([0,N,1.1*min(b),1.1*max(b)]);title('实际脉冲响应'); xlabel('n');ylabel('h(n)'); subplot(2,2,2);stem(n,windows); axis([0,N,0,1.1]);title('窗函数特性'); xlabel('n');ylabel('wd(n)'); subplot(2,2,3);plot(w/pi,db);
axis([0,1,-40,2]);title('幅度频率响应');
xlabel('频率(单位:\\pi)');ylabel('H(e^{j\\omega})'); set(gca,'XTickMode','manual','XTick',[0,ws/pi,wp/pi,1]); set(gca,'YTickMode','manual','YTick',[-20,-3,0]);grid subplot(2,2,4);plot(w/pi,pha); axis([0,1,-4,4]);title('相位频率响应');
xlabel('频率(单位:\\pi)');ylabel('\\phi(\\omega)'); set(gca,'XTickMode','manual','XTick',[0,ws/pi,wp/pi,1]); set(gca,'YTickMode','manual','YTick',[-pi,0,pi]);grid 程序运行结果如下:
N = 41 Rp = 0.3625 As = 25
特性曲线如图11-5所示:
实际脉冲响应0.60.40.20-0.20102030n幅度频率响应400020n相位频率响应401窗函数特性wd(n)h(n)0.50-33.1416H(ej?)?(?)-200-3.141600.30.45频率(单位:?)100.30.45频率(单位:?)1
图11-5
例11-6 用MATLAB信号处理工具箱提供的fir1函数设计一个FIR数字高通滤波器,要求:通带截止频率为fp=450Hz,Rp=0.5dB;阻带截止频率为fs=300Hz,As=20dB;采样频率Fs=2000Hz。描绘该滤波器的脉冲响应、窗函数及滤波器的幅频响应曲线和相频响应曲线。
分析:根据设计指标选择三角形窗。程序清单如下: fs=300;fp=450;Fs=2000; ws=fs/(Fs/2)*pi;wp=fp/(Fs/2)*pi; deltaw=wp-ws; N0=ceil(6.1*pi/deltaw);
N=N0+mod(N0+1,2) %为实现FIR类型1偶对称滤波器,应确保N为奇数 windows=triang(N); wc=(ws+wp)/2/pi;
b=fir1(N-1,wc,'high',windows);
[db,mag,pha,grd,w]=freqz_m(b,1); n=0:N-1;dw=2*pi/1000;
Rp=-(min(db(wp/dw+1:501))) %检验通带波动 As=-round(max(db(1:ws/dw+1))) %检验最小阻带衰减 subplot(2,2,1);stem(n,b);
axis([0,N,1.1*min(b),1.1*max(b)]);title('实际脉冲响应'); xlabel('n');ylabel('h(n)'); subplot(2,2,2);stem(n,windows); axis([0,N,0,1.1]);title('窗函数特性'); xlabel('n');ylabel('wd(n)'); subplot(2,2,3);plot(w/2/pi*Fs,db); axis([0,Fs/2,-40,2]);title('幅度频率响应'); xlabel('f(Hz)');ylabel('H(e^{j\\omega})');
set(gca,'XTickMode','manual','XTick',[0,fs,fp,Fs/2]); set(gca,'YTickMode','manual','YTick',[-20,-3,0]);grid subplot(2,2,4);plot(w/2/pi*Fs,pha); axis([0,Fs/2,-4,4]);title('相位频率响应'); xlabel('f(Hz)');ylabel('\\phi(\\omega)');
set(gca,'XTickMode','manual','XTick',[0,fs,fp,Fs/2]); set(gca,'YTickMode','manual','YTick',[-pi,0,pi]);grid 程序运行结果如下: N = 41 Rp = 0.3625 As = 25
特性曲线如图11-6所示:
相关推荐: