时延问题的网络控制系统建模
最近刚开始接触网络控制系统,立个博客记录一下!参考书为王岩的《网络控制系统分析与设计》,希望有相关专业的同学多多指导。
时延小于采样周期
由图可知:被控对象的输入至多存在两个控制信号。u(kh)和u((k-1)h).
所以离散系统可以表示为:
{ x ( ( k + 1 ) h ) = Φ x ( k h ) + Γ 0 ( τ k ) u ( k h ) + Γ 1 ( τ k ) u ( ( k − 1 ) h ) y ( k h ) = C x ( k h ) \left\{ \begin{array}{l} x((k + 1)h) = \Phi x(kh) + {\Gamma _0}({\tau _k})u(kh) + {\Gamma _1}({\tau _k})u((k - 1)h)\\ y(kh) = Cx(kh) \end{array} \right. {x((k+1)h)=Φx(kh)+Γ0(τk)u(kh)+Γ1(τk)u((k−1)h)y(kh)=Cx(kh)
其中:
Φ
=
e
A
h
\Phi = {e^{Ah}}
Φ=eAh,
Γ
0
(
τ
k
)
=
∫
0
h
−
τ
k
e
A
s
d
s
B
{\Gamma _0}({\tau _k}) = \int_0^{h - {\tau _k}} {{e^{As}}} dsB
Γ0(τk)=∫0h−τkeAsdsB,
Γ
1
(
τ
k
)
=
∫
h
−
τ
k
h
e
A
s
d
s
B
{\Gamma _1}({\tau _k}) = \int_{h - {\tau _k}}^h {{e^{As}}} dsB
Γ1(τk)=∫h−τkheAsdsB,
τ
k
{\tau _k}
τk为时延
考虑一个例子
一个连续系统:
{
x
˙
(
t
)
=
A
x
(
t
)
+
B
u
(
t
)
y
(
t
)
=
C
x
(
t
)
\left\{ \begin{array}{l} \dot x(t) = Ax(t) + Bu(t)\\ y(t) = Cx(t) \end{array} \right.
{x˙(t)=Ax(t)+Bu(t)y(t)=Cx(t)
A=[0 1;0 0]; B=[0 1]’; C=[1 0];
u(t)=-Kx(t), K=[20.33 4.93];
连续系统离散化代码
// 定积分
function f=f(s)
A=[0 1; 0 0];
f=expm(A*s);
end
// 计算
F=quadv(@f,0,0.05)
仿真结果
当
τ
k
{\tau _k}
τk为0,
τ
k
{\tau _k}
τk为0.05,
τ
k
{\tau _k}
τk为0.1时:
(结果与书上不完全一样,基本走势和效果是类似的)。
时延大于采样周期
书和仿真在这:https://download.csdn.net/download/yw632536627/12578346