電子書籍の厳選無料作品が豊富!

大学でカルマンフィルタを使った研究をしようと思っています。
Matlabを使い下記URLを元にカルマンフィルタの理解を深めようとしているのですが、時変カルマンフィルタと定常カルマンフィルタの違いがわかりません。下記URLでは、時変カルマンフィルタは「この共分散プロットから、出力共分散がおよそ5つのサンプルで実際に定常状態に達したことを確認できます。それ以降、時変フィルタは定常状態バージョンと同じ性能を維持します。」とあるのですが、これは「時変カルマンフィルタは、結局は定常カルマンフィルタと同じ」ということなんでしょうか?
また、そうでないとすれば、時変カルマンフィルタと定常カルマンフィルタの違いってなんでしょうか?

途中で外乱が発生した場合を仮定して、観測ノイズvとプロセスノイズwを途中で変化させる、ようなこともしたのですが、時変カルマンフィルタは定常状態に達した後は定常カルマンフィルタと同じ結果を示しました。なので外乱に強いというわけでもなさそうです。(初心者なのでこの実験自体、正しくプログラムを設計できていたかも怪しいです。)

時変カルマンフィルタにするメリットが何かわかりません。できれば、matlabを使ったカルマンフィルタを詳しく説明してる本やHPがあれば教えてください。
回答よろしくお願いします。

URL:http://dl.cybernet.co.jp/matlab/support/manual/r …

A 回答 (2件)

QやRが正しくわかれば、正確になるというのは正しいです。



イメージとして、
1. QとRが大きくなる(つまりノイズの成分が増える)とPが大きくなる
2. Pが大きくなるとカルマンゲインが小さくなる
3. カルマンゲインが小さくなると、観測出力への収束が緩やかになる
という感じです。

GPSでたとえた場合、RはGPSの半径精度をあらわしていると考えてみてください。Rが大きくなれば精度は劣化するということです。そのような場合、上記手順で、GPS観測値への収束は緩やかになります。逆にRが小さい場合は速やかに観測値に収束します。

ところで上記ページによれば、QやRを1と仮定しているのは定常フィルタの項目で、自変フィルタの項目では、Q=E(w[t] w[t]^T), R=E(v[t]*v[t]^T) と、分散の定義どおり雑音の自乗の平均値で求めていますね。

QやRを正しい値にすることは、実際に応用する場合は非常に難しいです。
w や v の値がわかっているシミュレーションではこの定義どおりプログラムを組めばとりあえずは希望がかなうのではないでしょうか?
    • good
    • 0

時変カルマンフィルタの状態推定値の共分散行列 P の遷移を表す方程式の中から、時変な要素(n を添字に持つ値)に注目してみてください。



外的に時間変化する要因と言えば、プロセスノイズの共分散行列 Q と観測ノイズの共分散行列 R しかないことが分かると思います。

v と w を変化させたとき、Q と R の値が変化していることは確認できましたか?これらが変化することで状態推定値の共分散行列 P が変化し、それに伴ってゲイン M も変化します。

Q と R が変わっていなければ、定常解に収束して行くので定常カルマンフィルタと等価になります。

現実的にはノイズの真の共分散など分かるものではないので、Q や R はチューニングパラメータとして扱われます。観測手段によっては R を求めることができる場合があります(GPS の観測値など)
    • good
    • 0
この回答へのお礼

返信が遅れてしまい申し訳ございませんでした。
回答ありがとうございます。
ノイズが変わればQ,Rも変わることはわかったのですが、質問に示したURLのページでは、Q,Rをはじめに1と仮定して、変化のないものだとしています。Q,Rを正しく取ることで、推定誤差を減らすことができると理解しているのですが、これの理解は正しいですか?そして、Q,Rを正しい値に収束させるようなことは可能なのでしょうか?もし可能であるならそれを質問に示したURLのページで使われているプログラムに手を加えてあらわしていただけないでしょうか。
度重なる質問すいません。

お礼日時:2009/10/11 17:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!