2

私は Android を使用して WIFI AP のすべての時間フレームをスキャンしています。各 AP から信号強度 (dBm 単位の RSSI) を取得しており、次の式で距離を計算しています。

public double calculateDistance(double levelInDb, double freqInMHz) {
    double exp = (32.44 - (20 * Math.log10(freqInMHz)) + Math.abs(levelInDb)) / 20.0;
    return Math.pow(10.0, exp);
}

それはうまくいっているので、3 つ以上の距離があるので、すべての AP を固定位置で地図上に描画する必要があります。インターネットでいくつかの読み取りを行い、三辺測量を見つけました距離の測定によるポイント) しかし、少なくとも 1 つのポイント (x、y) が必要なようです。現時点では、信号強度から計算された距離を持っているだけで、異なる円周の半径として取得できます。

携帯電話の位置の計算を開始するための具体的なポイント (x、y) がないため、混乱しています。

そのポイントを計算する方法があるかどうか、またはその最初のポイントを想定できるかどうか、または何かが欠けているかどうかを知る必要があるだけです。

ありがとう、私は本当に感謝しています。

4

1 に答える 1

9

Paulw11 が彼のコメントで述べたように、すべての AP または少なくとも 1 つの AP の正確な位置と、この AP に対する他の 2 つの相対的な位置を知る必要があります。次に、三辺測量手順は各 AP に対して 1 つの円を生成し、それらの傍受がデバイスになります。

Wi-Fi を使用した三辺測量では、ポイントではなくエリアが生成され、少なくとも 2 ~ 3m の精度で不確実なエリアが生成されることに注意してください。そして、私が見ることができることから、あなたは一般的なタイプである自由空間損失モデルに基づいて距離を計算しており、それは各環境の真実ではないため、この仮定はあなたの見積もりをさらに悪化させます.

適切なアプローチは、最初にデバイスからの Wi-Fi 測定値を使用してエリアの無線マッピングを作成し、次にこの Wi-Fi フィンガープリントに基づくことです。または、最初にトレーニング期間を準備します。それに関する多くのチュートリアルがあります。

于 2014-11-19T09:57:59.467 に答える