web-dev-qa-db-ja.com

カルマンフィルターのプロセスノイズの用語について説明する

カルマンフィルターを学習しています。カルマンフィルターの用語では、プロセスノイズに問題があります。プロセスノイズは、多くの具体的な例で無視されているようです(測定ノイズに重点を置いています)。誰かが私にプロセスノイズを例でうまく説明したいくつかの紹介レベルのリンクを示すことができれば、それは素晴らしいことです。

与えられた質問に対して、具体的なスカラーの例を使用してみましょう:

x_j = a x_j-1 + b u_j + w_j

まあ言ってみれば x_j冷蔵庫内の温度を時間とともにモデル化します。これは5度であり、そのままにしておく必要があるため、a = 1。ある時点でt = 100、冷蔵庫の温度は7度(つまり、暑い日、断熱性が悪い)になり、この時点でのプロセスノイズは2度だと思います。したがって、状態変数x_100 = 7度、これはシステムの真の値です。

質問1:

次に、カルマンフィルターを説明するためによく見かけるフレーズを言い換えると、「ノイズxの影響が最小限に抑えられるように信号xをフィルター処理します」、 http://www.swarthmore.edu/NatSci/echeeve1/ Ref/Kalman/ScalarKalman.html 2度の影響を最小限に抑える場合、2度の差を解消しようとしていますか?しかし、真の状態はx_100 == 7 度。カルメンフィルターで正確に処理ノイズwに何をしているのですか?

質問2:

プロセスノイズの分散はQです。単純な冷蔵庫の例では、基礎となる真の状態が5度であることを知っており、Qをその状態からの偏差として取ることができるため、モデル化は簡単に思えます。しかし、真の基礎となる状態が時間とともに変動する場合、モデル化するときに、このどの部分が状態変動と「プロセスノイズ」と見なされますか。そして、良いQをどのように決定しますか(ここでも例はいいでしょう)?

Qは、どのタイムステップであっても常に共分散予測に追加されるため、( http://greg.czerniak.info/guides/kalman1の共分散予測式を参照) / )過度に大きなQを選択した場合、カルマンフィルターが適切に動作するようには見えません。

ありがとう。

EDIT1私の解釈

プロセスノイズという用語の私の解釈は、システムの実際の状態と、状態遷移行列からモデル化された状態(つまり、a * x_j-1)。そしてカルマンフィルターが行うことは、予測を実際の状態に近づけることです。その意味で、それは実際にプロセスノイズを「除去」するのではなく、残留フィードバックメカニズムを通じて予測に部分的に「組み込み」、それによって実際の状態をよりよく予測できるようにします。私はそのような説明を私の検索のどこでも読んだことがありません。この見解についてコメントしてくださる方に感謝します。

21
frank

カルマンフィルタリングでは、「プロセスノイズ」はシステムの状態が時間の経過とともに変化するという考え/機能を表しますが、これらの変化がいつどのように発生するかについての正確な詳細はわからないため、ランダムプロセスとしてモデル化する必要があります。

あなたの冷蔵庫の例では:

  • システムの状態は温度、
  • 温度計のダイヤルを見て、一定時間ごと、たとえば1時間ごとに温度の測定値を取得します。通常、カルマンフィルター処理の測定プロセスに含まれる不確実性を表す必要がありますが、質問ではこれに焦点を当てていません。これらのエラーが小さいと仮定しましょう。
  • 時間tに温度計を見ると、7度と表示されています。測定誤差は非常に小さいと想定しているため、実際の温度は7度(に非常に近い)です。
  • さて、問題は次のとおりです。ある時点での温度はいくつですか。見た後15分としましょう。

冷蔵庫の凝縮器がオンになるかどうか、またはいつオンになるかがわからない場合は、次のようになります。1。後での温度がまだ7度より高い(15分でサイクル内の最高温度に近づく)、2 。コンデンサーが作動している場合、または作動している場合は低下します。3.ほぼ同じです。

後でシステムの実際の状態に起こり得る結果の分布があるというこの考えは、「プロセスノイズ」です。

注:冷蔵庫の定性モデルは次のとおりです:コンデンサーは動作していません。温度は、目標目標温度よりも数度高いしきい値温度に達するまで上昇します(注-これはセンサーなので、ノイズが発生する可能性があります)コンデンサがオンになる温度)、温度が設定温度より数度低くなるまで、コンデンサはオンのままです。また、誰かがドアを開けると、温度が急上昇することにも注意してください。誰かがいつこれを行うのかわからないため、ランダムなプロセスとしてモデル化します。

16
Dave
  1. ええ、私はその文が良いものだとは思いません。カルマンフィルターの主な目的は、プロセスノイズではなく、観測ノイズの影響を最小限に抑えることです。著者はカルマンフィルタリングとカルマンコントロール(プロセスノイズの影響を最小限に抑えようとしている場合)を融合していると思います。
  2. 状態は、プロセスノイズの影響を除いて、時間の経過とともに「変動」しません。

通常、システムには固有の「真の」状態はありません。冷蔵庫は、非線形特性を持つ制御システムであるため、悪い例です。空飛ぶ砲弾がより良い例です。 「本当にある」場所はいくつかありますが、それはAに固有のものではありません。この例では、風を一種の「プロセスノイズ」と考えることができます。 (ホワイトノイズではないので、良い例ではありませんが、ここで私と一緒に作業してください。)風は、砲弾の速度に影響を与える3次元のプロセスノイズです。砲弾の位置には直接影響しません。

ここで、この地域の風が常に北西に吹いていると仮定します。風の北と西の成分の間に正の共分散があるはずです。砲弾の速度が北向きにずれると、西向きと同じようなずれが予想され、逆も同様です。

Qは分散ではなく共分散と考えてください。その自己相関の側面はほとんど付随的です。

4
Sneftel

ここで行われるよい議論。プロセスノイズの概念は、モデルに基づいて行われる予測には何らかのエラーがあり、Q行列を使用して表されるということです。実際に予測される状態の平均二乗誤差である共分散行列(P_prediction)を予測するためのKFの方程式に注意すると、Qがそれに追加されます。 PPredict = APA '+ Q。私は、KF方程式の導出を見つけることができれば、それは良い洞察を与えると思います。

0
Thomas