用窗函数法设计FIR数字低通滤波器要点.pdf

上传人:tbuqq 文档编号:5219264 上传时间:2020-02-25 格式:PDF 页数:18 大小:351.74KB
返回 下载 相关 举报
用窗函数法设计FIR数字低通滤波器要点.pdf_第1页
第1页 / 共18页
用窗函数法设计FIR数字低通滤波器要点.pdf_第2页
第2页 / 共18页
用窗函数法设计FIR数字低通滤波器要点.pdf_第3页
第3页 / 共18页
用窗函数法设计FIR数字低通滤波器要点.pdf_第4页
第4页 / 共18页
用窗函数法设计FIR数字低通滤波器要点.pdf_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《用窗函数法设计FIR数字低通滤波器要点.pdf》由会员分享,可在线阅读,更多相关《用窗函数法设计FIR数字低通滤波器要点.pdf(18页珍藏版)》请在三一文库上搜索。

1、- 河北科技大学 课程设计报告 学生姓名:学 号: 专业班级: 课程名称: 学年学期 指导教师: 20 年月 课程设计成绩评定表 学生姓名学号成绩 专业班级起止时间 设计题目 指 导 教 师 评 语 指导教师: 年月日 目录 1. 窗函数设计低通滤波器 1.1 设计目的1 1.2 设计原理推导与计算1 1.3 设计内容与要求2 1.4 设计源程序与运行结果3 1.5 思考题 10 1.6 心得体会 14 参考文献 15 - 1 - 1. 窗函数设计低通滤波器 1.1 设计目的 1. 熟悉设计线性相位数字滤波器的一般步骤。 2. 掌握用窗函数法设计FIR 数字滤波器的原理和方法。 3. 熟悉各种

2、窗函数的作用以及各种窗函数对滤波器特性的影响。 4. 学会根据指标要求选择合适的窗函数。 1.2 设计原理推导与计算 如果所希望的滤波器的理想的频率响应函数为 j d eH,则其对应的单位脉 冲响应为 deeHnh jj dd 2 1 (4.1 ) 窗函数设计法的基本原理是设计设计低通FIR 数字滤波器时,一般以理想低 通滤波特性为逼近函数 j eH,即 c c j j d , ,e eH 0 , 其中 2 1N an an deedeeHnh cjjjj dd c c sin 2 1 2 1 用有限长单位脉冲响应序列nh逼近nhd。由于nhd往往是无限长序列, 而且是非因果的,所以用窗函数n

3、 将nhd截断,并进行加权处理,得到: nnhnh d (4.2 ) nh就作为实际设计的FIR 数字滤波器的单位脉冲响应序列, 其频率响应函 数 j eH为 nj N n j enheH 1 0 (4.3 ) 式中, N为所选窗函数n的长度。 用窗函数法设计的滤波器性能取决于窗函数n的类型及窗口长度N的取 - 2 - 值。设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数 类型和窗口长度 N 。各种类型的窗函数可达到的阻带最小衰减和过渡带宽度见 表(一) 。 窗函数 旁瓣峰值 幅度/dB 过 渡带宽 阻带最小 衰减/dB 过渡带带 宽 N 2 矩形窗-13 4 /N -12

4、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之后,求出单位脉冲响应nnhnh d , 并按照式( 4.3 )求出 j eH。 j eH是否满足要求,如果 j eH不满足要求, 则要重新选择窗函数类型和长度N ,再次验算,直至满足要求。 1.3 设计内容与要求 (一)设计要求 : 1. 学会计算滤波器各项性能指标及如何来满足给定的指标要求。 2. 用 M

5、ATLAB 语言编程实现给定指标要求的滤波器的设计。 3. 熟悉 MATLAB 语言,独立编写程序。 4. 设计低通 FIR 滤波器的指标: - 3 - 通带最大波动 0.25, p RdB , 0.2 p 阻带最小衰减 50, s AdB , 0.3 s (二)、设计内容 : 1. 熟悉各种窗函数 , 在 MATLAB 命令窗下浏览各种窗函数, 绘出(或打印) 所 看到的窗函数图。 2. 编写计算理想低通滤波器单位抽样响应hd(n) 的 m函数文件 ideal.m 。 3. 编写计算 N阶差分方程所描述系统频响函数() j H e 的 m函数文件 fr.m 。 4. 根据指标要求选择窗函数的

6、形状与长度N 。(至少选择两种符合要求的窗 函数及其对应的长度)。 5. 编写.m程序文件,通过调用ideal.m 和 fr m文件,计算你设计的实际 低通 FIR 滤波器的单位抽样响应h(n) 和频率响应() j H e,打印在频率区间 O, 上的幅频响应特性曲线() j H e,幅度用分贝表示。 6. 验证所设计的滤波器是否满足指标要求。 1.4 设计的源程序及运行结果: 1、利用 MATLAB 窗口观察各种窗函数: % 巴特利特窗 w=bartlett(20); subplot(3,2,1); plot(w); stem(w,y);%y表示黄色 %stem表示以离散图输出 title(巴

7、特利特床窗 ); 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(矩形窗 ); - 4 - xlabel(n); ylabel(w(n); % 海明窗 w=hamming(20); plot(w); stem(w,m);%m表示紫色

8、 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); 05101520 0 0.5 1 巴 特 利 特 床 窗 n w

9、( n ) 05101520 0 0.5 1 布 莱 克 曼 窗 n w ( n ) 05101520 0 0.5 1 矩 形 窗 n w ( n ) 05101520 0 0.5 1 海 明 窗 n w ( n ) 05101520 0 0.5 1 汉 宁 窗 n w ( n ) 05101520 0 0.5 1 凯 泽 窗 ,beta=5.6533 n w ( n ) 常用窗函数的图形 2、理想低通滤波器单位抽样响应hd(n) 的 m函数文件 ideal.m 。 - 5 - function hd=ideal(wc,M) % 理想低通滤波器计算 %hd为 0到 M-1之间的理想脉冲响应 %

10、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,100

11、0,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; - 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=i

12、deal(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(理想冲击响应 ); a

13、xis(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) - 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 为单位的频率 ); y

14、label(分贝数 ); 图( 1)海明窗设计的FIR 海明窗设计低通滤波器参数: 滤波器的长度为 67 实际带通波动为 0.03936 - 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

15、_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

16、(n,w_bla); title(布莱克曼窗 ); axis(0 M-1 0 1.1); - 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 布莱克曼窗设计低通滤波器的参数: - 10

17、- 滤波器的长度为 111 实际带通波动为 0.0033304 最小阻带衰减为 -73db 5、技术指标比较: (1)海明窗设计低通滤波器参数: 滤波器的长度为 67 实际带通波动为 0.03936 最小阻带衰减为 -52db (2)布莱克曼窗设计低通滤波器的参数: 滤波器的长度为 111 实际带通波动为 0.0033304 最小阻带衰减为 -73db 在相同的技术指标下用布莱克曼窗设计的低通滤波器实际带通波动实际带 通波动最小, 最小阻带衰减, 滤波器的长度最大; 海明窗和凯泽窗最小阻带衰减 差不多,滤波器的长度页差不多, 但是海明窗实际波动小于凯泽窗;所以用布莱 克曼窗用设计的 FIR 最

18、逼近理想单位冲击响应。 这三个窗设计的低通滤波器都符 合要求。 1.5 思考题 : 1. 设计线性相位数字滤波器的一般步骤: (1) 、给定所要求的频率响应函数Hd( jw e)以及技术指标阻带衰减和; (2) 、求hd=IDTFTHd( jw e); 由过渡带带宽及带阻最小衰减的要求,利用六种常见的窗函数基本参数的比 较表或凯泽窗设计FIR 滤波器的经验公式, 选择窗函数的形状及N的大小(一般 N要通过几次试探而最后确定) ; (3)求得所设计的 FIR 滤波器的单位抽样响应: h(n)=hd(n)w(n),N=0,1,2,3,N-1 (4) 、求 Hd( jw e)=DIFTh(n),校验

19、是否满足设计要求,如果不满足,则重 新设计。 - 11 - 2. 窗函数有哪些指标要求 ?对给定指标要求的低通滤波器, 理论计算所需窗 函数的长度 N。 答: 窗函数的指标要求: 主瓣宽度, 旁瓣峰值。 海明窗设计低通滤波器的长 度为 67,凯泽窗设计低通滤波器的长度为60,布莱克曼窗设计低通滤波器的长 度为 111。 3. 用窗函数法设计 FIR 滤波器,滤波器的过渡带宽度和阻带衰减与哪些因 素有关? 答:过渡带宽度与窗函数的形状和窗的宽度有关;阻带衰减只有窗函数的 形状决定,不受 N的影响。 4、计算理想带通滤波器单位抽样响应hd(n) 时取 N为奇数和 N为偶数有没 有区别?你计算时所用

20、的方法是仅适合于N为奇数或偶数的一种还是两种都可 以用? 答: 以海明窗为例说明: 0102030405060 -0.1 0 0.1 0.2 0.3 理想冲击响应N=67 h d (n ) 0102030405060 -0.1 0 0.1 0.2 0.3 理想冲击响应N=68 h d (n ) 0102030405060 -0.1 0 0.1 0.2 0.3 理想冲击响应N=64 h d ( n ) 滤波器的长度为 67 实际带通波动为 0.03936 最小阻带衰减为 52 - 12 - 滤波器的长度为 68 实际带通波动为 0.036424 最小阻带衰减为 53 滤波器的长度为 64 实际带

21、通波动为 0.068677 最小阻带衰减为 45 N 取奇偶数时,低通滤波器的幅度函数是不同的,如上图所示(海明窗设 计低通滤波器 N取奇偶数时的图) ,通过比较, 当滤波器的长度大于技术指标要 求的长度时,选择偶数也是满足要求的,所以海明窗奇偶都满足。同理,N取奇 偶数,选择其他的窗函数也满足设计低通滤波器的指标要求。 比较所选窗长 N相同但窗形状不同对滤波器设计结果的影响以及选同一种 窗函数但窗长 N不同时对滤波器设计结果的影响,将结论写在报告中。 海明窗布莱克曼窗凯泽窗 以海明窗设计的低通 滤波器的长度N=67, 用布莱克曼窗和凯泽 窗设计低通滤波器 滤波器的长度为67 实际带通波动0.

22、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 - 13 - 以布莱克曼窗设计的 低通滤波器的长度 N=111 ,用凯泽窗

23、和海 明窗窗设计低通滤波 器 滤波器的长度为111 实际带通波动为0.02894 最小阻带衰减为59 滤波器的长度为111 实际带通波动0.0033304 最小阻带衰减为73 滤波器的长度为111 实际带通波动0.034426 最小阻带衰减为58 线性斜率beta=4.5513 结论: 1、当以海明窗设计的低通滤波器的长度N,用布莱克曼窗和凯泽窗设计低 通滤波器,即 N=67时,三个窗函数设计的低通滤波器中布莱克曼窗设计的不满 足要求,凯泽窗设计的带通波动大于海明窗设计的低通滤波器带通波动,最小阻 带衰减小于海明窗设计的低通滤波器。凯泽窗设计的结果没有用海明窗设计结果 好。 当 N取 67 、

24、60、111 时,用海明窗设计的低通滤波器的性能不同,通过上 表比较, N也越大性能越好,满足要求,当N60时都满足设计技术指标。 - 14 - 1.6 心得体会: 通过运用 MATLAB 设计低通滤波器,学习了MATLAB 语言的编程以及熟悉 MATLAB 软件环境,会利用 MATLAB 编写基本程序, 熟悉绘制图形命令的正确使用, 以及掌握 MATLAB 处理数字信号的有关命令。在命令窗口运行编写好的m文件, 学习 M文件调用其他的 M文件, 文件之间的调用必须满足这两个文件在一个文件 夹里。 学习生成常用窗函数的MATLAB 语言函数,并通过调用生成各种窗函数 MATLAB 内部函数,以及编写窗函数M文件,在 figure窗口观察常用窗函数的图 形。 - 15 - 参考文献 1、王华、李有军、刘建存, MATLAB 电子仿真与应用教程,国防科技大学出 版社 ,2007 2、闻新、周露、张鸿 MATLAB 科学图形构建基础与应用,科技出版社,2002 3、程佩青,数字信号处理及应用,清华大学出版社,2009 4、王宏, MATLAB 及其在信号处理中的应用,清华大学出版社,2004

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1