7

私はAndroid携帯から加速度計に取り組んでいます。加速度計が電話の動きを記録して戻ってくる恐ろしいノイズをフィルタリングしたいと思います。

ローパスだけでは不十分なので、カルマンフィルターを読んでいました。

しかし、それはユーザーの動きであるため、からACCELERATION(k-1)への移行のモデルはありません。ACCELERATION(k)したがって、状態遷移行列はありません(異なる論文のHまたはF、方程式Xk = H Xk-1 + Bコマンド+ノイズのXk-1を乗算するもの)

簡単な例で単位行列をとっている人を見かけました。動的加速にはどのように機能しますか?

私はカルマンフィルターを知っています、人々は常にいくつかのH行列を生成します、私は私の場合どのようにすればいいのか分かりません。

4

4 に答える 4

5

カルマンフィルターは、すべてのモデル行列がある線形フィルターと見なされることがよくありますが、フィルターのアイデアとその最初のアプリケーションは、非線形モデルに由来します。その場合、行列の代わりに関数を使用します。

予測と更新の関数が非常に非線形である場合は、統計的手法を使用してオンラインでパラメーターを推定できます。あなたが取ることができる最初の外観は、決定論的サンプリング手法から平均と共分散を回復する無香カルマンフィルターです-無香変換。あなたの場合、これが最初から最善かもしれないと思います。

カルマンフィルターには他にもバリエーションがあります。ウィキペディアから始めることもできますが、「アダプティブカルマンフィルター」をグーグルで検索すると、さまざまなテーマを見ることができます。

主題をより深く理解したいが、必ずしもすべての数学から始める必要がない場合は、非常に優れたをお勧めします。PhilKimによる初心者向けのKalmanFilterです。センサーフュージョンとして他の可能性もありますが、それは別の広い主題です。

于 2013-01-23T13:28:59.963 に答える
4

単位行列を使用できます。

状態遷移行列は、新しい測定値がない場合に、現在の状態に基づいて将来の状態を予測するために使用されます。あなたの場合、あなたが言うように、あなたは将来の状態(加速)を予測する方法がありません-したがって、あなたの最良の推測は、将来の状態(加速)が現在の状態と同じであるということです。これはまさに単位行列が行うことです。

多くのカルマンフィルターに、現在の状態に基づいて将来の状態を予測する方法があります。ここで、非同一性の状態遷移マトリックスが介入します。たとえば、カルマンフィルターがGPSと速度計に基づいて車両の位置と速度を推定するとします。 ; 次に、新しい測定値がなくても、速度に基づいて位置を変更することで、将来の位置を予測できます。デイブの答えは、状態遷移行列を使用してそれを行う方法を示しています。

于 2013-11-30T12:40:36.210 に答える
2

状態ベクトル[x, v_x, a_x]、つまりオブジェクトの一方向の位置、速度、および加速度が与えられます(他の2つの自由度にも同じロジックが適用されます)。通常、状態遷移行列は次のように定義します。

1   dt   0.5*dt*dt
0   1    dt
0   0    1

これを書き出すと、次のようになります。

xnew = x+v_x*dt + 0.5*a_x*dt*dt
vnew = v_x + a_x*dt
anew = a_x

これらは、一定の加速度で移動するオブジェクトの運動方程式です。

未知のユーザーが引き起こしたモーションがKalmanフレームワークで処理される方法は、プラントノイズの用語によるものです。まったく同じ加速を続ける代わりに、加速(したがって状態の他のコンポーネント)に対して未知のランダムな摂動があると仮定します。

于 2013-02-26T18:50:56.620 に答える
-1

カルマンフィルターの特徴は、予測を行い、観測に基づいて予測を修正することです。モデルが一定の位置を想定しているにもかかわらず、モデルがあまり動的ではない場合でも、観察に基づいて、間に何かが生じるため、Identityが機能する可能性があります。

于 2017-03-31T01:36:12.950 に答える