Doğruluk / rssi / yakınlık konusunu iBeacons ile iyice araştırıyorum ve gerçekten internetteki tüm kaynakların (bloglar, StackOverflow'daki gönderiler) yanlış anladığını düşünüyorum.
davidgyoung (kabul edilen cevap,> 100 olumlu oy) diyor ki:
Buradaki "doğruluk" teriminin, iOS'un metre cinsinden mesafeyi ifade ettiğini unutmayın.
Aslında çoğu insan bunu söylüyor ama neden olduğuna dair hiçbir fikrim yok! Belgeler, CLBeacon.proximity'nin çok açık bir şekilde görülmesini sağlar:
Metre cinsinden tek sigma yatay doğruluğunu gösterir. Aynı yakınlık değerine sahip işaretçileri ayırt etmek için bu özelliği kullanın. İşaretin kesin konumunu belirlemek için kullanmayın. Doğruluk değerleri, RF paraziti nedeniyle dalgalanabilir.
Tekrar edeyim: metre cinsinden bir sigma doğruluğu . Konuyla ilgili google'da en çok okunan 10 sayfanın tamamında yalnızca dokümanlardan alıntılar halinde "bir sigma" terimi var, ancak hiçbiri bunu anlamanın özü olan terimi analiz etmiyor.
Çok önemli olan, aslında bir sigma doğruluğunun ne olduğunu açıklamaktır . Başlamak için aşağıdaki URL'ler: http://en.wikipedia.org/wiki/Standard_error , http://en.wikipedia.org/wiki/Uncertainty
Fiziksel dünyada, bazı ölçümler yaptığınızda, her zaman farklı sonuçlar alırsınız (gürültü, bozulma vb. Nedeniyle) ve çoğu zaman sonuçlar Gauss dağılımını oluşturur. Gauss eğrisini tanımlayan iki ana parametre vardır:
- ortalama (anlaşılması kolaydır, eğrinin tepe noktasının oluştuğu değerdir).
- eğrinin ne kadar geniş veya dar olduğunu söyleyen standart sapma. Daha dar eğri, daha iyi doğruluk çünkü tüm sonuçlar birbirine yakındır. Eğri genişse ve dik değilse, bu aynı fenomenin ölçümlerinin birbirinden çok farklı olduğu anlamına gelir, bu nedenle ölçüm kalitesi kötüdür.
bir sigma , gauss eğrisinin ne kadar dar / geniş olduğunu tanımlamanın başka bir yoludur.
Basitçe, eğer ölçümün ortalaması X ise ve bir sigma σ ise, o zaman tüm ölçümlerin% 68'inin X - σ
ve arasında olacağını söyler X + σ
.
Misal. Mesafeyi ölçüyoruz ve sonuç olarak bir gauss dağılımı elde ediyoruz. Ortalama 10m. Σ 4m ise, bu, ölçümlerin% 68'inin 6m ile 14m arasında olduğu anlamına gelir.
İşaretlerle mesafeyi ölçtüğümüzde, mesafeyi metre cinsinden ölçmemizi sağlayan RSSI ve 1 metrelik kalibrasyon değeri elde ederiz. Ancak her ölçüm, gauss eğrisini oluşturan farklı değerler verir. Ve bir sigma (ve doğruluk) ölçümün doğruluğu, mesafenin değil!
Yanıltıcı olabilir, çünkü fenerini daha uzağa hareket ettirdiğimizde, sinyal daha kötü olduğu için aslında bir sigma artar. Ancak farklı işaret güç seviyeleriyle, aslında mesafeyi değiştirmeden tamamen farklı doğruluk değerleri elde edebiliriz. Daha yüksek güç, daha az hata.
Konuyu iyice analiz eden bir blog yazısı var: http://blog.shinetech.com/2014/02/17/the-beacon-experiments-low-energy-bluetooth-devices-in-action/
Yazar, doğruluğun aslında uzaklık olduğuna dair bir hipoteze sahiptir. Kontakt.io'dan gelen işaretçilerin gücü maksimum değere çıkardığında hatalı olduğunu iddia ediyor, doğruluk değeri 1, 5 ve hatta 15 metre için çok küçüktü. Gücü artırmadan önce doğruluk, mesafe değerlerine oldukça yakındı. Şahsen bunun doğru olduğunu düşünüyorum, çünkü daha yüksek güç seviyesi, müdahalenin daha az etkisi. Ve Estimote işaretçilerinin neden bu şekilde davranmaması garip.
% 100 haklı olduğumu söylemiyorum, ancak iOS geliştiricisi olmanın yanı sıra kablosuz elektronik alanında derecem var ve bence dokümanlardaki "bir sigma" terimini görmezden gelmemeliyiz ve bu konuda tartışmaya başlamak istiyorum.
Apple'ın doğruluk algoritmasının sadece son ölçümleri toplaması ve bunların gauss dağılımını analiz etmesi mümkün olabilir. Doğruluğu böyle belirler. Önceki dağıtım mesafe değerlerini sıfırlamak için kullanıcının hareket edip etmediğini (ve ne kadar hızlı) tespit etmek için bilgi formu ivmeölçeri kullanma olasılığını dışlamam çünkü kesinlikle değişmişlerdir.