- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB与信号实验——连续LTI系统的时域分析
上机实验2 连续LTI系统的时域分析
一、实验目的
(1)熟悉LTI系统在典型激励信号的响应及其特性;
(2)熟悉连续LTI系统单位冲激响应的求解方法;
(3)重点掌握用卷积计算连续时间系统的零状态响应;
(4)熟悉MATLAB相关函数的调用格式及作用;
(5)会用MATLAB对系统进行时域分析。
二、实验原理
连续时间系统可用如下的线性常系数微分方程来描述:
其中,,系统的初始条件为,...,
系统的响应一般包括两部分,即由当前输入所产生的响应(零状态响应)和由历史输入(初始状态)所生产的响应(零输入响应)。对于低阶系统,一般可以通过解析的方法得到响应,但是对与高阶的系统,手工计算比较困难,这时MATLAB强大的计算功能就比较容易确定系统的各种响应,如冲击响应,阶跃,零状态响应,全响应等。
1、直接求解法
涉及到的MATLAB函数有:impulse(冲击响应)、step(阶跃)、roots(零状态下响应)、lsim(零状态响应)等。在MATLAB中,要以系统向量的形式输入系统的微分方程,因此在使用前必须对系统的微分方程进行变换,得到其传递函数。其分别用向量a,b表示分母多项式和分子多项式的系数(按照s的降幂排列)。
2、卷积计算法
跟据系统的单位冲激响应,里用卷积计算的方法,也可以计算任意输入状态下系统的零状态响应。设一个线性零状态系统,已知系统的单位冲激响应为h(t),当系统的激励信号为f(t)时,系统的零状态响应为:
也可简记为
由于计算机采用的数值计算,因此系统的零状态响应也可以用离散序列卷积和近似为
式中、和分别对应以T为时间间隔对连续时间信号、和进行采样得到的离散序列。
涉及的MATLAB函数
impulse函数
功能:计算并画出系统的冲激函数
调用格式:
impulse(sys):其中sys可以是利用命令tf,zpk或ss建立的系统函数。
Impulse(sys,t):计算并画出系统在向量t定义的时间内的冲激响应。
Y=impulse(sys,t):保存系统的输出值。
step函数
功能:计算并画出系统的阶跃响应曲线
调用格式:
Step(sys):其中sys可以是利用命令tf,zpk或ss建立的系统函数。
step(sys,t):计算并画出系统在向量t定义的时间内的阶跃响应。
Isim函数
功能:计算并画出系统在任意输入下的零状态响应
调用格式:
Isimlism(sys,t) 其中sys可以是利用命令tf,zpk或ss建立的系统函数,x是系统的输入,t定义的是时间范围;
Lsimlism(sys,x,t,zi):计算系统在任意输入的零状态下的全响应,sys必须是状态空间形式的系统函数,zi是系统的初始状态。
4:roots函数
功能:计算其次多项式的根。
调用格式:
r=roots(b):计算多项式b的根,r为多项式的根.
四、实验内容与方法
1. 验证性实验
(1)求系统 y(2)(t) + 6y(1)(t) + 8y(t) = 3x(1)(t) + 9x(t) 的冲击响应和阶跃响应。
MATLAB程序:
%求系统的冲激响应
b=[3 9];a=[1 6 8];
sys=tf(b,a);
t=0:0.1:10;
y=impulse(sys,t);
plot(t,y);
xlabel(时间);
ylabel(y(t));
tiltle(单位冲响应);
系统的冲激响应如图所示。
MATLAB程序:
%求系统的阶跃响应
a=[0 3 9];
b=[1 6 8];
sys=tf(a,b,0);
t=0:0.1:10;
y=step(sys,t);
plot(t,y);
xlabel(时间(t));
ylabel(y(t));
title(单位阶跃响应);
求系统 y(2)(t) + y(t)=costU(t),y(0+)=y(1)(0+)=0 的全响应。
Matlab程序:
%求系统的正弦激励下的零状态响应
a = [0 0 1];
b = [1 0 1];
sys = tf (a,b,0);
t = 0:0.1:10;
x = cos(t);
y = lsim(sys,x,t);
plot (t,y);
xlabel(时间(t));
ylabel(y(t));
title(零状态响应);
系统的零状态响应如图所示。
MATLAB程序:
%求系统的全响应
b=[1];a=[1 0 1];
[A B C D]=tf2ss(a,b);
sys=ss(A,B,C,D);
t=0:0.1:10;
x=cos(t);
zi=[-1,0];
y=lsim(sys,x,t,zi);
plot (t,y);
xlabel(时间(t));
ylabel(y(t));
title(全响应);
系统的全响应如图所示。
(3)
文档评论(0)