文档库

最新最全的文档下载
当前位置:文档库 > 实验三 连续时间LTI系统的时域分析

实验三 连续时间LTI系统的时域分析

实验三连续时间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

step

y t

sys

impulse

y

=

=

其中t表示系统响应的时间抽样点向量,sys表示LTI系统模型。

三、实验环境

Window7、64位操作系统,MATLAB 2014

四、实验内容

1、已知系统的微分方程和激励信号,使用MATLAB命令画出系统的零状态响

应和零输入响应(用数值法求解)。

实验三  连续时间LTI系统的时域分析

(1)源程序代码:

t=-2:0.001:10; %定义时间

sys=tf([1],[1,4,3]);%建立微分方程

实验三  连续时间LTI系统的时域分析

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选做。

实验三  连续时间LTI系统的时域分析

(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('阶跃响应');

实验三  连续时间LTI系统的时域分析

(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('阶跃响应');

实验三  连续时间LTI系统的时域分析

五、实验总结