《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于WiFi的室內定位系統(tǒng)
基于WiFi的室內定位系統(tǒng)
2014年微型機與應用第23期
崔惠媚,王小偉,王 偉,覃錫忠
(新疆大學 信息科學與工程學院,新疆 烏魯木齊 830046)
摘要: 隨著移動互聯(lián)網的迅猛發(fā)展和智能終端的普及,人們對基于位置服務尤其是室內定位的需求日益增長。通過研究無線WiFi信號的特性,利用Android智能手機,結合計算機網絡編程和ArcGIS MAP等技術設計并實現(xiàn)了一套基于位置指紋定位算法的室內定位系統(tǒng)。通過對某實驗樓一個樓層的室內定位實驗表明,該系統(tǒng)使用靈活、簡單、界面友好,具有良好的定位精度。
Abstract:
Key words :

  摘 要: 隨著移動互聯(lián)網的迅猛發(fā)展和智能終端的普及,人們對基于位置服務尤其是室內定位的需求日益增長。通過研究無線WiFi信號的特性,利用Android智能手機,結合計算機網絡編程和ArcGIS MAP等技術設計并實現(xiàn)了一套基于位置指紋定位算法的室內定位系統(tǒng)。通過對某實驗樓一個樓層的室內定位實驗表明,該系統(tǒng)使用靈活、簡單、界面友好,具有良好的定位精度。

  關鍵詞: 室內定位;WiFi;Android平臺;ArcGIS

0 引言

  隨著移動互聯(lián)網時代的到來,定位服務需求量迅速增長[1],例如大型商場或候機廳快速找到出口、家長跟蹤小孩的位置、房屋根據人員位置開關電燈、商店根據用戶位置向用戶推送關于商品的介紹等。如今室外定位技術已經發(fā)展十分成熟,然而在室內環(huán)境中,經常會出現(xiàn)“都市峽谷”(Urban Canyon)效應[2],GPS系統(tǒng)無法精確定位。隨著無線網絡的覆蓋范圍越來越廣,基于WiFi的無線定位技術可以彌補衛(wèi)星定位在建筑密集區(qū)和室內應用的限制,擴大定位服務的應用行業(yè)和范圍,已經成為室內定位的普遍選擇[3]。

  本文針對室內定位的需求,設計并實現(xiàn)了基于WiFi的室內定位系統(tǒng)。該系統(tǒng)由客戶端應用和后臺定位服務構成,用戶可以通過智能終端進行定位,并在終端的地圖上顯示定位位置,同時服務器端記錄用戶定位時間、AP名稱及RSSI(接收的信號強度指示)等定位信息。系統(tǒng)客戶端使用Java ME開發(fā),地圖信息采集與發(fā)布采用ArcGIS,定位算法采用位置指紋算法,服務端架構采用REST技術[4]。系統(tǒng)測試表明,該系統(tǒng)定位精度較好,響應時間較快,具有良好的應用前景。

1 系統(tǒng)設計

  1.1 系統(tǒng)工作原理

  系統(tǒng)工作原理和基本模型如圖1所示。

001.jpg

  系統(tǒng)客戶端的操作平臺使用Android。Android系統(tǒng)設計之初就表現(xiàn)出其強大的開源性和可擴展性,這為Android不斷完善及應用帶來了極大的用戶群。據國際數據公司(IDC)公布的新數據[5],在2013年Android系統(tǒng)的市場占有率已經達到75%。而在中國,中投顧問發(fā)布報告[6]顯示,2013年Android手機占同期智能手機出貨量的94.0%。本系統(tǒng)基于Android系統(tǒng)開發(fā),可以滿足大部分移動用戶的定位需求。

  服務器端包括定位服務、地圖服務和指紋庫數據管理。定位服務基于Java SE開發(fā),并使用Tomcat平臺發(fā)布。地圖服務使用ArcGIS Server來發(fā)布室內地圖并返回定位信息。數據庫管理采用Mysql。服務器端與客戶端之間通過Http通信,完成數據的交互。

  1.2 系統(tǒng)框架

  本系統(tǒng)基于客戶端/服務器架構??蛻舳擞蒖SSI信號采集模塊、通信模塊、地圖操作模塊組成;服務器端由定位模塊、地圖模塊、通信模塊組成。系統(tǒng)框架如圖2所示。

002.jpg

  系統(tǒng)的交互流程如下:

  (1)Android客戶端程序啟動,程序請求ArcGIS地圖服務;

  (2)地圖服務器利用ArcGIS for Server響應地圖服務,向客戶端發(fā)布在線地圖;

  (3)用戶請求定位功能,客戶端調用WiFiManager掃描周圍AP的信息,包括AP的信號強度值、IP地址、MAC地址,然后將此位置信息通過Http發(fā)送給服務器端;

  (4)服務端將收到的位置信息與數據庫進行匹配并結合位置指紋算法,得到位置坐標,通過Http回傳給客戶端;

  (5)客戶端接收到位置坐標,并顯示于地圖上。

2 系統(tǒng)實現(xiàn)

  系統(tǒng)的實現(xiàn)分為客戶端的設計、服務器端的設計及定位算法的設計。

  2.1 客戶端設計

  Android客戶端的主要功能是掃描周圍的WiFi信號,發(fā)送定位請求,接收位置信息,同時與服務器端進行通信。Android內置的WiFiManager提供了管理所有WiFi 連接的API:WiFiInfo、WiFiConfiguration、ScanResult。利用WiFiManager可獲取周圍所有WiFi的MAC地址、信號強度值。地圖部分利用Esri提供的移動應用開發(fā)包ArcGIS Runtime SDK for Android[7]開發(fā),該插件通過ArcGIS Server REST方式獲取地圖數據和服務資源。

  2.2 服務器端設計


003.jpg

  服務器端分為定位服務器、地圖服務器和指紋庫數據管理3大部分,如圖3所示。定位服務負責接收、存儲客戶端傳來的位置信息,調用定位算法進行信號的匹配計算,返回用戶位置信息。地圖服務負責地圖的加載和用戶位置的顯示。指紋數據庫建有用戶表和AP信息表,用戶表存儲用戶個人信息,記錄用戶定位位置和訪問時間;AP信息表存儲所有AP的MAC地址與平均信號強度值。

  用戶可以選擇向服務器提交位置指紋數據或向服務器請求定位信息。當用戶向服務器提交位置指紋數據時,服務器端將強度和MAC地址等信息存入到數據庫AP信息表中;當用戶請求定位時,服務器讀取用戶上傳的無線信號強度信息,與數據庫中指紋信息進行分析匹配,同時調用定位算法,得到用戶所在位置的墨卡托坐標值,作為用戶位置反饋給客戶端。

  地圖服務器選擇ArcGIS Server 10.1作為GIS服務平臺。該服務器主要功能:(1)利用ArcGIS Sever Manager發(fā)布在ArcMap中繪制的地圖,本文發(fā)布了兩套地圖:某實驗樓一個樓層的矢量地圖和切片地圖(9級),用戶根據當前所處網絡環(huán)境來選擇;(2)在圖層上標注用戶位置。

  2.3 定位算法

  2.3.1 WiFi信號特點和算法選取

  基于WiFi的定位通常使用RSSI。定位方法主要有兩類:三角算法和位置指紋識別算法[8]。三角算法利用待測目標到至少3個已知參考點的距離信息或角度信息估計目標位置,參考文獻[9-10]給出了WiFi信號傳播模型;位置指紋識別算法通過采集到的信號特征與數據庫中儲存的信號特征進行對比實現(xiàn)定位。

  射頻信號的多徑傳播和由于定位節(jié)點或周圍散射體的運動所引入的非線性時變特性是移動通信信道的主要特征,這些特征是造成無線定位誤差的主要因素[11]?;诖?,本文先通過在實際應用環(huán)境中采集大量的無線信號來分析WiFi信號的傳播特性:WiFi無線信號在傳播時信號強度與距離間的關系及RSSI的概率分布特征。實驗環(huán)境:校園內某籃球場,AP固定在2.5 m高處。在正對AP 40 m內,以0.5 m為間隔劃分80個測量點。實驗設備:AP:騰達Tenda W301A;電腦1:聯(lián)想天逸F41A;電腦2:宏基4560G;手機:小米1 s。

  (1)無線信號強度的空間變化

  觀察距離與信號強度的關系,從距AP 0 m開始,逐漸向外移動手機,在每個測量點上統(tǒng)計信號的強度平均值,如圖4、圖5所示。

004.jpg

  實驗表明,收發(fā)端之間的距離越小,接收到的信號強度越大;信號強度越弱,數據可靠性越低[11]。正是由于存在這種關系,導致了每個位置檢測到的無線信號具有獨特性,這也是能夠區(qū)分每個位置指紋之間差異性的原因[12]。

  (2)無線信號強度的時間變化(RSSI的概率分布)

  影響無線信號強度的原因很多,如多徑、散射、衍射等,這些相互獨立的影響因素具有極大的隨機性。這些隨機的影響因素共同作用構成了對無線信號強度的隨機不確定干擾[12]。為了探究這種不確定干擾對無線信號的影響效果,用手機分別在各個測量點上采集了位置指紋數據。

005.jpg

  圖6、圖7分別為6.5 m處(均值=-48.15 dbm,標準差=1.226)和18 m處(均值=-50.85 dbm,標準差=2.477)的200個采樣值的處理結果。結果表明,在位置固定的情況下,AP的信號強度在一定范圍內波動,長時間對無線信號強度進行采樣時,WiFi信號強度的分布符合類正太分布[12]。

  通過第二組實驗可以看出,無線信號波動分布可視為正態(tài)分布,因此本文在采集數據庫時,首先去除偏離均值較大的值,然后以該點處的信號強度平均值來代表該位置的無線信號特征。第一組實驗中電腦和手機端都表明同一現(xiàn)象,即只有在短距離內WiFi信號衰減規(guī)律是明顯的,超過4 m這一規(guī)律不再適用。這意味著如果要使用三角算法必須將定位范圍限制在4 m之內,這無疑將極大地限制系統(tǒng)的使用范圍,而且不同環(huán)境下的信號傳輸損耗模型大不相同,建立一個精確的、適合實際應用的損耗模型存在著很大的困難[8]。除此之外,根據參考文獻[8]中通過實驗得出的重要結論:基于位置指紋算法能夠在一定程度上減少多徑效應的影響,其定位精度遠遠高于基于三角形算法的定位精度。所以不管在具體實施上還是定位性能上,其較之于三角形算法的定位都具有較大的優(yōu)越性?;谝陨显颍疚倪x擇基于位置指紋的定位算法。

  2.3.2 位置指紋算法

  所謂位置指紋識別算法是利用存有實際場地的地理位置所對應的RSSI信號強度的數據庫,進行對比分析識別的一種WiFi定位算法。其定位過程分為兩個階段[8]:

 ?、烹x線采樣階段:其目標在于建立一個位置指紋識別數據庫。首先,選擇合理的參考點分布,確保能為定位階段的準確位置估計提供足夠的信息。然后依次在各個參考點上測量來自不同AP的RSSI值,將相應的MAC地址與參考點的位置信息記錄在數據庫中,直至遍歷區(qū)域內所有的參考點。

 ?、圃诰€定位階段:給定數據庫后,依據一定的匹配算法將待測點上接收的AP RSSI與數據庫中已有數據進行比較,計算位置估計值。常用的匹配算法有NN法、KNN法、神經網絡等,本文采用簡單的NN算法。假定待測點接收的RSSI觀測值為s =[ss1,ss2,…,ssn],數據庫中的已有記錄為Si =[SS1,SS2,…,SSNi],其中n代表待測點上檢測到的不同AP數;i∈[1,NT],NT為數據庫中的記錄數;Ni代表第i條記錄中存儲的不同AP數。則NN算法可以表示成下述形式:L=argmin||s-Si||,i∈[1,NT ],其中||s-Si||代表s與Si之間的歐式距離。

3 系統(tǒng)測試與結果分析

  3.1 離線采樣階段


006.jpg

  在某實驗樓五樓(環(huán)境布局如圖8所示)內,利用樓道內運營商已布置好的WiFi環(huán)境,部署了6個采樣點(全部為教室),每個區(qū)域范圍為1 m2,以自定義坐標形式記錄測試點的位置。所有AP的高度均為3.2 m,位于兩墻中間位置,兩AP間距為7 m。測試設備:AP為騰達Tenda W301A;服務器為華碩A43s筆記本;訓練設備為小米1s手機。在每個采樣點上傳200次指定AP的MAC地址和信號強度,去除偏離較大值后將均值記錄在數據庫中,單點采集時間約為3 min,完成所有位置的信號采集時間為20 min左右。

  3.2 在線定位階段

  實驗共采集了6個點的位置信息,在每個測試點,以該點所處的墨卡托坐標標記該位置,使用小米1s手機采集10組RSSI數據后發(fā)起定位請求,服務器將數據進行定位計算。記錄服務器反饋的位置信息,并記錄所用時間,如表1所示。每個位置重復定位試驗200次,統(tǒng)計定位誤差結果如表2所示。

  3.3 實驗結果分析

  實驗結果表明,最大定位誤差在3.4 m,平均誤差在 2.9 m之內;從請求定位到返回位置信息均在200 ms內完成。由于考慮到實時性要求,客戶端定位時只采集了10組數據,不足以客觀反映該點AP信號的特征;以及劃分的指紋區(qū)域不夠精細造成定位精度不是很理想。此外教室411和415周圍沒有人員走動,并且周圍電腦、打印機等電子設備較少,所以平均誤差較小,同時誤差標準差小,說明定位的穩(wěn)定性高;教室409和404內有很多教學儀器,干擾較大;教室407和庫房在樓梯處,周圍人員走動多,且教室內有多臺電腦,干擾最大,誤差的標準差較大,定位結果不穩(wěn)定。

4 結束語

  本文主要實現(xiàn)了一個基于WiFi的室內定位系統(tǒng),為了更好地實現(xiàn)定位,對WiFi信號具有的特性進行了探究,得出了WiFi信號概率分布特點、隨距離衰減特點。在此基礎上,采用位置指紋算法,劃分1 m2的最小區(qū)域,以一個點的信號強度平均值作為該點的信號特征。該系統(tǒng)的定位結果表明,利用運營商已布置好的AP,最大定位誤差在3.4 m,定位速度較快,且該系統(tǒng)成本低、使用方便,是一種具有可行性的室內定位方法。

  室內定位技術一直處于不斷完善的過程中,在今后的工作中,將致力于增加實驗數據的預處理功能,從而更好地提高定位精度;加入更為豐富的功能,例如導航;研究基于IOS和Windows Phone平臺的移動GIS開發(fā)等。

參考文獻

  [1] 秦泗明. 基于位置指紋的WiFi室內定位技術研究[D]. 成都:電子科技大學, 2013.

  [2] 何文濤,徐建華,葉甜春. 互相關干擾下的GNSS 弱信號檢測算法[J]. 電子學報, 2011,39(2):471-475.

  [3] 潘立波. 基于WiFi技術的無線定位算法研究與實現(xiàn)[D]. 杭州:浙江大學, 2013.

  [4] 李久剛,唐新明,汪匯兵,等. REST架構的WebGIS技術研究與實現(xiàn)[J]. 測繪科學, 2011,336(3):85-87.

  [5] IDC.IDC Worldwide Mobile Phone Tracker[R].FRAMINGHAM, Mass:IDC, November 12, 2013.

  [6] 中投顧問. 2014-2018年中國智能手機行業(yè)投資分析及前景預測報告[R]. 深圳:深圳市中投咨詢顧問有限公司, 2014.

  [7] Esri.ArcGIS Resources[EB/OL].[2014-06-01].http://resources.arcgis.com/en/home/.

  [8] 盧恒惠,劉興川,張超,等. 基于三角形與位置指紋識別算法的WiFi定位比較[J]. 移動通信,2010,34(10):72-76.

  [9] Serrano O,Canas J M,Matellan V,et al.Robot localization using WiFi signal without intensity map[D]. Spain:University of Girona,2004.

  [10] Roberts B,Pahlavan K.Site-specific RSS signature Modeling for WiFi localization[A].Global Telecommunications Conference,2009,GLOBECOM 2009.IEEE, 2009:1-6.

  [11] 丁濤. NLOS環(huán)境下基于DTV信號的定位算法研究[D]. 南京:東南大學, 2010.

  [12] 雷家毅. Android平臺基于WiFi的定位算法與系統(tǒng)設計[D].上海:華東理工大學, 2012.


此內容為AET網站原創(chuàng),未經授權禁止轉載。