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

下载本文档

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

文档简介

1、基于MATLAB的IIR滤波器设计            第一章 绪论1.1 研究的动机与目的    数字滤波器是数字信号处理理论的一部分。数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示,简单的说数字信号处理就是用数值计算的方法对信号进行处理1。具体来说,凡是用数字方式对信号进行滤波、变换、调制、解调、均衡、增强、压缩、固定、识别、产生等加工处理,都可纳入数字信号处理领域。数字滤波器在通信 、语

2、言 、图像 、自动控制 、雷达 、军事 、航空航天 、医疗 和家用电器等众多领域得到了广泛的应用 ,尤其在图像处理 、数据压缩等方面取得了令人瞩目的进展和成就。鉴于此 ,数字滤波器的设计就显得尤为重要2。现阶段对数字滤波器的研究具有时代意义,通过对前人研究方法和结果的总结,可以更好的将大学本科所学与实际应用问题相联系,做到学以至用。本文主要还是对前人的研究进行一个综述,然后结合课本上的基础知识,运用经典设计法中的脉冲响应不变法和双线性变换法进行IIR数字滤波器的设计,并通过Matlab进行仿真。1.3 研究方法无限长冲击响应数字滤波器(IIR)特点是具有无限持续时间的冲激响应 ,由于这种滤波器

3、一般需要用递归模型来实现 ,因而又称为递归滤波器。现在对IIR数字滤波器的设计方法的研究还是很普遍的,国内外都有很多学者参与这方面的研究,因此其设计方法也是多种多样如:脉冲响应不变法4,双线性变换法5,涉及多参数优化问题的粒子群优化计算法6,连续蚁群优化算法(ACOR)7,考虑全局优化的模拟退火算法(SA)8,遗传算法(G)9,Tabu算法10等。本文主要运用最基本的脉冲响应不变法和双线性变换法来设计IIR数字滤波器,在文中详述了两者的设计原理和优缺点,并通过Matlab程序实现仿真。同时对这两种方法原理和程序运行结果的进行比较与分析,以便更好的优化对IIR数字滤波器的设计。1.4 论文內容概

4、述    第一章,开头部分介绍了本课题的研究目的和动机,接下来简单介绍了数字滤波器的一些背景及相关知识,包括其发展状况,辅助软件Matlab;然后对研究方法做了概述。第二章,简单介绍了数字滤波器的原理、分类,IIR数字滤波器的三种结构及数字滤波器设计的一般要求。第三章,重点介绍了IIR数字滤波器的两种设计方法即脉冲响应不变法和双线性变换法,包括两者的原理与优缺点。第四章,文中给出两个设计实例,分别用脉冲响应不变法和双线性变换法去设计,并运用Matlab实现仿真,最后对结果做了分析。第五章,对Matlab中滤波器设计与分析工具(FDATool)做了 

5、60;      简单的介绍,并给出了一个实例进行仿真设计。第六章,对全文进行总结。 第二章 数字滤波器2.1 数字滤波器的原理数字滤波器是对数字信号实现滤波的线性时不变系统。数字滤波实质上是一种运算过程,实现对信号的运算处理。输入数字信号(数字序列)通过特定的运算转变为输出的数字序列,因此,数字滤波器本质上是一个完成特定运算的数字计算过程,也可以理解为是一台计算机。描述离散系统输出与输入关系的卷积和差分方程只是给数字信号滤波器提供运算规则,使其按照这个规则完成对输入数据的处理。时域离散系统的频域特性: ,其中 、 分别是数

6、字滤波器的输出序列和输入序列的频域特性(或称为频谱特性), 是数字滤波器的单位取样响应的频谱,又称为数字滤波器的频域响应。输入序列的频谱 经过滤波后变为 。因此,只要按照输入信号频谱的特点和处理信号的目的,适当选择的 使得滤波后的 满足设计的要求,这就是数字滤波器的滤波原理。2.4 数字滤波器的设计要求假设数字滤波器的传输函数 用下式表示:     &n   由此看出,当 时, ;当 时, 。也就是说,S平面的左半平面映射到Z平面的单位圆内,S平面的右半平面映射到Z平面的单位圆外,S平面的虚轴映射到Z平面的

7、单位圆上。这说明如果 是因果稳定的,那么经双线性转换后得到的 仍是因果稳定的。              临界频率为0.3KHz,阻带临界频率为0.4KHz,采样频率为1000Hz,在通带内最大衰减为0.3dB,阻带内的最小衰减为80dB13。 开始读入数字滤波器技术指标将指标转换成模拟低通滤波器的指标计算模拟低通滤波器阶数N和3dB截止频率模拟域频率变换,从模拟低通到模拟低通用脉冲响应不变法将H(s)转换成数字低通滤波器H(z)输入信号后显示相

8、关结果结束  运行结果:        (W*Fs/(2*pi),abs(H);grid;xlabel('频率/Hz')ylabel('幅值')title('频率响应2')         sp;  上图显示的分别是模拟低通幅度谱,数字带通幅度谱和数字带通的频谱函数图。从图中可以看出低通原型的每一个边界频率都映射为带通滤波器两个相应的边界频率。根据通

9、带截至频率和阻带截至频率与频谱函数曲线比较,在 s的条件下采用双线性变换法设计满足设计要求。MATLAB 程序2如下:clearwp0=0.5*pi;wp1=0.4*pi;wp2=0.6*pi;Ap=3;ws2=0.7*pi;As=15;T=2;   %数字带通滤波器技术指标%频率预畸变ws1=wp0-(ws2-wp0);      %计算带通滤波器的阻带下截止频率wt1=(2/T)*tan(wp1/2);wt2=(2/T)*tan(wp2/2);wz1=(2/T)*tan(ws1/2);wz2=(2/T)*tan(ws2/

10、2);w0=(2/T)*tan(wp0/2);         B=wt2-wt1;     %带通滤波器的通带宽度  %将指标转换成归一化模拟低通滤波器的指标lamds1=(wz12)-(w02)/(B*wz1);    %带通到低通的频率变换lamds2=(wz22)-(w02)/(B*wz2);lamdp1=(wt12)-(w02)/(B*wt1);lamdp2=(wt22)-(w02)/(B*wt2);  

11、if abs(lamds1)>abs(lamds2)      lamds=abs(lamds2)else lamds=abs(lamds1)end      lamdp=1; %设计归一化的模拟低通滤波器        N=buttord(lamdp,lamds,Ap,As,'s'); %设计归一化的模拟低通滤波器阶数N和3dB截止频率bLP,aLP=butter(N,lamdp,'s');

12、60; %计算相应的模拟滤波器系统函数G(p)w=linspace (0,2*pi,500);h=freqs(bLP,aLP,w);subplot(2,2,2);plot(w,20*log10(abs(h); %画模拟滤波器幅频特性axis(0,2*pi,-50,0);grid on;xlabel('w(rad) '); title('模拟低通幅度(dB)') bBP,aBP=lp2bp(bLP,aLP,w0,B);  %模拟域频率变换,将G(P)变换成模拟带通滤波器H(s)  %用双线性变换法将H(s)转换成数字带通滤波器H(z)b,a=b

13、ilinear(bBP,aBP,0.5);      w=linspace (0,2*pi,500);h=freqz(b,a,w);subplot(2,1,2);plot(w,abs(h);grid onxlabel('w(rad)')ylabel('|H(jw)|')title('频谱函数')subplot(2,2,1);plot(w,20*log10(abs(h);axis(0,2*pi,-120,20);grid onxlabel('w(rad)')ylabel('增

14、益(dB)')title('数字带通幅度(dB)')    第五章 信号处理界面设计IIR数字滤波器     在第四章中,主要运用MATLAB 函数进行IIR数字滤波器的设计,需要对已设计的滤波器的频率响应要进行校核,要得到幅频、相频响应特性,运算量是很大的,且比较繁琐。而利用MATLAB 强大的信号处理界面工具进行计算机辅助设计,可以快速有效地设计数字滤波器,大大地简化了计算量,方便直观。5.1 运用FDATOOL设计IIR 数字滤波器   在MATLAB命令窗口下,执

15、行fdatool命令,将弹出一个FDATOOL窗口,如图5.1        所示:  5.2 结论从以上这些界面中我们可以清晰明了的看到设计的该滤波器的各项参数指标,设计的结果直接用幅频图显示出来放便明了,而且还能通过界面的简单操作查看相频、冲击响应、零极点等特性图形。其最大的特点就是对所要设计的滤波器的参数修改相当容易,不像程序,修改一个参数可能产生连带作用,虽然简单但是其界面是设定好的,也就是说能修改的参数是有限的,而且它能设计的也是一些相对简单的滤波器,也许这个优点也就是它的缺点。总之,

16、使用FDATOOL 工具包设计和分析滤波器,是非常方便易行的,而且交互性良好,不需要极其复杂的程序编制就可以实现,对初学者来说还是有很大的帮助的。第六章 总结     本文从研究目的入手,浅谈了一些滤波器的背景知识,描述了数字滤波器的原理、分类、结构和设计要求;详述了脉冲响应不变法和双线性变换法的基本原理和优缺点,并且完成了Matlab的仿真。最后,还对滤波器界面设计工具FDATOOL 做了简单的介绍。     通过对脉冲响应不变法和双线性变换法的仿真比较,我对这两种方法有了更进一步的认识。在理论上,通过对两者的细述,我有了更大的区分度:脉冲响应不变法只是选取了模拟滤波器 域中因果稳定的部分区域( ),然后将其离散化映射到 域的单位圆内,这样虽保证了线性,但在离散化的过程中受到采样频率的制约,容易产生频率响应的混叠现象;双线性法实际上就是为了解决频率响应的混叠现象才被创造出来的,它将整个 域中因果稳定的域非线性压缩到 中消除了频率响应的混叠现象但失去了线性;在程序的设计上,两者遵循的基本思路是相同的,但有细节上的差异:由于两种方法适用的滤波器不是同一种类型的,因此在程序设计中调用的函数会有差

温馨提示

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

最新文档

评论

0/150

提交评论