零输入响应与零状态响应.docVIP

  • 156
  • 0
  • 约2.83千字
  • 约 4页
  • 2021-08-07 发布于四川
  • 举报
零输入响应与零状态响应 在Matlab中,lsim函数还可以对带有非零起始状态的LTI系统进行仿真,使用方法为y=lsim(sys,u,t,x0),其中sys表示LTI系统,矢量u和t分别表示激励信号的抽样值和抽样时间,矢量x0表示该系统的初始状态,返回值y是系统响应值。如果只有起始状态而没有激励信号,或者令激励信号为0,则得到零输入响应。如果既有初始状态也有激励信号,则得到完全响应。 请注意lsim函数只能对用状态方程描述的LTI系统仿真非零起始状态响应,函数ss(对传递函数描述的LTI系统将失效,函数tf)。 例2.5 给定如图所示电路,t0时S处于1的位置而且已经达到稳态,将其看做起始状态,当t=0时,S由1转向2.分别求t0时i(t)的零状态响应和零输入响应。 图2.1 例2.4 电路图 解:由所示电路写出回路方程和结点方程 分别得到状态方程和输出方程: 下面将用两种方法计算完全响应。第一种方法:首先仿真2V电压e作用足够长时间(10s)后系统进入稳态,从而得到稳态值x0,再以该值作为初始值仿真4V电压e作用下的输出rf,即是系统的完全响应,为充分掌握lsim函数的使用方法,还仿真了系统的零状态响应rzs和零输入响应rzi。第二种方法:构造一个激励信号,先保持2V足够长时间再跳变为4V,然后即可以零初始状态一次仿真得到系统的完全响应r1。 对应程序如下: C=1; L=1/4; R1=1; R2=3/2; A=[-1/R1/C,-1/C;1/L,-R2/L]; B=[1/R1/C;0]; C=[-1/R1,0]; D=[1/R1]; sys=ss(A,B,C,D); %建立LTI系统sys tn=[-10:0.01:-0.01]; %生成-10s到-0.01s的抽样时间,间隔为0.01s en=2*(tn0); %生成机理信号的抽样值e(t)=2 [rn tn xn]=lsim(sys,en,tn); %仿真t0时的输出信号 x0=xn(length(en),:); %x0记录了初始状态的值 t=[0:0.01:10]; e=4*(t=0); %生成激励信号的抽样值e(t)=4 ezi=0*(t=0); %生成零输入信号的抽样值e(t)=0 rzs=lsim(sys,e,t); %仿真零状态响应 rzi=lsim(sys,ezi,t,x0); %仿真零输入响应 rf=lsim(sys,e,t,x0); %仿真完全响应 r1=lsim(sys,[en;e],[tn;t]); %用另一种方法仿真完全响应 冲激响应与阶跃响应 如果分别用冲激信号和阶跃信号作激励,lsim函数可仿真出冲激响应和阶跃响应。但鉴于这两种响应的重要性,为简化操作,Matlab专门提供了impulse(sys)和step(sys)两个函数分别直接产生LTI系统的冲激响应和阶跃响应,其中sys表示LTI系统模型。 连续系统的单位冲激响应h(t)的计算 impulse(sys)计算并画出连续系统的冲激响应,sys可由函数tf(b,a)获得,其中b和a分别是系统函数H(s)的分子多项式和分母多项式的系数矩阵。h=impulse(sys,t)计算并画出系统在向量t定义的时间范围内的冲激响应,向量h保存对应时间的系统冲激响应的输出值。 例2.6 已知描述某连续系统的微分方程为计算该系统的单位冲激响应h(t). 对应程序如下: a=[1,5,6]; b=[2,8]; sys=tf(b,a); t=0:0.1:10; h=impulse(sys,t); plot(h); xlabel(t); title(h(t)) 观察运行结果图。 连续系统单位阶跃响应g(t)的计算 step(sys)计算并画出连续系统的阶跃响应。g=step(sys,t)计算并画出连续系统在向量t定义的时间范围内的阶跃响应。向量g保存对应时间的系统阶跃响应的输出值。 二、卷积 在Matlab中,连续时间的卷积运算可以用数值方法计算近似值。首先对卷积公式 两侧以T为间隔抽样,再将积分拆成长度为T的若干小段,得到 假设抽样间隔足够小,以至于两个函数相邻抽样点上的值几乎不变,则近似有 (2.1) Matlab中定义了w=conv(u,v) 函数实现卷积和 (2.2) 下面讨论如何利用conv函数实现连续时间卷积。首先假设序列u(m)是函数从时刻开始,以T为间隔采样的结果,则 (2.3) 假设是T的整数倍。同理假设v(m)是对函数从时刻开始以相同间隔抽

文档评论(0)

1亿VIP精品文档

相关文档