2022年用窗函数法设计FIR数字低通滤波器资料 .pdf
-河北科技大学课程设计报告学生姓名:学 号:专业班级:课程名称:学年学期指导教师:20 年月名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 18 页 -课程设计成绩评定表学生姓名学号成绩专业班级起止时间设计题目指导教师评语指导教师:年月日名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 18 页 -目录1.窗函数设计低通滤波器1.1 设计目的1 1.2 设计原理推导与计算1 1.3 设计内容与要求2 1.4 设计源程序与运行结果3 1.5 思考题 10 1.6 心得体会 14参考文献 15名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 18 页 -1-1.窗函数设计低通滤波器1.1 设计目的1.熟悉设计线性相位数字滤波器的一般步骤。2.掌握用窗函数法设计FIR 数字滤波器的原理和方法。3.熟悉各种窗函数的作用以及各种窗函数对滤波器特性的影响。4.学会根据指标要求选择合适的窗函数。1.2 设计原理推导与计算如果所希望的滤波器的理想的频率响应函数为jdeH,则其对应的单位脉冲响应为deeHnhjjdd21(4.1)窗函数设计法的基本原理是设计设计低通FIR 数字滤波器时,一般以理想低通滤波特性为逼近函数jeH,即ccjjd,eeH0,其中21NanandeedeeHnhcjjjjddccsin2121用有限长单位脉冲响应序列nh逼近nhd。由于nhd往往是无限长序列,而且是非因果的,所以用窗函数n 将nhd截断,并进行加权处理,得到:nnhnhd(4.2)nh就作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数jeH为njNnjenheH10(4.3)式中,N为所选窗函数n的长度。用窗函数法设计的滤波器性能取决于窗函数n的类型及窗口长度N的取名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 18 页 -2-值。设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度 N。各种类型的窗函数可达到的阻带最小衰减和过渡带宽度见表(一)。窗函数旁瓣峰值幅度/dB 过渡带宽阻带最小衰减/dB 过渡带带宽N2矩形窗-13 4/N-12 0.9 三角形窗-25 8/N-25 2.1 汉宁窗-31 8/N-44 3.1 哈明窗-41 8/N-53 3.3 不莱克曼窗-57 12/N-74 5.5 凯塞窗(=7.865)-57 10/N-80 5 表(一)各种窗函数的基本参数这样选定窗函数类型和长度N之后,求出单位脉冲响应nnhnhd,并按照式(4.3)求出jeH。jeH是否满足要求,如果jeH不满足要求,则要重新选择窗函数类型和长度N,再次验算,直至满足要求。1.3 设计内容与要求(一)设计要求:1.学会计算滤波器各项性能指标及如何来满足给定的指标要求。2.用 MATLAB 语言编程实现给定指标要求的滤波器的设计。3.熟悉 MATLAB 语言,独立编写程序。4.设计低通 FIR 滤波器的指标:名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 18 页 -3-通带最大波动0.25,pRdB,0.2p阻带最小衰减50,sAdB,0.3s(二)、设计内容:1.熟悉各种窗函数,在 MATLAB 命令窗下浏览各种窗函数,绘出(或打印)所看到的窗函数图。2.编写计算理想低通滤波器单位抽样响应hd(n)的 m函数文件 ideal.m。3.编写计算 N阶差分方程所描述系统频响函数()jH e的 m函数文件 fr.m。4.根据指标要求选择窗函数的形状与长度N。(至少选择两种符合要求的窗函数及其对应的长度)。5.编写.m程序文件,通过调用ideal.m 和 fr m文件,计算你设计的实际低通 FIR 滤波器的单位抽样响应h(n)和频率响应()jH e,打印在频率区间 O,上的幅频响应特性曲线()jH e,幅度用分贝表示。6.验证所设计的滤波器是否满足指标要求。1.4 设计的源程序及运行结果:1、利用 MATLAB 窗口观察各种窗函数:%巴特利特窗w=bartlett(20);subplot(3,2,1);plot(w);stem(w,y);%y表示黄色%stem表示以离散图输出title(巴特利特床窗);xlabel(n);%横坐标为 n ylabel(w(n);%纵坐标为w(n)%布莱克曼窗w=blackman(20);subplot(3,2,2);plot(w);stem(w,b);%b表示蓝色title(布莱克曼窗);xlabel(n);ylabel(w(n);%矩形窗w=boxcar(20);subplot(3,2,3);plot(w);stem(w,r);title(矩形窗);名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 18 页 -4-xlabel(n);ylabel(w(n);%海明窗w=hamming(20);plot(w);stem(w,m);%m表示紫色title(海明窗);xlabel(n);ylabel(w(n);%汉宁窗w=hanning(20);subplot(3,2,5);plot(w);stem(w,g);%g表示绿色title(汉宁窗);xlabel(n);ylabel(w(n);%凯泽窗beta=5.6533;w=kaiser(20,beta);subplot(3,2,6);plot(w);stem(w,k);%k表示黑色title(凯泽窗,beta=5.6533);xlabel(n);ylabel(w(n);0510152000.51巴 特 利 特 床 窗nw(n)0510152000.51布 莱 克 曼 窗nw(n)0510152000.51矩 形 窗nw(n)0510152000.51海 明 窗nw(n)0510152000.51汉 宁 窗nw(n)0510152000.51凯 泽 窗,beta=5.6533nw(n)常用窗函数的图形2、理想低通滤波器单位抽样响应hd(n)的 m函数文件 ideal.m。名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 18 页 -5-function hd=ideal(wc,M)%理想低通滤波器计算%hd为 0到 M-1之间的理想脉冲响应%wc 为截止频率%M 为理想滤波器的长度alpha=(M-1)/2;n=0:M-1;m=n-alpha+eps;hd=sin(wc*m)./(pi*m);3、N阶差分方程所描述的系统频响函数的m函数文件 fr.m。functiondb,mag,pha,gfd,w=fr(b,a)%求解系统响应%db为相位振幅(db)%mag 为绝对振幅%pha为相位响应%grd为群延时%w 为频率样本点矢量%b为 Ha(z)分析多项式系数(对 FIR 而言,b=h)%a为 Hz(z)分母多项式系数(对 FIR 而言,a=1)H,w=freqz(b,a,1000,whole);H=(H(1:501);w=(w(1:501);mag=abs(H);db=20*log10(mag+eps)/max(mag);pha=angle(H);gfd=grpdelay(b,a,w);4、实际低通滤波器FIR:%用海明窗设计低通滤波器wp=0.2*pi;名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 18 页 -6-ws=0.3*pi;tr_width=ws-wp;disp(海明窗设计低通滤波器参数:);M=ceil(6.6*pi/tr_width)+1;disp(滤波器的长度为,num2str(M);n=0:M-1;wc=(ws+wp)/2;%理想 LPF的截止频率hd=ideal(wc,M);w_ham=(hamming(M);h=hd.*w_ham;db,mag,pha,gfd,w=fr(h,1);delta_w=2*pi/1000;Rp=-(min(db(1:1:wp/delta_w+1);%求出实际通带波动disp(实际带通波动为,num2str(Rp);As=-round(max(db(ws/delta_w+1:1:501);%求出最小阻带衰减disp(最小阻带衰减为-,num2str(As),db);%绘图subplot(1,1,1)subplot(2,6,1)stem(n,hd);title(理想冲击响应);axis(0 M-1-0.1 0.3);ylabel(hd(n);subplot(2,6,2)stem(n,w_ham);title(海明窗);axis(0 M-1 0 1.1);ylabel(w(n);subplot(2,6,7)名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 18 页 -7-stem(n,h);title(实际冲激响应);axis(0 M-1-0.1 0.3);xlabel(n);ylabel(h(n);subplot(2,6,8)plot(w/pi,db);title(幅度响应(db));axis(0 1-100 10);grid;xlabel(以 pi 为单位的频率);ylabel(分贝数);图(1)海明窗设计的FIR 海明窗设计低通滤波器参数:滤波器的长度为 67 实际带通波动为 0.03936 名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 18 页 -8-最小阻带衰减为-52db%用布莱克曼窗设计低通滤波器wp=0.2*pi;ws=0.3*pi;tr_width=ws-wp;disp(布莱克曼窗设计低通滤波器的参数:);M=ceil(11.0*pi/tr_width)+1;disp(滤波器的长度为,num2str(M);n=0:M-1;%理想 LPF的截止频率wc=(ws+wp)/2;hd=ideal(wc,M);w_bla=(blackman(M);h=hd.*w_bla;db,mag,pha,gfd,w=fr(h,1);delta_w=2*pi/1000;Rp=-(min(db(1:1:wp/delta_w+1);%求出实际通带波动disp(实际带通波动为,num2str(Rp);As=-round(max(db(ws/delta_w+1:1:501);%求出最小阻带衰减disp(最小阻带衰减-,num2str(As),db);%绘图subplot(2,6,3)stem(n,hd);title(理想冲击响应);axis(0 M-1-0.1 0.3);ylabel(hd(n);subplot(2,6,4)stem(n,w_bla);title(布莱克曼窗);axis(0 M-1 0 1.1);名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 18 页 -9-ylabel(w(n);subplot(2,6,9)stem(n,h);title(实际冲激响应);axis(0 M-1-0.1 0.3);xlabel(n);ylabel(h(n);subplot(2,6,10)plot(w/pi,db);title(幅度响应(db));axis(0 1-100 10);grid;xlabel(以 pi 为单位的频率);ylabel(分贝数);图(2)布莱克曼窗设计的FIR 布莱克曼窗设计低通滤波器的参数:名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 18 页 -10-滤波器的长度为 111 实际带通波动为 0.0033304 最小阻带衰减为-73db 5、技术指标比较:(1)海明窗设计低通滤波器参数:滤波器的长度为 67 实际带通波动为 0.03936 最小阻带衰减为-52db(2)布莱克曼窗设计低通滤波器的参数:滤波器的长度为 111 实际带通波动为 0.0033304 最小阻带衰减为-73db 在相同的技术指标下用布莱克曼窗设计的低通滤波器实际带通波动实际带通波动最小,最小阻带衰减,滤波器的长度最大;海明窗和凯泽窗最小阻带衰减差不多,滤波器的长度页差不多,但是海明窗实际波动小于凯泽窗;所以用布莱克曼窗用设计的 FIR 最逼近理想单位冲击响应。这三个窗设计的低通滤波器都符合要求。1.5 思考题:1.设计线性相位数字滤波器的一般步骤:(1)、给定所要求的频率响应函数Hd(jwe)以及技术指标阻带衰减和;(2)、求hd=IDTFTHd(jwe);由过渡带带宽及带阻最小衰减的要求,利用六种常见的窗函数基本参数的比较表或凯泽窗设计FIR 滤波器的经验公式,选择窗函数的形状及N的大小(一般N要通过几次试探而最后确定);(3)求得所设计的 FIR 滤波器的单位抽样响应:h(n)=hd(n)w(n),N=0,1,2,3,N-1(4)、求 Hd(jwe)=DIFTh(n),校验是否满足设计要求,如果不满足,则重新设计。名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 18 页 -11-2.窗函数有哪些指标要求?对给定指标要求的低通滤波器,理论计算所需窗函数的长度 N。答:窗函数的指标要求:主瓣宽度,旁瓣峰值。海明窗设计低通滤波器的长度为 67,凯泽窗设计低通滤波器的长度为60,布莱克曼窗设计低通滤波器的长度为 111。3.用窗函数法设计 FIR 滤波器,滤波器的过渡带宽度和阻带衰减与哪些因素有关?答:过渡带宽度与窗函数的形状和窗的宽度有关;阻带衰减只有窗函数的形状决定,不受 N的影响。4、计算理想带通滤波器单位抽样响应hd(n)时取 N为奇数和 N为偶数有没有区别?你计算时所用的方法是仅适合于N为奇数或偶数的一种还是两种都可以用?答:以海明窗为例说明:0102030405060-0.100.10.20.3理想冲击响应N=67hd(n)0102030405060-0.100.10.20.3理想冲击响应N=68hd(n)0102030405060-0.100.10.20.3理想冲击响应N=64hd(n)滤波器的长度为 67 实际带通波动为 0.03936 最小阻带衰减为 52 名师资料总结-精品资料欢迎下载-名师精心整理-第 14 页,共 18 页 -12-滤波器的长度为 68 实际带通波动为 0.036424 最小阻带衰减为 53 滤波器的长度为 64 实际带通波动为 0.068677 最小阻带衰减为 45 N 取奇偶数时,低通滤波器的幅度函数是不同的,如上图所示(海明窗设计低通滤波器 N取奇偶数时的图),通过比较,当滤波器的长度大于技术指标要求的长度时,选择偶数也是满足要求的,所以海明窗奇偶都满足。同理,N取奇偶数,选择其他的窗函数也满足设计低通滤波器的指标要求。比较所选窗长 N相同但窗形状不同对滤波器设计结果的影响以及选同一种窗函数但窗长 N不同时对滤波器设计结果的影响,将结论写在报告中。海明窗布莱克曼窗凯泽窗以海明窗设计的低通滤波器的长度N=67,用布莱克曼窗和凯泽窗设计低通滤波器滤波器的长度为67 实际带通波动0.03936 最小阻带衰减为52 滤波器的长度为67 实际带通波动0.29523 最小阻带衰减为30 滤波器的长度为67 实带通波动0.047919 最小阻带衰减为51 线性斜率beta=4.5513 以凯泽窗设计的低通滤波器的长度N=60,用布莱克曼窗和海明窗窗设计低通滤波器滤波器的长度为60 实际带通波动为0.12166 最小阻带衰减为39 滤波器的长度为60 实际带通波动为0.47079 最小阻带衰减为26 滤波器的长度为60 实际带通波动0.053711 最小阻带衰减为51 线性斜率beta=4.5513 名师资料总结-精品资料欢迎下载-名师精心整理-第 15 页,共 18 页 -13-以布莱克曼窗设计的低通滤波器的长度N=111,用凯泽窗和海明窗窗设计低通滤波器滤波器的长度为111 实际带通波动为0.02894 最小阻带衰减为59 滤波器的长度为111 实际带通波动0.0033304 最小阻带衰减为73 滤波器的长度为111 实际带通波动0.034426 最小阻带衰减为58 线性斜率beta=4.5513 结论:1、当以海明窗设计的低通滤波器的长度N,用布莱克曼窗和凯泽窗设计低通滤波器,即 N=67时,三个窗函数设计的低通滤波器中布莱克曼窗设计的不满足要求,凯泽窗设计的带通波动大于海明窗设计的低通滤波器带通波动,最小阻带衰减小于海明窗设计的低通滤波器。凯泽窗设计的结果没有用海明窗设计结果好。当 N取 67、60、111 时,用海明窗设计的低通滤波器的性能不同,通过上表比较,N也越大性能越好,满足要求,当N67时不满足设计技术指标。2、以凯泽窗设计的低通滤波器的长度N,用布莱克曼窗和海明窗窗设计低通滤波器,即 N=60时,海明窗设计的低通滤波器的最小阻带衰减不满足指标要求,布莱克曼窗设计的低通滤波器的最小阻带衰减和带通波动都不满足要。当 N取 67、60、111 时,用布莱克曼窗设计的低通滤波器的性能不同,通过上表比较,N也越大性能越好,满足要求,当N60时都满足设计技术指标。名师资料总结-精品资料欢迎下载-名师精心整理-第 16 页,共 18 页 -14-1.6 心得体会:通过运用 MATLAB 设计低通滤波器,学习了MATLAB 语言的编程以及熟悉MATLAB 软件环境,会利用 MATLAB 编写基本程序,熟悉绘制图形命令的正确使用,以及掌握 MATLAB 处理数字信号的有关命令。在命令窗口运行编写好的m文件,学习 M文件调用其他的 M文件,文件之间的调用必须满足这两个文件在一个文件夹里。学习生成常用窗函数的MATLAB 语言函数,并通过调用生成各种窗函数MATLAB 内部函数,以及编写窗函数M文件,在 figure窗口观察常用窗函数的图形。名师资料总结-精品资料欢迎下载-名师精心整理-第 17 页,共 18 页 -15-参考文献1、王华、李有军、刘建存,MATLAB 电子仿真与应用教程,国防科技大学出版社,2007 2、闻新、周露、张鸿 MATLAB 科学图形构建基础与应用,科技出版社,2002 3、程佩青,数字信号处理及应用,清华大学出版社,2009 4、王宏,MATLAB 及其在信号处理中的应用,清华大学出版社,2004 名师资料总结-精品资料欢迎下载-名师精心整理-第 18 页,共 18 页 -