私はiBeaconsで正確性/ rssi /近接性の問題を徹底的に調査しており、インターネットのすべてのリソース(ブログ、StackOverflowの投稿)は間違いを犯していると本当に思っています。
davidgyoung(受け入れられた回答、100以上の賛成)は言う:
ここでの「精度」という用語は、iOSが距離をメートルで表したものであることに注意してください。
実際、ほとんどの人がこれを言っていますが、理由はわかりません!ドキュメントにより、CLBeacon.proximityが非常に明確になります。
1シグマの水平精度をメートル単位で示します。このプロパティを使用して、同じ近接値を持つビーコンを区別します。ビーコンの正確な位置を特定するために使用しないでください。精度の値は、RF干渉のために変動する場合があります。
繰り返します。メートル単位で1シグマの精度です。主題に関するグーグルのトップ10ページすべては、ドキュメントからの引用でのみ「1シグマ」という用語を持っていますが、どれもこれを理解するための核心である用語を分析していません。
非常に重要なのは、実際には1シグマの精度とは何かを説明することです。:で起動するには、次のURL http://en.wikipedia.org/wiki/Standard_error、http://en.wikipedia.org/wiki/Uncertainty
物理的な世界では、測定を行うと、常に異なる結果が得られます(ノイズ、歪みなどのため)。多くの場合、結果はガウス分布を形成します。ガウス曲線を記述する2つの主要なパラメーターがあります。
- 平均(理解しやすく、曲線のピークが発生する値です)。
- 曲線の幅または幅を表す標準偏差。すべての結果が互いに近いため、曲線が狭いほど精度が高くなります。曲線が広く、急勾配ではない場合、同じ現象の測定値が互いに大きく異なるため、測定の質が悪いことを意味します。
1つのシグマはガウス曲線の狭さ/広さを表すもう1つの方法です。
それは単に測定の平均がXであり、1つのシグマがσである場合、すべての測定の68%はとの間にあるX - σ
と言いX + σ
ます。
例。距離を測定し、結果としてガウス分布を取得します。平均は10mです。σが4mの場合、測定値の68%が6mから14mの間にあったことを意味します。
ビーコンで距離を測定すると、RSSIと1メートルのキャリブレーション値が取得され、メートル単位で距離を測定できます。しかし、測定ごとに異なる値が得られ、ガウス曲線が形成されます。そして、1つのシグマ(および精度)は、距離ではなく測定の精度です!
ビーコンをさらに遠ざけると信号が悪いため、実際には1つのシグマが増加するため、誤解を招く可能性があります。しかし、異なるビーコンパワーレベルでは、実際に距離を変更することなく、まったく異なる精度値を取得できます。電力が高いほど、エラーは少なくなります。
問題を徹底的に分析したブログ投稿があります:http : //blog.shinetech.com/2014/02/17/the-beacon-experiments-low-energy-bluetooth-devices-in-action/
著者は、正確さは実際には距離であるという仮説を持っています。彼は、電力を最大値に増やしたときにKontakt.ioからのビーコンが誤った原因であることを主張し、精度値は1、5、さらには15メートルと非常に小さかった。パワーを上げる前は、精度は距離の値にかなり近かった。個人的には、パワーレベルが高いほど干渉の影響が少ないため、それは正しいと思います。そして、エスティモートのビーコンがこのように動作しないのは奇妙です。
私は100%正しいと言っているわけではありませんが、iOS開発者であることを除いて、私はワイヤレスエレクトロニクスの学位を持っています。ドキュメントから「1つのシグマ」という用語を無視してはいけないと思います。そのことについて話し合いを始めたいと思います。
Appleの精度アルゴリズムは、最近の測定値を収集し、それらのガウス分布を分析するだけの可能性があります。そして、それが精度を設定する方法です。以前の分布距離の値が確実に変化したため、それらが情報フォームの加速度計を使用して、ユーザーが移動しているかどうか(および速度)を検出して、以前の分布距離の値をリセットする可能性を除外しません。