23. 可観測性(演習)
※可観測性の解説は、11. 可観測性 、9. 対角正準形 を参照願います。
システムを\dot{x}(t) = A x(t) + b u(t) \\ y(t) = cx(t) \;\; \cdots \cdots (1) で表す1入力1出力のn次元システムとする。
可観測性の条件
可観測性は以下のように表すことができる。
(1)式(1)を対角正準形で表現したとき、すべての\tilde{c}_iがゼロでないとき、システムは可観測である。
(2)ある有限な時刻t_fがあり、0 \le t \le t_fでのy(t)とu(t)から初期状態x(0)を一意に決定できるとき、システムは可観測という。初期状態x(0)を一意に求めることができるとき、入力u(t),\; t \geq 0が既知であるので、状態x(t), \; t \geq 0が分かる。
(3)式(1)のシステムが可観測であるための必要十分条件は、n次の正方行列である可観測性システム行列 W_o(t) = \int_0^t (c e^{A \tau})^T (c e^{A \tau}) d \tauが、ある時刻t = t_f >0で正則となることである。
(4)式(1)のシステムが可観測であるための必要十分条件は、可観測行列U_o = \begin{bmatrix} c & cA & c A^2 & \cdots & c A^{n-1} \end{bmatrix}^Tのランクがn、|U_o| \neq 0となることである。
可観測行列
可観測行列の正則性は、座標変換によって不変であることを示す。
座標変換x(t)=T z(t)によって、システムの行列が、\tilde{A} = T^{−1} A T , \tilde{c} = c Tに変換されたとすると、状態変数z(t)における可観測行列は、\tilde{U}_o = \begin{bmatrix} \tilde{c} \\ \tilde{c}\tilde{A} \\ \tilde{c} \tilde{A}^2 \\ \vdots \\ \tilde{c} \tilde{A}^{n-1} \end{bmatrix} = \begin{bmatrix} c T \\ cT T^{-1} A T \\ c T T^{-1} A^2 T \\ \vdots \\ cT T^{-1}A^{n-1} T\end{bmatrix} = \begin{bmatrix} c \\ cA \\ cA^2 \\ \vdots \\c A^{n-1} \end{bmatrix} T = U_o T となる。座標変換行列Tは正則であるから、可観測行列の正則性は座標変換によって不変である。
可観測性の判定
システムを \dot{x}(t) = A x(t) + b u(t) \\ y(t) = cx(t)として、A,\;cが以下のときの可観測性を判定する。
1)A = \begin{bmatrix} 4 & 2 \\ -1 & 1 \end{bmatrix}, \;\;\; c = \begin{bmatrix} 1 & 1 \end{bmatrix}
2)A = \begin{bmatrix} 0 & 0 & 0 \\ 1 & 0 & 0 \\ 0 & 1 & 0 \end{bmatrix} ,\;\;\; c = \begin{bmatrix} 0 & 0 & 3 \end{bmatrix}
Scilabによる可観測性の判定
1)
A = [4 2 ; -1 1];
c = [1 1];
//可観測行列の計算
Ob = obsv_mat(A,c);
disp(det(Ob));//行列式の計算
disp(rank(Ob));//ランクの計算
実行結果:
Ob =
1. 1.
3. 3.
disp(det(Ob)
0.
disp(rank(Ob))
1.
よって、不可観測
2)
A = [0 0 0 ; 1 0 0 ; 0 1 0];
c = [0 0 3];
//可観測行列の計算
Ob = obsv_mat(A,c);
disp(det(Ob));//行列式の計算
disp(rank(Ob));//ランクの計算
Ob =
0. 0. 3.
0. 3. 0.
3. 0. 0.
disp(det(Ob)
-27.
disp(rank(Ob))
3.
よって、可観測