资源描述
实验三 连续时间LTI系统的时域分析
一、实验目的
1、学会使用数值法求解连续系统的零状态响应
2、学会求解连续系统的冲激响应和阶跃响应
二、实验原理及实例分析
1、连续时间系统零输入响应和零状态响应的符号求解
连续时间系统可以使用常系数微分方程来描述,其完全响应由零输入响应和零状态响应组成。MATLAB符号工具箱提供了dsolve函数,可以实现对常系数微分方程的符号求解,其调用格式为:
dsolve(‘eq1,eq2…’,’cond1,cond2,…’,’v’)
其中参数eq表示各个微分方程,它与MATLAB符号表达式的输入基本相同,微分和导数的输入是使用Dy,D2y,D3y来表示y的一价导数,二阶导数,三阶导数;参数cond表示初始条件或者起始条件;参数v表示自变量,默认是变量t。通过使用dsolve函数可以求出系统微分方程的零输入响应和零状态响应,进而求出完全响应。
2、连续时间系统零状态响应的数值求解
在实际工程中使用较多的是数值求解微分方程。对于零输入响应来说,其数值解可以通过函数initial来实现,而该函数中的参量必须是状态变量所描述的系统模型,由于现在还没有学习状态变量相关内容,所以此处不做说明。对于零状态响应,MATLAB控制系统工具箱提供了对LTI系统的零状态响应进行数值仿真的函数lsim,利用该函数可以求解零初始条件下的微分方程的数值解。其调用格式为:y=lsim(sys,f,t),其中t表示系统响应的时间抽样点向量,f是系统的输入向量;sys表示LTI系统模型,用来表示微分方程、差分方程或状态方程。在求解微分方程时,sys是有tf函数根据微分方程系数生成的系统函数对象,其语句格式为:sys=tf(a,b)。其中,a和b分别为微分方程右端和左端的系数向量。
3、连续时间系统冲激响应和阶跃响应的求解
在连续时间LTI系统中,冲激响应和阶跃响应是系统特性的描述。在MATLAB中,对于冲激响应和阶跃响应的数值求解,可以使用控制工具箱中提供的函数impulse和step来求解。
其中t表示系统响应的时间抽样点向量,sys表示LTI系统模型。
三、实验环境
Window7、64位操作系统,MATLAB 2014
四、实验内容
1、已知系统的微分方程和激励信号,使用MATLAB命令画出系统的零状态响应和零输入响应(用数值法求解)。
(1) 源程序代码:
t=-2:0.001:10; %定义时间
sys=tf([1],[1,4,3]);%建立微分方程
u=(t>0);
f=u; %定义输入
y=lsim(sys,f,t); %求零状态响应
plot(t,y),grid on; %画图
xlabel('t'); %注释x轴
ylabel('y(t)'); %注释x轴
title('零状态响应的数值求解法');
(2) 源程序代码:
t=[0:0.01:10];
sys=tf([1,3],[1,4,4]);
u=(t>0);
f=exp(-t).*u;
y=lsim(sys,f,t);
plot(t,y),grid on;
xlabel('t'); %注释x轴
ylabel('y(t)');
title('零状态响应');
2、已知系统的微分方程,使用MATLAB命令画出系统的冲激响应和阶跃响应(数值法)。要求题目2必做,题目1选做。
(1) 、源程序代码:
t=0:0.01:8; %定义时间
sys=tf([1],[1,2,2]); %建系统
h=impulse(sys,t); %利用函数impulse求冲击响应
g=step(sys,t); %利用函数impulse求阶跃响应
subplot(211);
plot(t,h);
xlabel('t'); %注释x轴
ylabel('h(t)'); %注释y轴
title('冲激响应');
subplot(212);
plot(t,g);
xlabel('t'); %注释x轴
ylabel('g(t)');
title('阶跃响应');
(2)、源程序代码:
t=0:0.01:8; %定义时间
sys=tf([1,0],[1,3,2]); %建系统
h=impulse(sys,t); %利用函数impulse求冲击响应
g=step(sys,t); %利用函数impulse求阶跃响应
subplot(211);
plot(t,h);
xlabel('t'); %注释x轴
ylabel('h(t)'); %注释y轴
title('冲激响应');
subplot(212);
plot(t,g);
xlabel('t'); %注释x轴
ylabel('g(t)');
title('阶跃响应');
五、 实验总结
5
展开阅读全文