传递函数与传递函数矩阵
系列B主要回顾一些现代控制理论的相关知识
单输入单输出系统
单输入单输出线性定常系统的状态空间表达式为:
{
x
⋅
=
A
x
+
B
u
y
=
C
x
+
D
u
\left\{ \begin{aligned} \overset{\cdot}{x}&=Ax+Bu \\ y&=Cx+Du \\ \end{aligned} \right.
{x⋅y=Ax+Bu=Cx+Du
我们对其进行拉式变换并整理可以得到系统输入与输出之间的传递函数为:
G
(
s
)
=
C
(
s
I
−
A
)
−
1
+
D
G(s)=C(sI-A)^{-1}+D
G(s)=C(sI−A)−1+D
通常情况下,矩阵
D
=
0
D=0
D=0,则有
G
(
s
)
=
C
a
d
j
(
s
I
−
A
)
∣
s
I
−
A
∣
G(s) = \frac{Cadj(sI-A)}{|sI-A|}
G(s)=∣sI−A∣Cadj(sI−A)
其中,
a
d
j
(
s
I
−
A
)
adj(sI-A)
adj(sI−A)称为矩阵
(
s
I
−
A
)
(sI-A)
(sI−A)的伴随矩阵。这种形式与经典控制理论中的传递函数相同,分子分母都可以写成关于
s
s
s的多项式形式。
在经典控制理论中,我们通常利用传递函数的极点和零点进行系统的设计与分析。在现代控制理论中也是如此,对于上述的线性定常系统,它的极点同样可以由
∣
s
I
−
A
∣
|sI-A|
∣sI−A∣所构成的多项式得到,零点由分子多项式
C
a
d
j
(
s
I
−
A
)
B
Cadj(sI-A)B
Cadj(sI−A)B得到。
由矩阵知识可以得知,
∣
s
I
−
A
∣
|sI-A|
∣sI−A∣为矩阵
A
A
A的行列式,即
d
e
t
(
s
I
−
A
)
det(sI-A)
det(sI−A)。当
d
e
t
(
s
I
−
A
)
=
0
det(sI-A)=0
det(sI−A)=0,便可计算出系统的极点。所以,我们有下面的结论:
传递函数的极点就是系统矩阵 A A A的特征值。
很多情况下,我们也将传递函数表示为:
G
(
s
)
=
[
A
B
C
D
]
G(s)= \left[ \begin{array} {c | c} %这里的c表示数组中元素对其方式:c居中、r右对齐、l左对齐,竖线表示2、3列间插入竖线 A &B \\ \hline %插入横线,如果去掉\hline就是增广矩阵 C & D \end{array} \right]
G(s)=[ACBD]
多输入多输出系统
设系统由
p
p
p个输入和
q
q
q个输出,定义第
i
i
i个输出
y
i
y_i
yi和第
j
j
j个输入
u
j
u_j
uj之间的传递函数为
g
i
j
(
s
)
=
Y
i
(
s
)
U
j
(
s
)
,
i
=
1
,
2
,
⋯
,
q
,
j
=
1
,
2
,
⋯
,
p
.
g_{ij}(s)=\frac{Y_i(s)}{U_j(s)},i=1,2,\cdots,q,j=1,2,\cdots,p.
gij(s)=Uj(s)Yi(s),i=1,2,⋯,q,j=1,2,⋯,p.
因为线性系统具有叠加性,所以第
i
i
i个输出的拉氏变换为
Y
i
(
s
)
=
g
i
1
(
s
)
U
1
(
s
)
+
g
i
2
(
s
)
U
2
(
s
)
+
⋯
+
g
i
p
(
s
)
U
p
(
s
)
Y_i(s)=g_{i1}(s)U_1(s)+g_{i2}(s)U_2(s)+\cdots+g_{ip}(s)U_p(s)
Yi(s)=gi1(s)U1(s)+gi2(s)U2(s)+⋯+gip(s)Up(s),因此对于全部的输出环节,该系统的传递函数为:
Y
(
s
)
=
G
(
s
)
U
(
s
)
G
(
s
)
=
[
g
11
(
s
)
g
12
(
s
)
⋯
g
1
p
(
s
)
g
21
(
s
)
g
22
(
s
)
⋯
g
2
p
(
s
)
⋮
⋮
⋱
⋮
g
q
1
(
s
)
g
q
2
(
s
)
⋯
g
q
p
(
s
)
]
Y(s)=G(s)U(s)\\ G(s)= \left[ \begin{matrix} g_{11}(s) & g_{12}(s) & \cdots & g_{1p}(s) \\ g_{21}(s) & g_{22}(s) & \cdots & g_{2p}(s) \\ \vdots & \vdots & \ddots & \vdots \\ g_{q1}(s) & g_{q2}(s) & \cdots & g_{qp}(s) \\ \end{matrix} \right]
Y(s)=G(s)U(s)G(s)=
g11(s)g21(s)⋮gq1(s)g12(s)g22(s)⋮gq2(s)⋯⋯⋱⋯g1p(s)g2p(s)⋮gqp(s)
在鲁棒控制中,我们经常会看到一个系统具有两输入两输出的形式,通常会将这样的传递函数表示为:
G
(
s
)
=
[
A
B
1
B
2
C
1
D
11
D
12
C
2
D
21
D
22
]
=
[
G
11
(
s
)
G
12
(
s
)
G
21
(
s
)
G
22
(
s
)
]
G(s)= \left[ \begin{array} {c | c c} %这里的c表示数组中元素对其方式:c居中、r右对齐、l左对齐,竖线表示2、3列间插入竖线 A &B_1 & B_2 \\ \hline %插入横线,如果去掉\hline就是增广矩阵 C_1 & D_{11} & D_{12}\\ C_2 & D_{21} & D_{22}\\ \end{array} \right]= \left[ \begin{matrix} G_{11}(s) & G_{12}(s) \\ G_{21}(s) & G_{22}(s) \\ \end{matrix} \right]
G(s)=
AC1C2B1D11D21B2D12D22
=[G11(s)G21(s)G12(s)G22(s)]
其中,
G
i
j
(
s
)
=
C
i
(
s
I
−
A
)
−
1
B
j
+
D
i
j
,
i
=
1
,
2
;
j
=
1
,
2
G_{ij}(s)=C_i(sI-A)^{-1}B_j+D_{ij},i=1,2;j=1,2
Gij(s)=Ci(sI−A)−1Bj+Dij,i=1,2;j=1,2。系统框图如下图所示,
组合系统的状态空间表示
(1) 并联联结-由
N
N
N个子系统并联构成的组合系统,可得出
Σ
p
\Sigma_p
Σp的状态空间描述为
[
x
⋅
1
x
⋅
2
⋮
x
⋅
N
]
=
[
A
1
0
⋱
0
A
N
]
[
x
1
x
2
⋮
x
N
]
+
[
B
1
B
2
⋮
B
N
]
u
y
=
[
C
1
C
2
⋯
C
N
]
[
x
1
x
2
⋮
x
N
]
+
[
D
1
+
D
2
+
⋯
+
D
N
]
u
G
i
(
s
)
=
C
i
(
s
I
−
A
)
−
1
B
i
+
D
i
,
i
=
1
,
2
,
⋯
,
N
\left[ \begin{matrix} \overset{\cdot}{x}_1 \\ \overset{\cdot}{x}_2 \\ \vdots \\ \overset{\cdot}{x}_N \\ \end{matrix} \right]=\left[ \begin{matrix} A_1 & & & 0 \\ & & \ddots & \\ 0& & & A_N \\ \end{matrix} \right] \left[ \begin{matrix} x_{1}\\ x_{2} \\ \vdots \\ x_{N} \\ \end{matrix} \right]+\left[ \begin{matrix} B_{1}\\ B_{2} \\ \vdots \\ B_{N} \\ \end{matrix} \right]u\\ y=\left[ \begin{matrix} C_{1} & C_{2} &\cdots &C_{N} \\ \end{matrix} \right]\left[ \begin{matrix} x_{1}\\ x_{2} \\ \vdots \\ x_{N} \\ \end{matrix} \right]+\left[ \begin{matrix} D_{1}+ D_{2} + \cdots + D_{N} \\ \end{matrix} \right]u\\ G_{i}(s)=C_i(sI-A)^{-1}B_i+D_i,i=1,2,\cdots,N
x⋅1x⋅2⋮x⋅N
=
A10⋱0AN
x1x2⋮xN
+
B1B2⋮BN
uy=[C1C2⋯CN]
x1x2⋮xN
+[D1+D2+⋯+DN]uGi(s)=Ci(sI−A)−1Bi+Di,i=1,2,⋯,N
G
(
s
)
=
∑
i
N
G
i
(
s
)
G(s) = \sum_{i}^N{G_i(s)}
G(s)=i∑NGi(s)
N
N
N个子系统并联时,组合系统的传递函数矩阵等于
N
N
N个子系统传递函数矩阵之和。
(2) 串联联结
[
x
⋅
1
x
⋅
2
]
=
[
A
1
0
B
2
C
1
A
2
]
[
x
1
x
2
]
+
[
B
1
B
2
D
1
]
u
y
=
[
D
2
C
1
C
2
]
[
x
1
x
2
]
+
D
2
D
1
u
\left[ \begin{matrix} \overset{\cdot}{x}_1\\ \overset{\cdot}{x}_2 \end{matrix} \right]=\left[ \begin{matrix} A_1 & 0\\ B_2C_1 & A_2 \end{matrix} \right]\left[ \begin{matrix} {x}_1\\ {x}_2 \end{matrix} \right]+\left[ \begin{matrix} B_1\\ B_2D_1 \end{matrix} \right]u\\ y=\left[ \begin{matrix} D_2C_1 & C_2\\ \end{matrix} \right]\left[ \begin{matrix} {x}_1\\ {x}_2 \end{matrix} \right]+D_2D_1u
[x⋅1x⋅2]=[A1B2C10A2][x1x2]+[B1B2D1]uy=[D2C1C2][x1x2]+D2D1u
G
(
s
)
=
G
N
(
s
)
G
N
−
1
(
s
)
⋯
G
1
(
s
)
G(s)=G_N(s)G_{N-1}(s)\cdots G_1(s)
G(s)=GN(s)GN−1(s)⋯G1(s)
两个子系统串联时,组合系统的传递函数矩阵等于子系统传递函数矩阵的乘积。应注意传递函数矩阵相乘时,先后次序不能颠倒。
(3) 反馈联结
G
(
s
)
=
G
1
(
s
)
(
I
+
G
2
(
s
)
G
1
(
s
)
)
−
1
,
G
1
(
s
)
=
C
1
(
s
I
−
A
1
)
−
1
B
1
+
D
1
,
G
2
(
s
)
=
C
2
(
s
I
−
A
2
)
−
1
B
2
+
D
2
G(s)=G_1(s)(I+G_2(s)G_1(s))^{-1},G_1(s)=C_1(sI-A_1)^{-1}B_1+D_1,G_2(s)=C_2(sI-A_2)^{-1}B_2+D_2
G(s)=G1(s)(I+G2(s)G1(s))−1,G1(s)=C1(sI−A1)−1B1+D1,G2(s)=C2(sI−A2)−1B2+D2