基于MATLAB的数字滤波器的设计_第1页
基于MATLAB的数字滤波器的设计_第2页
基于MATLAB的数字滤波器的设计_第3页
基于MATLAB的数字滤波器的设计_第4页
基于MATLAB的数字滤波器的设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、目录目录1 引言 .12MATLAB 简介.23 设计方案 .33.1 基于 MATLAB 的 IIR 数字滤波器的设计.33.1.1IIR 数字滤波器的选择.33.1.2IIR 数字带通滤波器的设计.43.1.3IIR 数字滤波器 MATLAB 仿真结果与分析.53.2 基于 MATLAB 的 FIR 数字滤波器的设计.63.2.1FIR 数字滤波器的选择.63.2.2FIR 数字带通滤波器的设计.83.2.3FIR 数字滤波器 MATLAB 仿真结果与分析.104IIR 数字滤波器与 FIR 数字滤波器的比较.125 结论 .14参考文献 .15致谢 .16摘 要数字滤波器是一个离散系统。

2、该系统能对输入的离散信号进行处理,从而获得所需的有用信息。现代数字滤波器的设计大体可以分为 IIR 和 FIR 两大类,可以用软件和硬件两种方法来实现,而选用 MATAB 信号处理工具箱为设计通用滤波器带来了极大的方便。本文按设计指标要求设计了滤波器,其中 IIR 采用巴特沃什,FIR 采用布莱克曼窗进行设计,得出了与之对应的幅度响应曲线和相位响应曲线,最后对 IIR 和 FIR 的实现形式和性能等方面进行比较。关关键词键词:MATLAB;IIR 数字滤波器;FIR 数字滤波器AbstractThe digital filter is a discrete system. The system

3、 can be able to handle discrete signals. So it can achieve required important information. There are two major kinds of design principle of digital filter, which are finite impulse response (FIR) and infinite impulse response (IIR). The modern digital filter can be received by two kinds of method of

4、 software and hardware. But using MATLAB signal disposing tool case to design the digital filter is more convenient and universally applied. The main body of the paper is demanded to design a digital filter according to the designing index. IIR adopts Butterworth and FIR adopts the Blackman window t

5、o design the digital filter. Finally, carry out comparison on IIR and the FIR realization and function aspect.Key words: MATLAB; IIR digital filter; FIR digital filter1 引言理想滤波器就是一个让输入信号中的某些有用频谱分量无任何变化的通过,同时又能完全抑制另外那些不需要的成分的具有某种选择性的器件、网络或计算机硬件支持的计算程序。根据对不同信号的处理可将滤波器分为模拟滤波器和数字滤波器两种。模拟滤波器和数字滤波器的概念相同,只是

6、信号的形式和实现滤波的方法不同。数字滤波器是指输入输出都是数字信号的滤波器。滤波器的滤波原理就是根据信号与噪声占据不同的频带,将噪声的频率放在滤波器的阻带中而由于阻带的响应为零,这样就滤去了噪声。数字滤波器可以分为两大类:一类是经典滤波器,即一般的滤波器,特点是输入信号中有用的频率成分和希望滤去的频率成分各占不同的频率带,通过一个合适的选频滤波器达到滤波的目的,这种滤波器主要是无限冲激响应滤波器和有限冲激响应滤波器;另外一类滤波器是现代滤波器,当信号和干扰的频带相互重叠,经典滤波器不能完成对干扰的有效去除时,可以采用现代滤波器,这些滤波器可以按照随即信号内部的一些统计分布规律,从干扰中最佳的提

7、取信号。这种滤波器主要有维纳滤波器、卡尔曼滤波器、自适应滤波器等10。与模拟滤波器相同,数字滤波器从功能上可以分为四类,即低通(LP) 、高通(HP) 、带通(BP) 、带阻(BS)滤波器等。数字滤波器在数字信号处理的各种应用中发挥着十分重要的作用,任何数字系统都可看成一个数字滤波器,因此数字滤波器的应用相当广泛。本设计任务:设计一数字带通滤波器,分别用 IIR 和 FIR 两种类型来实现,其中IIR 采用巴特沃什,FIR 采用布莱克曼窗。主要技术指标:通带边缘频率:wp1=0.45,wp2=0.65通带峰值起伏:Ap1dB阻带边缘频率:ws1=0.3,ws2=0.75通带峰值衰减:As40d

8、B设计总体要求:用 MATLAB 语言编程进行设计,给出 IIR 数字滤波器的参数和FIR 数字滤波器的冲激响应,给出幅度和相位响应曲线,对 IIR 和 FIR 的实现形式和特点等方面进行讨论。2MATLAB 简介MATLAB 是 Matrix Laboratory 的简称。MATLAB 最早是为了方便矩阵存取而编写的一种软件,现已发展成为一个具有高性能数值计算和可视化功能的科学计算环境,问题的提出和解答只需以数学方式表达和描述,不需要大量原始而传统的编程过程5。MATLAB 是一个交互式系统9,特别适用于研究、解决工程和数学问题,典型应用包括:一般的数值计算、算法原型以及通过矩阵公式解决一些

9、特殊问题,促进了统计、数字信号处理等科学的发展。MATLAB 功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。特别是 MATLAB 还具有信号分析工具箱,不需具备很强的编程能力,就可以很方便地进行信号分析、处理和设计6。MATLAB 的信号处理工具箱提供了丰富而简便的设计、实现 IIR 和 FIR 的方法,使原来烦琐的程序设计简化成函数的调用,特别是滤波器的表达方式和滤波器形式之间的相互转换显得十分简便,为滤波器的设计和实现开辟了一片广阔的天地。数字滤波器采用传统的设计方法要进行大量复杂的运算,而利用 MATLAB 强大的计算功能进行计算机辅助设计,就可以快速要效的设计数字滤波器,大

10、大的简化计算量,直观简便。MATLAB 的信号处理工具箱包含了各种经典的和现代的数字信号处理技术,是一个非常优秀的算法研究和辅助设计的工具。在设计数字滤波器时,通常采用信号处理工具箱提供的设计模拟和数字滤波器的 MATLAB 函数采用编程的方法和仿真实现,亦可以利用信号处理工具箱提供的滤波器设计和分析工具(Filter Design & Analysis Tool)实现。MATLAB 的一种重要的工作方式就是 M 文件的编程工作方式。M 文件有两种形式,一种是脚本文件,另一种是函数文件。M 文件的扩展名为“.m”8。M 文件可以通过任何纯文本编辑器进行编辑,MATLAB 也自带有文本编辑器,使

11、用“edit”命令即可开启。3 设计方案3.1 基于 MATLAB 的 IIR 数字滤波器的设计3.1.1IIR 数字滤波器的选择IIR 数字滤波器具有无限宽的冲激响应,与模拟滤波器相匹配,所以 IIR 滤波器的设计可以采取在模拟滤波器设计的基础上进一步变换的方法。比较常用的原型滤波器有巴特沃什滤波器(Butterworth) 、切比雪夫滤波器(Chebyshev) 、椭圆滤波器(Ellipse)和贝塞尔滤波器(Bessel)等7。他们有各自的特点,巴特沃什滤波器具有单调下降的幅频特性;切比雪夫滤波器的幅频特性在通带和阻带里有波动,可以提高选择性;贝塞尔滤波器通带内有较好的线性相位特性;椭圆滤

12、波器的选择性最好。本设计 IIR 数字滤波器采用巴特沃什滤波器。设计巴特沃什数字滤波器时,首先应根据参数要求设计出相应的模拟滤波器,其步骤如下:(1)由模拟滤波器的设计指标 wp,ws,Ap,As 和式(1)确定滤波器阶数 N。 . (1))lg(2)110110lg(1 . 01 . 0wwspAsApN(2)由式(2)确定 wc。 (2)NAsscNAppwww211 . 0211 . 0) 110() 110((3)若 N 是奇数,则有式(3)和式(4)确定滤波器的系统函数;若 N 是偶数,则式(3)和式(5)确定滤波器的系统函数。然后把设计好的模拟 Butterworth 滤波器变换成

13、数字滤波器,常采用的方法有脉冲响应不变法和双线性变换法4。 (3))()(wsHsHcLO (4)2/ )1(121)(sin21) 1(1)(NkkLOssssH (5)2/121)(sin21)(NkkLOsssH巴特沃什滤波器是根据幅频特性在通频内具有最平坦特性而定义的滤波器。一维巴特沃什滤波器的平方幅频特性函数为 (6) 221()1NcH j可以看出,滤波器的幅频特性随着滤波器阶次 N 的增加而变得越来越好。在截止频率 c 处的函数值始终为的情况下,在通带内更多的频带区的值接近 1;在阻带内函12数更迅速的趋近 0。巴特沃什滤波器的主要特征:(1)对于所有 N,20()1ajH(2)

14、对于所有 N,212()cajH(3)是 的单调下降函数。2()ajH(4)随着阶次 N 的增大而更加接近于理想滤波器。2()ajH3.1.2IIR 数字带通滤波器的设计最常用于设计 IIR 数字带通滤波器的方法基于原型模拟传输函数的双线性变换。模拟传输函数通常是:巴特沃什、切比雪夫 1 型、切比雪夫 2 型和椭圆传输函数2。巴特沃什低通传输函数在 dc 处有一个最大平坦的幅度响应,且随着频率增加幅度响应单调地减少。本设计 IIR 数字带通滤波器就采用巴特沃什型。巴特沃什型数字带通滤波器的设计,MATLAB 调用形式如下:N,wn=buttord(wp,ws,Ap,As)num,den=but

15、ter(N,wn)在 buttord 中,调用参数 wp,ws,是数字带通滤波器的归一化通带和阻带截止频率,Ap 是通带最大衰减,As 是阻带最小衰减。返回参数 N 是巴特沃什滤波器的阶数,wn 是 3dB 截止频率,函数 butter 获得数字(den)和(num)是巴特沃什滤波器系统函数 H(z)的分母多项式和分子多项式。根据设计任务,用 MATLAB 设计的 IIR 数字带通滤波器的具体程序1如下:ws=0.3 0.75;wp=0.45 0.65;Ap=1;As=40;%ws 为归一化阻带边界频率%wp 为归一化通带边界频率%Ap 单位为 dB 的通带波纹%As 单位为 dB 的最小阻带

16、衰减n1,wn1=buttord(wp,ws,Ap,As);%估计巴特沃什滤波器的阶数%wn1 为归一化截止频率num,den=butter(n1,wn1);%设计巴特沃什滤波器%计算单位为 dB 的 gain 函数%在单位圆上将函数转化为 256 个等份w=0:pi/255:pi;%计算相位h=freqz(num,den,w);g=20*log10(abs(h);%计算幅度pha=angle(h); %画图subplot(1,2,1);plot(w/pi,g);grid%画带通滤波器的幅度响应曲线图axis(0 1 -60 5);xlabel(omega/pi);ylabel(gain in

17、 db);%横坐标表示频率,纵坐标表示分贝数title(巴特沃什带通滤波器幅频响应);%写标题subplot(1,2,2);plot(w/pi,pha);grid%画带通滤波器的相位响应曲线图xlabel(omega/pi);ylabel(phase);title(巴特沃什带通滤波器相位响应);3.1.3IIR 数字滤波器 MATLAB 仿真结果与分析可以得出:IIR 数字滤波器的阶数为:n1=73dB 截止频率为:wn1=0.4284,0.6693系统函数的分子系数为:( )H znum=0.0003,0,-0.0019,0,0.0057,0,-0.0095,0.0095,0,-0.0057

18、,0,0.0019,0,-0.0003系统函数的分母系数为:( )H zden=1.0000,1.7451,4.9282,6.1195,9.8134,9.2245,10.4323,7.5154,6.4091,3.4595,2.2601,0.8470,0.4167,0.0856,0.0299根据运行结果可写出 IIR 滤波器的系统函数为2468101214123456780.00030.00190.00570.00950.00950.00570.00190.0003.( )1 1.74514.92826.11959.81349.224510.43237.51546.4091.zzzzzzzH z

19、zzzzzzzz幅频响应曲线和相位响应曲线如图 1 所示。图图 1 IIR 数数字字带带通通滤滤波波器器的的幅幅频频响响应应和和相相位位响响应应3.2 基于 MATLAB 的 FIR 数字滤波器的设计3.2.1FIR 数字滤波器的选择FIR 数字滤波器的设计方法有多种,如窗函数设计法、频率采样法和切比雪夫逼近法等。窗函数设计方法是 FIR 滤波器的一种基本设计方法,它的优点是设计思路简单,性能也能满足常用选频滤波器的要求。最常用的窗函数有矩形窗、三角形窗(Bartlett) 、汉宁窗(Hanning) 、汉明窗(Hamming) 、布莱克曼窗(Blackman)和凯塞窗(Kaiser)等11。

20、影响理想带通加窗处理后的数字滤波器主要有 3 点:(1)理想幅频特性的陡峭的边沿被加宽,形成一个过渡带,过渡带的宽度取决于窗函数频率响应的主瓣宽度。(2)在过渡带两侧产生起伏的肩峰和波纹,是由窗函数频率响应的旁瓣引起的,旁瓣相对值越大起伏就越强。(3)增加截取长度 N,将缩小窗函数的主瓣宽度,但不能减小旁瓣宽相对值。旁瓣和主瓣的相对值主要取决于窗函数的形状。因此,增加截取长度 N,只能减小过渡带宽度,而不能改善数字滤波器通带内的平稳性和阻带中的衰减。改善所设计的数字滤波器的性能,必须减小由于加窗造成的通带和阻带的起伏。同时也要减小过渡带带宽,然而这两个要求是相互矛盾的,当窗宽度加到一定时,无法

21、同时达到最佳,靠增加窗的宽度只能改进过渡带指标,而无法改进通带和阻带指标。当 较小时, (7)sin()sin()sinsin222( )sin()222RNNNxNNWxN其中,。2xN当 N 增加时,只能改变 的坐标比例和的绝对大小,而不能改变主瓣与旁( )RW瓣的相对比例关系。这个相对比值是由决定的,与 N 无关。因此增加 N 不能改变sin xx窗函数的旁瓣相对大小,因而就不能减小所造成滤波器的通带和阻带起伏大小。为了改善滤波器的性能指标,选择滤波器时,应从下面两点着重考虑:(1)在频谱上,应尽量减小窗函数频谱的旁瓣值,即使它的能量尽量集中在主瓣,这样可减小滤波器通带和阻带起伏,以改善

22、通带的平稳性和增大阻带中的衰减。(2)窗函数频谱的主瓣宽度尽量窄,以获得较陡的过渡带。本设计采用布莱克曼窗函数,下面介绍布莱克曼窗(Blackman 窗)函数: (8)24( )0.420.5cos()0.08cos()0111nnw nnNNN (9)12B()( )WNjjeWe2244( )0.45( )0.23()()0.04()()1111RRRRRWWWWWWNNNN (10)2244()()()()1111()0.42()0.25()()0.04()()jjjjjjNNNNBRRRRReeeeeeWWWWWW (11)利用布莱克曼窗函数设计 FIR 数字滤波器的步骤11如下:(1

23、)确定要求设计滤波器的理想频率响应的表达式。)(jwdeH(2)求的傅立叶反变换:)(jwdeH (12)dweeHnhjwnjwdd)(21)((3)根据技术要求(在通带处衰减不大于;在阻带处衰减不小于) ,确pk1sk2定窗函数形式。并且根据采样周期 T,确定相应的数字频率,。 nwpp SST (4)确定滤波器长度 N。滤波器长度可以根据的相位特性来确定,也和)(jwdeH滤波器的过度带宽有关。(5)求所得设计滤波器的单位采样响应: nh )()()(nwnhnhd(13)(6)考察的指标: jweH (14)10()( )NjwjwnnH eh n e (7)审核技术指标是否已经满足。

24、如不满足,则重新选取较大的 N 进行(5) ,(6)计算;如果满足有余,则选取较小的 N 进行(5) , (6)项计算。设计完成后对已设计的滤波器的频率响应要进行校核,要得到幅频响应特性,运算量也是很大的。平时所要设计的数字滤波器,阶数和类型并不一定是完全给定的,很多时候都是要根据设计要求和滤波效果不断的调整,以达到设计的最优。3.2.2FIR 数字带通滤波器的设计由于 IIR 数字滤波器利用模拟滤波器的理论进行设计,保留了模拟滤波器优良的幅度特性,因而设计中只考虑了幅度特性,没有考虑相位特性,所以一般情况 IIR 数字滤波器是非线性的7。而 FIR 数字滤波器很容易做到严格意义的线性相位特征

25、,这对于信号处理是非常重要的。此外 FIR 数字滤波器单位冲激响应是有限长的,所以它永远是稳定的。稳定和线性是 FIR 数字滤波器最突出的两个优点3。MATLAB 提供了许多常用的窗函数,其中布莱克曼窗函数的调用形式为:W=Blackman(N)其中 N 是窗函数的长度,返回的变量 w 是一个长度为 N 的列向量,给出窗函数在N 点的取值。根据设计任务,用 MATLAB 设计的 FIR 数字带通滤波器的具体程序如下:ws1=0.3*pi;wp1=0.45*pi; %ws 为归一化阻带边界频率,wp 为归一化通带边界频率wp2=0.65*pi;ws2=0.75*pi;as=40; %as 单位为

26、 dB 的最小阻带衰减tr_width=min(wp1-ws1),(ws2-wp2);%数据分析m=ceil(11*pi/tr_width)+1;%确定数字带通滤波器的阶数wc1=(ws1+wp1)/2;wc2=(wp2+ws2)/2;%wc 为 3dB 截止频率hd=ideal_lp(wc2,m)-ideal_lp(wc1,m);%调用子程序w_bla=(blackman(m);%产生布莱克曼窗函数系数h=hd*w_bla;db,mag,pha,grd,w=freqz_m(h,1);%调用子程序delta_w=2*pi/1000;Ap=-min(db(wp1/delta_w+1:1:wp2/

27、delta_w);%实际的通带波动;As=-round(max(db(ws2/delta_w+1:1:501);%实际的最小阻带衰减%画图subplot(1,2,2);plot(w/pi,pha);title(相位响应);% 画带通滤波器的相位响应曲线图xlabel(频率(单位:pi);ylabel(相位);subplot(1,2,1);plot(w/pi,db);%set(gca,fontname,cmr12);title(幅度响应(单位:db);grid%画带通滤波器的幅度响应曲线图xlabel(频率(单位:pi);ylabel(分贝数);%横坐标表示频率,纵坐标表示分贝数axis(0 1

28、 -150 10);set(gca,xtickmode,manual,xtick,0,0.3,0.45,0.65,0.75,1);set(gca,ytickmode,manual,ytick,-40,0);子程序 %计算幅度响应和相位响应值functiondb,mag,pha,grd,w=freqz_m(b,a);h,w=freqz(b,a,1000,whole);h=(h(1:1:501);w=(w(1:1:501);mag=abs(h);db=20*log10(mag+eps)/max(mag);pha=angle(h);grd=grpdelay(b,a,w);子程序 %计算布莱克曼窗函数

29、系数function hd=ideal_lp(wc,m);alpha=(m-1)/2;n=0:1:(m-1);m=n-alpha+eps;hd=sin(wc*m)./(pi*m);3.2.3FIR 数字滤波器 MATLAB 仿真结果与分析可以得出:表示通带与阻带之间的最小宽度:tr_width=0.31423dB截止频率:wc1=1.1781 wc2=2.1991实际的通带波动:Ap 9103791. 1实际的最小阻带衰减:As=0幅度响应值为:dB=1.0e-008*0.1379相位响应值为:pha=0滤波器的阶数为:m=111幅频响应曲线和相位响应曲线如图 2 所示。图图 2 2 FIR

30、数数字字带带通通滤滤波波器器的的幅幅度度响响应应和和相相位位响响应应4IIR 数字滤波器与 FIR 数字滤波器的比较从图 1 可以看出巴特沃什滤波器具有单调下降的幅频特性,并在截止频率 wc 处的函数值为 0.5 的情况下,通带内的值为 1;在阻带内函数值更迅速的趋近 0。相频特性曲线则呈非线性这表明会使信号产生失真。图 2 表明幅频特性曲线和相频特性曲线都呈一条直线,布莱克曼数字滤波器的相位线性从而保证信号在传输过程中不会产生失真,实际的通带波动(Ap=)满足技术指标要求(Ap1dB) 。但幅频特性曲线却不能满足要9103791. 1求,过渡带太宽(tr_width=0.3142),实际的最

31、小阻带衰减(As=0)很难满足技术要求。 从本设计可以看出,(1)IIR 数字滤波器可以利用一些现成的公式和系数表设计各类选频滤波器。通常只要将技术指标代入设计方程组式(2) 、 (3) 、 (4) 、 (5) 、 (6)就可以设计出原型滤波器,然后在利用相应的变换公式求得所需要的滤波器系统函数的系数,变换公式见表14。即首先设计出低通滤波器,在由频率变换公式实现高通、带通和带阻滤波器3。而 FIR 数字滤波器则不能。(2)在满足一定技术要求和幅频响应的情况下,IIR 数字滤波器设计成为具有递归运算的环节,系统存在极点,因此设计系统函数时,必须把所有的极点放在单位圆内,否则系统不稳定。而且有限

32、字长效应所带来的运算误差,可能会使系统产生寄生振荡。而 FIR 数字滤波器没有递归运算,因此不论在理论还是实际应用中,都不会因为有限字长效应所带来的运算误差使得系统不稳定。所以 IIR 数字滤波器的阶数一般比 FIR 数字滤波器低,本设计中 IIR 的阶数为 7,而 FIR 的阶数为 111。IIR 数字滤波器所用的存储元件少,滤波器体积也小,而 FIR 数字滤波器阶数比较高,因而所需要的存储单元多,从而提高计算机硬件设计成本。(3)IIR 数字滤波器如图所示,除幅频特性可以满足技术要求外,它们的相频特性往往是非线性的,这就会使信号产生失真。而 FIR 数字滤波器可以设计出具有线性相位(相位响应值为:pha=0)的数字滤波器,从而保证信号在传输过程中不会产生失真。(4)FIR 数字滤波器可以采用快速傅立叶变换实现快速卷积运算,在相同阶数的条件下运算速度快。虽然可以采用加窗方法或频率采样等简单方法设计 FIR 数字滤波器,但往往在过渡带上和阻带衰减上难以满足要求,因此不得不多次迭代或者计算机辅助设计,从而使得设计过程变得复杂。而 IIR 数字滤波器的幅频响应较好,过渡带宽和阻带衰减都能满足技术要求,因此设计过程简单。表表 1 数字滤波器的频带变换数字滤波器的频带变换滤波器类型变换关系

温馨提示

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

评论

0/150

提交评论