1、北理工数字信号处理实验7实验七 窗函数法设计FIR数字滤波器一、实验目的掌握窗函数法设计FIR数字滤波器的原理及具体方法。二、实验设备与环境计算机、MATLAB软件环境。 三、实验基础理论1、基本原理窗函数实际法的基本思想为,首先选择一个适当的理想,然后用窗函数截取它的单位脉冲响应,得到线性相位和因果的FIR滤波器。这种方法的重点是选择一个合适的窗函数和理想滤波器,使设计的滤波器的单位脉冲响应逼近理想滤波器的单位脉冲响应。2、设计步骤(1)给定理想滤波器的频率响应,在通带上具有单位增益和线性相位,在阻带上具有零响应。一个带宽为 (的低通滤波器由下式给定(2)确定这个滤波器的单位脉冲响应为了得到
2、一个h(n)长度为N的因果的线性相位FOR滤波器,我们令(3)用窗函数截取得到所设计FIR滤波器h(n)3、窗函数的选择常用的窗函数有矩形(Rectanngular)窗、汉宁(Hanning)窗、海明(Hamming)窗、布莱克曼(Blackman)窗、凯瑟(Kaiser)窗等。MATLAB函数 窗函数 MATLAB函数 窗函数Boxcar 矩形窗函数 blackman 布莱克曼窗函数Hanning 汉宁窗函数 Kaiser 凯瑟窗函数Hannming 海明窗函数四、实验内容1、设计一个数字低通FIR滤波器,其技术指标如下 分别采用矩形窗、汉宁窗、海明窗、布莱克曼窗、凯瑟窗设计该滤波器。结合实
3、验结果,分别讨论采用上述方法设计的数字低通滤波器是否都满足给定指标要求。2、设计一个数字带通FIR滤波器,其技术指标如下:五、实验代码及实验结果1.矩形窗程序代码:m=1.8 wp=0.2*pi Rp=0.25 wst=0.3*pi A=50 width=wst-wp N=ceil(m*pi/width)+1 n=0:(N-1) wc=(wp+wst)/2 alpha=(N-1)/2 hd=(wc/pi)*sinc(wc/pi)*(n-alpha) w_w=boxcar(N) h=hd.*w_w subplot(221) stem(n,hd,filled) Hr,wl=zerophase(h)
4、 subplot(222) plot(wl/pi,Hr) subplot(223) stem(n,h,filled) H,w=freqz(h,1) subplot(224); plot(w/pi,20*log10(abs(H)/max(abs(H) grid on 实验结果:不能满足指标要求汉宁窗程序代码:m=6.2 wp=0.2*pi Rp=0.25 wst=0.3*pi A=50 width=wst-wp N=ceil(m*pi/width)+1 n=0:(N-1) wc=(wp+wst)/2 alpha=(N-1)/2 hd=(wc/pi)*sinc(wc/pi)*(n-alpha) w
5、_w=hanning(N) h=hd.*w_w subplot(221) stem(n,hd,filled) Hr,wl=zerophase(h) subplot(222) plot(wl/pi,Hr) subplot(223) stem(n,h,filled) H,w=freqz(h,1) subplot(224)plot(w/pi,20*log10(abs(H)/max(abs(H) grid on 实验结果:不能满足指标要求海明窗程序代码:m=6.6 wp=0.2*pi Rp=0.25 wst=0.3*pi A=50 width=wst-wp N=ceil(m*pi/width)+1 n
6、=0:(N-1) wc=(wp+wst)/2 alpha=(N-1)/2 hd=(wc/pi)*sinc(wc/pi)*(n-alpha) w_w=hamming(N) h=hd.*w_w subplot(221) stem(n,hd,filled) Hr,wl=zerophase(h) subplot(222) plot(wl/pi,Hr)subplot(223) stem(n,h,filled) H,w=freqz(h,1) subplot(224); plot(w/pi,20*log10(abs(H)/max(abs(H) grid on 实验结果:可以满足指标要求布莱克曼窗程序代码:m
7、=11 wp=0.2*pi Rp=0.25 wst=0.3*pi A=50 width=wst-wp N=ceil(m*pi/width)+1 n=0:(N-1) wc=(wp+wst)/2 alpha=(N-1)/2 hd=(wc/pi)*sinc(wc/pi)*(n-alpha) w_w=blackman(N) h=hd.*w_w subplot(221)stem(n,hd,filled) Hr,wl=zerophase(h) subplot(222) plot(wl/pi,Hr) subplot(223) stem(n,h,filled) H,w=freqz(h,1) subplot(2
8、24); plot(w/pi,20*log10(abs(H)/max(abs(H) grid on 实验结果:可以满足指标要求凯瑟窗程序代码:wp=0.2*pi Rp=0.25 wst=0.3*pi A=50 width=wst-wp N=ceil(A-7.95)-(2.258*width)+1 n=0:(N-1) wc=(wp+wst)/2 alpha=(N-1)/2 hd=(wc/pi)*sinc(wc/pi)*(n-alpha)w_w=kaiser(N) h=hd.*w_w subplot(221) stem(n,hd,filled) Hr,wl=zerophase(h) subplot
9、(222) plot(wl/pi,Hr) subplot(223) stem(n,h,filled) H,w=freqz(h,1) subplot(224); plot(w/pi,20*log10(abs(H)/max(abs(H) grid on 实验结果:不能满足指标要求2.海明窗程序代码:m=6.6 wp=0.2*pi Rp=1 wst=0.35*pi A=60 width=wst-wp N=ceil(m*pi/width)+1 n=0:(N-1) wc1=(wp+wst)/2 wc2=wc1+0.45 alpha=(N-1)/2 hd=(wc2/pi)*sinc(wc2/pi)*(n-
10、alpha)-(wc1/pi)*sinc(wc1/pi)*(n-alpha) w_w=hamming(N) h=hd.*w_w subplot(221) stem(n,hd,filled) Hr,wl=zerophase(h) subplot(222) plot(wl/pi,Hr) subplot(223) stem(n,h,filled)H,w=freqz(h,1) subplot(224); plot(w/pi,20*log10(abs(H)/max(abs(H) grid on 实验结果:布莱克曼窗程序代码:m=11 wp=0.2*pi Rp=1 wst=0.35*pi A=60 wid
11、th=wst-wp N=ceil(m*pi/width)+1 n=0:(N-1) wc1=(wp+wst)/2 wc2=wc1+0.45 alpha=(N-1)/2 hd=(wc2/pi)*sinc(wc2/pi)*(n-alpha)-(wc1/pi)*sinc(wc1/pi)*(n-alpha) w_w=blackman(N) h=hd.*w_w subplot(221)stem(n,hd,filled) Hr,wl=zerophase(h) subplot(222) plot(wl/pi,Hr) subplot(223) stem(n,h,filled) H,w=freqz(h,1) subplot(224); plot(w/pi,20*log10(abs(H)/max(abs(H) grid on 实验结果:六、心得与体会通过本次试验,我掌握了窗函数法设计FIR数字滤波器,将课堂上所学的抽象知识用编程转化为较为实际的东西。对于窗函数的选择我还有一些不懂之处,经过同学的帮助我豁然开朗了。当然独立完成还是有一定困难,但同学间的互相帮助使我进步。数字信号处理实验报告班级:05111104姓名:张旻阳学号:1120111528
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1