【Matlab】系统的响应分析

前言

一个信号系统课程中使用Matlab对系统的零状态响应、零输入响应、完全响应、冲激响应、阶跃响应求解、波形生成以及分析的实验。

一、内容

设系统的微分方程为:
系统的微分方程
激励为: 激励

起始状态条件为: 条件1条件2

可求得
零输入响应:
零输入响应
零状态响应:
零状态响应
完全响应:
完全响应
冲激响应:
冲激响应
阶跃响应:
阶跃响应

二、原理

  1. 使用拉普拉斯变换求解微分方程即可得到零状态响应、零输入响应、完全响应、冲激响应、阶跃响应的表达式。
  2. 将激励代入微分方程

    并两边求拉式变换得(公式1)
    公式1
    若令

    带入上公式1,并对Y(s)求拉式逆变换即可得零状态响应。
  3. 令激励为0,对微分方程求拉式变换得(公式2)
    (公式2)


    代入公式2,并对Y(s)求拉式逆变换可得零输入响应。
  4. 将零输入响应与零状态响应求和可得完全响应。
  5. 冲激响应就是将使用冲激信号作为激励,即

    由系统函数(公式3)
    (公式3)
    可得冲激响应
    冲激响应
  6. 阶跃响应就是将使用阶跃信号作为激励,即

    由公式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;

四、结果分析

  1. 完全响应是零状态响应和零输入响应的和。
  2. 零输入响应是当激励为0是的响应。
  3. 零状态响应是系统无初始状态时的响应。
  4. 冲激响应是当激励为冲激信号时的响应。
  5. 阶跃响应是当激励为阶跃信号时的响应。
  6. 由于输入函数是u(t)所以零状态响应和阶跃响应是一致的。
    【Matlab】系统的响应分析_第1张图片

结语

系统的响应分析是信号系统中重要的一环,本文从微分方程入手,说明了系统响应的求解和Matlab波形绘制

你可能感兴趣的:(Matlab,学习笔记,matlab)