N阶线性差分方程求冲激响应和阶跃响应的课程设计doc.docx
《N阶线性差分方程求冲激响应和阶跃响应的课程设计doc.docx》由会员分享,可在线阅读,更多相关《N阶线性差分方程求冲激响应和阶跃响应的课程设计doc.docx(8页珍藏版)》请在冰豆网上搜索。
N阶线性差分方程求冲激响应和阶跃响应的课程设计doc
摘要
本课题主要研究对于N阶线性差分方程求冲激响应和阶跃响应的问题。
对于N阶线性差分方程,可对其先进行Z变换,求出系统响应方程,再进行逆Z变换求出系统函数,分别将输入冲激函数和阶跃函数带入可解得相应响应。
一般响应包括稳态解和暂态解。
稳态解与初始状态无关,暂态解则与初始状态有关,对于求阶跃响应,由于在n<0时候值为0,故可通过求单边Z变换求出系统方程。
用留数法或部分展开式法求出系统函数,本课题采用留数法。
响应画图工具可采用MATLAB工具,其对数学函数求解和画图有简便明了的特点。
1课题描述
本课题主要研究对因果稳定线性时不变系统的差分方程的单位冲激响应和单位阶跃响应的求解及绘图观察。
该实验以常用工具matlab求解绘图。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
。
MATLAB以矩阵作为基本编程单元,它提供了各种矩阵的运算与操作,并有较强的绘图功能。
本课题利用matlab的元素集运算和矩阵实现对因果稳定线性时不变系统差分方程的单位冲激响应和单位阶跃响应及单位冲击相应延迟的求解和绘图。
2设计原理
设计原理如下:
差分方程:
设N阶线性常数差分方程为:
(2.5.30)
1求稳态解
如果输入序列x(n)是在n=0以前
时加上的,n时刻的y(n)是稳态解,对(2.5.30)式求Z变换,得到:
式中
2求暂态解
对于N阶差分方程,求暂态解必须已知N个初始条件。
设x(n)是因果序列,即x(n)=0,n<0,已知初始条件y(-1),
y(-2),……,y(-N).对于(2.5.30)式进行Z变换时,注意这里要用单边Z变换。
设
=
=
=
=
(3.5.33)
按照(2.5.33)式进行单边Z变换,有
3设计过程
3.1软件介绍
MATLAB是矩阵实验室(MatrixLaboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
3.2设计内容
给定因果稳定线性时不变系统的差分方程:
用MATLAB实现系统对下面几种信号的响应:
⑴
;
⑵
;⑶
。
3.3设计步骤
1.先将系统两边进行单边Z变换,可得
2.求系统差分方程可得
3.再将方程进行逆Z变换得到
4.将输入
分别带入后可计算出对阶跃响应结果为:
对
响应为:
4设计程序
程序:
Clearall
A=[1,-3.1836,4.6223,-3.7795,1.8136,-0.4800,0.0544];B=[0.0007378,0.0007378*6,0.0007378*15,0.0007378*20,0.00073780*15.0007378*6,0.0007378];
x2n=ones(1,128);
hn=impz(B,A,58);
subplot(2,2,1);y='h(n)';tstem(hn,y);
title('(a)系统单位脉冲响应h(n)')
y2n=filter(B,A,x2n);
subplot(2,2,2);y='y2(n)';tstem(y2n,y);
title('(b)系统对u(n)的响应y2(n)')
h1n=[zeros(1,10)ones
(1)zeros(1,20)];
y3n=filter(B,A,h1n)
subplot(2,2,4);y='y3(n)';tstem(y3n,y);
title('(c)系统对
的响应y3(n)')
5程序运行结果及分析
运行结果如下图:
(a)单位脉冲响应h(n),(b)系统对单位阶跃序列u(n)的响应y2(n)
(c)系统对
的响应y3(n),
分析:
图(a)是对单位冲激函数的响应由图可以看出当n>35时,响应趋向于0,大致曲线如正弦函数,图(b)是对u(n)的响应,当n>10时,其后值基本相等,趋于2,图c(n)是图(a)的延迟响应,由于输入函数是单位冲激函数的延迟,响应也是单位冲激响应的延迟。
总结
线性时不变系统的求解方法有多种,课题主要用Z变换法解差分方程。
通过Z变换求系统响应方程,将其逆Z变换求出系统函数,再将输入函数带入解得响应求出具体解,这是本课题解差分方程的基本思路。
通过对该因果稳定线性时不变系统的差分方程课程的设计,我掌握了程序设计的基本步骤及基本原理。
对程序设计前所需进行的基本步骤有一定的了解。
熟悉了设计编译基本流程,熟练了对MATLAB的使用。
这次课程设计给我最大的收获就是更加切实实际的了解了差分方程的物理概念及在工程上的意义。
其次,通过本次设计,我提升了对信号处理及其实验软件MATLAB的喜爱及学习的热情,我认识到在学习中不仅要重视理论,更应该把理论用于实践中去,这才是学习的真正目的和意义。
参考文献
[1]丁玉美,高西全.《数字信号处理》.西安:
电子科技大学出版社,2006.
[2]陈怀琛,吴大正,高西全.《MATLAB及在电子信息课程中的应用》.北京:
电子科技大学出版社,2003.
[3]程佩青.《数字信号处理》.北京:
清华大学出版社,2006