前言
一个信号系统课程中使用Matlab对系统的零状态响应、零输入响应、完全响应、冲激响应、阶跃响应求解、波形生成以及分析的实验。
一、内容
设系统的微分方程为:
激励为:
起始状态条件为:
、
可求得
零输入响应:
零状态响应:
完全响应:
冲激响应:
阶跃响应:
二、原理
- 使用拉普拉斯变换求解微分方程即可得到零状态响应、零输入响应、完全响应、冲激响应、阶跃响应的表达式。
- 将激励代入微分方程
并两边求拉式变换得(公式1)
若令
带入上公式1,并对Y(s)求拉式逆变换即可得零状态响应。 - 令激励为0,对微分方程求拉式变换得(公式2)
将
,
代入公式2,并对Y(s)求拉式逆变换可得零输入响应。 - 将零输入响应与零状态响应求和可得完全响应。
- 冲激响应就是将使用冲激信号作为激励,即
由系统函数(公式3)
可得冲激响应 - 阶跃响应就是将使用阶跃信号作为激励,即
由公式3可得阶跃响应
三、程序源码
% 微分方程 y''+3y'+2y = 2x
t=0:0.01:10;
y_zi=(4*exp(-t)-3*exp(-2*t));
y_zs=(1+2*exp(-t)-exp(-2*t));
y_total=y_zi+y_zs;
ht=(2*exp(-t)-2*exp(-2*t));
gt=(1+2*exp(-t)-exp(-2*t));
subplot(311),plot(t,y_total);
title('完全响应 (1+2e^{-t}-2e^{-2t})u(t)');
xlabel('t','Fontsize',12);ylabel('y_{total}','Fontsize',12);grid on;
subplot(323),plot(t,y_zi);
title('零输入响应 (4e^{-t}-3e^{-2t})u(t)');
xlabel('t','Fontsize',12);ylabel('y_{zi}','Fontsize',12);grid on;
subplot(324),plot(t,y_zs);
title('零状态响应 (1+2e^{-t}-e^{-2t})u(t)');
xlabel('t','Fontsize',12);ylabel('y_{zs}','Fontsize',12);grid on;
subplot(325),plot(t,ht);
title('冲激响应 (2e^{-t}-2e^{-2t})u(t)');
xlabel('t','Fontsize',12);ylabel('h(t)','Fontsize',12);grid on;
subplot(326),plot(t,gt);
title('阶跃响应 (1+2e^{-t}-e^{-2t})u(t)');
xlabel('t','Fontsize',12);ylabel('g(t)','Fontsize',12);grid on;
四、结果分析
- 完全响应是零状态响应和零输入响应的和。
- 零输入响应是当激励为0是的响应。
- 零状态响应是系统无初始状态时的响应。
- 冲激响应是当激励为冲激信号时的响应。
- 阶跃响应是当激励为阶跃信号时的响应。
- 由于输入函数是u(t)所以零状态响应和阶跃响应是一致的。
结语
系统的响应分析是信号系统中重要的一环,本文从微分方程入手,说明了系统响应的求解和Matlab波形绘制