【《FIR滤波器设计案例分析》2200字】_第1页
【《FIR滤波器设计案例分析》2200字】_第2页
【《FIR滤波器设计案例分析》2200字】_第3页
【《FIR滤波器设计案例分析》2200字】_第4页
【《FIR滤波器设计案例分析》2200字】_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

FIR滤波器设计案例分析FIR滤波器设计的关键问题是在于找到一个系统函数,让它的频率响应近似于滤波器所需的理想频率响应,其对应的单位冲激响应为。1.1窗函数法1.1.1用窗函数设计FIR数字滤波器的基本方法窗函数的设计思想:即从时域上出发,使设计的近似于理想的。设理想滤波器的单位脉冲响应为。下面以设计低通线性相位的FIR滤波器为例。(4-1)(4-2)一般的不能直接作为FIR滤波器的单位冲激响应,这是因为其一般都是无限长的,并且是非因果的。因此,为得到一个因果且有限长的滤波器,可以先截取一断,即使无限长非因果序列转换为有限长因果的序列,并用合适的窗函数对截取的序列进行加权,之后再作为FIR滤波器的单位冲激响应。如果我们要设计一个线性相位滤波器,就要要求必须是偶对称的,且对称的中心必须等于滤波器的延时常数,故 (4-3)采用矩形窗函数法设计FIR低通数字滤波器时存在一个问题,即它的幅度函数在通带和阻带都有振荡现象,且最大波纹大约为振幅的9%,这个现象被称为吉布斯效应。首先,根据过渡带宽和阻带衰减的设计条件要求,先选择所用窗函数的类型,估计窗口长度(或M=—1),其中窗口长度对最小阻带衰减没有直接影响,故可以根据最小的阻带衰减选择窗函数类型。确定窗函数的类型之后,使过渡带宽小于设计性能指标确定所选用的窗函数的窗口长度,并设所设计的滤波器的过渡带宽为Δw,在确定窗函数类型之后,它的计算公式也就确定了,但这些公式还要在后面的计算中逐步修正。为了保证阻带的衰减满足设计指标要求,应该尽量选择较小的值,在和窗函数类型确定之后,用MATLAB环境下调用窗函数求出。根据滤波器的理想频率响应,可以得到理想单位冲激响应。如果滤波器频率为,则可以用下面的傅里叶反变换式求理想的单位脉冲响应: (4-4)通常需要采用数值方法来表示,其并不能用封闭公式表示,再从=0到=2π采样点,对离散系列进行傅里叶反变换(IDFT)。之后用窗函数将截断且进行加权处理,就可以得到 (4-5)如果要求是线性相位特性,则还必须满足以下条件: (4-6)从式(4-6)可知线性相位的FIR滤波器分为四类,我们可以根据所设计的滤波特性选择其中一类。比如,要设计低通线性相位滤波器时可选择一类。之后检查各项技术指标是否满足要求,为了计算数字滤波器的频域特性,可以在MATLAB中调用freqz子程序,如果不符合设计要求,可以调整窗函数类型或长度,直到满足设计要求为止。1.1.2典型的窗函数1、矩形窗(RectangleWindow)其频率响应和幅度响应分别为: , (4-7)2、三角形窗(BartlettWindow) (4-8)其频率响应为: (4-9)3、汉宁(Hanning)窗、升余弦窗 (4-10)其频率响应和幅度响应分别为:(4-11)4、汉明(Hamming)窗、改进的升余弦窗 (4-12)其幅度响应为:(4-13)5、布莱克曼(Blankman)窗,又称二阶升余弦窗 (4-14)其幅度响应为:(4-15)6、凯泽(Kaiser)窗(4-16)式(4-16)中的是用来选择主瓣宽度和旁瓣衰减之间交换关系的一个可选参数,通常越大,过渡带越宽,阻带越小,衰减也就越大。是第一类修正零阶贝塞尔函数。若阻带最小衰减表示为,β的确定可采用下述经验公式:(4-17)如果数字滤波器的通带和阻带的波纹相等,即时,那么滤波器的节数可通过以下公式确定: (4-18)其中: (4-19)在MATLAB环境中,矩形窗的函数是boxcar和rectwin,函数调用格式如下:w=boxcar(N)w=rectwin(N)调用函数中是窗函数的长度,w是一个阶的返回值向量,它的元素由窗函数的值组成。实际上,w=boxcar()等价于w=ones(,1)。在MATLAB环境中,三角窗的函数是triang,函数调用格式如下:w=triang()在MATLAB环境中,汉宁窗的函数为hann,函数调用格式如下:w=hann()w=hann(,'sflag')上式中sflag参数是采样方式,它的值可取symmetric或periodic。当sflag=symmetric时,为对称采样;当sflag=periodic时,为周期采样,此时hann函数计算N+1个点的窗,但是仅返回前N个点。在MATLAB环境中,海明窗的函数为hamming,函数调用格式如下:w=hamming()w=hamming(,'sflag')其中sflag的用法同上。在MATLAB环境中,布拉克曼窗的函数为blackman,函数调用格式如下:w=blackman()w=blackman(,'sflag')在MATLAB环境中切比雪夫窗的函数为chebwin,函数调用格式为:w=chebwin(,)上式中指傅里叶变换后的旁瓣幅度比主瓣低dB,并且旁瓣是等纹波的。在MATLAB环境中,巴特里特窗的函数为bartlett,函数调用格式为:w=bartlett()在MATLAB环境中,凯塞窗的函数为kaiser,函数调用格式为:w=kaiser(,beta)其中beta为窗函数的参数。在MATLAB环境中,提供了fir1和fir2两种窗函数法来设计。函数fir1用函数fir1实现加窗的线性相位FIR数字滤波器,fir1可用来设计低通、带通、高通和带阻数字滤波器。其调用格式如下:a.b=fir1(,Wn)b.b=fir1(,Wn,'ftype')c.b=fir1(,Wn,window)d.b=fir1(,Wn,'ftype',window)e.b=fir1(,'normalization')表示滤波器的阶数。'ftype'代表所设计滤波器的类型:'high'表示高通滤波器;'stop'表示带阻滤波器;’DC’-1表示多通带滤波器,第一频带为通带;’DC’-0表示多通带滤波器,第一频带为阻带;默认时代表低通或带通滤波器。‘window’为窗函数,是长度为的列向量,默认时函数自动取Hamming窗。b=fir1(,Wn)可得到阶低通FIR滤波器,调用后返回维数为的行向量b,它是滤波器的系数。b与FIR数字滤波器的系统函数的关系有如下:对于高通和带阻数字滤波器,为偶数,是数字滤波器的截止频率,其范围是(0,1)。对于带通和带阻滤波器,=[],且;对于多通带滤波器,=[,],频段为,。2、函数fir2函数fir2可以用于设计基于窗函数的任意FIR滤波器,其频率响应由向量f和向量m共同决定,取值在[0,1]之间。为滤波器阶数,b向量为返回滤波器的系数,window为窗函数,长度为,默认时为hamming窗,其中,npt是内插频率响应的点数,默认值为51,参数lap用于指定在重复频率点附近插入

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论