零输⼊响应与零状态响应
1.零输⼊响应与零状态响应
在Matlab中,lsim函数还可以对带有⾮零起始状态的LTI系统进⾏仿真,使⽤⽅法为y=lsim(sys,u,t,x0),其中sys表⽰LTI系统,
⽮量u和t分别表⽰激励信号的抽样值和抽样时间,⽮量x0表⽰该系统的初始状态,返回值y是系统响应值。如果只有起始状态
⽽没有激励信号,或者令激励信号为0,则得到零输⼊响应。如果既有初始状态也有激励信号,则得到完全响应。
请注意lsim函数只能对⽤状态⽅程描述的LTI系统仿真⾮零起始状态响应,函数ss(对传递函数描述的LTI系统将失效,函数
tf)。
例2.5 给定如图所⽰电路,t<0时S处于1的位置⽽且已经达到稳态,将其看做起始状态,当t=0时,S由1转向2.分别求t>0时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*(tn<0); %⽣成机理信号的抽样值e(t)=2
[rn tn xn]=lsim(sys,en,tn); %仿真t<0时的输出信号
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]); %⽤另⼀种⽅法仿真完全响应
2. 冲激响应与阶跃响应
如果分别⽤冲激信号和阶跃信号作激励,lsim 函数可仿真出冲激响应和阶跃响应。但鉴于这两种岗位职能 响应的重要性,为简化操
作,Matlab 专门提供了impul(sys)和step(sys )两个函数分别直接产⽣LTI 系统的冲激响应和阶跃响应,其中sys 表⽰LTI 系
统模型。
1) 连续系统的单位冲激响应h(t)的计算
impul(sys)计算并画出连续系统的冲激响应,sys 可由函数tf(b,a)获得,其中b 和a 分别是系统函数H(s)的分⼦多项式和分母
多项式的系数矩阵。h=impul(sys,t)计算并画出系统在向量t 定义的时间范围内的冲激响应,向量h 保存对应时间的系统冲激
响应的输出值。
例 2.6 已知描述某连续系统的微分⽅程为()()()()()t f t f t y t y t y 8265'
'''+=++计算该系统的单位冲激响应h(t).
对应程序如下:
a=[1,5,6];
b=[2,8];
sys=tf(b,a);
t=0:0.1:10;
h=impul(sys,t);
plot(h);
xlabel('t'); title('h(t)')
观察运⾏结果图。
2) 连续系统单位阶跃响应g(t)的计算
step(sys)计算并画出连续系统的阶跃响应。g=step(sys,t)计算并画出连续系统在向量t 定义的时间范围盐酸小檗碱片 内的阶跃响应。向量g 保
存对应时间的系统阶跃响应的输出值。
⼆、卷积
在Matlab 中,连续时间的卷积运算可以⽤数值⽅法计算近似值。⾸先对卷积公式()()()d t f f t f ?∞
∞--=21 针开头的成语 两侧以T 为间隔抽样,再将积分拆成长度为T 的若⼲⼩段,得到 ()()()∑?∞-∞=+-=
m T mT mT d nT f f nT f 21
假设抽样间隔⾜够⼩,以⾄于两个函数相邻抽样点上的值⼏乎不变,则近似有
()()()∑-≈m
mT nT f mT f T nT f 21 (2.1)
Matlab 中定义了w=conv(u,v) 函数实现卷积和
()()()∑-+=m
m n v m u n w 1 (2.2)
下⾯讨论如何利⽤conv 函数实现连续时间卷积。⾸海鲫鱼 先假设序列u(m)是函数()t f 1从1t 时刻开始,以T 为间隔采样的结果,则
()mT f T t m u 111=??? ?
-+ (2.3) 假设1t 是T 的整数倍。同理假设v(m)是对函数()t f 2从2t 时刻开始以相同间隔抽样得到的序列,即
()mT f T t m v 211=??? ?
-+ (2.4) 将式(2.3)和(2.4)带⼊式(2.1),有
(模型英文 )??? ??-+-??? ??-+≈∑T t m n v T t m u T nT f m
2111 (2.5) 定义T t m m 1'1-+=,T
t t n n 21'1+-+=并带⼊式(2.5)得到 ()()()
∑-+≈m m n v m u T nT f '''1 (2.6)
对⽐式(2.2)和(2.6)有
()()??
+-+=≈T t t n Tw n Tw nT f 2
1'1 (2.7) 即w(n)近似为从21t t +时刻开始以T 为间隔对f(t)抽样得到的序列,从⽽可以⽤conv 函数实现连续时间卷积。在以上推
导的基础上,定义了⼀个函数conv1实现连续时间卷积: ⽂件名为conv1.m
function[w,tw]=conv1(u,tu,v,tv)%输⼊参数:u 和v 表⽰两个序列,tu 和tv 分别表⽰他
们的抽样时间返回值.即输出参数:w 和tw 分别表⽰卷积结果及其抽样时
间。
T=tu(2)-tu(1);%以T 为间隔抽样,再将积分拆成长度为离职证明怎么写 T 的若⼲⼩段,相当于dt w=T*conv(u,v);
tw=tu(1)+tv(1)+T*[0:length(u)+length(v)-2];
%抽样时间tw=[tu(1)+tv(1), tu(1)+tv(1)+T, tu(1)+tv(1)+2T,…,
tu(1)+tv(1)+T(length(u)-1+length(v)-1)] 卷蓝天白云简笔画 积的时间为两序列起点的和到两序列终点的和
例2.7 已知某系统冲激响应为()2t t h =,0
对应程序如下:
t=[-1:0.01:4]’;
e=[-0.5:0.01:(-0.5+1.5)];
h=(t>0&t<2).*t/2;
[r1,t1]=conv1(e,t,h,t);
tr=t1(t1>=-1&t1<=4); %从t1中选择和t 相同起⽌时刻的抽样时间tr
r=r1(t1>=-1&t1<=4); %⽤类似⽅法选择tr 对应的输出r
plot(tr,r)
本文发布于:2023-04-21 05:59:58,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/fan/82/507166.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |