什么是手機的三角定位?
wifi定位方法基本上可以分為兩大類:
1.不基于RSSI
TOA(time ofarrival)TDOA(time difference of arrival)AOA(angle of arrival)但是這些值的獲取需要特殊的wifi模塊,在智能機上無法獲取,因此這類方法無法使用。
2.基于RSSI
在智能手機上,可以通過系統SDK獲取到周圍各個AP(Access Point)發送的信號強度RSSI及AP地址,利用RSSI來定位目前看來是最可行的方法,因此下面著重介紹,基于RSSI定位主要有兩個算法:三角定位算法,指紋算法。
三角定位:如果我們已經知道了這些AP的位置,我們可以利用信號衰減模型估算出移動設備距離各個AP的距離,然后根據智能機到周圍AP距離畫圓,其交點就是該設備的位置。很容易發現,三角定位算法需要我們提前知道AP的位置,因此對于環境變化較快的場合不適合使用。
指紋算法指紋算法類似于機器學習算法,分為兩個階段:
離線訓練階段將需要室內定位區域劃分網格,建立采樣點(間距1~2m)使用wifi接受設備逐個采樣點采樣,記錄該點位置、所獲取的RSSI及AP地址。對采樣數據進行處理(濾波、均值等)在線定位階段用戶持移動設備在定位區域移動,實時獲取當前RSSI及AP地址,將該信息上傳到服務器進行匹配(匹配算法有NN、KNN、神經網絡等) 得到估算位置。匹配算法有NN、KNN、神經網絡等。比較:
指紋算法相比較三角定位算法精度更高。三角定位算法需要提前知道所有AP的位置指紋算法需要提前繪制一幅信號Map。總結:智能手機基于WIFI的室內定位應用,更適合使用基于RSSI信號的指紋算法,原因在于我們不需要提前知道所有AP的位置,而且指紋算法可以應對AP位置或狀態的改變。可以提前將測繪指紋數據庫儲存到服務器上,移動設備在定位區域將自己得到的周圍AP信息實時發送給服務器,由服務器進行匹配并返回坐標位置給客戶端。一旦AP狀態或位置變化,只需要更新定位區域數據庫而并不需要在客戶端作出改變。