最近公司項(xiàng)目有WiFi定位這塊需求舍咖,查看一些資料后,看到知乎上有一個(gè)回答貌似很正確铣卡,貼出來(lái)链韭,有哪些不對(duì)的地方可以提出來(lái),一起探討煮落。
wifi定位方法基本上可以分為兩大類(lèi):
1.不基于RSSI
TOA(time ofarrival)
TDOA(time difference of arrival)
AOA(angle of arrival)
但是這些值的獲取需要特殊的wifi模塊敞峭,在智能機(jī)上無(wú)法獲取,因此這類(lèi)方法無(wú)法使用蝉仇。
2.****基于RSSI
在智能手機(jī)上旋讹,可以通過(guò)系統(tǒng)SDK獲取到周?chē)鱾€(gè)AP(Access Point)發(fā)送的信號(hào)強(qiáng)度RSSI及AP地址,利用RSSI來(lái)定位目前看來(lái)是最可行的方法轿衔,因此下面著重介紹,基于RSSI定位主要有兩個(gè)算法:三角定位算法,指紋算法沉迹。
三角定位:
如果我們已經(jīng)知道了這些AP的位置,我們可以利用信號(hào)衰減模型估算出移動(dòng)設(shè)備距離各個(gè)AP的距離,然后根據(jù)智能機(jī)到周?chē)鶤P距離畫(huà)圓害驹,其交點(diǎn)就是該設(shè)備的位置鞭呕。很容易發(fā)現(xiàn),三角定位算法需要我們提前知道AP的位置宛官,因此對(duì)于環(huán)境變化較快的場(chǎng)合不適合使用琅拌。
指紋算法
指紋算法類(lèi)似于機(jī)器學(xué)習(xí)算法,分為兩個(gè)階段:
離線(xiàn)訓(xùn)練階段將需要室內(nèi)定位區(qū)域劃分網(wǎng)格摘刑,建立采樣點(diǎn)(間距1~2m)使用wifi接受設(shè)備逐個(gè)采樣點(diǎn)采樣进宝,記錄該點(diǎn)位置、所獲取的RSSI及AP地址枷恕。對(duì)采樣數(shù)據(jù)進(jìn)行處理(濾波党晋、均值等)
在線(xiàn)定位階段用戶(hù)持移動(dòng)設(shè)備在定位區(qū)域移動(dòng),實(shí)時(shí)獲取當(dāng)前RSSI及AP地址徐块,將該信息上傳到服務(wù)器進(jìn)行匹配(匹配算法有NN未玻、KNN、神經(jīng)網(wǎng)絡(luò)等) 得到估算位置胡控。匹配算法有NN扳剿、KNN、神經(jīng)網(wǎng)絡(luò)等昼激。
比較:
指紋算法相比較三角定位算法精度更高庇绽。
三角定位算法需要提前知道所有AP的位置
指紋算法需要提前繪制一幅信號(hào)Map锡搜。
總結(jié):智能手機(jī)基于WIFI的室內(nèi)定位應(yīng)用,更適合使用基于RSSI信號(hào)的指紋算法瞧掺,原因在于我們不需要提前知道所有AP的位置耕餐,而且指紋算法可以應(yīng)對(duì)AP位置或狀態(tài)的改變”俦罚可以提前將測(cè)繪指紋數(shù)據(jù)庫(kù)儲(chǔ)存到服務(wù)器上肠缔,移動(dòng)設(shè)備在定位區(qū)域?qū)⒆约旱玫降闹車(chē)鶤P信息實(shí)時(shí)發(fā)送給服務(wù)器,由服務(wù)器進(jìn)行匹配并返回坐標(biāo)位置給客戶(hù)端哼转。一旦AP狀態(tài)或位置變化明未,只需要更新定位區(qū)域數(shù)據(jù)庫(kù)而并不需要在客戶(hù)端作出改變。