FIR滤波器的设计_第1页
FIR滤波器的设计_第2页
FIR滤波器的设计_第3页
FIR滤波器的设计_第4页
FIR滤波器的设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、基于窗函数法 FIR 数字滤波器的设计陈敏敏宁夏大学电子信息工程 专业 09 级 12009243656摘要 简述了数字滤波器中的有限长单位冲激响应(FIR)滤波器的原理,对 FIR 滤波器的窗函数设计方法进行了研究。窗函数法在 FIR 数字滤波器的设计中有着广泛的应用。通过 MATLAB 的仿真实现。传统的数字滤波器设计方法繁琐且结果不直观,本文利用 MATLAB 具有强大的科学计算和图形显示这一优点,与窗函数法设计理论相结合共同设计 FIR 数字滤波器,不但使设计结果更加直观,而且提高了滤波器的设计精度,从而更好地达到预期效果。关键字 FIR 数字滤波器 窗函数 MATLAB 仿真目 录1

2、 引言-12 FIR 数字滤波器的介绍 -22.1 FIR 数字滤波器的特点 -22.2 线性相位 FIR 数字滤波器的特点 -22.2.1单位冲激响应 h(n)的特点 -22.2.2线性相位的条件-22.2.3线性相位特点和幅度函数的特点-22.3 FIR 数字滤波器的设计原理 -42.4 数字滤波器的性能指标 -53 窗函数设计法 -63.1 窗函数设计原理分析 -63.2 设计方法 -73.3 窗函数介绍 -93.4 窗函数法设计步骤 -133.5 设计实例 -133.6 窗函数法计算中的主要问题 -144 MATLAB 简介与数字滤波器的 MATLAB 实现 -194.1 MATLAB

3、 简介 -194.2 MATLAB 程序 -20结论-26谢辞-26参考文献-26附录-271 引言数字信号处理(DSP,digital signal processing)是从 20 世纪 60 年代以来,随着信息学科和计算机的高速发展而迅速发展起来的一门新兴学科。数字信号处理是把信号用数字或符号表示的序列,通过计算机或通用(专用)信号处理设备,用数字的数值计算方法处理(例如滤波、变换、压缩、增强、估计、识别等),以达到提取有用信息便于应用的目的。数字滤波是数字信号处理的一部分。数字滤波器按照单位取样响应 h(n)的时域特性可以分为无限脉冲响应(IIR)系统和有限脉冲响应(FIR)系统。FI

4、R 数字滤波器的优点在于它可以做成具有严格线性相位,而同时可以具有任意的幅度特性;它的传递函数没有极点;这保证了设计出的 FIR 数字滤波器一定是平稳的。 所谓数字滤波器设计,简单地说,就是要找到一组能满足特定滤波要求的系数向量 a和 b。而滤波器设计完成后还需要进一步考虑如何将其实现,即选择什么样的滤波器结构来完成滤波运算。FIR 数字滤波器的设计方法很多,其中较为常用的是窗函数设计法、频率采样设计法和最优化设计法。本文讨论利用窗函数法来实现各种 FIR 滤波器的设计。 窗函数法设计的基本思想是把给定的频率响应通过 IDTFT(Inverse Discrete Time Fourier Tr

5、ansform),求得脉冲响应,然后利用加窗函数对它进行截断和平滑,以实现一个物理可实现且具有线性相位的 FIR 数字滤波器的设计目的。其核心是从给定的频率特性,通过加窗确定有限长单位取样响应 h(n)。MATLAB 软件是由美国 Math works 公司推出的用于数值计算和图形处理的科学计算系统环境。MATLAB 新的版本集中了日常数学处理中的各种功能,包括高效的数值计算、矩阵运算、信号处理和图形生成等功能。在 MATLAB 环境下,用户可以集成地进行程序设计、数值计算、图形绘制、输入输出、文件管理等各项操作。 MATLAB 提供了一个人机交互的数学系统环境,该系统的基本数据结构是矩阵,在

6、生成矩陈对象时,不要求作明确的维数说明。与利用 c 语言或 FORTRAN 语言作数值计算的程序设计相比,利用 MATLAB 可以节省大量的编程时间。在工程技术界,MATLAB 被用来解决一些实际课题和数学模型问题。典型的应用包括数值计算、算法预设计与验证,以及一些特殊的短阵计算应用,如自动控制理论、统计、数字信号处理(时间序列分拆)等。2 FIR 数字滤波器的介绍2.1 FIR 数字滤波器的特点数字信号处理主要是研究用数字或符号的序列来表示信号波形,并用数字的方式去处理这些序列,把它们改变成在某种意义上更为希望的形式,以便估计信号的特征参量,或削弱信号中的多余分量和增强信号中的有用分量。有限

7、长单位冲激响应(FIR)数字滤波器可以做成具有严格的线性相位,同时又可以具有任意的幅度特性。此外,FIR 滤波器的单位抽样响应是有限长的,因而滤波器一定是稳定的。再有,只要经过一定的延时,任何非因果有限长序列都能变成因果的有限长序列,因而总能用因果系统来实现。最后,FIR 滤波器由于单位冲激响应是有限长的,可以用快速傅立叶变换(FFT)算法来实现过滤信号,从而可大大提高运算效率。但是,要取得很好的衰减特性,FIR 滤波器 H(z)的阶次比 IIR 滤波器的要高。2.2 线性相位 FIR 数字滤波器的特点2.2.1单位冲激响应 h(n)的特点FIR 滤波器的单位冲激响应 h(n)是有限长(0nN

8、-1),其 Z 变换为:10)()(NmmznhzH在有限 Z 平面有(N-1)个零点,而它的(N-1)个极点均位于原点 z=0 处。2.2.2线性相位的条件如果 FIR 滤波器的单位抽样响应 h(n)为实数而且满足以下任一条件:偶对称:h(n)=h(N-1-n)奇对称:h(n)=-h(N-1-n)其对称中心在 n=(N-1)/2 处,则滤波器具有准确的线性相位。2.2.3线性相位特点和幅度函数的特点(1) h(n)偶对称)21()()21cos()()(10NnNnhHkn幅度函数 H()包括正负值,相位函数是严格线性相位,说明滤波器有(N-1)/2 个抽样的延时,它等于单位抽样响应 h(n

9、)长度的一半。图 2-1 中,线性相位无 90附加相移,幅度函数在 处存在零点,且对 = 呈奇对称,因此不适合作高通滤波器。图 2-2 所示:线性相位无 90附加相移,幅度函数对在 =0、2 呈偶对称,因此适合作低通、高通滤波器。(2) h(n)奇对称2)21()()21sin()()(10NnNnhHkn相位函数仍是线性,但在零频率(=0)处有 /2 的截距。不仅有(N-1)个抽样的延时,还产生一个 /2 的相移。图 2-3 中,线性相位有 90附加相移,幅度函数在 0、2 处为零点,且对 =0、2 呈奇对称,对 = 呈偶对称。图 2-4 中,线性相位有 90附加相移,幅度函数在 0、2 处

10、为零,且对=0、2 呈奇对称。图 2-3、图 2-4 所示的滤波器均适合在微分器和 90移相器中应用。图 2-1 长度 N 为偶数、偶对称时的相位函数、冲激响应、幅度函数波形图图 2-2 长度 N 为奇数、偶对称时的相位函数、冲激响应、幅度函数波形图图 2-3 长度 N 为偶数、奇对称时的相位函数、冲激响应、幅度函数波形图图 2-4 长度 N 为奇数、奇对称时的相位函数、冲激响应、幅度函数波形图四种线性相位 FIR 滤波器的特性可以总结如下:第一种情况,偶对称、奇数点,四种滤波器都可设计; 第二种情况,偶对称、偶数点,可设计低、带通滤波器,不能设计高通和带阻; 第三种情况,奇对称、奇数点,只能

11、设计带通滤波器,其它滤波器都不能设计; 第四种情况,奇对称、偶数点,可设计高、带通滤波器,不能设计低通和带阻。2.3 FIR 数字滤波器的设计原理一个截止频率为(rad/s)的理想数字低通滤波器,其传递函数的表达式是:c (式 2.3.1)ccjjdeeH, 0,)(由式 2.3.1 可以看出,这个滤波器在物理上是不可实现的,因为冲激响应具有无限性和因果性。为了产生有限长度的冲激响应函数,我们取样响应为,长度为 N,其系数)(nh函数为:)(zH (式 2.3.2)10)()(NnnznhzH用表示截取后冲激响应,即,式子中为窗函数,)(nh)(nhd)()()(nhnnhd)(n长度为 N。

12、当 =(N-1)/2 时,截取的一段对(N-1)/2 对称,可保证所设计的滤波器具)(nh有线性相位。一般来说,FIR 数字滤波器输出的 Z 变换形式 Y(z)与输入的 Z 变换形式之)(ny)(nx间的关系如下: (式 2.3.3)()() 1 ()0()()()(1zXznhzhhzXzHzYn从上面的 Z 变换和结构图可以很容易得出 FIR 滤波器的差分方程表示形式。对式2.3.3 进行反 Z 变换,可得: (式 2.3.4) 1 ()() 1()2()() 1 ()(xnhnxhnxhny图 2-5 卷积型滤波器式(2.3.4)为 FIR 数字滤波器的时域表示方法,其中是在时间 n 的

13、滤波器的输入)(nx抽样值。根据式(2.3.4)即可对滤波器进行设计。从上面的公式我们可以看出,在对滤波器实际设计时,整个过程的运算量很大。设计完成后对已设计的滤波器的频率响应进行校核,运算量也很大。并且在数字滤波器设计的过程中,要根据设计要求和滤波效果不断地调整,以达到设计的最优化。在这种情况下,要进行大量复杂的运算,单纯靠公式计算和编制简单的程序很难在短时间内完成。而利用 MATLAB 工具进行计算机辅助设计,则可以快速有效地设计数字滤波器,大大的减少了计算量。 2.4 数字滤波器的性能指标我们在进行滤波器设计时,需要确定其性能指标。一般来说,滤波器的性能要求往往以频率响应的幅度特性的允许

14、误差来表征。以低通滤波器特性为例,频率响应有通带、过渡带及阻带三个范围。在通带内: 1- AP 1 )(jeHcc在阻带中: )(jeHstAstc其中为通带截止频率, 为阻带截止频率,Ap 为通带误差, 为阻带误差。cststA图 2-6 低通滤波器的幅度特性与模拟滤波器类似,数字滤波器按频率特性划分为低通、高通、带通、带阻、全通等类型,由于数字滤波器的频率响应是周期性的,周期为 2。由于频率响应的周期性,频率变量以数字频率来表示,所以数字滤波器设计中必须给出抽样频率。图 2-7 为各种数字滤波器理想幅度,可以看出:1、 一个高通滤波器相当于一个全通滤波器减去一个低通滤波器。2、 一个带通滤

15、波器相当于两个低通滤波器相减。3、 一个带阻滤波器相当于一个低通滤波器加上一个高通滤波器。这里的相加相减都是相当于并联结构。图 2-7 中所示的各种数字滤波器理想频率响应只表示了正频率部分,这样的理想频率响应是不可能实现的,原因是频带之间幅度响应是突变的,因而其单位抽样响应是非因果的。因此要给出实际逼近容限。数字滤波器的系统函数,它在 z 平面单位圆上的值)(zH为滤波器频率响应,表征数字滤波器频率响应特征的三个参量是幅度平方响应、)(jeH相位响应和群延时响应。 图 2-7 各种理想数字滤波器的幅度频率响应.3 窗函数设计法3.1 窗函数设计原理分析设数字滤波器的传输函数为,是与其对应的单位

16、脉冲响应, 为系)(jeH)(nhd)(zH低通高通带通带阻全通)(jdeH)(jdeH)(jdeH)(jdeH)(jdeH统函数。 (式3.1.1)10)()(NnnjjenheH (式3.1.2)deeHnhnjjdd)(21)( (式3.1.3) 10)()(NnnznhzH一般说来, 是无限长的,需要求对的一个逼近。采用窗函数设计法时,)(nhd)(jdeH可通过对理想滤波器的单位采样响应加窗设计滤波器 (式3.1.4)()()(nhnnhd其中, 是一个长度有限的窗,在区间 0 n N 外值为 0 ,且关于中间点对称)(n (式3.1.5)1()(nNn频率响应根据(式 3.1.5)

17、 ,由卷积定理得出 (式3.1.6)()(21)(jjdjeeHeH理想的频率响应被窗函数的离散时间傅立叶变换“平滑”了。)(je采用窗函数设计法设计出来的滤波器的频率响应对理想响应的逼近程度,由)(jdeH两个因素决定:主瓣的宽度;旁瓣的幅度大小。)(je)(je理想的情况是主瓣的宽度窄,旁瓣的幅度小。但对于一个长度固定的窗函数来说,这)(je些不能独立地达到最小。窗函数的一些通用性质为:1、窗函数的长度N增加,主瓣的宽度减小,使得过渡带变小。关系为:NB = C其中:B是过渡带的宽度;C是取决于窗函数的一个参数。如矩形窗为4。调整N可以有效地控制过渡带的宽度,但N的改变不改变主瓣和旁瓣的相

18、对比例。随着N值增加,过渡带变窄,波动频率也随着增加,虽然总的幅度有所减少,但截止频率附近的肩峰并不减少,而只是随着N值的增加,肩峰被抑制在愈来愈小的范围内,使肩峰宽度变窄。2、窗函数的旁瓣的幅度大小取决于窗函数的选择。选择恰当的窗函数使主瓣包含更多的能量,相应旁瓣的幅度就减小。旁瓣幅度的减小,可以减少通带和阻带的波动,使通带尽可能趋近水平,阻带尽可能达到最大衰减。但通常此时过渡带会变宽。3、取不同的窗函数对幅度特性的整形效果比单纯的增加窗口长度要强得多。3.2 设计方法这种方法也叫傅里叶级数法。一般是先给出所要求的理想的滤波器的频率响应,要求设计一个 FIR 滤波器频率响应来逼近。)(jde

19、H10)()(NnnjjenheH)(jdeH设计是在时域进行的,因而先由的傅里叶反变换导出,即)(jdeH)(nhd (式 3.2.1)deeHnhnjjdd)(21)(由于是矩形频率响应特性,故一定是无限长序列,且是非因果的,而 FIR)(jdeH)(nhd滤波器的必然是有限长的,所以要用有限长的来逼近无限长的,最有效)(nh)(nh)(nhd的方法是截断或者说用一个有限长度的窗口函数序列来截取,即)(nhd)(n)(nhd (式 3.2.2)()()(nhnnhd因而窗函数序列的形状及长度的选择就是关键。我们以一个截止频率为的线性相位的理想矩形幅度特性的低通滤波器为例来讨论。c设低通特性

20、的群延时为,即 (式 3.2.3)ccccjjdeeH, 0,)(这表明,在通带范围内,的幅度是均匀的,其值为 1,相位是。c)(jdeH利用(1)式可得 (式 3.2.4)()(sin21)(nndeenhcccnjjdcc是中心点在的偶对称无限长非因果序列,要得到有限长的,一种最简单的方)(nhd)(nh法就是取矩形窗,即)(nRN )()(nRnN但是按照线形相位滤波器的约束,必须是偶对称的,对称中心应为长度的一半(N-1)(nh/2,因而必须=(N-1)/2,所以有 (式 3.2.5)21-N, 010),()()()(为其他nNnnhnnhnhdd将(式 3.2.4)代入(式 3.2

21、5),可得 (式 3.2.6)10 , 0)21()21(sin)(NnnNnNnnhccc为其他值此时,一定满足这一线性相位的条件。)1()(nNhnh下面求的傅里叶变换,也就是找出待求 FIR 滤波器的频率特性,以便能看出加窗)(nh处理后究竟对频率响应有何影响。按照复卷积公式,在时域是相乘、频域上是周期性卷积关系,即 (式 3.2.7)deeHeHjjdj)()(21)(因而逼近的好坏,完全取决于窗函数的频率特性。)(jeH)(jdeH)(jeW窗函数的频率特性为)(n)(jeW (式 3.2.8)10)()(NnnjjeneW对矩形窗,则有)(nRN (式 3.2.9)2sin()2s

22、in()(2110NNeeeWNjNnnjjR也可表示成幅度函数与相位函数 (式 3.2.10)21()()(NjRjNeWeW其中 (式 3.2.11)2sin()2sin()(NNWR就是频域抽样内插函数,其幅度函数在之内为一个主瓣,两)(jReW)(RWN/2侧形成许多衰减振荡的旁瓣,如果将理想频率响应也写成 (式 3.2.12)21()()(NjdjdeHeH则其幅度函数为 (式 3.2.13)ccdH, 0, 1)(3.3 窗函数介绍实际应用的窗函数,可分为以下主要类型:1、幂窗-采用时间变量某种幂次的函数,如矩形、三角形、梯形或其它时间(t)的高次幂;2、三角函数窗-应用三角函数,

23、即正弦或余弦函数等组合成复合函数,例如汉宁窗、海明窗等;3、指数窗-采用指数时间函数,如形式,例如高斯窗等。ste 下面介绍几种常用窗函数的性质和特点。(1)矩形窗矩形窗属于时间变量的零次幂窗,函数形式为: (式 3.3.1)TtTtTt, 0,1)(相应的窗谱为: (式 3.3.2)TTWsin2)(矩形窗使用最多,习惯上不加窗就是使信号通过了矩形窗。这种窗的优点是主瓣比较集中,缺点是旁瓣较高,并有负旁瓣,导致变换中带进了高频干扰和泄漏,甚至出现负谱现象。图 3-1 矩形窗的时域及频域波形(2)三角窗亦称费杰(Fejer)窗,是幂窗的一次方形式,其函数形式是: (式 3.3.3)TtTtTt

24、Tt, 0),1 (1)(三角窗与矩形窗比较,主瓣宽约等于矩形窗的两倍,但旁瓣小,而且无负旁瓣,如图3-2 所示。图 3-2 三角窗的时域及频域波形(3)汉宁(Hanning)窗汉宁窗又称升余弦窗,其时域表达式为: (式 3.3.4)TtTtTtTt, 0),cos2121(1)(相应的窗谱为: (式 3.3.5)TTTTTTW)sin()sin(21sin)(由此式可以看出,汉宁窗可以看作是 3 个矩形时间窗的频谱之和,或者说是 3 个 sin(t)型函数之和,而括号中的两项相对于第一个谱窗向左、右各移动了 /T,从而使旁瓣互相抵消,消去高频干扰和漏能。可以看出,汉宁窗主瓣加宽并降低,旁瓣则

25、显著减小,从减小泄漏观点出发,汉宁窗优于矩形窗。但汉宁窗主瓣加宽,相当于分析带宽加宽,频率分辨率下降。(4)海明(Hamming)窗海明窗也是余弦窗的一种,又称改进的升余弦窗,其时间函数表达式为: (式 3.3.6)TtTtTtTt, 0),cos4 . 054. 0(1)(其窗谱为: (式 3.3.7)TTTTTTW)sin()sin(46. 0sin08. 1)(海明窗与汉宁窗都是余弦窗,只是加权系数不同。海明窗加权的系数能使旁瓣达到更小。分析表明,海明窗的第一旁瓣衰减为-42dB。海明窗的频谱也是由 3 个矩形窗的频谱合成,但其旁瓣衰减速度为 20dB(10oct),这比汉宁窗衰减速度慢

26、。海明窗与汉宁窗都是很有用的窗函数。(5)高斯窗 高斯窗是一种指数窗。其时域函数为: (式 3.3.8)TtTteTtat, 0,1)(2式中 a 为常数,决定了函数曲线衰减的快慢。a 值如果选取适当,可以使截断点(T 为有限值)处的函数值比较小,则截断造成的影响就比较小。高斯窗谱无负的旁瓣,第一旁瓣衰减达一 55 dB。高斯窗的主瓣较宽,故而频率分辨率低。高斯窗函数常被用来截断一些非周期信号,如指数衰减信号等。不同的窗函数对信号频谱的影响是不一样的,这主要是因为不同的窗函数,产生泄漏的大小不一样,频率分辨能力也不一样。信号的截断产生了能量泄漏,而用 FFT 算法计算频谱又产生了栅栏效应,从原

27、理上讲这两种误差都是不能消除的,但是我们可以通过选择不同的窗函数对它们的影响进行抑制。图 3-3 是几种常用的窗函数的时域和频域波形,其中矩形窗主瓣窄,旁瓣大,频率识别精度最高,幅值识别精度最低;布莱克曼窗主瓣宽,旁瓣小,频率识别精度最低,但幅值识别精度最高。图 3-3 几种常用的窗函数的时域和频域波形对于窗函数,还有一些要求:1)3dB 带宽 B,它是主瓣归一化的幅度下降到-3dB 时的带宽。当数据长度为 N 时,矩形窗主瓣两个过零点之间的宽度为 4/N。2)最大边瓣峰值 A(dB)。3)边瓣谱峰渐进衰减速度 D(dB/cot)。所以,理想的窗函数应当具有最小的 B 和 A,和最大的 D。3

28、.4 窗函数法设计步骤1、首先是给定所要求的频率响应函数;)(jdeH2、其次,求单位冲激响应;deeHnhnjjdd)(21)(3、再次,有过渡带宽及阻带最小衰减的要求,查表选定窗函数及 N 的大小,一般 N 的大小要通过几次试探而后确定;4、求得所设计的 FIR 滤波器的单位冲激响应;,n=0,1,,N-1;)()()(nhnnhd5、求,检验是否满足设计要求,如不满足,则需要重新设计。10)()(NnnjjenheH3.5 设计实例线性相位 FIR 低通滤波器的设计(用窗函数法)。指标要求:通带截止频率:0.2,阻带起始频率:0.4,阻带最小衰减:-50dB。(1)设为理想线性相位滤波器

29、)(jeH其他, 0)(,cjjeeH由所需低通滤波器的过渡带求出理想低通滤波器的截止数字频率 =0.3,得出:。为线性相位所需的移位,21,),(sin2121)()(Nnnnndedeenhccnjnjjdcc(2)由阻带衰减确定窗函数,由过渡带宽确定 N 值。阻带最小衰减 50dB,比对 6 种窗函数基本参数选定窗函数为海明窗。所要求的过渡带宽:=0.4-0.2=0.2N=6.6/0.2=33,=(N-1)/2=16(3)由海明窗函数确定 FIR 滤波器的 h(n)。)21()21(sin)()()12cos(46. 054. 0nNnNnnhnRNncdN)(得出:)()12cos(4

30、6. 054. 0)16()16(3 . 0sin)()()(nRNnnnnhnhNd(4)仿真检验各项指标,得出结论:满足设计要求。取 N=33,偶对称,得:过渡带宽 :0.3476563,第一通带波纹:0.020837dB,第一阻带最小衰减:60.9159dB。我们设计的低通 FIR 数字滤波器的理想性能指标是:通带截止频率 Wp=0.3,阻带截止频率 Ws=0.5, 阻带衰减 At 不小于 40dB, 通带衰减不大于 3dB, fs=4000。Matlab 程序wp=0.3*pi;ws=0.5*pi;wdelta=ws-wp;N=ceil(8*pi/wdelta);Wn=(0.3+0.5)*pi/2;b=fir1(N,Wn/pi,hanning(N+1);freqz(b,1,512)N=ceil(8/0.15);n=0:N-1;window=hanning(N);h1,w=freqz(window,1);

温馨提示

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

评论

0/150

提交评论