3

現在の状況:

屋内ローカリゼーション システム用のパーティクル フィルターを実装しました。磁場の指紋を使用します。粒子フィルターの実装は非常に単純です。

  1. エリア全体に均一に分布するすべてのパーティクルを作成します
  2. 各粒子は、速度 (「通常の」歩行速度の平均でガウス分布) と方向 (すべての方向に均一に分布) を取得します。
  3. 速度と方向の変更 (どちらもガウス分布)
  4. 最後の測定と現在の測定の時間差を乗じた速度で、指定された方向にすべての粒子を移動します
  5. 各粒子の最も近い指紋を見つける
  6. 最も近い指紋と指定された測定値を比較して、各粒子の新しい重みを計算します
  7. ノーマライズ
  8. リサンプル
  9. 測定ごとに #3 から #9 を繰り返します

問題:

ここで、基本的に同じことを行いたいのですが、システムに別のセンサーを追加します (つまり、WiFi 測定)。測定値が同時に表示される場合、問題はありません。次に、最初のセンサーの確率を計算し、これに 2 番目のセンサーの確率を掛けて、#6 の粒子の重みを取得します。

しかし、磁場センサーのサンプルレートは非常に高く (約 100 Hz)、WiFi 測定値はほぼ毎秒表示されます。

問題を処理する最善の方法が何であるかはわかりません。

可能な解決策:

  1. WiFi 測定値が表示されるまですべての磁場測定値を破棄 (または平均化) し、最後の磁場測定値 (または平均値) と WiFi 信号を一緒に使用できます。基本的に、磁場センサーのサンプルレートをWiFiセンサーのレートに下げます
  2. 磁場測定ごとに、最後に見た WiFi 測定値を使用します
  3. センサーを分離して使用しています。つまり、1 つのセンサーの測定値を取得した場合、他のセンサーの測定データを使用せずに、ステップ 3 から 9 のすべてを実行します。
  4. 私が考えていない他の解決策;)

どちらが最善の解決策になるかはわかりません。すべてのソリューションが良いとは限りません。

#1では、情報を失っていると言えます。粒子フィルターに約 100 Hz のサンプル レートを使用することが理にかなっているのかどうかはわかりませんが。

#2では、WiFi信号がすぐに偶然ではないと仮定する必要がありますが、これは証明できません.

センサーを個別に使用すると、WiFi 測定値が 1 つ表示されるまで、すべてのステップが磁気データで 100 回発生するため、磁場測定値が WiFi 測定値よりも重要になります。

この問題を扱っている良い論文を知っていますか?

粒子フィルターでサンプルサイズが異なる複数のセンサーを処理する方法の標準ソリューションは既にありますか?

100 Hz のサンプル サイズは意味がありますか? または、粒子フィルターの 1 ステップの適切な時間差はどれくらいでしょうか?

あらゆる種類のヒントや解決策をありがとう:)

4

1 に答える 1

1

#2 では、サンプル アンド ホールドを使用する代わりに、フィルタを 1 秒遅延させ、アップサンプリングするために WiFi 測定間を補間して、両方の信号を 100Hz にすることができます。

WiFi の動作について詳しく知っている場合は、線形補間よりも高度なものを使用して、更新間の Wifi の動作をモデル化できます。これらの人々は、より高度な非同期ホールドを使用してより遅いセンサー信号をアップサンプリングしますが、カルマン フィルターのようなものも機能する可能性があります。

更新速度に関しては、多くのノイズを考慮に入れる可能性が高いため、100Hz はアプリケーションにとって高く聞こえると思います (屋内を歩いている人間の位置を決めていると仮定します)。 -周波数ノイズ。

于 2013-05-15T20:31:26.997 に答える