《MATLAB程序设计实验报告.doc》由会员分享,可在线阅读,更多相关《MATLAB程序设计实验报告.doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、MATLAB程序设计实验报告学 院:地球物理与石油资源学院 班 级: 物探(基)10901 姓 名: 刘豪 合 作 人: 侯颖 学 号: 班内编号: 09 指导教师: 陈义群 完成日期: 2012年4月20日 一、实验项目:IIR数字滤波器的设计法二、时间地点:2012/4/17-2012/4/21三、实验内容1、数字滤波器知识 数字滤波器与模拟滤波器相对应,在数字信号处理中,如果一个离散时间系统是用来对输入信号进行滤波处理,那么该系统就可以称为数字滤波器(Digital Filter)。因此,数字滤波器实际上就是离散时间系统。 数字滤波器的基本输入/输出关系为: 其中h(n)为滤波器的单位抽
2、样响应。 数字滤波器的转移函数为: 如果A(z)=1,则称滤波器为(有限冲激响应)FIR滤波器;否则为(无限冲激响应)IIR滤波器。令 ,得到滤波器的频率响应为: 定义为滤波器的幅频响应,而 为滤波器的相频响应。2、IIR数字滤波器的频率变换设计法 IIR数字滤波器的频率变换设计法的基本思想是,由原型低通滤波器,通过频率变换形成不同形式的数字滤波器。其实现过程分为两种:第一种,首选根据滤波器设计要求,设计模拟原型低通滤波器,然后进行频率变换,将其转换为相应的数字滤波器;第二种,首选根据滤波器的设计要求,设计模拟原型低通滤波器,然后利用冲激响应不变法或双线性变换法,将原型低通滤波器数字化成数字原
3、型低通滤波器,最后进行频率变换,将数字原型低通滤波器转换为相应的数字滤波器(高通、带通等)。1. MATLAB的典型设计为了实现频率变换设计IIR数字滤波器,MATLAB在信号处理具箱中提供了大量的IIR数字滤波器设计的相关函数,其中包括IIR滤波器阶次估计函数、模拟低通滤波器原型设计函数,以及模拟滤波器变换函数。每个函数有多钟调用方法Buttord 计算Butterworth滤波器的阶次和截止频率Cheb1lord 计算ChebyshevI型滤波器的阶次Cheb2lord 计算ChebyshevII型滤波器的阶次elipord 计算椭圆滤波器最小阶次besselap Bessel模拟低通滤波
4、器原型设计buttap Butterworth模拟低通滤波器原型设计cheb1ap Chebyshev I型模拟低通滤波器原型设计cheb2ap Chebyshev II型模拟低通滤波器原型设计elipap 椭圆模拟低通滤波器原型设计lp2bp 把低通模拟滤波器转换成带通滤波器lp2bs 把低通模拟滤波器转换成带阻滤波器lp2hp 把低通模拟滤波器转换成高通滤波器lp2 改变低通模拟滤波器的截止频率因此,利用这些函数,IIR数字滤波器的频率变化设计将变得非常简单。利用MATLAB设计IIR数字滤波器可以分为以下几类来实现。 按一定规则将数字滤波器的技术指标转换为模拟低通滤波器的技术指标a 根据
5、转换后的技术指标使用滤波器阶数函数,确定滤波器的最小阶数N和截止频率 。 利用最小阶数N产生模拟低通滤波器原型。 利用截止频率 把模拟低通滤波器原型转换成模拟低通、高通、带通或者带阻滤波器。 利用冲激响应不变法或者双线性变换法把模拟滤波器转换成数字滤波器。四、实验结论1、MATLAB的典型设计 (1)、设计一个数字信号处理系统,它的采样率为100Hz,希望在该系统中设计一个Butterworth型高通数字滤波器,使其通带中允许的最大衰减为0.5dB,阻带内的最小衰减为40dB,通带上限临界频率为30Hz,阻带下限临界频率为40Hz。程序如下:(2)、利用冲激响应不变法设计一个低通Chebysh
6、evI型数字滤波器,其通带上限临界频率为0.3Hz,阻带临界频率为0.4Hz,采样频率为1000Hz,在通带内的最大衰减为0.3dB,阻带内的最小衰减为80dB。 程序如下:2、MATLAB的直接设计 (1)、试设计一个阻带IIR数字滤波器,具体要求是,通带截止频率wp1=600Hz,wp2=800Hz;阻带截止频率ws1=700Hz,ws2=750Hz;通带内的最大衰减为rp=0.1dB;阻带内的最小衰减为rs=45dB;采样频率为Fs=2000Hz。 程序如下:(2)、设计一个ChebyshevI型带通滤波器,具体要求:wp1=55Hz,wp2=75Hz,ws1=50Hz,ws2=80Hz,rp=0.5,rs=55,Fs=200Hz。 程序如下: 五、心得体会 Matlab是一种用于科学技术计算的高性能语言。它将计算、可视化和程序设计集成在一个非常容易使用的环境之中,是我们熟悉的数学符号表示问题与答案。通过对matlab课程的学习,让我们可以更进一步的运用软件来解决我们在地震勘探中所遇到的信号分析的相关问题,也可以让我们在学习生活中更好的运用matlab程序来解决更对我们平常用生活中难以计算的问题。它是地震勘探开发研究中一个重要的工具。