这个例子展示了如何使用控制系统工具箱™来分析和设计带有延迟的控制系统。
许多流程涉及死区时间,也称为传输延迟或时滞。控制这类过程具有挑战性,因为延迟会导致线性相移,从而限制控制带宽并影响闭环稳定性。
使用状态空间表示法,可以创建具有延迟的控制系统的精确开环或闭环模型,并在无需近似的情况下分析其稳定性和性能。组合模型时,状态空间(SS)对象会自动跟踪“内部”延迟,有关详细信息,请参阅“指定时间延迟”教程。
考虑标准设定点跟踪循环:
流程模型在哪里P
有2.6秒的死区时间和补偿器C
是一个PI控制器:
你可以指定这两个传递函数为
s=tf('s'); P=exp(-2.6*s)*(s+3)/(s^2+0.3*s+1);C=0.06*(1+1/s);
为了分析闭环响应,建立一个模型T
闭环传输的ysp
到Y
.由于此反馈回路中存在延迟,因此您必须转换P
和C
状态空间,并使用状态空间表示进行分析:
T=反馈(P*C,1)
T=A=x1-x2-x3-x1-0.36-1.24-0.18 x2 1 0 0 x3 0 1 0 B=u1 x1 0.5 x2 0 x3 0 C=x1-x2 x3 y1 0.12 0.48 0.36 D=u1 y1 0(所有内部延迟设置为零时计算的值)内部延迟(秒):2.6连续时间状态空间模型。
结果是一个内部延迟为2.6秒的三阶模型。在内部,状态空间对象T
跟踪延迟与剩余动态的耦合方式。此结构信息对用户不可见,并且当延迟设置为零时,上面的显示仅给出A、B、C、D值。
使用步
命令绘制闭环阶跃响应ysp
到Y
:
步骤(T)
从开环响应中可以看出,闭环振荡是由微弱的增益裕度引起的P C *
:
保证金(P C *)
闭环频率响应中也存在共振:
波德(T)网格,标题(的闭环频率响应)
为了改进设计,您可以尝试在1 rad/s附近消除共振:
Notch = tf([1 0.2 1],[1 8 1]);C = 0.05 * (1 + 1/s);Tnotch =反馈(P * C *, 1);步骤(Tnotch)、网格
许多控制设计算法不能直接处理延时。一个常见的解决方法是用Pade近似(全通滤波器)代替延时。由于此近似仅在低频时有效,因此比较真实响应和近似响应以选择正确的近似顺序并检查近似有效性非常重要。
使用帕德
命令,计算带延迟的LTI模型的Pade近似。对于上面的PI控制例子,你可以比较精确的闭环响应T
对于延迟的一阶Pade近似值获得的响应:
T1=pade(T,1);步骤(T,“b”T1,“r”, 100)网格,传说(“准确”,“一阶Pade”)
近似误差相当大。为了得到更好的近似,尝试延迟的二阶Pade近似:
T2=pade(T,2);步骤(T,“b”, T2,“r”, 100)网格,传说(“准确”,“二阶Pade”)
除了Pade近似引入的非最小相位伪影外,响应现在非常匹配。
延迟很少被准确地知道,因此了解控制系统对延迟值的敏感程度通常是很重要的。使用LTI数组和InternalDelay属性可以很容易地进行这种灵敏度分析。
例如,为了分析上述缺口PI控制的灵敏度,创建5个延迟值范围为2.0到3.0的模型:
tau=linspace(2,3,5);% 5延迟值Tsens = repsys(Tnotch,[1 1 5]);%5份Tnotch对于j = 1:5 Tsens (:,:, j)。InternalDelay =τ(j);%第j个延迟值->第j个模型终止
然后使用步
要创建封套打印,请执行以下操作:
步骤(Tsens)网格,标题(“在2.0和3.0之间5个延迟值的闭环响应”)
从图中可以看出,延迟值的不确定性对闭环特性的影响很小。注意,虽然您可以更改内部延迟的值,但不能更改内部延迟的数量,因为这是模型结构的一部分。要消除一些内部延迟,请将它们的值设置为零或使用帕德
对于零阶:
Tnotch0=Tnotch;Tnotch0.InternalDelay=0;bode(Tnotch,“b”Tnotch0,“r”{1飞行,3})网格,传说(“延迟=2.6”,“不要耽搁”,“位置”,“西南”)
您可以使用汇集
离散连续时滞系统。可用方法包括零阶保持(ZOH)、一阶保持(FOH)和Tustin。对于具有内部时滞的模型,ZOH离散化并不总是“精确”,即连续和离散化阶跃响应可能不匹配:
Td=c2d(T,1);步骤(T,“b”道明,“r”)网格,图例(“连续”,“ZOH离散化”)
警告:由于内部延迟,离散化只是近似的。如果离散误差较大,则采用较快的采样速率。
为了纠正这种离散化间隙,减小采样周期,直到连续响应和离散响应紧密匹配:
Td=c2d(T,0.05);步骤(T,“b”道明,“r”)网格,图例(“连续”,“ZOH离散化”)
警告:由于内部延迟,离散化只是近似的。如果离散误差较大,则采用较快的采样速率。
请注意,内部延迟在离散化模型中仍然是内部的,不会扩大模型顺序:
订单(Td)Td.延迟
ans=3 ans=52
对于那些只熟悉无延时LTI分析的人来说,延迟系统的时间和频率响应看起来很奇怪和可疑。时间响应可以表现为混沌的,波德图可以表现为增益振荡等。这些不是软件的怪癖,而是此类系统的真实特性。下面是这些现象的一些例证
获得涟漪:
G = exp (5 * s) / (s + 1);T =反馈(G, 5);bodemag (T)
获得振动:
* exp(- 1 *s);bodemag (G)
锯齿阶跃响应(注意初始阶跃的“回声”):
exp(-s) * (0.8*s^2+s+2)/(s^2+s);T =反馈(G, 1);步骤(T)
混乱的反应:
G=1/(s+1)+exp(-4*s);T=反馈(1,G);步骤(T)