一、实验目的
二、实验原理
三、使用仪器、材料
四、实验步骤
五、实验过程原始记录(数据、图表、计算等)
六、实验结果及分析
一、实验目的
1.学会用MATLAB求解连续系统的零状态响应;
2. 学会用MATLAB求解冲激响应及阶跃响应;
3.学会用MATLAB实现连续信号卷积的方法;
二、实验原理
1.连续时间系统零状态响应的数值计算
我们知道,LTI连续系统可用如下所示的线性常系数微分方程来描述,
在MATLAB中,控制系统工具箱提供了一个用于求解零初始条件微分方程数值解的函数lsim。其调用格式
y=lsim(sys,f,t)
式中,t表示计算系统响应的抽样点向量,f是系统输入信号向量,sys是LTI系统模型,用来表示微分方程,差分方程或状态方程。其调用格式
sys=tf(b,a)
式中,b和a分别是微分方程的右端和左端系数向量。例如,对于以下方程:
可用 获得其LTI模型。
注意,如果微分方程的左端或右端表达式中有缺项,则其向量a或b中的对应元素应为零,不能省略不写,否则出错。
例3-1 已知某LTI系统的微分方程为
y’’(t)+ 2y’(t)+100y(t)=f(t)
其中, ,求系统的输出y(t).
解:显然,这是一个求系统零状态响应的问题。其MATLAB计算程序如下:
ts=0;te=5;dt=0.01;
sys=tf([1],[1,2,100]);
t=ts:dt:te;
f=10sin(2pi*t);
y=lsim(sys,f,t);
plot(t,y);
xlabel(‘Time(sec)’);
ylabel(‘y(t)’);
2.连续时间系统冲激响应和阶跃响应的求解
在MATLAB中,对于连续LTI系统的冲激响应和阶跃响应,可分别用控制系统工具箱提供的函数impluse和step来求解。其调用格式为
y=impluse(sys,t)
y=step(sys,t)
式中,t表示计算系统响应的抽样点向量,sys是LTI系统模型。
例3-2已知某LTI系统的微分方程为
y’’(t)+ 2y’(t)+100y(t)=10f(t)
求系统的冲激响应和阶跃响应的波形.
解:ts=0;te=5;dt=0.01;
sys=tf([10],[1,2,100]);
t=ts:dt:te;
h=impulse(sys,t);
figure;
plot(t,h);
xlabel(‘Time(sec)’);
ylabel(‘h(t)’);
g=step(sys,t);
figure;
plot(t,g);
xlabel(‘Time(sec)’);
ylabel(‘g(t)’);
三、上机实验内容
1. 验证实验原理中所述的相关程序
见以上步骤的附图。
2. 已知描述系统的微分方程和激励信号f(t)如下,试用解析法求系统的零状态响应y(t),并用MATLAB绘出系统零状态响应的时域仿真波形,验证结果是否相同
y’’(t)+ 4y’(t)+4y(t)=f’(t)+3f(t) f(t)= exp(-t)u(t)
3.已知描述系统的微分方程如下,试用MATLAB求系统在0~10秒范围内冲激响应和阶跃响应的数值解,并用绘出系统冲激响应和阶跃响应的时域波形
y’’(t)+3y’(t)+2y(t)=f(t)
实验上机实验代码、实验报告如下:
/download/weixin_39589455/19647483