niszetの日記

細かい情報を載せていくブログ

B. P. Lathiの Signal Processing And Linear Systemsで状態空間表現について学ぶ

量が多いので複数回に分ける。

時系列の解析をしたい。そのためには状態空間モデルについて避けることができない。しかし、状態モデルと観測モデルの式の形はわかるし、意味もわかったと思ったのに実際に式を追いかけてみるとイマイチ理解ができない。
そんな中でディジタルフィルタについて勉強していると、状態空間による表現があることを知り、そうであればモデルを「推定」するのではなくて回路構造等アーキテクチャがあらかじめ決まっていて、そこには推定すべきあいまいさがない状態で考える方がわかりやすいのではないか…?

…と考えて海外の大学の講義資料等を見て回った結果、B. P. LathiのSignal Processing And Linear Systems という本が良さそうだということで購入して読んでみました。

この日記はその中で得られた理解や問題を解いた結果をペタペタ貼っていこうという話の導入編です。つまりあまり中身がないということです。

購入

USA/Canada以外ではペーパーバック版がお安く買えます。中古で買っても良いのかもですが、著者にお金が入る方が良いなと思って。
なお、この本は800ページにわたって信号処理に関する内容が書かれていて、Sate Space Analysisとして13章に状態空間の話が載っています。ページ数が多くて結構ドン引きしますが、英語がかなり読みやすく、式の変形・展開や事例などを丁寧に解説してあるため、変に省略された本を買うよりもよほどわかりやすいです。amazonなら8kほどで購入できるので1円/ページってことですか。

雑な理解

一通り読み終わって、とりあえず下記のように理解しました。

  • 状態空間の式は1階の微分方程式の行列表現(連立方程式
  • 「状態」は各ノードの値。あるいは「積分器」の前後、あるいは積分器そのものだと考えても良いと思う
  • 離散時間の場合はこれがz^-1なので、実質FF(Flip Flop)
  • 連続時間の場合は受動素子ならLやC。iとvの関係が逆なので、i,vどちらかがもう一方に対して積分する関係として表現できる。RLC回路などは各節点についてi,vを決めるため、どちらも「状態」を保持するための素子として使用できる。
  • 伝達関数による表現は入力から出力に至るものだけ。つまり可観測かつ可制御の状態。
  • 直達項は分子分母が同じ次数だと出現。
  • pole/zeroキャンセルすると見えないものがある(うろおぼえ)
  • ラプラス変換で周波数領域で考えても良いし、時間領域で解いていっても良い(前者の方が解くのは簡単そう)
  • カルマンフィルタはこの本の範囲外だが、入力が存在せず、状態と観測それぞれに誤差項が入ったモノ(ただしそれぞれ独立)と考えると個人的にはすっきりする
    • 観測には必ず誤差が含まれる、ということで観測式の方はその誤差が入った発展版という理解。
    • 状態の方は、系に対して信号として扱えるほどの大きな入力はないが、無数の小さなランダムな入力が入っていてそれがガウシアンノイズっぽく見えているのでは、などと考えるとちょっとすっきりする。
  • こっちのSSは制御のお話なので入力によって制御したいという気持ち。時系列は制御する対象ではないという点(観測したものから”推定”する)
    • "推定"するにはそちらのお作法がある。 この本の外の話なのでこの本では時系列解析自体はわかるようにならない。ただし状態空間表現を学ぶことが出来る
  • あとは行列というか線形代数の話。これも不安があるなら別途勉強するほうが良い。

もうちょっとちゃんと理解したい

ならば私は手を動かすしかないですね。少しずつやっていきます。
また、これとあわせて時系列解析の方もやっています。それらを合わせて考えたときに、上の雑な理解はどう変化しているか。んー、楽しみ()