ImageVerifierCode 换一换
格式:DOCX , 页数:64 ,大小:575.29KB ,
资源ID:19894428      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19894428.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(FIR滤波器设计Word下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

FIR滤波器设计Word下载.docx

1、具有光滑、正弦过渡带的低通滤波器设计Fircos7.1.2 FIR数字滤波器滤波函数相对于IIR 滤波器的滤波函数,FIR数字滤波器滤波函数除了dimpulse和dstep仅适用于IIR滤波器外,其他各种函数可直接应用于FIR滤波器,只是输入的分母多项式向量a=1。另外,MATLAB还提供了一个函数fftfilt,该函数利用效率高的基于FFT算法实现对数据的滤波,该函数只适用于FIR滤波器,调用形式为:y=fftfilt(b,x,n)式中,b为FIR滤波器的系数向量;x为输入数据;n为FFT长度,缺省时,函数选用最佳的FFT长度,y为滤波器的输出。该函数执行下面的操作:n=length(x);

2、y=ifft(fft(x).*fft(b,n)./fft(a,n);应注意,y=fftfilt(b,x)等价于y=filter(b,a,x)。7.2 FIR滤波器的窗函数设计7.2.1 窗函数的基本原理FIR滤波器设计的主要任务是根据给定的性能指标确定滤波器的系数b,即系统单位脉冲序列h(n),它是一个有限长序列。FIR滤波器的理想频率响应,可写成复数形式的Fourier级数形式: (7-4)式中,hd(n)是对应的单位脉冲响应序列。这说明滤波器的频率响应和单位脉冲响应互为Fourier变换对。因此其单位脉冲响应可由下式求得, (7-5)求得序列后,通过z变换,可得到 (7-6)注意,这里为无

3、限长序列,因此是物理上不可实现的。如何变成物理上可实现呢?一个自然的想法是只取其中的某些项,即只截取中的一部分,比如n=0,N-1,N为正整数。这种处理相当于将,n=-与函数w(n)相乘,w(n)具有下列形式:w(n)相当于一个矩形,我们称之为矩形窗。即我们可采用矩形窗函数w(n)将无限脉冲响应截取一段h(n)来近似为,这种截取在数学上表示为: h(n)= w(n) (7-7)这里应该强调的是,加窗函数不是可有可无的,而是将设计变为物理可实现所必须的。截取之后的滤波器传递函数变为: (7-8)式中,N为窗口宽度,H(z)是物理可实现系统。为了获得线性相位,FIR滤波器h(n)必须满足中心对称条

4、件(即7-3式),序列h(n)的延迟为。这种方法的基本原理是用一定宽度的矩形窗函数截取无限脉冲响应序列获得有限长的脉冲响应序列,从而得到FIR滤波器的脉冲响应,故称为FIR滤波器的窗函数设计法。经过加矩形窗后所得的滤波器实际频率响应能否很好地逼近理想频率响应呢?图 7-1 示意给出了理想滤波器加矩形窗后的情况。理想低通滤波器的频率响应如图中左上角图,矩形窗的频率响应为左下角图。时间域内的乘积(7-7)式要求实际频率响应为这两个频率响应函数在频域内的卷积(卷积定理),即得到图形为图7-1(右图)。图 7-1 FIR滤波器理想与实际频率响应由图可看出,加矩形窗后使实际频率响应偏离理想频率响应,主要

5、影响有三个方面:(1)理想幅频特性陡直边缘处形成过渡带,过渡带宽取决于矩形窗函数频率响应的主瓣宽度。(2)过渡带两侧形成肩峰和波纹,这是矩形窗函数频率响应的旁瓣引起的,旁瓣相对值越大,旁瓣越多,波纹越多。(3)随窗函数宽度N的增大,矩形窗函数频率响应的主瓣宽度减小,但不改变旁瓣的相对值。为了改善FIR滤波器性能,要求窗函数的主瓣宽度尽可能窄,以获得较窄的过渡带;旁瓣相对值尽可能小,数量尽可能少,以获得通带波纹小,阻带衰减大,在通带和阻带内均平稳的特点,这样可使滤波器实际频率响应更好地逼近理想频率响应。这里我们明确两个概念:截断和频谱泄漏。信号是无限长的,而在进行信号处理时只能采取有限长信号,所

6、以需要将信号“截断”。在信号处理中, “截断”被看成是用一个有限长的“窗口”看无限长的信号,或者从分析的角度是无限长的信号x(t)乘以有限长的窗函数w(t)。由傅立叶变换性质可知,时间域内的乘积对应于频率域的卷积,即 (7-9)这里,x(t)是频宽有限信号,而w(t)是频宽无限信号,表示互为Fourier变换对。截断后的信号也必须是频宽无限信号,这样就是有限频带的信号分散到无限频带中去,这样就产生了所谓频谱泄漏。从能量的角度来看,频谱泄漏也是能量的泄漏,因为加窗后使原来信号集中的窄频带内的能量分散到无限的频带宽度范围内。频谱泄漏是不可避免的,但要尽量减小。上边只考虑了矩形窗,如果我们使窗的主瓣

7、宽度尽可能地窄,旁瓣尽可能地小,可以获得性能更好的滤波器,能否改变窗的形状而达到这个目的呢?回答是肯定的。其实数字信号处理的前驱者们设计了不同于矩形窗的很多窗函数,这些窗函数在主瓣和旁瓣特性方面各有特点,可满足不同的要求。为此,用窗函数法设计FIR数字滤波器时,要根据给定的滤波器性能指标选择窗口宽度N和窗函数w(n)。下面我们介绍窗函数。7.2.2 MATLAB信号处理中提供的窗函数(1)矩形窗:前面分析中所用的矩形窗可用下面函数来实现w=boxcar (N),N 为窗的长度(以下函数与此同),w为返回的窗函数序列。(2)汉宁窗:w=hanning(N)汉宁窗的表达式为: (7-10)(3)哈

8、明窗:w=hamming(N)哈明窗的表达式为: (7-11)(4)Bartlett窗:w=bartlett(N)Bartlett 窗的表达式为:当 N 为奇数时, (7-12)当 N 为偶数时, (7-13)(5) Blackman 窗:w= blackman(N)Blackman 窗的表达式为: (7-14)Blackman 窗比其他相同尺寸窗 (哈明窗,汉宁窗) 具有主瓣较宽和旁瓣泄漏较小的特点。(6)三角窗:w=triang(N)三角窗的表达式为: (7-15) (7-16)三角窗和Bartlett窗十分类似。三角窗的两端值不为零,而Bartlett窗则为零,这一点可从例7-1中看出。

9、(7)Kaiser窗:w=kaiser(n,beta)其中,beta是Kaiser窗参数,影响窗旁瓣幅值的衰减率。Kaiser窗表达式: (7-17)式中, I0.是修正过的零阶 Bessel 函数。Kaiser窗用于滤波器设计时,若旁瓣幅值为,则 ( 7-18 )(8) Chebyshev窗:w=chebwin(n,r)式中, r 是窗口的旁瓣幅值在主瓣以下的分贝数。Chebyshev窗具有主瓣宽度最小,而旁瓣等高,高度可调整的特点。下面我们在MATLAB观看各种窗函数的形状和频率域图象来验证上述所讲特点。【例7-1】 用MATLAB编程绘制各种窗函数的形状。窗函数的长度为21。%Samp7

10、_1clfNwin=21;n=0:Nwin-1; %数据总数和序列序号figure(1)for ii=1:4 switch ii case 1 w=boxcar(Nwin); %矩形窗 stext=矩形窗; case 2 w=hanning(Nwin); %汉宁窗汉宁窗 case 3 w=hamming(Nwin); %哈明窗哈明窗 case 4 w=bartlett(Nwin); %Bartlett窗Bartelett窗 end posplot=2,2, int2str(ii); %指定绘制窗函数的图形位置 subplot(posplot); stem(n,w); %绘出窗函数 hold o

11、n plot (n ,w,r); %绘制包络线 xlabel(n ylabel(w(n) title(stext); hold off; grid onendfigure(2) w=blackman(Nwin); %Blackman 窗Blackman窗 w=triang(Nwin); %三角窗三角窗 w=kaiser(Nwin,4); %Kaiser窗Kaiser窗(Beta=4) w=chebwin(Nwin,40); %Chebyshev 窗Chebyshev窗(r=40) plot (n,w, %绘出包络线ylabel(title(stext);grid on;程序运行结果见图 7-2

12、 。可以看到各种窗函数的形状。图 7-2 各种窗函数的时间域形状【例 7-2】 用 MATLAB 编程,采用512个频率点绘制各种窗函数的幅频特性。%Samp7_2clf;Nf=512; %窗函数复数频率特性的数据点数Nwin=20; %窗函数数据长度 w=hamming (Nwin); % Bartlett窗 y,f=freqz(w,1,Nf); %求解窗函数的幅频特性,窗函数相当于一个数字滤波器 mag=abs(y);%求得窗函数幅频特性 plot(f/pi,20* log10(mag/max(mag); %绘制窗函数的幅频特性归一化频率振幅/dB %以 Nf点数求解窗函数的幅频响应 %求

13、得窗函数幅频响应plot(f/pi,20* log10(mag/max(mag); %绘制幅频响应程序运行结果见图 7-3 。可以看到各种窗函数的幅频形状。对照该图可知这些窗函数具有上面所分析的窗函数的特征。图 7-3 各种窗函数的幅频形状由图 7-3 可见,各种窗函数都具有明显的主瓣(Mainlobe)和旁瓣(Sidelobe)。主瓣频宽和旁瓣的幅值衰减特性决定了窗函数的应用场合。矩形窗具有最窄的主瓣,但也有最大的旁瓣峰值(第一旁瓣衰减为 13 dB);Blackman窗具有最大的旁瓣衰减,但也具有最宽的主瓣宽度。不同窗函数在这两方面的特点是不同的,因此应根据具体的问题进行选择。通常来讲,哈

14、明窗和汉宁窗的主瓣具有较小的旁瓣和较大的衰减速度,是较为常用的窗函数。表7-2总结了各种窗函数主瓣和旁瓣的特征(理论分析可参考其他的数字信号处理教材),大家可对照窗函数的幅频形状(图7-3)认真理解体会。表7-2 各种窗函数的特点窗函数主瓣宽第一旁瓣相对主瓣衰减(分贝)矩形窗-13汉宁窗-31哈明窗-41Bartlett窗-25Blackman 窗-57三角窗Kaiser窗可调整Chebyshev 窗主旁瓣频率宽度还与窗函数长度N有关。增加窗函数长度N将减小窗函数的主瓣宽度,但不能减小旁瓣幅值衰减的相对值(分贝数),这个值是由窗函数决定的。这个特点可由下面的例子清楚地看出。【例7-3】绘制矩形

15、窗函数的幅频响应,窗长度分别为:(1)N=10;(2)N=20; (3)N=50;(4)N=100.%Samp7_3 Nwin=10; Nwin=20; Nwin=50; case 4 Nwin=100; %用不同的窗长度求得复数频率特性 %求得幅频特性 %指定绘图位置 plot (f/pi,20*log10(mag/max(mag); %绘出幅频形状 stext=N= int2str(Nwin); %给出标题,指出所用的数据个数图 7-4 数据长度不同的矩形窗的幅频形状程序运行结果见图7-4。显然,随着N的增大,主瓣和旁瓣都变窄,但第一旁瓣相对主瓣的幅值下降分贝数相同,第二旁瓣相对第一旁瓣幅

16、值下降的分贝数也相同。这样,随着N的增大,旁瓣也得到抑制,有力地减少了频谱泄漏,但不能完全消除。减少主瓣宽度和抑制旁瓣是一对矛盾,不可兼得,只能根据不同用途折衷处理。7.2.3 运用窗函数设计数字滤波器用于信号分析中的窗函数可根据用户的不同要求选择。用于滤波器的窗函数,一般要求窗函数的主瓣宽度窄,以获得较好的过渡带;旁瓣相对值尽可能少,增加通带的平稳度和增大阻带的衰减。基于窗函数的FIR数字滤波器设计的算法十分简单,其主要步骤为:(1)对滤波器理想频域幅值响应进行傅立叶逆变换获得理想滤波器的单位脉冲响应hd(n)。一般假定理想低通滤波器的截止频率为,其幅频特性满足 (7-19)则根据傅立叶逆变

17、换,单位脉冲响应为: (7-20)其中,为信号延迟。(2)由性能指标(阻带衰减的分贝数)根据表7-2第3列的值确定满足阻带衰减的窗函数类型w(n)。滤波器的阶数越高,滤波器的幅频特性越好,但数据处理的费用也越高,因此像IIR滤波器一样,FIR滤波器也要确定满足性能指标的滤波器最小阶数。由前面的讨论(图7-1)可知,滤波器的主瓣宽度相当于过渡带宽,因此,使过渡带宽近似于窗函数主瓣宽(表7-2中的第二列)可求得满足性能指标的窗口长度N,此时,信号延迟为(N-1)/2。(3)求实际滤波器的单位脉冲响应h(n):根据h(n)=hd(n)*w(n)。(4)检验滤波器的性能。可设定一些信号采用 7.1.2

18、 节指出的函数或6.3.2节所给的函数进行滤波。下面采用实例说明如何根据上面步骤设计FIR滤波器。【例 7-4】 用窗函数设计一个线性相位FIR低通滤波器,并满足性能指标:通带边界的归一化频率wp=0.5,阻带边界的归一化频率ws=0.66,阻带衰减不小于30dB,通带波纹不大于3dB。假设一个信号,其中f1=5Hz,f2=20Hz。信号的采样频率为50Hz。试将原信号与通过滤波器的信号进行比较。由题意,阻带衰减不小于30dB,根据表7-2,选取汉宁窗,因为汉宁窗的第一旁瓣相对主瓣衰减为31dB,满足滤波要求。在窗函数设计法中,要求设计的频率归一化到0区间内,Nyquist频率对应于,因此通带

19、和阻带边界频率为0.5和0.66程序如下%Samp7_4wp=0.5*pi;ws=0.66*pi; %滤波器边界频率wdelta=ws-wp; %过渡带宽N=ceil(8*pi/wdelta) %根据过渡带宽等于表 7-2中汉宁窗函数主瓣宽求得滤波器所用窗函数的最小长度Nw=N;wc=(wp+ws)/2; %截止频率在通带和阻带边界频率的中点N-1;alpha=(N-1)/2; %求滤波器的相位延迟m=n-alpha+eps; %eps为MATLAB系统的精度hd=sin(wc*m)./(pi*m); %由(7-20)式求理想滤波器脉冲响应win=hanning(Nw); %采用汉宁窗h=hd

20、.*win %在时间域乘积对应于频率域的卷积b=h;H,f=freqz(b,1,512,50); %采用 50 Hz 的采样频率绘出该滤波器的幅频和相频响应subplot(2,1,1),plot(f,20*log10(abs(H)xlabel(频率/Hzsubplot(2,1,2),plot(f,180/pi*unwrap(angle(H)相位/o%impz(b,1); %可采用此函数给出滤波器的脉冲响应%zplane(b,1); %可采用此语句给出滤波器的零极点图%grpdelay(b,1); %可采用此函数给出滤波器的群延迟f1=3;f2=20; %检测输入信号含有两种频率成分dt=0.0

21、2; t=0:dt:3; %采样间隔和检测信号的时间序列x=sin(2*pi*f1* t)+cos(2* pi*f2* t); %检测信号%y=filter(b,1,x); %可采用此函数给出滤波器的输出y=fftfilt(b,x); %给出滤波器的输出subplot(2,1,1), plot(t,x),title(输入信号) %绘输入信号subplot(2,1,2),plot(t,y) % 绘输出信号hold on; plot(1 1*(N-1)/2*dt,ylim, ) %绘出延迟到的时刻时间/s),title(输出信号)程序运行结果见图7-5和图7-6。该例设计通带边界wp=0.5,阻带

22、边界频率ws=0.66,对应于50Hz的采样频率通带边界频率为fp=Fs/2*Fnormal=50/2*0.5=12.5Hz, fs=50/2*0.66=16.5Hz, 其中Fs为采样频率,Fnormal为归一化频率。由图7-5上图可以看到,在小于12.5Hz的频段上,几乎看不到下降,即满足通带波纹不大于3dB的要求。在大于16.5Hz的频段上,阻带衰减大于30dB,满足设计要求。由图7-5下图可见,在通带范围内,相位频率为一条直线,表明该滤波器为线性相位。图7-6给出了滤波器的输入信号和输出信号,输入信号包括3Hz和20Hz的信号,由图7-5可知,20Hz的信号不能通过该滤波器,通过滤波器后

23、只剩下3Hz的信号,输出结果也证明了这一点。但要注意,由于FIR滤波器所需的阶数较高,信号延迟(N-1)/2也较大,输出信号前面有一段直线就是延迟造成的。上述程序显示的N取50才能满足设计要求。这样相位延迟为(N-1)/2*1/Fs=0.49s,可以看到输出信号前面一段直线的距离大约为0.49s。验证了FIR滤波器相位延迟的理论。在输出信号的前部,有一些小信号,这是截断信号边界所致,后面的部分就没有了这种信号。若采用零相位的filtfilt函数(说明见第六章第三节)输出,则可最大限度地减小边界的影响。图 7-5 例7-4所设计滤波器的幅频响应(上图)和相频响应(下图)图7-6 例7-4所设计滤波器的输入和输出信号

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1