参考MATLAB论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB论文《无限脉冲响应滤波器设计》
前言
MATLAB自1982年由美国Mathwork公司开发的一套高性能的数值计算和可视化软件。它集数值分析、矩阵计算、信号分析与图形显示为一体,构成的一个方便的、界面友好的用户环境。历经二十几年的发展和竞争,现已成为(IEEEE祥述)国际公认的最优秀的科技应用软件。Matlab 最突出的特点就是简洁、它用直观的、符合人们思维习惯的代码、代替C 语言和FORTRAN语言的冗长代码。为此,Matlab获得了对应用学科(特别是边缘学科和交叉学科)的极强适应力。在国内外高校、Matlab已成为大学生,硕士生、博士生必须掌握的基本技能。在设计研究学位和工业部门,Matlab已经成为研究和解决各种具体工程问题的一种标准软件。信号分析与处理是科研生产中的重要环节,也是目前国内外出现的信号处理的新研究课题。信号分析与处理,可以研究系统的稳定性,选择系统参数,验证系统的理论和算法。Matlab软件广泛用于数字信号分析,系统识别,时序分析与建模,神经网络、动态仿真等方面有着广泛的应用。利用Matlab这个最优秀的科技软件,把计算机技术与信号分析紧密地结合起来,对信号进行分析处理仿真研究,经实例验证,取得了非常好的效果,具有一定的实用价值。
1.1、MATLAB语言简介
MATLAB是集数值计算、符号运算及图形处理等强大功能于一体的科学计算语言。作为强大的科学计算平台,它几乎能够满足所有的计算需求。MATLAB为用户提供了具有条件控制、函数调用、数据输入输出及面向对象等特性的高层的、完备的编程语言。MATLAB语言语法简单,程序调试和维护容易,其编程效率远远高于BASIC、PISCAL及C等高级语言。新版本的MATLAB语言是基于最为流行的C语言基础上的,因此语法特征与C语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。具有可移植性好、可扩展性极强等特点,是最为普遍的计算仿真工具之一,所以我们有必要了解和掌握MATLAB这门语言工具。
1.2MATLAB包括五个主要部分:
(1)开发环境。开发环境是帮助用户使用MATLAB函数和文件的工具的集合,这些工具中许多都是图形用户界面。开发环境包括MATLAB桌面及其命令窗口、命令记录、帮助浏览器、工作平台、文件和搜索路径等。
(2)MATLAB数学函数库。该库收集了大量的从基本函数(求和、三角运算、复杂算术等)到复杂函数(矩阵求逆、求矩阵特征值、贝塞尔函数和快速傅立叶变换等)的计算算法。
(3)MATLAB语言。MATLAB语言是一种包括流程控制语句、函数、数据结构、输入/输出和面向对象编程方式的高级矩阵/数组语言,该语言能够通过与其它MATLAB系统组成部分之间的交互来完成非常复杂的计算任务。
(4)图形句柄。图形句柄即MATLAB的图形系统,该系统既包括二维和三维数据的可视化、图像处理、动画和图形描述等高级命令,又包括允许用户完全自定义图形,并在MATLAB 应用程序中建立自己的图形界面的低级命令。
(5)MATLAB应用程序接口API是允许用户编写C、FORTIULN和MATLAB接口程序的系统库,该库中包含一些调用工具,其它应用程序能够通过动态链接、作为计算引擎、读写MAT文件三种形式来使用这些工具以调用MATLAB程序。
无限脉冲响应滤波器设计
2.1切比雪夫滤波器设计
1. 切比雪夫滤波器的设计原理
巴特沃斯滤波器的频率特性曲线,无论在通带还是在阻带都是频率的单调减函数。因此,当通带边界处满足指标要求时,通带内肯定会有较大富余量。因此,更有效的设计方法应该是将逼近精确度均匀地分布在整个通带内,或者均匀分布在整个阻带内,或者同时均匀分布在两者之间。这样就可以使滤波器阶数大大降低。这通过选择具有等波纹特性的逼近函数来达到。
切比雪夫滤波器的幅度特性就具有这种等波纹特性。它有两种形式:振幅特性在通带内事等波纹的、在阻带内是单调下降的切比雪夫I型滤波器;振幅特性在通带内是单调下降、在阻带内是等波纹的切比雪夫II型滤波器。采用何种形式的滤波器取决于实际用途。
2.用MATLAB设计切比雪夫滤波器
MATLAB的信号处理工具箱函数cheblap,cheblord和chebly1是切比雪夫I型滤波器设计函数。其调用格式如下:
(1)[z,p,k]=cheblap(N,Rp)
(2)[N,wpo]=cheblord(wp,ws,Rp,As)
(3)[N,wpo]=cheblord(wp,ws,Rp,As,`s`)
(4)[B,A]=chebly(N,Rp,wpo,`ftype`)
(5)[B,A]=chebly(N,Rp,wpo,`ftype`,`s`)
切比雪夫I型滤波器设计函数与巴特沃斯滤波器设计函数比较,只有两个点不同。一是这里设计的是切比雪夫I型滤波器;二十格式(2)和(3)的返回参数与格式(4)和(5)的调用参数wpo是切比雪夫I型滤波器的通带截止频率,而不是3dB截止频率。其它参数含义与巴特沃斯滤波器设计函数中的参数相同。系数向量B和A与数字和模拟滤波器系统函数的关系下列两式决定
1(1)1(1)()(1)(2)()(1)()()(1)(2)()(1)N N N N
B z B B z B N z B N Z H z A z A A z A N z A N z --------++++==++++ 式(1) 11()(1)(2)()(1)()()(1)(2)()(1)
N N a N N B s B s B s B N s B N H s A s A s A s A N s A N --++++==++++ 式(2) MATLAB 信号处理工具箱函数cheb2,cheb2ord 和cheby2是切比雪夫II 型滤波器设计函数。
其调用格式如下:
(1)[z,p,G]=cheb2ap(N,Rs)
该格式用于计算N 阶切比雪夫II 型归一化(阻带截止频率1s Ω=)模拟低通滤波器系
统函数为零、极点和增益因子。返回长度为N 的列向量z 和p ,分别给出N 个零点和极点的
位置。G 表示滤波器增益。Rs 是阻带最小衰减(dB )。
(2)[N,wso]=cheb2ord(wp,ws,Rp,As)
该格式用于计算切比雪夫II 型数字滤波器的阶数N 和阻带截止频率wso 。调用参数wp
和ws 分别为数字滤波器的通带边界频率和阻带边界频率的归一化值。要求0≤wp ≤1,
0≤wp ≤1,1表示数字频率π(对应模拟频率Fs/2)Rp 和As 分别为通带最大衰减和阻带最
小衰减(dB )。0≤wp ≤1时,为高通滤波器;当wp 和ws 为二元矢量时,为通带或阻带滤
波器,这时wso 也是二元向量。N 和wpo 作为cheby2的调用参数。
(3)[N,wpo]=cheb2ord(wp,ws,Rp,As,`s`)
该格式用于计算切比雪夫II 型模拟滤波器的阶数N 和阻带截止频率wso 。Wp 、ws 和
wso 是实际的模拟角频率(rad/s )。其他参数与格式(2)相同。
(4)[B,A]=cheby2(N,Rs,wso,`ftype`)
该格式用于计算N 阶切比雪夫II 型数字滤波器系统函数的分子和分母多项式系数向量B 和
A 。调用参数N 和wso 分别为切比雪夫II 型数字滤波器的阶数和阻带截止频率的归一化值(关
于π归一化),一般调用函数cheb2ord 计算N 和wso 。
(5)[B,A]=cheby2(Z,Rs,wso,`ftype`,`s`)
该格式用于计算N 阶切比雪夫II 型模拟滤波器系统函数的分子和分母多项式系数向量
B 和A 。调用参数N 和wso 分别为N 阶切比雪夫II 型模拟滤波器的阶数和阻带截止频率。
3用切比雪夫I 型设计模拟低通滤波器。