《fir滤波器窗函数设计》由会员分享,可在线阅读,更多相关《fir滤波器窗函数设计(16页珍藏版)》请在金锄头文库上搜索。
1、课题名称:FIR滤波器窗函数设计FIR滤波器窗函数设计引言:数字滤波器(Digital Filter)是指输入、输出都是离散时间信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。在许多数字信号处理系统中,如图像信号处理等,有限冲激响应(FIR)滤波器是最常用的组件之一,它完成信号预调、频带选择和滤波等功能。FIR滤波器虽然在截止频率的边沿陡峭性能上不及无限冲激响应(IIR)滤波器,但是却具有严格的线性相位特性,稳定性好,能设计成多通带(或多阻带)滤波器组,所以能够在数字信号处理领域得到广泛的应用。一、 数字滤波器的分类(1) 根据系统响应函数的时间特性分为两类
2、1. FIR(Finite Impulse Response)数字滤波器网络特点:不存在反馈支路,其单位冲激响应为有限长。2. IIR(Infinite Impulse Response)数字滤波器网络特点:存在反馈支路,即信号流图中存在环路,其单位冲激响应为无限长。(2) FIR数字滤波器IIR数字滤波器的区别1. 从性能上来说,IIR滤波器传递函数包括零点和极点两组可调因素,对极点的惟一限制是在单位圆内。因此可用较低的阶数获得高的选择性,所用的存储单元少,计算量小,效率高。但是这个高效率是以相位的非线性为代价的。选择性越好,则相位非线性越严重。FIR滤波器传递函数的极点固定在原点,是不能动
3、的,它只能靠改变零点位置来改变它的性能。所以要达到高的选择性,必须用较高的阶数;对于同样的滤波器设计指标,FIR滤波器所要求的阶数可能比IIR滤波器高5-10倍,但是 FIR滤波器可以得到严格的线性相位。2. 从结构上看,IIR滤波器必须采用递归结构,极点位置必须在单位圆内,否则系统将不稳定。相反,FIR滤波器只要采用非递归结构,不论在理论上还是在实际的有限精度运算中都不存在稳定性问题,因此造成的频率特性误差也较小。此外FIR滤波器可以采用快速傅里叶变换算法,在相同阶数的条件下,运算速度可以快得多。3. 从设计工具看,IIR滤波器可以借助于模拟滤波器的成果,因此一般都有有效的封闭形式的设计公式
4、可供准确计算,计算工作量比较小,对计算工具的要求不高。从上面的简单比较可以看到IIR与FIR滤波器各有所长,所以在实际应用时应该从多方面考虑来加以选择。从使用要求上来看,在对相位要求不敏感的场合,如语言通信等,选用IIR较为合适,这样可以充分发挥其经济高效的特点;对于图像信号处理,数据传输等以波形携带信息的系统,则对线性相位要求较高。如果有条件,采用FIR滤波器较好。另外,不论IIR和FIR,阶数越高,信号延迟越大;同时在IIR滤波器中,阶数越高,系数的精度要求越高,否则很容易造成有限字长的误差使极点移到单位园外。因此在阶数选择上是综合考虑的。二、 FIR数字滤波器的设计(一) FIR滤波器原
5、理FIR滤波器的系统输入输出差分方程为:所以FIR滤波器的系统函数为:由于FIR滤波器的单位脉冲响应h(n)是一个有限长序列,H (z)是Z-1的(N1)次多项式,它在Z平面上有(N1)个零点,同时在原点有(N1)阶重极点。因此,H(z)永远稳定。FIR滤波器设计的任务是选择有限长度的h(n),使传输函数H(ej)满足一定的幅度特性和线性相位要求。由于FIR滤波器很容易实现严格的线性相位,所以FIR 数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响应。(二) FIR滤波器的窗函数设计原理窗函数法的设计思想是按照所要求的理想滤波器频率响应Hd(ej),设计一个FIR滤波器,使之频率
6、响应Hej=来逼近Hd(ej)。先由Hd(ej)的傅里叶反变换导出理想滤波器的冲激响应序列hd(n),即:hdn=12-Hd(ej)ejnd由于Hd(ej)是矩形频率特性,所以hdn是一无限长的序列,且是非因果的,而要计的FIR滤波器的冲激响应序列是有限长的,所以要用有限长的序列h(n)来逼近无限长的序列hdn,最有效的方法是截断hdn,或者说用一个有限长度的窗口函数w(n)序列来截取hdn,即: hn=w(n)hdn。按照复卷积公式,在时域中的乘积关系可表示成在频域中的周期性卷积关系,即可得所设计的FIR滤波器的频率响应:H(ej)=12-HdejW(ej(-))d其中,W(ej)为截断窗函
7、数的频率特性。由此可见,实际的FIR数字滤波器的频率响应H(ej)逼近理想滤波器频率响应Hd(ej)的好坏,完全取决于窗函数的频率特性W(ej)。如果w(n)具有下列形式:w(n)相当于一个矩形,我们称之为矩形窗。即我们可采用矩形窗函数w(n)将无限脉冲响应hdn截取一段hn来近似为hdn。经过加矩形窗后所得的滤波器实际频率响应能否很好地逼近理想频率响应呢?下图给出了理想滤波器加矩形窗后的情况。理想低通滤波器的频率响应Hd(ej)如图中左上角图,矩形窗的频率响应W(ej)为左下角图。根据卷积定理,即得实际滤波器的频率响应H(ej)图形为图中右图。由图可看出,加矩形窗后使实际频率响应偏离理想频率
8、响应,主要影响有三个方面:(1)理想幅频特性陡直边缘处形成过渡带,过渡带宽取决于矩形窗函数频率响应的主瓣宽度。(2)过渡带两侧形成肩峰和波纹,这是矩形窗函数频率响应的旁瓣引起的,旁瓣相对值越大,旁瓣越多,波纹越多。(3)随窗函数宽度N的增大,矩形窗函数频率响应的主瓣宽度减小,但不改变旁瓣的相对值。为了改善滤波器的性能,需使窗函数谱满足:主瓣尽可能窄,以使设计出来的滤波器有较陡的过渡带;第一副瓣面积相对主瓣面积尽可能小,即能量尽可能集中在主瓣,外泄少,使设计出来的滤波器的肩峰和余振小逼近于理想滤波器。但是这两个条件是相互矛盾的,实际应用中,折衷处理,兼顾各项指标。(三) MATLAB信号处理中提
9、供的窗函数上边只考虑了矩形窗,如果我们使窗的主瓣宽度尽可能地窄,旁瓣尽可能地小,可以获得性能更好的滤波器,通过改变窗的形状来达到这个目的。在数字信号处理的发展过程中形成了不同于矩形窗的很多窗函数,这些窗函数在主瓣和旁瓣特性方面各有特点,可满足不同的要求。为此,用窗函数法设计FIR数字滤波器时,要根据给定的滤波器性能指标选择窗口宽度N和窗函数w(n)。下面具体介绍几类类窗函数及其特性。1. 矩形窗矩形窗函数的时域形式可以表示为:它的频域特性为:2. 汉宁窗函数汉宁窗函数的时域形式可以表示为: 它的频域特性为: 其中,为矩形窗函数的幅度频率特性函数。汉宁窗函数的最大旁瓣值比主瓣值低31dB,但是主
10、瓣宽度比矩形窗函数的主瓣宽度增加了1倍,为8/N。3. 海明窗函数海明窗函数的时域形式可以表示为: 它的频域特性为:其中,为矩形窗函数的幅度频率特性函数。海明窗函数的最大旁瓣值比主瓣值低41dB,但它和汉宁窗函数的主瓣宽度是一样大的。4. 三角窗函数三角窗是最简单的频谱函数W(ej)为非负的一种窗函数。三角窗函数的时域形式可以表示为:当n为奇数时:当n为偶数时:它的频域特性为:三角窗函数的主瓣宽度为8/N,比矩形窗函数的主瓣宽度增加了一倍,但是它的旁瓣宽度却小得多。(四) 各窗函数的图形及幅频特性1. 用MATLAB编程绘制各种窗函数的形状,窗函数的长度为21。程序如下:clf;Nwin=21
11、;n=0:Nwin-1; figure(1)for ii=1:4 switch ii case 1 w=boxcar(Nwin); %矩形窗 stext=矩形窗; case 2 w=hanning(Nwin); %汉宁窗 stext=汉宁窗;case 3 w=hamming(Nwin); %海明窗 stext=海明窗;case 4 w=triang(Nwin); %三角窗 stext=三角窗; end posplot=2,2, int2str(ii); subplot(posplot); stem(n,w); %绘出窗函数 hold on plot (n,w,r); %绘出包络线 xlabel
12、(n);ylabel(w(n);title(stext); hold off;grid on;end程序运行结果如下图:2. 用MATLAB编程,采用512个频率点绘制各窗函数的幅频特性。程序如下:clf;Nf=512; %窗函数复数频率特性的数据点数Nwin=20; %窗函数数据长度figure(1)for ii=1:4 switch ii case 1 w=boxcar(Nwin); %矩形窗 stext=矩形窗; case 2 w=hanning(Nwin); %汉宁窗 stext=汉宁窗;case 3 w=hamming(Nwin); %海明窗 stext=海明窗;case 4 w=t
13、riang(Nwin); %三角窗 stext=三角窗; end y,f=freqz(w,1,Nf); %求解窗函数的幅频特性 mag=abs(y); %求得窗函数幅频特性 posplot=2,2, int2str(ii); subplot(posplot); plot(f/pi,20* log10(mag/max(mag); %绘制窗函数的幅频特性 xlabel(归一化频率);ylabel(振幅/dB); title(stext);grid on;end程序运行结果如下图:由上图各窗函数的幅频特性可以看到各种窗函数都具有明显的主瓣和旁瓣。主瓣频宽和旁瓣的幅值衰减特性决定了窗函数的应用场合。矩
14、形窗具有最窄的主瓣,但也有最大的旁瓣峰值(第一旁瓣衰减为13dB);不同窗函数在这两方面的特点是不同的,因此应根据具体的问题进行选择。通常来讲,海明窗和汉宁窗的主瓣,具有较小的旁瓣和较大的衰减速度,是较为常用的窗函数。下表列出了各种窗函数主瓣和旁瓣的特征:各窗函数的特征表窗函数主瓣频宽第一旁瓣相对主瓣衰减(dB)矩形窗4N-13汉宁窗8N-31海明窗8N-41三角窗8N-25此外,主旁瓣频率宽度还与窗函数长度N有关。增加窗函数长度N将减小窗函数的主瓣宽度,但不能减小旁瓣幅值衰减的相对值(分贝数),这个值是由窗函数决定的。例如:绘制矩形窗函数的幅频响应,窗长度分别为:(1)N=10;(2)N=20; (3)N=50;(4)N=100