【现代控制】线性系统能观性判据


下面的所有讨论都是以线性连续定常系统为前提。


一、能观性的定义

能观性所表示的是输出 y ( t ) y(t) y(t) 反映状态矢量 x ( t ) x(t) x(t) 的能力,与控制作用没有直接关系,所以分析能观性问题时,只需从齐次状态方程和输出方程出发,即 x ˙ = A X , x ( t 0 ) = x 0 y = C x \pmb {\dot{x}}=\pmb{AX},\pmb x(t_0)=\pmb x_0 \\\pmb y=\pmb{Cx} x˙=AX,x(t0)=x0y=Cx如果对任意给定的输入 u u u ,在有限观测时间 t f > t o t_f> t_o tf>to,使得根据 [ t o , t f ] [ t_o , t_f ] [to,tf] 期间的输出 y ( t ) y(t) y(t) 能唯一地确定系统在初始时刻的状态 x 0 ( t ) x_0(t) x0(t) ,则称状态 x 0 ( t ) x_0(t) x0(t)是能观测的。若系统的每一个状态都是能观测的,则称系统是状态完全能观测的,或简称是能观的。

二、能观性判据

能观性判据同能控性判据类似,结论证明的篇幅较长先不说明。

以连续时间线性时不变系统为前提 x ˙ = A X , x ( 0 ) = x 0 y = C x \pmb {\dot{x}}=\pmb{AX},\pmb x(0)=\pmb x_0 \\\pmb y=\pmb{Cx} x˙=AX,x(0)=x0y=Cx

1.格拉姆矩阵判据

[结论] 连续时间线性时不变系统为完全能观的充分必要条件是,存在时刻 t 1 > 0 t_1>0 t1>0,使如下定义的格拉姆矩阵
W o [ 0 , t 1 ] : = ∫ 0 t 1 e A T t C T C e A t d t W_o[0,t_1]:=\int_{0}^{t_1}e^{A^Tt}C^TCe^{At}dt Wo[0,t1]:=0t1eATtCTCeAtdt为非奇异。

该判据具有理论意义,工程上并不会使用格拉姆矩阵判据。

2.秩判据

秩判据是利用格拉姆矩阵判据所推导出来的。
[结论] 对n维连续时间线性时不变系统,构造能观性判别矩阵: Q o = [ C C A . . . C A n − 1 ] \pmb Q_o=\begin{bmatrix}C\\CA\\...\\CA^{n-1}\end{bmatrix} Qo= CCA...CAn1 那么系统完全能观的充分必要条件
r a n k ( Q o ) = r a n k ( [ C C A . . . C A n − 1 ] ) = n rank(\pmb Q_o)=rank(\begin{bmatrix}C\\CA\\...\\CA^{n-1}\end{bmatrix})=n rank(Qo)=rank( CCA...CAn1 )=n

3.PBH判据

[结论] 对n维连续时间线性时不变系统完全能观的充分必要条件 r a n k [ s I − A C ] = n , rank\begin{bmatrix}s\pmb I-A\\C\end{bmatrix}=n, rank[sIAC]=n, r a n k [ λ i I − A C ] = n , i = 1 , 2 , . . . , n rank\begin{bmatrix}\lambda _i\pmb I-A\\C\end{bmatrix}=n,i=1,2,...,n rank[λiIAC]=n,i=1,2,...,n
其中 λ i \lambda _i λi为系统特征值。

4.约当规范形判据

由于约当规范形判据的结论比较抽象,在这里结合例子来说明约旦规范形判据的用法。

使用约旦规范形判据前需要将系统矩阵化为对角矩阵或约当矩阵。

【对角标准型判据】 当系统矩阵的特征值两两互异(系统矩阵可以化为对角矩阵)时,直接观察矩阵 C ˉ \bar C Cˉ中有没有全零列向量,若没有则说明系统是完全能观的。
例1 一个连续时间线性时不变系统,设其约当规范形状态方程为 [ x ˙ 1 x ˙ 2 x ˙ 3 ] = [ 5 0 0 0 3 0 0 0 1 ] [ x 1 x 2 x 3 ] y = [ 3 5 0 2 0 3 ] x \begin{bmatrix} \dot{x}_1\\ \dot{x}_2 \\ \dot x_3\end{bmatrix}=\begin{bmatrix} 5&0&0\\0&3&0\\0&0&1 \end{bmatrix}\begin{bmatrix} x_1\\ x_2 \\ x_3\end{bmatrix} \\y=\begin{bmatrix} 3&5&0\\2&0&3\end{bmatrix}\pmb x x˙1x˙2x˙3 = 500030001 x1x2x3 y=[325003]x

直接观察矩阵 C ˉ \bar C Cˉ,因为矩阵 C ˉ \bar C Cˉ不包含全零列向量,因此系统完全能观。

例2 一个连续时间线性时不变系统,设其约当规范形状态方程为 [ x ˙ 1 x ˙ 2 x ˙ 3 ] = [ 5 0 0 0 3 0 0 0 1 ] [ x 1 x 2 x 3 ] y = [ 3 5 0 2 0 0 ] x \begin{bmatrix} \dot{x}_1\\ \dot{x}_2 \\ \dot x_3\end{bmatrix}=\begin{bmatrix} 5&0&0\\0&3&0\\0&0&1 \end{bmatrix}\begin{bmatrix} x_1\\ x_2 \\ x_3\end{bmatrix} \\y=\begin{bmatrix} 3&5&0\\2&0&0\end{bmatrix}\pmb x x˙1x˙2x˙3 = 500030001 x1x2x3 y=[325000]x

同样直接观察矩阵 C ˉ \bar C Cˉ,可以看到矩阵 C ˉ \bar C Cˉ的第三列是全零列向量,因此系统不完全能观。

【一般约旦标准型判据】 当系统矩阵的特征值为重根时或不能化为对角矩阵时,这时将其化为约当规范形: x ^ ˙ = A ^ x ^ y = C ^ x ^ \dot{\hat{x}}=\hat{A}\hat{x}\\y=\hat{C}\hat x x^˙=A^x^y=C^x^其中 A ^ = [ J 1 J 2 . . . J l ] n × n , C ^ = [ C ^ 1 C ^ 2 . . . C ^ l ] q × n \hat{A}=\begin{bmatrix} J_1& & & \\ & J_2 & & \\ & &...& \\ & & &J_l\end{bmatrix}_{n\times n},\\ \hat{C}=\begin{bmatrix} \hat{C}_1& \hat{C}_2 & ...&\hat{C}_l\end{bmatrix}_{q\times n} A^= J1J2...Jl n×n,C^=[C^1C^2...C^l]q×n
请添加图片描述
r 1 + r 2 + . . . + r i α = σ i r_1+r_2+...+r_{i\alpha}=\sigma_i r1+r2+...+riα=σi,由 C ^ i 1 , C ^ i 2 , . . . , C ^ i α \hat C_{i1},\hat C_{i2},...,\hat C_{i\alpha} C^i1,C^i2,...,C^iα第一列所组成的矩阵列线性无关,即 r a n k [ c ^ 1 i 1 c ^ 1 i 2 . . . c ^ 1 i α ] = α rank[\hat c_{1i1} \hat c_{1i2} ... \hat c_{1i\alpha}]=\alpha rank[c^1i1c^1i2...c^1iα]=α

例3 一个连续时间线性时不变系统,设其约当规范形状态方程为 x ^ ˙ = [ − 2 1 0 − 2 − 2 − 2 3 1 0 3 3 ] x ^ y = [ 0 0 5 1 0 0 1 0 4 0 1 0 0 2 1 0 0 1 1 0 8 ] \dot{\hat{x}}=\begin{bmatrix}-2&1& & \\ 0& -2& & \\ & &-2& \\ &&&-2\\&&&&3&1\\&&&&0&3\\&&&&&&3\end{bmatrix}\hat x\\y=\begin{bmatrix}0&0&5&1&0&0&1\\0&4&0&1&0&0&2\\1&0&0&1&1&0&8\end{bmatrix} x^˙= 20122230133 x^y= 001040500111001000128 解: 由题可得,找出特征值-2对应的矩阵 C ^ σ 1 \hat C_{\sigma 1} C^σ1和特征值为3对应的矩阵 C ^ σ 2 \hat C_{\sigma 2} C^σ2,如下 C ^ σ 1 = [ 0 5 1 0 0 1 1 0 1 ] , C ^ σ 2 = [ 0 1 0 2 1 8 ] \hat C_{\sigma 1}=\begin{bmatrix}0&5&1\\0&0&1\\1&0&1 \end{bmatrix},\hat C_{\sigma 2}=\begin{bmatrix}0&1\\0&2\\1&8\end{bmatrix} C^σ1= 001500111 ,C^σ2= 001128
因为 r a n k ( C ^ σ 1 ) = 3 , r a n k ( C ^ σ 2 ) = 2 rank(\hat C_{\sigma 1})=3,rank(\hat C_{\sigma 2})=2 rank(C^σ1)=3,rank(C^σ2)=2
C ^ σ 1 \hat C_{\sigma 1} C^σ1 C ^ σ 2 \hat C_{\sigma 2} C^σ2都满秩,因此系统完全能观。

例4 一个连续时间线性时不变系统,设其约当规范形状态方程为 x ^ ˙ = [ − 2 1 0 − 2 − 2 − 2 3 1 0 3 3 ] x ^ y = [ 0 0 5 1 0 0 1 0 4 0 0 0 0 2 0 0 0 1 0 6 8 ] \dot{\hat{x}}=\begin{bmatrix}-2&1& & \\ 0& -2& & \\ & &-2& \\ &&&-2\\&&&&3&1\\&&&&0&3\\&&&&&&3\end{bmatrix}\hat x\\y=\begin{bmatrix}0&0&5&1&0&0&1\\0&4&0&0&0&0&2\\0&0&0&1&0&6&8\end{bmatrix} x^˙= 20122230133 x^y= 000040500101000006128 解: 由题可得,找出特征值-2对应的矩阵 C ^ σ 1 \hat C_{\sigma 1} C^σ1和特征值为3对应的矩阵 C ^ σ 2 \hat C_{\sigma 2} C^σ2,如下 C ^ σ 1 = [ 0 5 1 0 0 0 0 0 1 ] , C ^ σ 2 = [ 0 1 0 2 0 8 ] \hat C_{\sigma 1}=\begin{bmatrix}0&5&1\\0&0&0\\0&0&1 \end{bmatrix},\hat C_{\sigma 2}=\begin{bmatrix}0&1\\0&2\\0&8\end{bmatrix} C^σ1= 000500101 ,C^σ2= 000128
因为 r a n k ( C ^ σ 1 ) = 2 < 3 , r a n k ( C ^ σ 2 ) = 1 < 2 rank(\hat C_{\sigma 1})=2<3,rank(\hat C_{\sigma 2})=1<2 rank(C^σ1)=2<3,rank(C^σ2)=1<2
C ^ σ 1 \hat C_{\sigma 1} C^σ1 C ^ σ 2 \hat C_{\sigma 2} C^σ2都不满秩,因此系统不完全能观。

三、MATLAB仿真

在MATLAB中提供了求解系统能控观矩阵 Q o Q_o Qo的函数(秩判据):obsv(A,C)。对于单输入单输出系统可以直接根据det(obsv(A,C))是否为零来判断系统的能观性,或利用rank(obsv(A,C))求出能观性矩阵 Q o Q_o Qo的秩来判断系统的能观性。对于多输入多输出系统可以用det(obsv(A,C)*obsv(A,C)‘)是否为零来判断系统的能观性,或利用rank(obsv(A,C)*obsv(A,C)’)求出能观性矩阵 Q o Q_o Qo的秩来判断系统的能观性。

例1 已知线性定常系统的状态空间模型为 [ x ˙ 1 x ˙ 2 ] = [ 0 1 − 1 − 2 ] [ x 1 x 2 ] + [ 1 0 1 1 ] [ u 1 u 2 ] [ y 1 y 2 y 3 ] = [ 3 1 1 2 − 2 − 1 ] [ x 1 x 2 ] + [ 1 0 0 0 0 1 ] [ u 1 u 2 ] \begin{bmatrix} \dot{x}_1\\ \dot{x}_2 \end{bmatrix}=\begin{bmatrix} 0 & 1\\ -1 & -2 \end{bmatrix}\begin{bmatrix} x_1\\ x_2 \end{bmatrix}+\begin{bmatrix} 1 & 0\\ 1 & 1 \end{bmatrix}\begin{bmatrix} u_1\\ u_2 \end{bmatrix} \\\begin{bmatrix}y_1\\ y_2 \\ y_3 \end{bmatrix}=\begin{bmatrix} 3 & 1\\ 1 & 2 \\ -2 & -1\end{bmatrix}\begin{bmatrix} x_1\\ x_2 \end{bmatrix}+\begin{bmatrix} 1 & 0\\ 0 & 0 \\ 0 & 1\end{bmatrix}\begin{bmatrix} u_1\\ u_2 \end{bmatrix} [x˙1x˙2]=[0112][x1x2]+[1101][u1u2] y1y2y3 = 312121 [x1x2]+ 100001 [u1u2]求解程序如下

clear all;
A=[0 1;-1 -2];
C=[3,1;1,2;-2,-1];
n=size(C,2);
Qo=obsv(A,C)
if rank(Qo)==n %判断能观性矩阵Qo是否行满秩
    fprintf('系统完全能观\n')
else fprintf('系统不完全能观\n')
end

运行结果:

Qo =

     3     1
     1     2
    -2    -1
    -1     1
    -2    -3
     1     0

系统完全能观

总结

利用matlab判断系统的能观性一般是利用秩判据。

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

麦斯威尔逊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值