1 状態空間表現の概要
状態空間表現は、動的システムを「状態」「入力」「出力」の三つの概念で記述する枠組みである。状態は時間とともに変化し、その変化は状態方程式により決まる。出力は状態と入力から計算され、観測される量として扱われる。
この表現は、線形・非線形、連続時間・離散時間といった幅広い対象で用いられる。制御理論では、安定化や最適化を体系化する基盤になり、信号処理では推定やフィルタ設計の言語として機能する。さらに機械学習では、動力学を組み込んだモデリングや、状態推定を含む推論の設計に接続される。
1.1 状態空間モデルの基本構成
状態空間モデルは、状態の更新則と、状態から観測量への写像を組み合わせて構成される。連続時間と離散時間で記法は変わるが、役割の整理は共通である。
1.1.1 状態
状態は、将来の振る舞いを決めるために必要な内部変数として定義される。ある時刻の状態が与えられたとき、以後の出力や状態遷移が入力の履歴とともに決まるように選ぶのが基本方針である。物理量をそのまま状態に選ぶ場合もあれば、数学的に都合のよい合成量として設定する場合もある。
状態の選び方は一意ではない。たとえば同じ入出力挙動を持つ異なる状態座標系(同値な実現)が存在しうる。したがって状態とは「本質そのもの」というより、「モデルを閉じるための記述変数」と理解するのが実務的である。
1.1.2 入力と出力
入力は、システムへ与える操作や外乱のような外部信号である。出力は、計測される量や制御目的に関わる信号として扱われる。通常、出力は状態と入力の双方に依存しうるため、入出力の写像が出力方程式として別に定義される。
出力が観測可能な成分と一致するとは限らない。状態の一部しか測れない、ノイズが混ざる、あるいは観測が遅れて得られるといった状況は、状態推定や可観測性の観点で扱われる。
1.1.3 状態方程式と出力方程式
状態方程式は、状態の時間発展を記述する関係である。連続時間なら微分方程式として、離散時間なら差分方程式として表されることが多い。出力方程式は、状態と入力から出力を生成する式である。
線形の場合、状態方程式は行列を用いた一次の形に整理でき、計算や解析が容易になる。非線形の場合は関数として定義されるため、解析はより一般的な枠組み(線形化、数値解析、最適化の定式化など)へ移る。
1.2 状態空間と他の表現形式との関係
状態空間表現は、他の入出力記述形式と相互変換が可能な場合が多い。これにより、ある設計・解析手法を状態空間で理解し、別の形式に戻して実装するなどの運用がしやすくなる。
1.2.1 状態空間と伝達関数の対応
線形・時間不変の範囲では、状態空間モデルと伝達関数の間に対応関係がある。伝達関数は入力から出力への周波数領域の写像を表すが、状態空間は時間領域での内部変数の更新まで含む。そのため、同じ入出力特性でも状態空間の状態次元が異なるような表現があり得る。
対応を具体化するには、状態空間行列から伝達関数を導出し、逆に伝達関数から状態空間の実現を構成する手順が用いられる。ここで重要なのは、最小実現の概念であり、無駄な状態を持つ表現は同じ伝達特性を共有しうる。
1.2.2 状態空間と微分方程式・差分方程式
物理系や回路系では、時間領域の微分方程式や差分方程式として直接モデルが与えられることがある。状態空間表現は、それらを内部変数に分解して整理する手法として解釈できる。たとえば高階の微分を、状態変数を増やして一次の形に変換することで、状態方程式として書き直せる。
逆に状態空間から微分方程式を得ることも可能である。ただし、非線形や拘束の扱いでは変換が複雑になりやすく、実務では状態空間のまま扱うことも多い。
1.2.3 状態空間とブロック線図の関係
ブロック線図は信号の流れを視覚的に示す表現であり、状態空間モデルも同様に構成要素として描ける。状態方程式の更新部、出力方程式の読み出し部、フィードバック構造などをブロックとして組み立てると、閉ループ設計の議論が整理される。
一方、ブロック線図は写像の構造を直感的に伝える反面、内部状態の意味づけを同時に保証するとは限らない。状態空間の明確な対応関係を持って図示することで、解析と実装の齟齬を減らせる。
2 数学的定式化
状態空間モデルは、連続時間と離散時間で数式の形が変わるが、基本構造は共通である。線形の場合は行列形式に落ちるため解析が進み、非線形では一般の関数として扱う。
2.1 連続時間モデル
連続時間モデルでは、状態は時間に対する連続量として更新される。代表的な形式として、線形・非線形の状態方程式が考えられる。
2.1.1 線形連続時間状態方程式
線形連続時間状態方程式は、一般に次の形で与えられる。状態ベクトルを \(x(t)\)、入力を \(u(t)\)、出力を \(y(t)\) とすると、 \[ \dot{x}(t)=Ax(t)+Bu(t),\quad y(t)=Cx(t)+Du(t) \] のように表される。ここで \(A\) は状態遷移の支配行列、\(B\) は入力の影響、\(C\) は状態から出力へ写す行列、\(D\) は入力が直接出力に寄与する成分である。
2.1.1.1 行列表現とシステム行列の意味
行列 \(A\) は、状態の自己変化と相互作用を表す。固有構造は応答の性質に直接関係し、制御設計では特性値の配置として活用されることが多い。行列 \(B\) は入力の到達のされ方、すなわち内部変数へどのように入力が浸透するかを示す。
行列 \(C\) は観測のされやすさを決める役割を持つ。\(D\) は入力が即時に出力へ現れる経路であり、測定系や加速度などの直接寄与を含むモデル化の場面で現れる。なお \(D=0\) と置けるケースも多いが、常に成立するとは限らない。
2.1.2 非線形連続時間モデル
非線形連続時間モデルでは、 \[ \dot{x}(t)=f(x(t),u(t)),\quad y(t)=g(x(t),u(t)) \] のように関数 \(f\)、\(g\) により記述される。線形化により近傍での挙動を線形近似できる場合もあるが、全域で同じ性質が保証されるとは限らない。
非線形では、平衡点、可到達領域、バイアスの伝播などが、システム固有の構造として扱われる。推定や制御では、微小な誤差の伝播を評価する枠組みが必要になりやすい。
2.2 離散時間モデル
離散時間では、状態はサンプル時刻で更新される。サンプリング周期に対応して、差分方程式の形に整える。
2.2.1 線形離散時間状態方程式
離散時間の線形状態方程式は、 \[ x_{k+1}=Ax_k+Bu_k,\quad y_k=Cx_k+Du_k \] と書けることが多い。ここで \(k\) はサンプル番号である。連続時間の対応は一般に行列指数や零次ホールドなどの前提に依存し、離散化の設計条件が結果に影響する。
2.2.2 非線形離散時間モデル
非線形離散時間では、 \[ x_{k+1}=f(x_k,u_k),\quad y_k=g(x_k,u_k) \] とする。数値シミュレーションでは、各サンプル間の変化を近似した写像として設計されるため、離散化誤差が実務上の重要要因になることがある。
さらに、ニューラルネットや回帰モデルを \(f\) の近似として用いる構成では、学習対象の安定性や外挿性能が課題になりやすい。
2.3 一般化された入出力の記述
初期条件や実現の自由度を含めると、状態空間表現はより実務的になる。モデルの区別は、入力と出力の写像だけでなく、内部の状態次元や初期値の扱いにも現れる。
2.3.1 初期値条件
状態空間モデルでは、開始時刻の状態 \(x(0)\)(連続)または \(x_0\)(離散)が必要である。これにより、同じ入力列でも出力が異なる場合が生じる。制御や推定では、初期状態が未知の場合を考え、推定器で推定値を用いたり、拘束を設けたりする。
初期値の設定は、実験データの取り扱いや、シミュレーションの整合にも影響する。観測ノイズがある場合、初期推定とその不確かさ評価が設計の一部になる。
2.3.2 実現(モデル化)の自由度
同じ入出力関係に対して、内部状態を別の座標へ変換して得られる実現が存在する。これは同値性の観点で捉えられ、状態変数の線形変換などにより、表現の形は異なっても応答特性が一致する。
この自由度は、計算上の都合(可観測正準形、可制御正準形など)を選んで性質を見やすくするために利用される。一方、実装では数値条件や感度が変化しうるため、理論上の同値がそのまま計算上の同等性を保証するとは限らない。
3 線形状態空間における性質
線形状態空間では、状態遷移の行列構造が主要な性質を決める。特に可制御性、可観測性、固有構造、最小実現は、設計・解析の出発点となる。
3.1 可制御性
可制御性は、入力によって状態を望ましい領域へ到達できる度合いを表す概念である。制御設計では、可制御でないモードはフィードバックで動かせないため、重要性が高い。
3.1.1 可制御性の判定
線形時不変の連続時間・離散時間で判定手法が整理される。代表的には可制御性行列を作り、その階数によって判定する方法がある。連続時間では到達可能性が行列べきに関係し、離散時間でも同様にサンプルごとの到達構造が階数条件として現れる。
3.1.2 可制御性の意味(設計への影響)
可制御である場合、状態フィードバックによって閉ループの固有値(極)を任意に配置できる条件が成立しやすくなる。逆に可制御性が欠けると、一部の内部モードが入力から隔離され、性能改善の余地が制限される。
そのため、モデル化時に入力行列や状態の切り方が不適切だと、設計段階で思った通りの改善が得られない。学習や同定では、可制御性・可観測性を満たす構造が暗黙に要求される場合がある。
3.2 可観測性
可観測性は、入力と出力の情報から状態を再構成できる度合いを示す概念である。状態推定器では、この性質が収束性や同定可能性に直結する。
3.2.1 可観測性の判定
線形モデルでは可観測性行列を構成し、その階数で判定する形が用いられる。連続時間では状態の時間微分と出力の関係、離散時間では出力系列の情報蓄積が、判定条件に反映される。
3.2.2 可観測性の意味(状態推定への影響)
可観測であるなら、観測に含まれる情報から内部状態が推定できる可能性が高い。可観測性が低いと、推定器は不確定な成分を持ち、誤差が消えにくくなる。推定を設計する際には、可観測性だけでなく、ノイズの大きさやモデル誤差との兼ね合いも重要になる。
推定器設計では、観測行列 \(C\) の形が推定感度に影響する。測定の配置を工夫することで推定性能を改善できる場合がある。
3.3 極(固有値)と応答
極(固有値)はシステムの時間応答の性格を強く決める。連続時間では指数減衰や発散、離散時間ではサンプルごとの収束・発散に相当する。
3.3.1 安定性の考え方(連続・離散)
連続時間では、行列 \(A\) の固有値の実部が負であれば漸近安定とみなされることが多い。離散時間では、固有値の絶対値が1より小さいことが安定性に対応する。境界の扱いはケースにより異なり、厳密にはジョルダン構造や重根の扱いが関係する。
設計では、閉ループの極を望ましい位置に移すことが目標になる。状態フィードバックや観測器の設計がこの移動を実現する。
3.3.2 応答の時間領域と周波数領域の見通し
極は時間領域の減衰や振動のモードを説明する。一方、周波数領域では共振や減衰の度合いとして観測される。伝達関数の極・零点や周波数特性の形と結びつけて理解すると、設計の意図が明確になる。
たとえば減衰が弱いモードは時間領域で持続し、周波数領域では特定周波数帯でゲインが大きくなる傾向がある。状態空間はこれらを一貫して結び付ける言語として機能する。
3.4 最小実現と同値性
最小実現は、同じ入出力特性を持ちながら内部次元を最小化する考え方である。状態空間の同値性は、座標変換を含む概念として整理される。
3.4.1 最小実現の概念
最小実現とは、可制御性と可観測性が満たされ、かつ状態次元が最小となる実現を指すことが多い。最小であることにより冗長な状態が排除され、推定や計算の効率が向上する。
実現の生成では、伝達関数から状態空間へ移す際に最小性が鍵になる。モデル選択や同定の過程でも、次元を増やしすぎると過剰適合や不安定化が起きやすいため、最小性の思想が役立つ。
3.4.2 同値な実現(座標変換)
同値な実現は、状態変数を可逆な変換で置き換えたものとして理解できる。線形の場合、状態変換行列が可逆であれば入出力応答は一致する。これにより、異なる状態表現でも同じ動力学を同一視できる。
実務上は、数値計算の条件の良い座標系を選ぶ動機になることがある。理論として同じでも、計算の丸め誤差や感度が変化するため、座標選択の意味が現れる。
4 設計・解析への応用
状態空間の利点は、設計対象を内部モードや推定誤差の構造と結び付けられる点にある。制御と推定、ノイズ・不確かさの扱いが連続して議論できる。
4.1 状態フィードバック制御
状態フィードバック制御は、状態を直接用いて入力を構成し、閉ループ系の応答を設計する方法である。状態が利用できない場合は観測器と組み合わせる。
4.1.1 極配置とフィードバックゲイン
代表的には \(u=-Kx\) の形で入力を与えると、閉ループ行列は \(A-BK\) となる。極配置は、この閉ループ行列の固有値を所望の位置へ移すことを目標にする。可制御性が十分であると、適切なゲイン \(K\) が存在する。
この設計は直感的で、時間応答の減衰や振動の度合いを極の位置で調整できる。反面、過大なゲインは入力飽和やモデル誤差への感度を高めるため、現実の制約を考慮した設計が求められる。
4.1.2 LQR(最適レギュレータ)の考え方
LQRは、二次形式の評価関数を最小化することでフィードバックを設計する枠組みである。一般に状態の大きさと入力の大きさを同時に罰する形になるため、単なる安定化よりもバランスの取れた挙動が得られやすい。
線形系で評価関数が二次形式の場合、解はリカッチ方程式(連続・離散で異なる)に結びつく。最適性の意味づけが明確であるため、設計指針が体系化される。
4.2 状態推定
状態推定は、観測できる出力から内部状態を推定する技術群を指す。制御と統合して、推定値を使う形に落とし込むことが多い。
4.2.1 オブザーバ(状態推定器)
オブザーバは、推定状態 \(\hat{x}\) を更新する仕組みである。観測誤差に基づく補正項を含めることで、推定誤差が減衰するように設計する。線形系では、オブザーバの極配置が収束速度の設計と結びつく。
4.2.2 フィルタリング(考え方の整理)
フィルタリングでは、観測ノイズや不確かさを確率として扱い、推定誤差の分散を最小化する方向で設計することが多い。典型的にはカルマンフィルタのような構成が、状態空間モデルと自然に整合する。
ただし、ノイズ統計の前提が崩れると性能が落ちる。学習や実務の実装では、ノイズ共分散の推定、外れ値への頑健化、モデル誤差を含めた設計が論点になる。
4.3 観測ノイズや不確かさの扱い
実環境では、測定は理想条件から外れ、モデルも完全ではない。状態空間表現はこうした誤差を組み込み、設計指針として扱うための土台を提供する。
4.3.1 ロバスト性の方向性
ロバスト性とは、モデルや条件が変動しても望ましい性質が保たれる度合いである。状態空間では、閉ループ極、感度関数、誤差系の安定性など、定量指標を組み立てやすい。
設計手法は一様ではないが、パラメータ変動や外乱の影響を評価する枠組みとして整理されることが多い。フィードバックの強さだけでなく、推定と結合した際の全体挙動が対象となる。
4.3.2 モデリング誤差への注意点
モデル化の際に、非線形性の無視、摩擦や遅れの省略、計測遅延などが混入しうる。線形近似で得た設計が、運用範囲外で破綻することは珍しくない。
特に推定器は、誤差を内部状態へ織り込むため、モデリング誤差が直接推定バイアスへつながる場合がある。実務では、残差の解析や、モデル更新の仕組みを用意することが多い。
5 実装と実務上の論点
状態空間モデルは理論上きれいでも、実装では離散化、数値誤差、データ整合、学習との接続が課題になる。ここでは代表的な論点を概観する。
5.1 離散化と計算上の注意
実装では、連続時間モデルをサンプルへ落とし込む操作が必須になる。離散化は制御性能や推定性能に影響する。
5.1.1 サンプリングの影響
サンプリング周期が大きいと、離散モデルが元の連続挙動を正確に表さなくなる。特に高周波成分を含む系ではエイリアシングが起き、推定誤差や制御応答の劣化につながる。
逆に周期を小さくすれば理想に近づくが、計算負荷と通信遅延が増える。実機では計測・制御の速度を含めたトレードオフで設計する必要がある。
5.1.2 数値計算安定性
状態空間の計算では、行列の指数計算、リカッチ方程式の解法、カルマンフィルタの更新などで数値誤差が生じる。条件数が悪いモデルでは丸め誤差が増幅される可能性がある。
そのため、座標変換によるスケーリング、安定な数値アルゴリズムの選択、浮動小数点の精度評価が重要になる。設計値をそのまま実装せず、数値検証を挟む運用が望ましい。
5.2 同定(推定)と学習への橋渡し
未知の動力学がある場合、データから状態空間モデルを作る必要がある。状態空間はその作業を整理し、学習と結び付けやすい。
5.2.1 データからの状態空間推定の考え方
観測された入力と出力から、状態や行列を推定する枠組みが用意される。完全な状態が得られない場合でも、オブザーバ的な考え方を利用して推定を組み立てることがある。
線形では、最小二乗やサブスペース法などの手法が知られている。非線形では、局所線形近似や反復最適化、確率モデルとの統合など、複数の流派に分かれる。
5.2.2 モデル選択(次元・構造)
状態次元を増やすと表現能力が上がるが、データ不足では過学習や推定不安定性が起きやすい。したがって、モデル次数の選択、構造の制約、正則化が重要になる。
さらに、どの成分を状態として採用するか、行列の疎性や対称性を仮定するかといった構造選択も、学習効率と一般化に影響する。評価指標としては、予測誤差だけでなく、閉ループでの安定性や推定誤差の挙動も参照される。
5.3 実装例の雰囲気(非論争的な題材)
ここでは、状態空間モデルが自然に組める典型例の雰囲気だけを示す。詳細な数式導出よりも、どうモデリングが進むかの流れに焦点を当てる。
5.3.1 ロボットの簡易運動モデル
移動ロボットの平面運動を簡略化すると、位置と向き、速度などを状態として扱うことができる。制御入力には前進速度やヨーレートなどを割り当て、センサ出力は位置推定やジャイロの測定値としてモデル化する。
この種の例では、非線形(向きの三角関数が現れる)をそのまま扱うか、局所線形化して制御・推定へ接続するかが選択肢になる。センサ融合の文脈では、観測行列の設計が推定精度を左右する。
5.3.2 簡単なバネ・質量系のモデル化
バネ・質量系では、変位や速度を状態に取ると、力学の関係から状態方程式が導ける。入力として外力を与え、出力として変位や速度を観測する設定が典型である。
線形振動系は固有値が明確で、極配置やLQRの効果を直感的に確認しやすい。推定では、変位の測定にノイズがある場合でも、状態推定器により速度が補間されるような構図が作れる。
6 よくある誤解と用語の整理
状態空間は便利だが、理解の誤差が設計の失敗に直結することがある。ここでは代表的な誤解と、用語の意味の取り違えを整理する。
6.1 「状態」の解釈の注意
状態は日常語の「気分」ではない。内部変数としての役割を、モデルの閉形式と将来予測可能性に結び付けて捉える必要がある。
6.1.1 状態と観測の違い
観測可能な信号は出力に対応する。一方、状態は内部で保持され、直接観測できない場合が多い。したがって、状態は必ずしもセンサ値と一致しないし、センサ値が状態の全てを含むとも限らない。
この違いを混同すると、推定器設計が過剰になったり、逆に必要な推定が省かれて性能が落ちたりする。出力は状態の写像であり、写像の情報量が足りないなら推定が要る。
6.1.2 座標の取り方と意味
状態変数は座標系として選べる。線形変換なら同値性が成り立ち、見かけの式は変わっても同じ入出力応答を示し得る。
ただし座標変換によって、数値的な安定性やゲインのスケールが変わる。したがって、「意味が同じなら計算も同じ」は必ずしも成り立たない点を理解することが重要である。
6.2 構造とパラメータの混同
モデルの「形」と「係数」を区別しないと、同定や設計の議論が崩れることがある。
6.2.1 行列の次元・形の確認
行列 \(A,B,C,D\) は次元が揃っている必要がある。状態次元と入出力次元の対応が崩れると、数式が意味を失うだけでなく実装上の不具合につながる。
また、どの行列がどの物理・計測経路に対応するかを確認しないまま推定を進めると、過度に自由なモデルになりやすい。
6.2.2 モデルの同定範囲の限界
データに含まれない入力帯域や条件では、推定されたパラメータは妥当性が保証されにくい。モデルが表す領域は観測の範囲に依存するため、外挿では性能が劣化しやすい。
さらに、同定はノイズや非定常性の影響を受けるため、統計的に妥当な評価が必要になる。過去のデータで得たモデルを未来にそのまま適用する際には慎重な検証が望ましい。
6.3 ネットミーム的な比喩で捉える例
比喩は理解を助ける一方で、文字通りに解釈すると誤解を招く。ここでは軽い例として、誤解が起きやすい点を整理する。
6.3.1 「状態=見えていない本当の気持ち」的比喩
状態を「本当の気持ち」にたとえると、出力は「表情」に相当する、と感じやすい。比喩としては、表情(出力)だけでは心(状態)が完全に分からない点が対応する。
ただし制御理論での状態は、あくまで将来を決める内部変数であり、心理学的な実体を指すわけではない。推定が必要になる構図は似ていても、概念の目的は数学的な閉形式の構築にある。
6.3.2 「出力=みんなが見る表情」的比喩
出力を「周囲が見る表情」に例えると、状態は直接見えないが出力は測れる、という直感が得られる。このとき観測ノイズが増えると表情の読み取りが難しくなるため、推定誤差が増えるという感覚につながる。
ただし「表情が見えるなら推定は不要」とはならない。状態は多次元で、出力はその写像にすぎず、情報が不足していれば内部成分の推定が必要になる。