【现代控制理论】传递函数建立状态空间表达式
【现代控制理论】传递函数建立状态空间表达式
传递函数建立状态空间表达式
对于一个控制系统的传递函数为
G ( s ) = Y ( s ) U ( s ) = b 1 s n − 1 + ⋯ + b n − 1 s + b n s n + a 1 s n − 1 + ⋯ + a n − 1 s + a n (1) G(s)=\frac{Y(s)}{U(s)}=\frac{b_{1} s^{n-1}+\cdots+b_{n-1} s+b_{n}}{s^{n}+a_{1} s^{n-1}+\cdots+a_{n-1} s+a_{n}}\tag{1} G(s)=U(s)Y(s)=sn+a1sn−1+⋯+an−1s+anb1sn−1+⋯+bn−1s+bn(1)
为了将传递函数转化为系统的状态空间表达式
使用的方法
- 传递函数建立状态空间表达式
- 1.直接法
- 2.并联分解法
- 3.串联分解法
- 总结
1.直接法
由式子(1)可直接得到如下的系统状态空间表达式。
能控标准型:
x ˙ = A x + B u = [ 0 1 ⋯ 0 0 0 ⋱ 0 ⋮ ⋮ ⋱ 1 − a n − a n − 1 ⋯ − a 1 ] x + [ 0 ⋮ 0 1 ] u y = C x = [ b n b n − 1 ⋯ b 1 ] x (2) \begin{array}{c} \dot{\boldsymbol{x}}=\boldsymbol{A} \boldsymbol{x}+\boldsymbol{B} u=\left[\begin{array}{cccc} 0 & 1 & \cdots & 0 \\ 0 & 0 & \ddots & 0\\ \vdots &\vdots & \ddots & 1 \\ -a_{n} & -a_{n-1} & \cdots & -a_{1} \end{array}\right] \boldsymbol{x}+\left[\begin{array}{l} 0 \\ \vdots \\ 0 \\ 1 \end{array}\right] u \\ \\ y=\boldsymbol{C} \boldsymbol{x}=\left[\begin{array}{llll} b_{n} & b_{n-1} & \cdots & b_{1} \end{array}\right] \boldsymbol{x} \end{array}\tag{2} x˙=Ax+Bu=⎣⎢⎢⎢⎡00⋮−an10⋮−an−1⋯⋱⋱⋯001−a1⎦⎥⎥⎥⎤x+⎣⎢⎢⎢⎡0⋮01⎦⎥⎥⎥⎤uy=Cx=[bnbn−1⋯b1]x(2)
能观标准型:
x ˙ = A x + B u = [ 0 0 ⋯ 0 − a n 1 0 ⋯ 0 − a n − 1 0 1 ⋯ 0 − a n − 1 ⋮ ⋮ ⋱ ⋮ ⋮ 0 0 ⋯ 1 − a 1 ] x + [ b n b n − 1 ⋮ b 2 b 1 ] u y = C x = [ 0 0 ⋯ 1 ] x (3) \begin{array}{c} \dot{\boldsymbol{x}}=\boldsymbol{A} \boldsymbol{x}+\boldsymbol{B} u=\left[\begin{array}{ccccc} 0 & 0 & \cdots& 0 & -a_{n} \\ 1 & 0 & \cdots & 0& -a_{n-1} \\ 0 & 1 & \cdots & 0& -a_{n-1} \\ \vdots & \vdots& \ddots & \vdots&\vdots \\ 0 & 0 & \cdots& 1 & -a_{1} \end{array}\right] \boldsymbol{x}+\left[\begin{array}{l} b_n \\ b_{n-1}\\ \vdots \\ b_2\\ b_1\\ \end{array}\right] u \\ \\ y=\boldsymbol{C} \boldsymbol{x}=\left[\begin{array}{llll} 0 & 0 & \cdots & 1 \end{array}\right] \boldsymbol{x} \end{array}\tag{3} x˙=Ax+Bu=⎣⎢⎢⎢⎢⎢⎡010⋮0001⋮0⋯⋯⋯⋱⋯000⋮1−an−an−1−an−1⋮−a1⎦⎥⎥⎥⎥⎥⎤x+⎣⎢⎢⎢⎢⎢⎡bnbn−1⋮b2b1⎦⎥⎥⎥⎥⎥⎤uy=Cx=[00⋯1]x(3)
注意点
- 在上述能控标准型和能观标准型中,注意A 、B和C中的元素与传递函数分子、分母之间的关系;
- 在写能控(能观)标准型之前,应注意传递函数中分母多项式的最高次项系数是否为1,若不为1,则需要用它去除传递函数的分子和分母,将该系数化为1;
- 传递函数需要为严格的真有理分式。
2.并联分解法
- 按照极点,把传递函数展开成部分分式也是状态空间表达常用的方法。
- 这样的状态空间描述与控制系统的极点直接建立了联系,因此也称之为状态空间的规范型。
(1)系统传递函数的极点都不同
那么式(1)可展现成部分分式的形式:
G ( s ) = c 1 s − p 1 + c 2 s − p 2 + ⋯ + c n s − p n (4) G(s)=\frac{c_{1}}{s-p_{1}}+\frac{c_{2}}{s-p_{2}}+\cdots+\frac{c_{n}}{s-p_{n}}\tag{4} G(s)=s−p1c1+s−p2c2+⋯+s−pncn(4)
其中
c i = lim t → p i ( s − p i ) G ( s ) , i = 1 , 2 , ⋯ , n (5) c_{i}=\lim _{t \rightarrow p_{i}}\left(s-p_{i}\right) G(s), \quad i=1,2, \cdots, n\tag{5} ci=t→pilim(s−pi)G(s),i=1,2,⋯,n(5)
可得系统状态空间表达式
x ˙ = [ p 1 0 ⋯ 0 0 p 2 ⋮ ⋮ ⋱ 0 0 ⋯ 0 p n ] x + [ 1 1 ⋮ 1 ] u y = [ c 1 c 2 ⋯ c n ] x (6) \begin{array}{c} \dot{\boldsymbol{x}}=\left[\begin{array}{cccc} p_{1} & 0 & \cdots & 0 \\ 0 & p_{2} & & \vdots \\ \vdots & & \ddots & 0 \\ 0 & \cdots & 0 & p_{n} \end{array}\right] \boldsymbol{x}+\left[\begin{array}{c} 1 \\ 1 \\ \vdots \\ 1 \end{array}\right] u \\ \\ y=\left[\begin{array}{llll} c_{1} & c_{2} & \cdots & c_{n} \end{array}\right] x \end{array}\tag{6} x˙=⎣⎢⎢⎢⎢⎡p10⋮00p2⋯⋯⋱00⋮0pn⎦⎥⎥⎥⎥⎤x+⎣⎢⎢⎢⎡11⋮1⎦⎥⎥⎥⎤uy=[c1c2⋯cn]x(6)
(2)系统传递函数的极点有相同
- 系统传递函数的极点有相同,即传递函数有重极点
此时式(1)可以展开成下面的形式(7)
g ( s ) = c 11 ( s − p 1 ) r + c 12 ( s − p 1 ) r − 1 + ⋯ + c 1 r ( s − p 1 ) + c r + 1 ( s − p r + 1 ) + ⋯ + c n ( s − p n ) (7) \begin{aligned} g(s)=& \frac{c_{11}}{\left(s-p_{1}\right)^{r}}+\frac{c_{12}}{\left(s-p_{1}\right)^{r-1}}+\cdots+\frac{c_{1 r}}{\left(s-p_{1}\right)} &+\frac{c_{r+1}}{\left(s-p_{r+1}\right)}+\cdots+\frac{c_{n}}{\left(s-p_{n}\right)}\tag{7} \end{aligned} g(s)=(s−p1)rc11+(s−p1)r−1c12+⋯+(s−p1)c1r+(s−pr+1)cr+1+⋯+(s−pn)cn(7)
其中单极点 p i p_i pi 对应的系数 c i ( i = r + 1 , ⋯ , n ) c_i(i=r+1, \cdots, n) ci(i=r+1,⋯,n) 仍按照式 (5) 计算, 而 r r r 重极点 p 1 p_1 p1 对应的系数 c i j ( j = 1 , 2 , ⋯ , r ) c_{i j}(j=1,2, \cdots, r) cij(j=1,2,⋯,r) 则按式 (8) 计算:
c 1 j = 1 ( j − 1 ) ! lim t → p 1 d j − 1 d s j − 1 { ( s − p 1 ) r g ( s ) } , j = 1 , 2 , ⋯ , r (8) c_{1 j}=\frac{1}{(j-1) !} \lim _{t \rightarrow p_1} \frac{\mathrm{d}^{j-1}}{\mathrm{d} s^{j-1}}\left\{\left(s-p_1\right)^r g(s)\right\}, \quad j=1,2, \cdots, r \tag{8} c1j=(j−1)!1t→p1limdsj−1dj−1{(s−p1)rg(s)},j=1,2,⋯,r(8)
可得系统状态空间表达式为:
[ x ˙ 1 x ˙ 2 ⋮ x ˙ r x ˙ r + 1 ⋮ x ˙ n ] = [ p 1 1 0 p 1 ⋱ ⋮ 0 ⋱ 1 0 0 ⋯ p 1 p r + 1 0 ⋱ p n ] [ x 1 x 2 ⋮ x r x r + 1 ⋮ x n ] + [ 0 0 ⋮ 1 1 ⋮ 1 ] u (9) \left[\begin{array}{c} \dot{x}_1 \\ \dot{x}_2 \\ \vdots \\ \dot{x}_r \\ \dot{x}_{r+1} \\ \vdots \\ \dot{x}_n \end{array}\right]=\left[\begin{array}{ccccccc} p_1 & 1 & & 0 & & & \\ & p_1 & \ddots & \vdots & & 0 & \\ & & \ddots & 1 & & & \\ 0 & 0 & \cdots & p_1 & & & \\ & & & & p_{r+1} & & \\ & 0 & & & & \ddots & \\ & & & & & & p_n \end{array}\right]\left[\begin{array}{c} x_1 \\ x_2 \\ \vdots \\ x_r \\ x_{r+1} \\ \vdots \\ x_n \end{array}\right]+\left[\begin{array}{c} 0 \\ 0 \\ \vdots \\ 1 \\ 1 \\ \vdots \\ 1 \end{array}\right] u\tag{9} ⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡x˙1x˙2⋮x˙rx˙r+1⋮x˙n⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡p101p100⋱⋱⋯0⋮1p1pr+10⋱pn⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡x1x2⋮xrxr+1⋮xn⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤+⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡00⋮11⋮1⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤u(9)
y = [ c 11 c 12 ⋯ c 1 r c r + 1 ⋯ c n ] [ x 1 x 2 ⋮ x r x r + 1 ⋮ x n ] (10) y=\left[\begin{array}{lllllll} c_{11} & c_{12} & \cdots & c_{1 r} & c_{r+1} & \cdots & c_n \end{array}\right]\left[\begin{array}{c} x_1 \\ x_2 \\ \vdots \\ x_r \\ x_{r+1} \\ \vdots \\ x_n \end{array}\right]\tag{10} y=[c11c12⋯c1rcr+1⋯cn]⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡x1x2⋮xrxr+1⋮xn⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤(10)
可以看出, 状态空间表达式中, A \boldsymbol{A} A 矩阵具有约当型, 因此又称为约当标准型。
3.串联分解法
串联分解适用于传递函数已被分解为因式相乘的形式:
g ( s ) = b 1 ( s − z 1 ) ( s − z 2 ) ⋯ ( s − z n − 1 ) ( s − p 1 ) ( s − p 2 ) ⋯ ( s − p n ) (11) g(s)=\frac{b_1\left(s-z_1\right)\left(s-z_2\right) \cdots\left(s-z_n-1\right)}{\left(s-p_1\right)\left(s-p_2\right) \cdots\left(s-p_n\right)}\tag{11} g(s)=(s−p1)(s−p2)⋯(s−pn)b1(s−z1)(s−z2)⋯(s−zn−1)(11)
现以一个三阶系统传递函数为例予以说明。设
g ( s ) = Y ( s ) U ( s ) = b 1 ( s − z 2 ) ( s − z 3 ) ( s − p 1 ) ( s − p 2 ) ( s − p 3 ) = b 1 ( s − p 1 ) × ( s − z 2 ) ( s − p 2 ) × ( s − z 3 ) ( s − p 3 ) (12) \begin{aligned} g(s) &=\frac{Y(s)}{U(s)} \\ &=\frac{b_1\left(s-z_2\right)\left(s-z_3\right)}{\left(s-p_1\right)\left(s-p_2\right)\left(s-p_3\right)} \\ &=\frac{b_1}{\left(s-p_1\right)} \times \frac{\left(s-z_2\right)}{\left(s-p_2\right)} \times \frac{\left(s-z_3\right)}{\left(s-p_3\right)} \end{aligned}\tag{12} g(s)=U(s)Y(s)=(s−p1)(s−p2)(s−p3)b1(s−z2)(s−z3)=(s−p1)b1×(s−p2)(s−z2)×(s−p3)(s−z3)(12)
显然,这个系统可以看作为三个一阶系统串联而成,其模拟结构如图所示
若指定图中每个积分器的输出为状态变量, 可得系统状态空间表达式为
[ x ˙ 1 x ˙ 2 x ˙ 3 ] = [ p 1 0 0 1 p 2 0 1 p 2 − z 2 p 3 ] [ x 1 x 2 x 3 ] + [ b 1 0 0 ] u y = [ 1 p 2 − z 2 p 3 − z 3 ] [ x 1 x 2 x 3 ] (13) \begin{aligned} {\left[\begin{array}{c} \dot{x}_1 \\ \dot{x}_2 \\ \dot{x}_3 \end{array}\right] } &=\left[\begin{array}{ccc} p_1 & 0 & 0 \\ 1 & p_2 & 0 \\ 1 & p_2-z_2 & p_3 \end{array}\right]\left[\begin{array}{l} x_1 \\ x_2 \\ x_3 \end{array}\right]+\left[\begin{array}{c} b_1 \\ 0 \\ 0 \end{array}\right] u \\ y &=\left[\begin{array}{lll} 1 & p_2-z_2 & p_3-z_3 \end{array}\right]\left[\begin{array}{c} x_1 \\ x_2 \\ x_3 \end{array}\right] \end{aligned}\tag{13} ⎣⎡x˙1x˙2x˙3⎦⎤y=⎣⎡p1110p2p2−z200p3⎦⎤⎣⎡x1x2x3⎦⎤+⎣⎡b100⎦⎤u=[1p2−z2p3−z3]⎣⎡x1x2x3⎦⎤(13)
总结
- 直接法需要传递函数需要为严格的真有理分式
- 并联分解法是按照极点,把传递函数展开成部分分式也是状态空间表达常用的方法
- 串联分解适用于传递函数已被分解为因式相乘的形式