Main Content

状態空間実現

"状態空間実現" とは、指定された入出力動作の実装です。システムが伝達行列 H(s) によってモデル化される場合、実現は、H(s)=C(sIA)1B+D となる行列 A、B、C、D のセットです。つまり、システムに状態ベクトル x がある場合、システムの動作は次の状態方程式によって記述できます。

x˙=Ax+Buy=Cx+Du.

いずれのシステムでも可能な実現の数は無限にあります。"最小実現" とは、A が可能な限り最小の次元をもつ任意の実現です。すなわち、A' の次元が A より小さくなる他の実現 A'、B'、C'、D' が存在しない場合、与えられた実現 A、B、C、D は最小です。

"状態変換" とは、x^=Tx となる、可逆行列 T による状態ベクトルの回転です。状態変換では、以下によって、システムの等価な状態空間表現が生成されます。

A^=TAT1B^=TBC^=CT1D^=D.

"正準形" として知られる特定の最小実現は、一部のタイプの動的システムの理論と解析に役立つ場合があります。このトピックでは、このような正準形とそれに関連する変換をいくつかまとめています。

モード形式

モード形式とは、システムの固有値を区切る対角化された形式です。モード形式で、A または (A,E) はブロック対角です。ブロック サイズは、一般に、実数固有値に対しては 1 行 1 列であり、複素固有値に対しては 2 行 2 列です。ただし、繰り返される固有値または近傍固有値のクラスターが存在する場合、ブロック サイズが大きくなる可能性があります。

たとえば、固有値 (λ1,σ±jω,λ2) をもつシステムの場合、モード行列 A は次の形式になります。

Am=[λ10000σω00ωσ0000λ2].

モード形式の取得

モード形式を取得するには、modalreal コマンド [msys,blks] = modalreal(sys) を使用します。

ssest (System Identification Toolbox) を使用してシステム同定を実行する場合は、Formmodal に設定することでモード形式を取得します。

可制御コンパニオン形式

コンパニオン実現では、システムの特性多項式が行列 A に明示的に現れます。次の特性多項式をもつ SISO システムの場合、

P(s)=sn+αn1sn1+αn2sn2++α1s+α0,

対応する可制御コンパニオン形式には以下が含まれます。

Accom=[01000001000001000001α0α1α2α3  αn1],Bccom=[100].

多入力システムの場合、Accom は同じ形式をとり、Bccom の最初の列は示されているとおりです。この形式が、Bccom の他の部分や、Cccom と Dccom に特定の構造体を課すことはありません。

可制御コンパニオン形式の取得

コマンド csys = compreal(H,"c") は、状態変換 T = ctrb(H.A,H.B) を使用して行列 A をコンパニオン形式にすることで、H の可制御コンパニオン形式の実現を計算します。

ssest (System Identification Toolbox)n4sid (System Identification Toolbox) などのコマンドを使用してシステム同定を実行する際には、Formcompanion に設定することでコンパニオン形式を取得します。

コンパニオン変換では、システムが最初の入力から可制御であることが必要です。コンパニオン形式への変換は可制御性行列に基づいていますが、この行列は、中間範囲の次数についてほとんどの場合数値的に特異です。そのため、可能な限り、計算に用いるのは避けてください。

可観測コンパニオン形式

関連する形式は、T = ctrb(H.A,H.B) の代わりに、可観測性状態変換 T = obsv(H.A,H.B) を使用して取得されます。この形式は、以下のように、可制御コンパニオン形式の双対 (転置) です。

Aocom=AccomTBocom=CccomTCocom=BccomTDocom=DccomT.

特に、

Aocom=[0000α01000α10100α20010α30001αn1],Cocom=[100].

この形式は "可観測性の正準形" と呼ばれることがありますが[1]可観測正準形式 とは異なる形式です。

可観測コンパニオン形式の取得

コマンド csys = compreal(H,"o") は、状態変換 T = ctrb(H.A,H.B) を使用して行列 A をコンパニオン形式にすることで、H の可観測コンパニオン形式の実現を計算します。

ssest (System Identification Toolbox)n4sid (System Identification Toolbox) などのコマンドを使用してシステム同定を実行する際には、Formcanonical に設定することでこの形式を取得します。

可制御正準形式

次の伝達関数をもつ厳密にプロパーなシステムの場合、

H(s)=βn1sn1++β1s+β0sn+αn1sn1++α1s+α0+d0,

可制御正準形式[2]は次として与えられます。

Acont=[0000α01000α10100α20010α30001αn1],Bcont=[0001],Ccont=[β0β1βn1],Dcont=d0.

この形式は "位相可変正準形式" とも呼ばれます。この形式において、特性多項式の係数は、Acont の最終行に現れます。可制御正準形式は、モデルの状態がすべて可制御の最小実現です。コンパニオン形式や可観測正準形式と同様に、これは計算について悪条件である可能性があります。

可制御正準形式の取得

可制御正準形式を直接計算する MATLAB® コマンドはありません。しかし、システムを伝達関数形式 H(s) で取得できる場合は、係数 ɑ0,…,ɑn–1β0,…,βn–1、および d0 を使用して、MATLAB で可制御正準形式の行列を構成することができます。その後、ss コマンドを使用してシステムを作成します。

可観測正準形式

システムの可観測正準形式は、その可制御正準形式の双対 (転置) です。この形式において、システムの特性多項式は行列 A の最終列に明示的に現れます。可観測正準形式は、次のようにして可制御正準形式から取得できます。

Aobs=AcontTBobs=CcontTCobs=BcontTDobs=DcontT.

したがって、次の伝達関数をもつシステムの場合、

H(s)=βn1sn1++β1s+β0sn+αn1sn1++α1s+α0+d0,

可観測正準形式[2]は次として与えられます。

Aobs=[01000001000001000001α0α1α2α3  αn1],Bobs=[β0β1β2βn1],Cobs=[0001],Dobs=d0.

コンパニオン形式と同様に、この形式における特性多項式の係数は Aobs の最終列に現れます。可観測正準形式は、モデルの状態がすべて可観測の最小実現です。

可観測正準形式の取得

可制御正準形式の場合と同様に、可観測正準形式を直接計算するための MATLAB コマンドはありません。しかし、システムを伝達関数形式 H(s) で取得できる場合は、係数 ɑ0,…,ɑn–1β0,…,βn–1、および d0 を使用して、MATLAB で可観測正準形式の行列を構成することができます。その後、ss コマンドを使用してシステムを作成します。

参照

[1] Baillieul, John, "Observability Canonical Form and the Theory of Observers," lecture notes, November 15, 2012, accessed June 10, 2022, https://people.bu.edu/johnb/501Lecture19.pdf.

[2] Gillis, James T., "State Space." In Control System Fundamentals., edited by William S. Levine, 2d ed. The Electrical Engineering Handbook Series. Boca Raton: CRC Press, 2011.

参考

| | | (System Identification Toolbox) | (System Identification Toolbox)

関連するトピック