收藏 分销(赏)

实验四-用窗函数设计FIR滤波器.doc

上传人:精**** 文档编号:2558488 上传时间:2024-05-31 格式:DOC 页数:17 大小:498.04KB 下载积分:8 金币
下载 相关 举报
实验四-用窗函数设计FIR滤波器.doc_第1页
第1页 / 共17页
实验四-用窗函数设计FIR滤波器.doc_第2页
第2页 / 共17页


点击查看更多>>
资源描述
实验四 用窗函数设计FIR滤波器 ———————————————————————————————— 作者: ———————————————————————————————— 日期: 17 个人收集整理 勿做商业用途 实验四 用窗函数设计FIR滤波器 姓 名: 刘竟伦 班 级: 11电子A 学 号: 1115105037 日 期 2014 年 3月25日 指导老师 戴在平 华侨大学信息科学与工程学院电子工程系 一、实验目的 1.熟悉FIR滤波器设计的基本方法。 2.掌握用窗函数设计FIR数字滤波器的原理及方法,熟悉相应的计算机高级语言编程。 3。熟悉线性相位FIR滤波器的幅频特性和相位特性. 4.了解各种不同窗函数对滤波器性能的响应。 二、实验原理与方法 (一)FIR滤波器的设计 目前FIR滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法.常用的是窗函数法和切比雪夫等波纹逼近的最优化设计方法.本实验中的窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求不高的时候是比较灵活方便的。它是从时域出发,用一个窗函数截取理想的得到h(n),以有限长序列h(n)近似理想的;如果从频域出发,用理想的在单位圆上等角度取样得到H(k),根据h(k)得到H(z)将逼近理想的,这就是频率取样法。 (二)窗函数设计法 同其它的数字滤波器的设计方法一样,用窗函数设计滤波器也是首先要对滤波器提出性能指标。一般是给定一个理想的频率响应,使所设计的FIR滤波器的频率响应去逼近所要求的理想的滤波器的相应。窗函数法设计的任务在于寻找一个可实现(有限长单位脉冲响应)的传递函数。 去逼近.我们知道,一个理想的频率响应的傅理叶变换 所得到的理想单位脉冲响应往往是一个无限长序列。对经过适当的加权、截断处理才得到一个所需要的有限长脉冲响应序列.对应不同的加权、截断,就有不同的窗函数.所要寻找的滤波器脉冲响应就等于理想脉冲响应和窗函数的乘积.即,由此可见,窗函数的性质就决定了滤波器的品质. 以下是几种常用的窗函数: 1.矩形窗: 2.Hanning窗: 3.Hamming窗: 4。Blackman窗: 5.Kaiser窗: 窗函数法设计线性相位FIR滤波器可以按如下步骤进行: 1.确定数字滤波器的性能要求。确定各临界频率{}和滤波器单位脉冲响应长度N。 2.根据性能要求和N值,合理地选择单位脉冲响应h(n)有奇偶对称性,从而确定理想频率响应的幅频特性和相位特性。 3.用傅里叶反变换公式,求得理想单位脉冲响应。 4.选择适当的窗函数W(n)根据式求得所设计的FIR滤波器单位脉冲响应。 5.用傅理叶变换求得其频率响应,分析它的幅频特性,若不满足要求,可适当改变窗函数形式或长度N,重复上述过程,直至得到满意的结果。 三、实验内容及步骤 1. 实验原理与方法 如果所希望的滤波器的理想频率响应函数为Hd(e jω), 则其对应的单位脉冲响应为 (10。6。1) 用窗函数w(n)将hd(n)截断, 并进行加权处理, 得到: (10。6。2) h(n)就作为实际设计的FIR数字滤波器的单位脉 冲响应序列, 其频率响应函数H(e jω)为 (10。6。3) 如果要求线性相位特性, 则h(n)还必须满足: 根据上式中的正、 负号和长度N的奇偶性又将线性相位FIR滤波器分成四类。 要根据所设计的滤波特性正确选择其中一类。 例如, 要设计线性相位低通特性, 可选择h(n)=h(N—1—n)一类, 而不能选h(n)=—h(N-1—n)一类. 3. 实验内容及步骤 (1) 复习用窗函数法设计FIR数字滤波器一节内容, 阅读本实验原理, 掌握设计步骤。 (2) 编写程序. ① 编写能产生矩型窗、 升余弦窗、 改进升余弦窗和二阶升余弦窗的窗函数子程序。 ② 编写主程序. 主程序框图如图 10。6。1 所示, 仅供参考。 其中幅度特性要求用dB表示。 图10.6。1 用窗函数法设计滤波器主程序框图 设: 实验内容: 4、实验程序运行结果: 运行程序,根据实验内容要求和程序提示选择你要进行的实验参数.三个实验参数选定后,程序运行输出用所选窗函数设计的实际FIR低通数字滤波器的单位脉冲响应h(n)、幅频衰减特性(20lg|H(ejw)|)、相频特性及幅频特性|H(ejw)|的波形,h(n)和|H(ejw)|图中标出了所选窗函数类型及其长度N值。对四种窗函数(N=15和N=33)的程序运行结果如图4-2到图4-9所示,由图可以看出用各种窗函数设计的FIR滤波器的阻带最小衰减及过渡带均与教材中一致。在通带内均为严格相位特性。 首先我们选择N=15,截止频率选择pi ,选择矩形窗。 接下来我们尝试着把N改为30,截止频率改为2。5,选用Hanning窗: N=15时的汉宁窗 N=15时的blackman窗 四、思考题 (1) 如果给定通带截止频率和阻带截止频率以及阻带最小衰减, 如何用窗函数法设计线性相位低通滤波器? 写出设计步骤。 答:将模拟频率转换成数字频率,确定理想滤波器 的特性;由 求出 ;选择适当的窗函数,并根据线性相位条件确定窗函数的长度N;在MATLAB中,可由w=boxcar(N)(矩形窗)、w=hanning(N)(汉宁窗)、w=hamming(N)(汉明窗)、w=Blackman(N)(布莱克曼窗)、w=Kaiser(N,beta)(凯塞窗)等函数来实现窗函数设计法中所需的窗函数。由h(n)= (n)。w(n), 0≤n≤ N-1,得出单位脉冲响应h(n). ① 首先确定模拟带通滤波器的技术指标。 ② 确定归一化低通技术要求 ③ 设计归一化低通 ④ 将低通转化为带通 (2) 如果要求用窗函数法设计带通滤波器, 且给定上、 下边带截止频率为ω1和ω2,试求理想带通的单位脉冲响应hd(n). 答:我们可以利用实验中的ideal函数来产生所需的单位脉冲响应h(n). function hd=ideal(w,N);alpha=(N-1)/2;n=[0:(N-1)];m=n—alpha+eps;hd=sin(w*m)./(pi*m); 五、附录: 1、实验子程序(ideal) function hd=ideal(w,N); alpha=(N-1)/2; n=[0:(N—1)]; m=n—alpha+eps; hd=sin(w*m)。/(pi*m); 2、matlab源程序: b=1; close all; i=0; while(b); temp=menu(’选择窗函数长度N’,'N=10',’N=15','N=20','N=25’,'N=30','N=33’,’N=35’,'N=40','N=45’,'N=50’,'N=55’,'N=60','N=64'); menu1=[10,15,20,25,30,33,35,40,45,50,55,60,64]; N=menu1(temp); temp=menu('选择逼近理想低通滤波器截止频率Wc’,’Wc=pi/4',’Wc=pi/2',’Wc=3*pi/4',’Wc=pi',’Wc=0。5’,’Wc=1。0','Wc=1.5’,'Wc=2.0’,'Wc=2。5’,’Wc=3。0’); menu2=[pi/4,pi/2,3*pi/4,pi,0.5,1,1。5,2,2.5,3]; w=menu2(temp); n=[0:(N—1)]; hd=ideal(w,N); %得到理想低通滤波器 k=menu(’请选择窗口类型:’,’boxcar’,’hamming’,'hanning’,’blackman'); if k==1 B=boxcar(N); string=[’Boxcar’,’N=',num2str(N)]; else if k==2 B=hamming(N); string=[’Hamming’,'N=',num2str(N)]; else if k==3 B=hanning(N); string=[’Hanning’,’N=',num2str(N)]; else if k==4 B=blackman(N); string=['Blackman’,’N=',num2str(N)]; end end end end h=hd.*(B)’; %得到FIR数字滤波器 [H,m]=freqz(h,[1],1024,’whole’); %求其频率响应 mag=abs(H); %得到幅值 db=20*log10((mag+eps)/max(mag)); pha=angle(H); %得到相位 i=i+1; figure(i) subplot(2,2,1); n=0:N-1; stem(n,h,'.’); axis([0,N-1,-0.1,0。3]); hold on; n=0:N—1; x=zeros(N); plot(n,x,'—’); xlabel(’n'); ylabel(’h(n)'); title(’实际低通滤波器的h(n)’); text((0.3*N),0.27,string); hold off; subplot(2,2,2); plot(m/pi,db); axis([0,1,-100,0]); xlabel(’w/pi’); ylabel(’dB'); title(’衰减特性(dB)’); grid; subplot(2,2,3); plot(m,pha); hold on; n=0:7; x=zeros(8); plot(n,x,’-'); title('相频特性’); xlabel('频率(rad)'); ylabel('相位(rad)’); axis([0,3.15,—4,4]); subplot(2,2,4); plot(m,mag); title('频率特性’); xlabel('频率W(rad)’); ylabel(’幅值’); axis([0,3。15,0,1。5]); text(0.9,1。2,string); b=menu(’Do You want To Continue ?’,’Yes’,’No'); if b==2 b=0; end end temp=menu(’Close All Figure ?’,'Yes’,’No'); if temp==1 close all end
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服