plot(n',[wbo,wtr,whn,whm,wbl,wka]); axis([0,N,0,1.1]);
legend('矩形','三角形','汉宁','哈明','布莱克曼','凯塞') 程序运行结果如图11-1所示。
为了便于滤波器设计,表11-1给出了六种窗函数的特性参数。
表11-1 六种窗函数的特性参数表
窗函数 矩形窗 三角形窗 汉宁窗 哈明窗 布莱克曼窗 凯塞窗 旁瓣峰值/dB 近似过渡带宽 精确过渡带宽 阻带最小衰减/dB -13 -25 -31 -41 -57 -57 4?8?8?8?12?/N /N 1.8?6.1?6.2?6.6?11?10?/N /N 21 25 44 53 74 80 /N /N /N /N /N /N /N
10.8矩形三角形汉宁哈明布莱克曼凯塞0.60.40.200102030405060
图11-1
3、用窗函数法设计FIR数字低通滤波器
例11-2 用矩形窗设计一个FIR数字低通滤波器,要求:N=64,截止频率wc=0.4π,描绘理想和实际滤波器的脉冲响应、窗函数及滤波器的幅频响应曲线。
程序清单如下: wc=0.4*pi; N=64;n=0:N-1; hd=ideal_lp(wc,N); windows=(boxcar(N))'; b=hd.*windows; [H,w]=freqz(b,1);
dbH=20*log10(abs(H)+eps)/max(abs(H)); subplot(2,2,1),stem(n,hd);
axis([0,N,1.1*min(hd),1.1*max(hd)]);title('理想脉冲响应'); xlabel('n');ylabel('hd(n)'); subplot(2,2,2);stem(n,windows); axis([0,N,0,1.1]);title('窗函数特性'); xlabel('n');ylabel('wd(n)'); subplot(2,2,3);stem(n,b);
axis([0,N,1.1*min(b),1.1*max(b)]);title('实际脉冲响应'); xlabel('n');ylabel('h(n)'); subplot(2,2,4);plot(w/pi,dbH);
axis([0,1,-80,10]);title('幅度频率响应');
xlabel('频率(单位:\\pi)');ylabel('H(e^{j\\omega})'); set(gca,'XTickMode','manual','XTick',[0,wc/pi,1]); set(gca,'YTickMode','manual','YTick',[-50,-20,-3,0]);grid 程序运行结果如图11-2所示:
理想脉冲响应0.40.31窗函数特性wd(n)0204060hd(n)0.20.100.500204060n实际脉冲响应0.40.30-3n幅度频率响应0.10020n4060H(ej?)h(n)0.2-20-5000.4频率(单位:?)1
图11-2
例11-3 选择合适的窗函数设计一个FIR数字低通滤波器,要求:通带截止频率为wp=0.3π,Rp=0.05dB;阻带截止频率为ws=0.45π,As=50dB。描绘该滤波器的脉冲响应、窗函数及滤波器的幅频响应曲线和相频响应曲线。
分析:根据设计指标要求,并查表11-1,选择哈明窗。程序清单如下: 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; hd=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(1:wp/dw+1))) %检验通带波动
As=-round(max(db(ws/dw+1:501))) %检验最小阻带衰减 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,-80,10]);title('幅度频率响应');
xlabel('频率(单位:\\pi)');ylabel('H(e^{j\\omega})'); set(gca,'XTickMode','manual','XTick',[0,wp/pi,ws/pi,1]); set(gca,'YTickMode','manual','YTick',[-50,-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,wp/pi,ws/pi,1]); set(gca,'YTickMode','manual','YTick',[-3.1416,0,3.1416,4]);grid 程序运行结果如下: N = 45 Rp = 0.0428 As = 50
特性曲线如图11-3所示。
相关推荐: