Tôi đang điều tra rất kỹ lưỡng vấn đề về độ chính xác / rssi / độ gần với iBeacons và tôi thực sự nghĩ rằng tất cả các tài nguyên trên Internet (blog, bài đăng trong StackOverflow) đều hiểu sai.
davidgyoung (câu trả lời được chấp nhận,> 100 lượt ủng hộ) nói:
Lưu ý rằng thuật ngữ "độ chính xác" ở đây là iOS nói về khoảng cách tính bằng mét.
Trên thực tế, hầu hết mọi người nói điều này nhưng tôi không biết tại sao! Tài liệu cho thấy rất rõ ràng rằng CLBeacon.proximity:
Cho biết độ chính xác ngang một sigma tính bằng mét. Sử dụng thuộc tính này để phân biệt giữa các báo hiệu có cùng giá trị vùng lân cận. Không sử dụng nó để xác định vị trí chính xác cho đèn hiệu. Giá trị độ chính xác có thể dao động do nhiễu RF.
Để tôi nhắc lại: độ chính xác một sigma tính bằng mét . Tất cả 10 trang hàng đầu trên google về chủ đề này chỉ có thuật ngữ "một sigma" trong trích dẫn từ tài liệu, nhưng không có trang nào trong số đó phân tích thuật ngữ, đó là điều cốt lõi để hiểu điều này.
Rất quan trọng là giải thích độ chính xác một sigma thực sự là gì . Các URL sau để bắt đầu bằng: http://en.wikipedia.org/wiki/Standard_error , http://en.wikipedia.org/wiki/Uncertranty
Trong thế giới vật lý, khi bạn thực hiện một số phép đo, bạn luôn nhận được các kết quả khác nhau (do nhiễu, biến dạng, v.v.) và rất thường kết quả hình thành phân bố Gauss. Có hai tham số chính mô tả đường cong Gauss:
- nghĩa là (dễ hiểu, đó là giá trị mà đỉnh của đường cong xảy ra).
- độ lệch chuẩn, cho biết độ rộng hay hẹp của đường cong. Đường cong càng hẹp, độ chính xác càng tốt, vì tất cả các kết quả đều gần nhau. Nếu đường cong rộng và không dốc, có nghĩa là các phép đo của cùng một hiện tượng khác nhau rất nhiều, do đó phép đo có chất lượng không tốt.
một sigma là một cách khác để mô tả độ hẹp / rộng của đường cong gaussian.
Nó chỉ đơn giản nói rằng nếu trung bình của phép đo là X và một sigma là σ, thì 68% của tất cả các phép đo sẽ nằm giữa X - σ
và X + σ
.
Thí dụ. Chúng tôi đo khoảng cách và kết quả là phân phối gaussian. Giá trị trung bình là 10m. Nếu σ là 4m, thì có nghĩa là 68% số đo nằm trong khoảng từ 6m đến 14m.
Khi chúng tôi đo khoảng cách bằng đèn hiệu, chúng tôi nhận được RSSI và giá trị hiệu chuẩn 1 mét, cho phép chúng tôi đo khoảng cách bằng mét. Nhưng mọi phép đo đều cho các giá trị khác nhau, tạo thành đường cong gaussian. Và một sigma (và độ chính xác) là độ chính xác của phép đo, không phải khoảng cách!
Nó có thể gây hiểu lầm, bởi vì khi chúng ta di chuyển đèn hiệu ra xa hơn, một sigma thực sự tăng lên vì tín hiệu kém hơn. Nhưng với các mức công suất đèn hiệu khác nhau, chúng ta có thể nhận được các giá trị chính xác hoàn toàn khác nhau mà không thực sự thay đổi khoảng cách. Công suất càng cao thì lỗi càng ít.
Có một bài đăng trên blog phân tích kỹ lưỡng vấn đề: http://blog.shinetech.com/2014/02/17/the-beacon-experiments-low-energy-bl Bluetooth-devices-in-action/
Tác giả có một giả thuyết rằng độ chính xác thực sự là khoảng cách. Anh ta tuyên bố rằng các báo hiệu từ Kontakt.io là báo hiệu bị lỗi khi anh ta tăng sức mạnh đến giá trị tối đa, giá trị độ chính xác rất nhỏ cho 1, 5 và thậm chí 15 mét. Trước khi tăng sức mạnh, độ chính xác khá gần với các giá trị khoảng cách. Cá nhân tôi nghĩ rằng điều đó là chính xác, bởi vì mức công suất cao hơn, tác động của nhiễu càng ít. Và thật lạ là tại sao đèn hiệu Estimote không hoạt động theo cách này.
Tôi không nói tôi đúng 100%, nhưng ngoài việc là nhà phát triển iOS, tôi còn có bằng về điện tử không dây và tôi nghĩ rằng chúng ta không nên bỏ qua thuật ngữ "một sigma" trong tài liệu và tôi muốn bắt đầu thảo luận về nó.
Có thể thuật toán của Apple về độ chính xác chỉ thu thập các phép đo gần đây và phân tích phân phối gaussian của chúng. Và đó là cách nó thiết lập độ chính xác. Tôi sẽ không loại trừ khả năng họ sử dụng gia tốc kế biểu mẫu thông tin để phát hiện xem người dùng có đang di chuyển (và tốc độ như thế nào) để đặt lại các giá trị khoảng cách phân phối trước đó vì chúng chắc chắn đã thay đổi.