连续时间系统的冲激响应和零状态响应

简介: 连续时间系统的冲激响应和零状态响应

实验原理

线性时不变系统用微分方程描述:

y(n)(t)+an-1y(n-1)(t)+…+a1y(1)(t)+a0y(t)=bmf(m)(t)+bm-1f(m-1)(t)+…+b1f(1)(t)+b0f(t) (2-1)

(1)系统的零状态响应可通过求解初始状态为零的微分方程得到。

MATLAB中,用lsim函数求解LTI的零状态响应,其调用形式为: y=lsim(sys,f,t) (2-2)
其中,t表示计算系统响应的抽样点向量,f是系统输入信号向量,sys是LTI系统模型,用来表示微分方程,差分方程,状态方程。在求解微分方程时,微分方程的LTI系统模型sys要借助MATLAB中的tf函数来获得,其调用形式为: sys=tf(b,a) (2-3)

式中,向量a表示响应及其各阶导数的系数:a=[ an an-1 … a1 a0],一般an=1;

向量b表示激励及其各阶导数的系数: b=[ bm bm-1 … b1 b0]

t表示计算响应所需的时间向量。例如t=c∶d∶e,其中c是起始时间,e是结束时间,d是时间增量。为了做出平滑的曲线,向量t的增量需要取得足够小。需要注意的是,这里向量a和b的样本值都是按照导数阶数递减的次序排列的。

也可以把式(3-2)、(3-3)合在一起用,即调用格式为: y=lsim(b,a,f,t) (2-4)

(2)系统的单位冲激响应是单位冲激信号作用在系统产生的零状态响应。

在MATLAB中,用impulse函数求解LTI的冲激响应,调用形式为: y=impulse (b,a,t)

例题

微分方程为是
,输入激励为
,求其零状态响应和单位冲激响应,并与用解析式表示的结果进行比较。

用MATLAB函数求解冲激响应的程序如下:

clc;clear
t=[0:0.1:10];
b=[1];
a=[1 3];
x=exp(-1t);
yf=lsim(b,a,x,t);
yf1=(1/2)(exp(-1t)-exp(-3t));
plot(t,yf,‘o’,t,yf1,‘r’);
title(‘零状态响应’);
xlabel(‘t’);ylabel(‘yf(t)’);
legend(‘lsim函数计算结果’,‘解析式计算结果’);
h=impulse(b,a,t);
h1=exp(-3*t);
figure;
plot(t,h,‘o’,t,h1,‘r’);
title(‘单位冲激响应’);
xlabel(‘t’);ylabel(‘h(t)’);
legend(‘impulse函数计算结果’,‘解析式计算结果’);

相关文章
|
6月前
|
运维 Java Serverless
函数计算产品使用问题之是否会受执行超时时间的限制
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
算法 Python
通过初始时间和流逝的分钟数计算终止时间
通过初始时间和流逝的分钟数计算终止时间
101 0
|
存储 SQL 数据库
超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。
超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。
615 0
|
JavaScript 前端开发
并发请求数据以及控制数量
在开发中遇到请求量很大的需求,可以使用并发和控制数量来实现
|
弹性计算 监控 大数据
集群状态显示,进程存在,但是组件状态显示未知
集群状态显示,进程存在,但是组件状态显示未知
|
数据安全/隐私保护
说说发送消息时间确定(时间戳与时间之间的转换)
说说发送消息时间确定(时间戳与时间之间的转换)
151 0
|
C# 网络协议
c#获取网络时间并同步本地时间
原文:c#获取网络时间并同步本地时间 通过TCP形式来获取NTP时间。主要代码如下: [DllImport("kernel32.dll")] private static extern bool SetLocalTime(ref Systemtime time); [StructLayout(LayoutKind.
3178 0