




已阅读5页,还剩55页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河南理工大学万方科技学院本科毕业设计(论文)摘 要滤波器是用来选择所需的某种或某些频带的信号,而抑制不需要的其它频带信号的装置。滤波器作为信号处理的重要组成部分,已发展的相当成熟。滤波器可以分为两大类,即经典滤波器和现代滤波器。本文着重讲述了经典滤波器的matlab仿真。数字滤波器是数字信号处理的重要环节,数字滤波器可以分为无限脉冲响应滤波器(iir, infinite impulse response)和有限脉冲响应滤波器(fir,finite impulse response)两大类。本文首先介绍了滤波器的滤波原理,重点介绍了iir滤波器和fir滤波器的基本设计原理,以及在matlab环境下如何将模拟滤波器转换为数字滤波器,并给出设计实例及运行结果。通过分析程序运行的结果得到模拟滤波器与数字滤波器的不同,以及iir滤波器与fir滤波器的不同之处,并与实际生产相联系得出他们各自的优缺点。关键字:滤波 模拟滤波器 数字滤波器 matlababstract filter is used to select a desired one or some frequency band signal, and suppresses the unwanted other band signal device. filter for signal processing is an important component, has developed quite mature. the filter can be divided into two categories, namely, classical and modern filter filter. this paper focuses on the classic matlab filter simulation. digital filter digital signal processing is the important link, digital filter can be divided into infinite impulse response filters ( iir, infinite impulse response ) and the finite impulse response filter ( fir, finite impulse response ) two categories. this paper first introduces the filter principles, introduced with emphasis on the iir filter and a fir filter design fundamentals, as well as in the matlab environment how to analog filter is converted to a digital filter, and gives examples of design and operation results. through the analysis of the program running results are analog and digital filter is different, and the iir filter and a fir filter difference, and with actual production is linked to that of their respective advantages and disadvantages.key words: filter af df matlab目 录1 绪 论11.1 matlab软件简介11.2 滤波器简介21.2.1 滤波器工作原理31.2.2 数字滤波器的设计方法42 基于matlab的iir数字滤波器设计62.1 模拟滤波器的设计62.1.1 巴特沃斯低通滤波器设计72.1.2 切比雪夫低通滤波器设计102.2 模拟-数字滤波器的转换162.2.1 冲击响应不变法162.2.2 双线性z变换法212.3 频带变换及其matlab实现232.3.1 模拟低通滤波器转换成数字高通滤波器242.3.2 模拟低通滤波器转换成数字带通滤波器262.4 小结303 基于matlab的fir数字滤波器设计313.1 常用窗函数及matlab实现313.1.1 常用窗函数介绍323.1.2 各种窗函数的比较与实现343.2 基于窗函数的fir数字滤波器设计353.2.1 海明窗设计数字低通滤波器363.2.2 汉宁窗设计一线性相位fir高通数字滤波器393.2.3 用汉宁窗设计fir带通滤波器413.2.4 用凯塞窗函数设计一个fir带阻滤波器463.3 小结484 滤波器的比较504.1 模拟滤波器与数字滤波器的比较504.2 iir与fir数字滤波器的比较505 总结52致 谢53参考文献54 iv1 绪 论1.1 matlab软件简介matlab是“矩阵实验室”(matrix laboratoy)的缩写,是一种科学计算软件,主要适用于矩阵运算及控制和信息处理领域的分析设计。它使用方便,输入简捷,运算高效,内容丰富,因此很多专家在自己擅长的领域用它编写了许多专门的matlab工具包,由于matlab功能的不断扩展,所以是科学研究中最常用以及必不可少的工具。matlab由一系列工具组成,这些工具方便用户使用matlab的函数和文件,其中许多工具采用的是图形用户界面,包括matlab桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器等。随着matlab的商业化以及软件本身的不断升级,matlab的用户界面也越来越精致,更加接近windows的标准界面,人机交互性更强,操作更简单,而且现在新版本的matlab提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行错误原因分析。matlab是一个高级的矩阵/阵列语言,它具有控制语句、函数、数据结构、输入和输出以及面向对象编程的特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(m文件)后再一起运行。新版本的matlab语言是以最为流行的c语言为基础的,因此语法特征与c语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式,使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是matlab能够深入到科学研究及工程计算各个领域的重要原因。接下来的两章我们将分别对iir数字滤波器和fir数字滤波器的设计、实现进行分析讨论,在具体的设计过程中,将充分发挥matlab软件在数值计算、图像处理中的优势以达到图像演示的最佳效果。1.2 滤波器简介滤波器(filter),是一种用来消除干扰杂讯的器件,将输入或输出经过过滤而得到纯净的直流电,其功能就是得到一个特定频率或消除一个特定频率。设计滤波器,就是根据设计的滤波器类型和参数计算出满足设计要求的滤波器的最低阶数和相应的截止频率,然后进一步求出相应的传递函数的分子、分母系数。从广义上讲,任何能对某些频率(相对于其它频率来说)进行修正的系统都称为滤波器。严格的讲,对输出信号通过一定的处理得到输出信号,这个处理通常是提取信号中某些频率范围内的信号成分,把这种处理的过程成为滤波。实现滤波处理的运算电路或设备称为滤波器。在许多科学技术领域中,广泛应用线性滤波和频谱分析对信号进行加工处理,模拟滤波处理连续信号,数字滤波处理离散信号,而后者是在前者的基础上发展起来的。无源或有源模拟滤波器是分立元件构成的线性网络,他们的性能可以用线性微分方程来描述,而数字滤波器是个离散线性系统,要用差分方程来描述,并以离散变换方法来分析,这些方程组可以用专用的或通用的数字计算机进行数字运算来实现。因此,数字滤波器的滤波过程是一个计算过程,它将输入信号的序列数字按照预定的要求转换成输出数列。 1.2.1 滤波器工作原理滤波器,顾名思义,其作用是对输入信号起到滤波的作用。对于图1-1所示的lsi系统,其时域输入输出关系为: (1-1)h (n) x(n) y(n) 图1-1若y(n),x(n)的傅立叶变换存在,则输入输出的频域关系是: (1-2)当输入信号x(n) 通过滤波器系统h(n) 后,其输出 y(n) 中不再含有|c的频率成分,仅使|c的信号成分通过。因此,滤波器的形状不同,其滤波后的信号结果也不一样。 模拟滤波器的性能只能通过硬件实现,而数字滤波器的性能可通过软件和硬件同时实现。下面就重点介绍一下数字滤波器在软件方面的实现。 1.2.2 数字滤波器的设计方法数字滤波器从功能上可以分为:低通滤波器(lp,low pass)、高通滤波器(hp,high pass)、带通滤波器(bp,band pass)、带阻滤波器(bs,band stop)。数字滤波器也可以按照单位冲激响应h(n)的性质分为两类:无限脉冲响应(infinite impulse response)数字滤波器,简称iir数字滤波器,它的h(n)序列长度是无限的,即当时,h(n)仍有效;有限脉冲响应(finite impulse response)数字滤波器,简称fir数字滤波器,它的h(n)序列长度是有限的。数字滤波器的设计与实现,通常按以下步骤进行:1、根据不同用途提出数字滤波器的技术指标、性能要求。2、设计一个稳定的、因果的数学模型h(z)来逼近所要求的技术指标,并用有限精度的运算实现所设计的系统。3、设计专用的数字硬件来实现这个数字模型,或者通过电子计算机运行程序软件予以实现,本文将侧重于软件实现。iir数字滤波器和fir数字滤波器在设计方法上有很大的不同:iir数字滤波器设计方法有两类,经常用到的一类设计方法是借助于模拟滤波器的设计方法进行的。其设计思路是:先设计模拟滤波器得到传输函数g(s),然后将g(s)按某种方法转换为数字滤波器的系统函数h(z)。这一类方法是基于模拟滤波器的设计方法相对比较成熟,它不仅有完整的设计公式,也有完整的图标供查阅,更可以直接调用matlab中对应的函数进行设计。另一种是直接在频域或者时域中进行设计,设计时必须使用计算机辅助,直接调用matlab中的程序或函数即可设计。fir数字滤波器不能采用由模拟滤波器设计进行转换的方法,而经常使用的是窗函数法和频率采样法。也可以借助计算机辅助设计软件采用切比雪夫等波纹逼近法进行设计。2 基于matlab的iir数字滤波器设计 iir数字滤波器具有无限持续时间脉冲响应,而所有的模拟滤波器一般都具有无限长的脉冲响应,因此它与模拟滤波器相匹配。于是,设计iir数字滤波器可以先设计模拟低通滤波器g(s),然后按一定规则将g(s)进行滤波器变换而得到数字域的iir低通滤波器h(z),最后通过频带变换转换成其它频带滤波器。本章将按此思路将iir数字滤波器设计分为三部分:设计模拟滤波器;进行滤波器模数转换,得到数字滤波器;最后再简单分析数字滤波器的频带转换问题。下面,将以此进行分别讨论。2.1 模拟滤波器的设计通过设计满足技术指标的模拟低通滤波器,有利于设计相应技术指标的iir数字滤波器,因此模拟滤波器的设计也十分重要。滤波器设计最重要的是寻找一个稳定、因果的系统函数去逼近滤波器的技术指标。一个因果、稳定模拟滤波器的传递函数应该满足如下要求: 1)滤波器的单位冲击响应函数应该是一个实函数,即是一个具有实系数的有理函数。2)的极点必须分布在平面的左半平面。3)的分子多项式的阶数必须小于或等于分母多项式的阶数。下面通过几个实例来介绍模拟低通滤波器的设计。 2.1.1 巴特沃斯低通滤波器设计巴特沃斯滤波器拥有最平滑的频率响应,在截止频率以外,频率响应单调下降。在通带中是理想的单位响应,在阻带中响应为0。在截止频率处有3db的衰减。巴特沃斯滤波器除了具有平滑单调递减的频率响应的优点之外,其过渡带的陡峭程度正比于滤波器的阶数,高阶巴特沃斯滤波器的频率响应近似于理想低通滤波器。巴特沃斯(butterworth)低通滤波器是将巴特沃斯函数作为滤波器的传递函数,它的平方幅度函数为: (2-1)式中,为滤波器频率,为3db截止频率,n表示滤波器的阶次。matlab信号处理工具箱为巴特沃斯滤低通模拟波器的产生提供了函数buttap,其调用的格式为:z,p,k=buttap(n),其中,z表示零点,p表示极点,k表示增益,n表示阶次。下面举例设计巴特沃斯低通模拟滤波器:%巴特沃斯低通模拟圆形滤波器clear all;n=0:0.01:2;for i=1:4switch i case 1 n=2;case 2 n=5; case 3 n=10; case 4 n=20; endz,p,k=buttap(n); %函数buttap-设计巴特沃斯低通滤波器b,a=zp2tf(z,p,k); %函数zp2tf-零极点增益模型转换为传递函数模型h,w=freqs(b,a,n); %函数freqs-求解模拟滤波器频率响应magh2=(abs(h).2; %函数abs-取模值函数 hold on %函数hold-控制是否保持当前图形plot(w,magh2) %函数plot-画二维线性图axis(0 2 0 1); %函数axis-控制坐标轴比例和外观endxlabel(w/wc);ylabel(|h(jw)|2);title(巴特沃斯低通模拟滤波器);text(0.72,0.63,n=2) %对不同曲线做标记text(0.98,0.85,n=20)grid on;由此得出的巴特沃斯低通模拟滤波器的平方幅度响应曲线如图所示: 图2-1巴特沃斯滤波器的幅频特性由图2-1可分析出,巴特沃斯滤波器拥有平滑的频率响应,在截止频率以外,频率响应单调下降。对n=2阶滤波器和n=20阶滤波器的平方幅度响应进行比较后,可得出其过渡带的陡峭程度正比于滤波器的阶数,高阶巴特沃斯滤波器的频率响应近似于理想低通滤波器,有着更好的幅度特性。 2.1.2 切比雪夫低通滤波器设计切比雪夫滤波器的振幅特性就具有这种等波纹特性。它有两种形式:振幅特性在通带内是等波纹的、在阻带内是单调的切比雪夫i型滤波器;振幅特性在通带内是单调的、在阻带内是等波纹的切比雪夫ii型滤波器。采用何种形式的切比雪夫滤波器取决于实际用途。切比雪夫i型(chebyshev-i)滤波器平方幅度响应函数为: (2-2) 其中是一个小于1的正数,它与通带波纹有关,越大,波纹也越大;是的切比雪夫多项式,它的定义为: (2-3) 而切比雪夫ii型(chebyshev-ii)滤波器平方幅度响应函数为: (2-4)其中是一个小于1的正数,表示波纹变化情况;为截止频率;n为滤波器的阶次,也是的阶次。下面是切比雪夫i型和切比雪夫ii型滤波器的幅频特性图: n为奇数 n为偶数 图2-2 理想切比雪夫i型滤波器的幅频特性 n为奇数 n为偶数 图2-3理想切比雪夫ii型滤波器的幅频特性 图2-2和图2-3分别画出了理想时的切比雪夫i型与切比雪夫ii型滤波器阶次n为奇数与偶数时的幅频特性。而通过matlab信号处理工具箱中的函数cheb1ap及cheb2ap,可以实现切比雪夫滤波器设计,其调用格式为:z,p,k=cheb1ap(n,rp) z,p,k=cheb2ap(n,rs)其中,z表示零点,p表示极点,k表示增益,n表示阶次,rp为通带波纹(db), rs为阻带波纹(db)。%绘制切比雪夫i型低通模拟滤波器的平方幅频响应曲线,滤波器的阶数分别为2,4,6,8.clear all;n=0:0.01:2;for i=1:4 switch i case 1 n=2; case 2 n=4; case 3 n=6; case 4 n=8; end rs=10; z,p,k=cheb1ap(n,rs); b,a=zp2tf(z,p,k); h,w=freqs(b,a,n); magh2=(abs(h).2; posplot=22 num2str(i); subplot(posplot) plot(w,magh2) axis(0 2 0 1); xlabel(w/wc); ylabel(h(jw)2); title(n= num2str(n); grid onend图2-4 切比雪夫i型滤波器的幅频特性%切比雪夫ii型低通模拟滤波器clear all; n=0:0.01:2;for i=1:2 switch i case 1 n=7; case 2 n=8; endrs=10; %阻带文波系数为10dbz,p,k=cheb2ap(n,rs); %函数cheb2-设计切比雪夫ii型低通滤波器b,a=zp2tf(z,p,k);h,w=freqs(b,a,n);magh2=(abs(h).2;%输出图形posplot=12 num2str(i);subplot(posplot)plot(w,magh2)axis(0 2 0 1.1);xlabel(w/wc);ylabel(|h(jw)|2);title(n= num2str(n);end图2-5切比雪夫ii型滤波器的幅频特性(基于matlab实现) 通过比较上面几个实例我们可以看出,巴特沃斯滤波器从其幅频特性可见,它的通带误差低端小,高端大。为了保证滤波器通带高端的性能指标,滤波器的阶数就会较高。切比雪夫滤波器的波纹逼近理想特性,使通带内误差分布均匀,这样,在相同指标情况下,切比雪夫滤波器的阶数比巴特沃斯滤波器要求要低,但相位特性比巴特沃斯滤波器差,且设计相对复杂。切比雪夫滤波器的特点是:通带内等波纹,阻带单调(切);通带内单调,阻带等波纹(切);优点是:相同指标下,阶数较低,结构简单;缺点是:通带内相位特性较差。2.2 模拟-数字滤波器的转换在设计了模拟低通滤波器后,就可以把它们变成数字滤波器了。这些变换均是复值映射,许多文献对此都有研究,根据数字滤波器所保持的模拟滤波器的不同特性,研究出不同的变换技术。其中,最重要的有两种:冲击响应不变法和双线性z变换法。 2.2.1 冲击响应不变法冲击响应不变法的基本原理是从滤波器的冲击响应出发,对具有传递函数g(s)的模拟滤波器的冲击响应g(t),以周期t采样所得的离散序列g(nt)作为数字滤波器的冲击响应。考虑: ; (2-5)对上式进行拉普拉斯变换就可以得到 ; (2-6)由于h(s)是exp(st)的函数,并令z=exp(st),于是得到 ; (2-7)这样就完成了从s域到z域的变换。这实际上是从拉普拉斯变换到z变换的标准变换,或者叫做冲击响应不变变换。上式是非递归的,但是如果g(s)是s的有理函数,即: (2-8) 分子中的k取值为0=k=m,分母中的k取值为0=k=n;且mn. 则根据冲击响应不变变换原理,h(z)也是一个有理函数,这样可以用递归形式实现iir滤波器。根据上述理论,将举例在matlab环境下用函数实现脉冲响应不变法设计一数字低通滤波器。其函数为b,a=impinvar(c,d,t),其中,b表示数字滤波器自变量为的分子多项式,a表示数字滤波器自变量为的分母多项式,c表示模拟滤波器自变量为s的分子多项式,d表示模拟滤波器自变量为s的分母多项式,t表示采样变换参数。 %运用冲击响应不变法设计一个低通chebshev1型数字滤波器,其通带上限临界频率是3hz,阻带临界频率是5h,采样频率是1000hz,在通带内的最大衰减为0.3db,阻带内的最小衰减为80db。matlab程序如下:clc;clear all;%把数字滤波器的频率特征转换成模拟滤波器的频率特征wp=300*2*pi;ws=400*2*pi; rp=0.3;rs=80; fs=1000;%选择滤波器的最小阶数。n,wn=cheb1ord(wp,ws,rp,rs,s);%创建chebyshev1低通滤波器的原型z,p,k=cheb1ap(n,rp);a,b,c,d=zp2ss(z,p,k);%实现低通向低通的转换at,bt,ct,dt=lp2lp(a,b,c,d,wn);num1,den1=ss2tf(at,bt,ct,dt);%运用冲击响应不变法把模拟滤波器转换成数字滤波器num2,den2=impinvar(num1,den1,1000);%绘出频率响应曲线h,w=freqz(num2,den2);plot(w*fs/(2*pi),abs(h);grid;xlabel(幅值);ylabel(频率);title(冲击响应不变法低通滤波器);clc;clear all;%把数字滤波器的频率特征转换成模拟滤波器的频率特征wp=300*2*pi; ws=400*2*pi; rp=0.3; rs=80; fs=1000;%选择滤波器的最小阶数。n,wn=cheb1ord(wp,ws,rp,rs,s);%创建chebyshev1低通滤波器的原型z,p,k=cheb1ap(n,rp);a,b,c,d=zp2ss(z,p,k);%实现低通向低通的转换at,bt,ct,dt=lp2lp(a,b,c,d,wn);num1,den1=ss2tf(at,bt,ct,dt);%运用冲击响应不变法把模拟滤波器转换成数字滤波器num2,den2=impinvar(num1,den1,1000);%绘出频率响应曲线h,w=freqz(num2,den2);plot(w*fs/(2*pi),abs(h);grid;xlabel(幅值);ylabel(频率);title(冲击响应不变法低通滤波器); 图2-6 冲击响应不变法设计数字低通滤波器的特性 冲击响应不变法的特点有:(1)模拟频率与线性频率之间的转换是线性的,并保持了模拟滤波器的时域瞬态特性(2)当模拟滤波器频率响应不是严格限带时,用冲击响应不变法设计出的数字滤波器会出现混叠现象(3)由于在(2)中提到的冲击响应不变法设计出的数字滤波器会出现混叠现象,使这种设计方法受到限制,即当g(j)不是严格限带或在时域g(t)变化不太稳,而设计性能又要求较高时,则不宜使用这种方法。总结以上,冲击响应不变法的优点是频率坐标变换是线性的,即=t,如不考虑频率混叠现象,用这种方法设计数字滤波器会很好的重现原模拟滤波器的频率响应。另外一个优点是数字滤波器的单位脉冲响应完全模仿模拟滤波器的单位冲激响应,时域逼近好。但其也具有很大的缺点,若抽样频率不高或其它原因将产生混叠失真,不能重现原模拟滤波器频率响应。所以,冲击响应不变法适合低通、带通滤波器的设计,不适合高通、带阻滤波器的设计。 2.2.2 双线性z变换法利用脉冲响应不变法设计数字滤波器时,由于的频率关系是根据推导的,所以使轴每隔便映射到单位圆上一周,引起了频域混叠的现象。为克服这一现象,人们希望能够找到由s平面到z平面的另外的一种映射关系,这种关系应保证:1) s平面的整个轴仅映射为z平面的单位圆上一周;2)若是稳定的,由映射得到的也应该是稳定的;3)这种映射是可逆的,既能由得到,也能由得到;4)如果,那么。满足上述4个条件的映射关系为: (2-9)此关系称为双线性z变换法。双线性z变换法的基本思路是:首先将整个s平面压缩到s1平面的一条带宽为2/t(从-/t到/t)的横带里,然后通过标准的变化关系将横带变换成整个z平面上去,这样就得到s平面与z平面间的一一对应的单值关系。在matlab中,双线性z变换可通过bilinear函数实现,其调用格式为:bz,az=bilinear(b,a,fs),其中b,a为模拟滤波器的传递函数g(s)的分子分母多项式系数分量,而bz,az为数字滤波器的传递函数h(z)的分子分母多项式的系数分量。%使用双线性z变换设计一低通数字滤波器,使数字滤波器满足以下参数:采样频率fs=1000hz,通带临界频率fl =200hz,通带内衰减小于1db(p=1);阻带临界频率fh=300hz,阻带内衰减大于25db(s=25)。fs=1000;fl=200;fh=300; %通带、阻带截止频率rp=1;rs=25;wp=fl*2*pi; %临界频率采用角频率表示ws=fh*2*pi; %临界频率采用角频率表示wp1=wp/fs; %求数字频率ws1=ws/fs; %求数字频率omegap=2*fs*tan(wp1/2);%频率预畸omegas=2*fs*tan(ws1/2);%频率预畸 %选择滤波器的最小阶数n,wn=buttord(omegap,omegas,rp,rs,s); %此处是代入经预畸变后获得的归一化模拟频率参数bt,at=butter(n,wn,s); % 设计一个n阶的巴特沃思模拟滤波器bz,az=bilinear(bt,at,fs); %双线性变换为数字滤波器h,w = freqz(bz,az); %求解数字滤波器的频率响应plot(w*fs/(2*pi),abs(h);grid; xlabel(频率/hz);ylabel(幅值);title(双线性z变换设计低通数字滤波器)图2-7 双线性z变换设计数字低通滤波器的特性2.3 频带变换及其matlab实现除了低通数字滤波器之外,实际中还常常需要高通、带通、及带阻数字滤波器。设计这三种滤波器的方法有很多,例如基于模拟滤波器转换法的iir数字滤波器设计,基于直接数字域法的iir数字滤波器设计等等。下面将具体介绍基于滤波器转换法的iir数字滤波器设计直接由模拟低通滤波器转换成数字高通、带通滤波器。 2.3.1 模拟低通滤波器转换成数字高通滤波器若已知模拟低通滤波器的系统传递函数为g(s),则模拟低通滤波器s平面到数字高通滤波器的z平面的变换公式为: (2-10)频率变换公式为: (2-11)从而得到数字高通滤波器的传递函数表达式为: (2-12) 接下来,基于matlab利用巴特沃斯模拟滤波器举例,设计一数字高通滤波器,要求数字截止频率为,通带内衰减不大于3db,阻带起始频率为rad,阻带内衰减不小于48db。wp=0.2*pi;ws=0.05*pi;ap=3;as=48;wp=tan(wp/2);ws=tan(ws/2);n,wn=buttord(wp,ws,ap,as,s);fprintf(滤波器阶数n=%.0fn,n)b,a=butter(n,1,s);numa,dena=lp2hp(b,a,wp);numd,dend=bilinear(numa,dena,0.5);disp(分子系数b);fprintf(%.4e ,numd);fprintf(n);disp(分母系数a);fprintf(%.4e ,dend);fprintf(n); w=linspace(0,pi,1024); h=freqz(numd,dend,w); plot(w/pi,20*log10(abs(h); axis(0 1 -50 0);grid; xlabel(归一化频率); ylabel(幅度/db);程序运行结果如下:滤波器阶数n=4分子系数b9.9999e-001 -4.0000e+000 6.0000e+000 -4.0000e+000 9.9999e-001分母系数a2.3103e+000 -5.4742e+000 5.3459e+000 -2.4366e+000 4.3290e-001所以由巴特沃斯模拟滤波器设计的数字高通滤波器的传递函数表达式为: 图2-8 基于巴特沃斯模拟滤波器设计的数字高通滤波器 2.3.2 模拟低通滤波器转换成数字带通滤波器若已知模拟低通滤波器的系统传递函数为g(s),则模拟低通滤波器s平面到数字带通滤波器的z平面的变换公式为: (2-13)频率变换公式为: (2-14)其中: (2-15)式中为下截止频率,为上截止频率。从而可得数字带通滤波器的传递函数表达式为: (2-16) 接下来,基于matlab利用巴特沃斯模拟滤波器举例,设计一数字带通滤波器,要求抽样频率fs=2000hz,通带范围为300400hz,在带边频率处衰减不大于3db,在200hz以下和500hz以上衰减不小于18db。matlab程序如下:clear all;fp=300 400;fs=200 500; rp=3; rs=18; fs=2000;wp=fp*2*pi/fs;ws=fs*2*pi/fs;wap=2*fs*tan(wp./2)was=2*fs*tan(ws./2);n,wn=buttord(wap,was,rp,rs,s);z,p,k=buttap(n);bp,ap=zp2tf(z,p,k)bw=wap(2)-wap(1)w0=sqrt(wap(1)*wap(2);bs,as=lp2bp(bp,ap,w0,bw)h1,w1=freqs(bp,ap);figure(1)plot(w1,abs(h1);grid;ylabel(bandpass af and df)xlabel(hz)其matlab运行结果为:wap = 1.0e+003 * 2.0381 2.9062bp = 0 0 1ap = 1.0000 1.4142 1.0000bw = 868.0683bs = 1.0e+005 * 7.5354 -0.0000 0.0000as = 1.0e+013 *columns 1 through 4 0.0000 0.0000 0.0000 0.0007column 5 3.5083图2-9 基于巴特沃斯模拟滤波器设计的数字带通滤波器2.4 小结 这一章主要是用matlab语言进行iir数字滤波器的设计和实现,iir数字滤波器的设计步骤分为三步:模拟低通滤波器的设计,模拟-数字滤波器变换,滤波器的频带变换。在模拟低通滤波器的设计中,主要讨论了巴特沃斯和切比雪夫两种设计方法;在模拟-数字滤波器变换中,讨论了两种变换方法,即冲击响应不变法和双线性z变换法;在频带变换的实现中,主要以巴特沃斯滤波器为例并结合matlab信号处理工具箱中提供的几个相关函数来进行分析设计。整个设计过程都是在理论分析的基础上,用matlab语言来进行编程设计,并最终通过具体滤波器指标来加以实现的。3 基于matlab的fir数字滤波器设计 由于iir数字滤波器能够保留一些模拟滤波器的优良特性,因此得到了广泛的应用。但是这些特性的获得是以牺牲线性相位频率特性为代价的。换句话说,用巴特沃斯和切比雪夫的数字滤波器逼近理想的滤波器的幅度频率特性,得到的滤波器的特性往往是非线性的。在很多实际的电子系统中,既要求有良好的幅度频率特性,又要求有线性相位特性,所以iir滤波器在这些系统中难以胜任。在这方面,有限长单位冲激响应(fir)数字滤波器具有优良的特点:1. 可以在设计任意幅度频率特性滤波器的同时,保证精确、严格的线性相位特性;2. fir数字滤波器的单位冲激响应是有限长的,可以用一个因果系统来实现,因而fir数字滤波器可以做成既是因果又是稳定的系统;3. 允许设计多通带(或多阻带)滤波器。fir的这些特性使得它的应用越来越广泛。设计fir数字滤波器的方法有窗函数法、频率抽样法和切比雪夫逼近法等,本文着重介绍了窗函数法。3.1 常用窗函数及matlab实现窗函数在设计fir数字滤波器中有很重要的作用,正确的选择窗函数可以提高所设计的数字滤波器的性能,或者在满足设计要求的情况下,减小fir数字滤波器的阶数。因此必须对各种窗函数有相应的了解。 3.1.1 常用窗函数介绍1、矩形窗(rectangular window)这是一种最简单的窗函数,但从阻带衰减的角度来看,其性能最差。它的定义为: (3-1)其频率响应为: (3-2)主瓣宽度为4/n,第一副瓣比主瓣低13db。在matlab中,实现矩形窗的函数为rectwin,其调用格式为w=rectwin (n),其中n是窗函数的长度,返回值w是一个n阶的向量,它由窗函数的值组成。2、三角形窗(triangular window) (3-3)其频率响应为: (3-4) 其主瓣宽度为8/n,第一副瓣比主瓣低26db。在matlab中,实现矩形窗的函数为triang,其调用格式为w=triang(n)。3、汉宁窗(hanning window)汉宁窗函数又称升余弦函数,其时域表达式为: (3-5) 其频率响应为: (3-6) 其主瓣宽度为8/n,能量更集中在主瓣之中。在matlab中,实现矩形窗的函数为hann,其调用格式为w=hann(n)。4、汉明窗(hamming window)汉明窗函数是一种改进的升余弦函数,其时域表达式为: (3-7)其幅度频率特性为: (3-8)其主瓣宽度为8/n,能量更集中在主瓣之中,主瓣的能量约占99.96%,第一旁瓣的峰值比主瓣小40db。在matlab中,实现矩形窗的函数为hamming,其调用格式为w=hamming(n)。5、布拉克曼(blackman window) (3-9)布拉克曼的主瓣宽度是矩形窗主瓣宽度的三倍,为12/n。它的最大旁瓣比主瓣值低57db。在matlab中,实现矩形窗的函数为blackman,其调用格式为w=blackman(n)。6、凯塞窗(kaiser window)在matlab中,实现凯塞窗的函数为kaiser,该函数的调用格式为:w=kaiser(n,beta)其中,beta为窗函数的参数。 3.1.2 各种窗函数的比较与实现在fir数字滤波器的设计中,要寻找适当的窗函数来进行处理,调整窗口长度n可以有效地控制过渡带宽度;调整窗函数形状可使带内波动减少以及加大阻带衰减。如果找到的窗函数形状,使其谱函数的主瓣包含更多的能量,则相应的旁瓣幅度就能减小,而旁瓣的减小可使通带阻带波动减小,加大阻带衰减,但这样总是以加宽过渡带为代价的。所以要根据实际需要和技术要求来选取窗函数进行设计。在matlab中,各个窗函数的调用函数均已给出(见3.2.1节)且用法比较简单,所以为了更好的比较、区别、分析及选择各个窗函数,特作一表格集中进行比较。表3-1给出了以上六种窗函数的特性值,可以看出,随着旁瓣的减小,主瓣宽度相应增加了。表3-1常用的六种窗函数的性能比较窗函数类型旁瓣峰值/db过渡带宽度阻带最小衰减/db近似值精确值 矩形窗-134/n1.8/n-12 三角窗-258/n6.1/n-25 汉宁窗-318/n6.2/n-44 汉明窗 -418/n6.6/n-53布莱克曼窗 -5712/n11/n-74凯塞窗-5710/n-803.2 基于窗函数的fir数字滤波器设计设计fir数字滤波器的基本方法有窗函数法,频率抽样法,等波纹切比雪夫逼近法等,在此主要讨论基于窗函数法设计fir数字滤波器及其matlab实现的问题。窗函数法又称为傅立叶级数法,它是在时域进行的,因而必须由理想滤波器的频率响应推导出其单位脉冲响应,再设计一个fir数字滤波器的单位脉冲响应去逼近。假设理想滤波器的频率响应的表示为: (3-10)由于理想滤波器的频率响应与单位脉冲响应序列是傅立叶变换对,所以根据傅立叶反变换得到。求得理想滤波器的单位脉冲响应后,可得到该离散滤波器的系统传递函数: (3-11)但该为无限长序列,因此是物理不可实现的。求了使系统变为物理可实现的,且使实际的fir滤波器频率响应尽可能逼近理想滤波器的频率响应,采用窗函数将无限脉冲响应截取一段h(n)来近似表示,可得: (3-12)式中(n)表示窗函数。从而有: (3-13)式中n表示窗口长度,这样h(z)就是物理可实现的系统了。由于这种方法是用一定宽度窗函数截取无限脉冲响应序列,获得有限长的脉冲响应序列,从而得到fir滤波器,故称为fir滤波器的窗函数设计法。 3.2.1汉明窗设计数字低通滤波器按下列要求用汉明窗设计一数字低通滤波器:电力
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人力资源社会保障部劳动合同示范文本(终稿)2篇
- 奶茶店用工协议书7篇
- 二手房协议书范本6篇
- 赡养子女协议书6篇
- 租赁物业场地合同范本
- 珍爱网婚介合同范本
- 人参采购合同范本
- 班班通维修合同范本
- 中日合资协议合同范本
- 出售农村别墅合同范本
- 第4课《乡愁》课件-2025-2026学年统编版语文九年级上册
- 第六届山东省无人机技术与应用职业技能竞赛(无人机测绘操控员)题库(含答案)
- 第1章三角形单元测试2025-2026学年苏科版八年级数学上册
- 2025年高级养老护理员职业技能考试笔试试题(附答案)
- PWC平安集团互联网企业预算管理体系介绍
- 2025-2026学年人教版小学数学四年级上册教学计划及进度表
- 高中语文课本中的作文素材(选必上)
- 2025年中国互联网金融协会招聘面试预测题及答案
- 2025年中医确有专长考试题库(附答案)
- 水泥路施工安全知识培训课件
- 2025年秋季学期(统编版)二年级上册语文教学工作计划及教学进度表
评论
0/150
提交评论