Ich untersuche die Frage der Genauigkeit / RSSI / Nähe zu iBeacons sehr gründlich und denke wirklich, dass alle Ressourcen im Internet (Blogs, Beiträge in StackOverflow) falsch sind.
davidgyoung (akzeptierte Antwort,> 100 positive Stimmen) sagt:
Beachten Sie, dass der Begriff "Genauigkeit" hier iOS für die Entfernung in Metern spricht.
Eigentlich sagen die meisten Leute das, aber ich habe keine Ahnung warum! Die Dokumentation macht sehr, sehr deutlich, dass CLBeacon.proximity:
Zeigt die horizontale Genauigkeit von einem Sigma in Metern an. Verwenden Sie diese Eigenschaft, um zwischen Beacons mit demselben Näherungswert zu unterscheiden. Verwenden Sie es nicht, um einen genauen Ort für das Leuchtfeuer zu identifizieren. Die Genauigkeitswerte können aufgrund von HF-Störungen schwanken.
Lassen Sie mich wiederholen: eine Sigma-Genauigkeit in Metern . Alle 10 Top-Seiten in Google zu diesem Thema haben den Begriff "One Sigma" nur in Zitaten aus Dokumenten, aber keine von ihnen analysiert den Begriff, der für das Verständnis von zentraler Bedeutung ist.
Sehr wichtig ist es zu erklären, was eigentlich eine Sigma-Genauigkeit ist . Folgende URLs beginnen mit: http://en.wikipedia.org/wiki/Standard_error , http://en.wikipedia.org/wiki/Uncertainty
In der physischen Welt erhalten Sie bei Messungen immer unterschiedliche Ergebnisse (aufgrund von Rauschen, Verzerrungen usw.) und sehr oft Ergebnisse aus der Gaußschen Verteilung. Es gibt zwei Hauptparameter, die die Gaußsche Kurve beschreiben:
- Mittelwert (was leicht zu verstehen ist, es ist der Wert, für den die Spitze der Kurve auftritt).
- Standardabweichung, die angibt, wie breit oder schmal die Kurve ist. Je schmaler die Kurve, desto besser die Genauigkeit, da alle Ergebnisse nahe beieinander liegen. Wenn die Kurve breit und nicht steil ist, bedeutet dies, dass sich die Messungen desselben Phänomens stark voneinander unterscheiden, sodass die Messung eine schlechte Qualität aufweist.
Ein Sigma ist eine andere Art zu beschreiben, wie schmal / breit die Gaußsche Kurve ist.
Es heißt einfach, dass, wenn der Mittelwert der Messung X ist und ein Sigma σ ist, 68% aller Messungen zwischen X - σ
und liegen X + σ
.
Beispiel. Wir messen die Entfernung und erhalten dadurch eine Gaußsche Verteilung. Der Mittelwert beträgt 10m. Wenn σ 4 m beträgt, bedeutet dies, dass 68% der Messungen zwischen 6 m und 14 m lagen.
Wenn wir die Entfernung mit Beacons messen, erhalten wir einen RSSI- und einen 1-Meter-Kalibrierungswert, mit dem wir die Entfernung in Metern messen können. Jede Messung ergibt jedoch unterschiedliche Werte, die eine Gauß-Kurve bilden. Und ein Sigma (und Genauigkeit) ist die Genauigkeit der Messung, nicht die Entfernung!
Es kann irreführend sein, denn wenn wir das Leuchtfeuer weiter weg bewegen, nimmt ein Sigma tatsächlich zu, weil das Signal schlechter ist. Mit unterschiedlichen Beacon-Leistungsstufen können wir jedoch völlig unterschiedliche Genauigkeitswerte erhalten, ohne die Entfernung tatsächlich zu ändern. Je höher die Leistung, desto weniger Fehler.
Es gibt einen Blog-Beitrag, der die Angelegenheit gründlich analysiert: http://blog.shinetech.com/2014/02/17/the-beacon-experiments-low-energy-bluetooth-devices-in-action/
Der Autor hat die Hypothese, dass Genauigkeit tatsächlich Entfernung ist. Er behauptet, dass Beacons von Kontakt.io fehlerhaft sind, weil er die Leistung auf den Maximalwert erhöht hat. Der Genauigkeitswert war für 1, 5 und sogar 15 Meter sehr klein. Vor dem Erhöhen der Leistung lag die Genauigkeit ziemlich nahe an den Abstandswerten. Ich persönlich denke, dass es richtig ist, denn je höher die Leistung, desto weniger Auswirkungen von Interferenzen. Und es ist seltsam, warum sich Estimote-Beacons nicht so verhalten.
Ich sage nicht, dass ich zu 100% Recht habe, aber abgesehen davon, dass ich iOS-Entwickler bin, habe ich einen Abschluss in drahtloser Elektronik und ich denke, wir sollten den Begriff "One Sigma" aus den Dokumenten nicht ignorieren, und ich möchte eine Diskussion darüber beginnen.
Es ist möglich, dass Apples Algorithmus für die Genauigkeit nur aktuelle Messungen sammelt und deren Gaußsche Verteilung analysiert. Und so setzt es Genauigkeit. Ich würde die Möglichkeit nicht ausschließen, dass sie einen Beschleunigungsmesser mit Info-Formular verwenden, um festzustellen, ob sich der Benutzer bewegt (und wie schnell), um die vorherigen Werte für die Verteilungsentfernung zurückzusetzen, da sie sich sicherlich geändert haben.