收藏 分销(赏)

FIR数字滤波器的Matlab实现.doc

上传人:精*** 文档编号:2316831 上传时间:2024-05-28 格式:DOC 页数:8 大小:195KB 下载积分:6 金币
下载 相关 举报
FIR数字滤波器的Matlab实现.doc_第1页
第1页 / 共8页
FIR数字滤波器的Matlab实现.doc_第2页
第2页 / 共8页


点击查看更多>>
资源描述
______________________________________________________________________________________________________________ 第7章 FIR数字滤波器的Matlab实现 7.1 实验目的 l 学习用窗函数法设计FIR数字滤波器的原理及其设计步骤; l 学习编写数字滤波器的设计程序的方法,并能进行正确编程; l 根据给定的滤波器指标,给出设计步骤。 7.2 实验原理及实例分析 7.2.1 FIR低通数字滤波器的设计原理 如果系统的冲激响应为已知,则系统的输入/输出关系为: 对于低通滤波器,只要设计出低通滤波器的冲激响应函数,就可以由上式得到系统的输出了。假设所希望的数字滤波器的频率响应为,它是频域的周期函数,周期为2,那么它与相对应的傅立叶系数为 以为冲激响应的数字滤波器将具有频域响。 但是将作为滤波器脉冲响应有两个问题: (1) 它是无限长的,与FIP滤波器脉冲响应有限长这一前提不一致 (2) 它是非因果的, 对此,要采取以下的措施, (1) 将截短 (2)将其往右平移, 由此得到的实际频域响应,与理想频域响应相近,但不完全一致。理论证明上述现象是对进行简单截短处理的必然结果,一般称为吉布斯现象,为尽可能的减少吉布斯现象,应对进行加窗截取,即以作为FIR滤波器的系数。 常用的窗函数有矩形窗、海明窗和布莱克曼窗等。 7.2.2 用窗函数法设计FIR滤波器 Matlab设计FIR滤波器有多种方法和对应的函数,见表7-1。 表7-1 matlab设计FIR滤波器的方法和函数 方法 描述 函数 窗方法 使用窗函数和逆傅立叶变换实现 fir1,fir2,kaiserord等 多带方法 包含子带频率域 firls,remez等 最小二乘法 使用最小二乘法将整个频率域上的错误几率压缩到最小 fircls ,fircls1等 任意响应法 使用任意响应,包括非线性相位以及复滤波器 cremez等 余弦法 使用三角函数的低通响应 firrcos等 窗函数方法不仅在数字滤波器的设计中占有重要的地位,同时可以用于功率谱的估计,从根本上讲,使用窗函数的目的就是消除由无限序列的截短而引起的Gibbs现象所带来的影响。 窗函数设计线性相位FIR滤波器步骤如下: (1) 确定数字滤波器的性能要求,临界频率,滤波器单位脉冲响应长度N (2) 根据性能要求,合理选择单位脉冲响应h(n)的奇偶对称性,从而确定理想频率响应的幅频特性和相频特性 (3) 求理想单位脉冲响应,在实际计算中,可对采样,并对其求IDFT的,用代替 (4) 选择适当的窗函数w(n),根据求所需设计的FIR滤波器单位脉冲响应 (5) 求,分析其幅频特性,若不满足要求,可适当改变窗函数形式或长度N,重复上述设计过程,以得到满意的结果 FIR1.m 调用格式: a) b=fir1(N,wn) b) b=fir1(N,wn,’hign’) N为滤波器的阶次,wn是通带截止频率,其值在0~1之间,1对应抽样频率的一半;b是设计好的滤波器系数h(n)。 对于格式a),若wn是标量,则用来设计低通滤波器,若wn是1×L的向量,则用来设计带通(带阻)滤波器。其格式为: b=fir1(N,wn,’DC-1’)或b=fir1(N,wn,’DC-0’),其中,前者保证第一个带为通带,后者保证第一个带为阻带。 b)用来设计高通滤波器。 用于产生窗函数的matlab文件有如下8个: bartlett.m(巴特利特窗) blackman.m(布莱克曼窗) rectangle.m(矩形窗) hamming.m(汉明窗) hanning.m(汉宁窗) triang.m(三角窗) chebwin.m(切比雪夫窗) Kaiser.m(凯泽窗) 【实例7-1】 设计一个34阶的高通滤波器,截止频率为0.48,使用具有30dB波纹的chebyshev窗。 解:源程序如下: b=fir1(34,0.48,'high',chebwin(35,30)); freqz(b,1,512) 其响应波形如图7-1所示。 图7-1 带通FIR滤波器 【实例7-2】设计一个24阶FIR带通滤波器,通带频率。 解:源程序如下: wn=[0.35 0.65]; N=24; b=fir1(2*N,wn,'DC-0');% DC-0表示第一个带为阻带,这样设计出来的滤波器为带通滤波器。 freqz(b,1,512) 图7-2 带通FIR滤波器 【实例7-3】 设计具有下面指标的低通FIR滤波器 由于其最小阻带衰减为50dB,因此可以选择hamming窗来实现这个滤波器,因为它具有较小的过渡带。 解:MATLAB源程序为 %数字滤波器指标 wp=0.2*pi; ws=0.3*pi; tr_width=ws-wp; %通带宽度 N=ceil(6.6*pi/tr_width)+1; %滤波器长度 if rem(N,2)==0 N=N+1; end Nw=N; %滤波器长度为奇数 n=[0:1:Nw-1]; wc=(ws+wp)/2; %截止频率 alpha=(Nw-1)/2; m=n-alpha+0.00001; %如果不加0.00001,当n= alpha 时,m为0,下式分母为0,不能执行 hd=sin(wc*m)./(pi*m); %理想滤波器的冲激响应 % 生成hamming窗 w_ham=(hamming(Nw))'; % 频域图像的绘制 h=hd.*w_ham; % 滤波器实际冲激响应 freqz (h,[1]) figure(2); subplot(2,2,1),stem(n,hd);title('理想脉冲响应') axis([0 Nw-1 -0.3 0.3]);xlabel('n');ylabel('hd(n)') subplot(2,2,2),stem(n,w_ham);title('hamming窗') axis([0 Nw-1 -0.3 1.2]);xlabel('n');ylabel('w(n)') subplot(2,2,3),stem(n,h);title('实际脉冲响应') axis([0 Nw-1 -0.3 0.3]);xlabel('n');ylabel('h(n)') 其响应波形如图7-2所示。 图7-3 hamming窗函数设计FIR滤波器 【实例7-4】设带通滤波器的指标为 选择Blackman窗来实现这个滤波器。 解:MATLAB源程序为 % 数字滤波器指标 ws1=0.2*pi; wp1=0.35*pi; ws2=0.65*pi; wp2=0.8*pi; As=60; tr_width=min((wp1-ws1),(wp2-ws2)); % 过渡带带宽 N=ceil(11*pi/tr_width)+1; if rem(N,2)==0 N=N+1; end Nw=N; n=[0:1:Nw-1]; wc1=(ws1+wp1)/2; wc2=(ws2+wp2)/2; alpha=(Nw-1)/2; m=n-alpha+0.00001; %如果不加0.00001,当n= alpha 时,m为0,下式分母为0,不能执行 hd=sin(wc2*m)./(pi*m)- sin(wc1*m)./(pi*m); %理想滤波器的冲激响应 % 生成blackman窗 w_bla=(blackman(M))'; h=hd.*w_bla; % 频域图像的绘制 freqz(h,[1]) figure(2); subplot(2,2,1),stem(n,hd);title('idael impulse response') axis([0 Nw-1 -0.4 0.5]);xlabel('n');ylabel('hd(n)') subplot(2,2,2),stem(n,w_bla);title('blackman window') axis([0 Nw-1 0 1.1]);xlabel('n');ylabel('w(n)') subplot(2,2,3),stem(n,h);title('actual impulse response') axis([0 Nw-1 -0.4 0.5]);xlabel('n');ylabel('h(n)') 其响应波形如图7-4所示。 图7-4 blackman窗函数设计FIR滤波器 7.3 编程练习 1. 设计一个48阶FIR带阻滤波器,通带频率。 2.用窗函数设计一个线性相位FIR高通滤波器,并满足性能指标:通带边界频率,阻带边界频率,阻带衰减不小于40db。 提示:参考例7-3,4;首先根据阻带衰减,选择合适的窗函数,见课本P342,表7-3。再根据P345,式7-74写出理想滤波器的冲激响应hd 。 Welcome To Download !!! 欢迎您的下载,资料仅供参考! 精品资料
展开阅读全文

开通  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 

客服