预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

设计一离散系统的MATLAB实现 摘要: MATLAB是一套用于科学计算的可视化高性能语言与软件环境。它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个界面友好的用户环境。它的信号处理工具箱包含了各种经典的和现代的数字信号处理技术,是一个非常优秀的算法研究与辅助设计的工具。在设计数字滤波器时,通常采用MATLAB来进行辅助设计和仿真。 MATLAB是一种科学技术软件,专门以矩阵的形式处理数据。它在信号与系统中的应用主要包括符号运算和数值计算仿真分析。符号运算主要包括傅里叶正反变换、拉普拉斯正反变换和z正反变换等。数值计算与仿真分析主要包括函数波形绘制、函数运算、信号的时域和频谱分析、系统的s域分析和零极点图绘制等内容。这里简要介绍了离散时间系统Z域分析理论。利用MATLAB函数绘制了离散时间系统特性曲线、零极点图,并对系统稳定性进行判定。同时利用MATLAB实现离散系统频域特性的分析。结果表明MATLAB是线性系统性能分析的有效工具。 二、设计题目:离散时间系统的MATLAB实现 设计目的 通过该设计,加强学生的实际操作能力,培养学生的创新能力,加深对MATLAB在信号与系统方面的应用的理解,并达到熟练掌握各相关函数的使用方法的目的,更好地理解系统的单位抽样响应,频率响应及零极点增益的概念及意义。并且,进一步了解MATLAB广泛的应用。 四、方案设计思路 对于一个离散系统给定的输入输出差分方程,求其该系统的单位抽样响应,频率响应及零极点增益。思路如下: 1.求该系统的单位抽样响应,我利用MATLAB给的工具箱函数filter和impz,根据它们的格式再对相关参数进行设计,此时调用filter和impz函数就可以得到系统的单位抽样响应了,再分别用stem和plot绘图函数就能绘出系统的单位抽样响应图。 2.求该系统的频率响应,我利用MATLAB信号处理工具箱提供的求离散系统频率响应的函数freqz,设定相关参数,再调用此函数即可得到系统的频率响应,再利用plot函数绘出它的幅频特性和相频特性图。 3.求该系统的零点极点,并绘出系统的零极点增益图。利用root函数线求出该系统的零点和极点,再调用零极点图函数zplane即可得到系统的零极点图。 五、设计内容及其主要MATLAB函数 如图所示的一个离散系统 图1离散系统的信号流图 该系统对应的输入差分方程为: y(n)-0.4y(n-1)-0.5y(n-2)=0.2x(n)+0.1x(n-1) 求该系统的单位抽样响应、频率响应及零极点增益 单位抽样响应: 系统的单位抽样响应是当输入为单位抽样信号时系统的输出响应。 MATLAB中有两个函数可以计算系统的单位抽样响应:filter函数和impz函数. filter函数 filter函数是利用递归滤波器或非递归滤波器对数据进行滤波。因为一个系统可以看做一个滤波器。系统的输出就是输入经过滤波器滤波的结果。Filter函数的格式为: y=filter(b,a,x) 此函数是对由a和b组成的系统对输入进行滤波,如果输入为单位抽样信号δ(n),那么输出就是系统的单位抽样响应。 用filter函数编写的原程序为: a=[1,-0.4,-0.5];b=[0.2,0.1]; x=[1,zeros(1,100)]; y=filter(b,a,x); 其运行结果为 单位脉冲响应 2)impz函数 impz函数的格式为 impz(a,b)可以直接给出系统的单位抽样响应,其源程序为: >>b=[0.2,0.1];a=[1,-0.4,-0.5]; >>impz(b,a) 其结果如下图所示: 2、频率响应H(e^jw) MATLAB中的函数使用基于FFT的计算法来计算由向量和组成的系统的频率响应,其一般用法为:[h,f]=freqz(b,a,n,Fs) 其中向量a和b由离散系统决定,Fs为采样频率,在(0,Fs/2)频率范围内选取个频率点,并记录在中。由于函数是采用基2的FFT算法,常数去2的幂次方,这样可以提高运算速度。 其源程序为 fs=1000; [h,f]=freqz(b,a,64,fs) abs(h) plot(f,abs(h)) p=angle(h) ph=p*180/pi plot(f,ph) 其结果为; 离散系统频率响应的幅频曲线图 离散系统频率响应相频曲线图 零极点增益 利用MATLAB中roots函数可以求得系统的零极点,从而得到系统的零极点增益表示。其源程序为 zr=roots(b) zp=roots(a) zplane(b,a) title('零极点图') 运行结果: zr= -0.5000 zp= 0.9348 -0.5348 其结果为: 零极点增益 六、设计总结及心的体会 课程设计是一门将理论与实践相联系的课程