2017-06-28 7 views
0

RSSIとTxPowerを使用してビーコンからアンドロイドデバイスまでの距離を計算しようとしましたが、変動は非常に高いです。だから、より安定した距離を得る方法?私は、下記のコードスニペットを試してみました:ビーコンとAndroidデバイスの間の正確な距離を計算するにはどうすればいいですか?

public double calculateAccuracy(int txPower, double rssi) { 
     if (rssi == 0) { 
      return -1.0; 
     } 
     double ratio = rssi * 1.0/txPower; 
     if (ratio < 1.0) { 
      return Math.pow(ratio, 10); 
     } else { 
      double accuracy = (0.89976) * Math.pow(ratio, 7.7095) + 0.111; 
      return accuracy; 
     } 
    } 

答えて

0

RSSIが、特に大きな距離で、大幅に変動する場合と同様に、この質問に対する簡単な答えは、ありません。これは、ブルートゥースの内蔵チャンネル切り替えによって悪化します。各チャネルは、異なる平均RSSIを返す。

可能な限り多くのrssi測定は、使用期間に合った長い期間にわたって平均的に行われます。単純な算術平均やより洗練された統計フィルタを使うことができますが、その差は劇的ではありません。

さらに多くの統計サンプルを取得するためには、ビーコンの広告料金をできるだけ高く設定し、トランスミッタの強度をできるだけ高く設定すると便利です.RSSが大きくなるほど、信号対ノイズ比が大きくなります。

関連する問題