崔惠媚,王小偉,王 偉,覃錫忠
(新疆大學(xué) 信息科學(xué)與工程學(xué)院,新疆 烏魯木齊 830046)
隨著移動(dòng)互聯(lián)網(wǎng)時(shí)代的到來(lái),定位服務(wù)需求量迅速增長(zhǎng)[1],例如大型商場(chǎng)或候機(jī)廳快速找到出口、家長(zhǎng)跟蹤小孩的位置、房屋根據(jù)人員位置開(kāi)關(guān)電燈、商店根據(jù)用戶(hù)位置向用戶(hù)推送關(guān)于商品的介紹等。如今室外定位技術(shù)已經(jīng)發(fā)展十分成熟,然而在室內(nèi)環(huán)境中,經(jīng)常會(huì)出現(xiàn)“都市峽谷”(Urban Canyon)效應(yīng)[2],GPS系統(tǒng)無(wú)法精確定位。隨著無(wú)線(xiàn)網(wǎng)絡(luò)的覆蓋范圍越來(lái)越廣,基于WiFi的無(wú)線(xiàn)定位技術(shù)可以彌補(bǔ)衛(wèi)星定位在建筑密集區(qū)和室內(nèi)應(yīng)用的限制,擴(kuò)大定位服務(wù)的應(yīng)用行業(yè)和范圍,已經(jīng)成為室內(nèi)定位的普遍選擇[3]。
本文針對(duì)室內(nèi)定位的需求,設(shè)計(jì)并實(shí)現(xiàn)了基于WiFi的室內(nèi)定位系統(tǒng)。該系統(tǒng)由客戶(hù)端應(yīng)用和后臺(tái)定位服務(wù)構(gòu)成,用戶(hù)可以通過(guò)智能終端進(jìn)行定位,并在終端的地圖上顯示定位位置,同時(shí)服務(wù)器端記錄用戶(hù)定位時(shí)間、AP名稱(chēng)及RSSI(接收的信號(hào)強(qiáng)度指示)等定位信息。系統(tǒng)客戶(hù)端使用Java ME開(kāi)發(fā),地圖信息采集與發(fā)布采用ArcGIS,定位算法采用位置指紋算法,服務(wù)端架構(gòu)采用REST技術(shù)[4]。系統(tǒng)測(cè)試表明,該系統(tǒng)定位精度較好,響應(yīng)時(shí)間較快,具有良好的應(yīng)用前景。
系統(tǒng)工作原理和基本模型如圖1所示。
圖1 系統(tǒng)工作原理和基本模型
系統(tǒng)客戶(hù)端的操作平臺(tái)使用Android。Android系統(tǒng)設(shè)計(jì)之初就表現(xiàn)出其強(qiáng)大的開(kāi)源性和可擴(kuò)展性,這為Android不斷完善及應(yīng)用帶來(lái)了極大的用戶(hù)群。據(jù)國(guó)際數(shù)據(jù)公司(IDC)公布的新數(shù)據(jù)[5],在2013年Android系統(tǒng)的市場(chǎng)占有率已經(jīng)達(dá)到75%。而在中國(guó),中投顧問(wèn)發(fā)布報(bào)告[6]顯示,2013年Android手機(jī)占同期智能手機(jī)出貨量的94.0%。本系統(tǒng)基于Android系統(tǒng)開(kāi)發(fā),可以滿(mǎn)足大部分移動(dòng)用戶(hù)的定位需求。
服務(wù)器端包括定位服務(wù)、地圖服務(wù)和指紋庫(kù)數(shù)據(jù)管理。定位服務(wù)基于Java SE開(kāi)發(fā),并使用Tomcat平臺(tái)發(fā)布。地圖服務(wù)使用ArcGIS Server來(lái)發(fā)布室內(nèi)地圖并返回定位信息。數(shù)據(jù)庫(kù)管理采用Mysql。服務(wù)器端與客戶(hù)端之間通過(guò)Http通信,完成數(shù)據(jù)的交互。
本系統(tǒng)基于客戶(hù)端/服務(wù)器架構(gòu)??蛻?hù)端由RSSI信號(hào)采集模塊、通信模塊、地圖操作模塊組成;服務(wù)器端由定位模塊、地圖模塊、通信模塊組成。系統(tǒng)框架如圖2所示。
圖2 WiFi定位系統(tǒng)的框架
系統(tǒng)的交互流程如下:
(1)Android客戶(hù)端程序啟動(dòng),程序請(qǐng)求ArcGIS地圖服務(wù);
(2)地圖服務(wù)器利用ArcGIS for Server響應(yīng)地圖服務(wù),向客戶(hù)端發(fā)布在線(xiàn)地圖;
(3)用戶(hù)請(qǐng)求定位功能,客戶(hù)端調(diào)用WiFiManager掃描周?chē)鶤P的信息,包括AP的信號(hào)強(qiáng)度值、IP地址、MAC地址,然后將此位置信息通過(guò)Http發(fā)送給服務(wù)器端;
(4)服務(wù)端將收到的位置信息與數(shù)據(jù)庫(kù)進(jìn)行匹配并結(jié)合位置指紋算法,得到位置坐標(biāo),通過(guò)Http回傳給客戶(hù)端;
(5)客戶(hù)端接收到位置坐標(biāo),并顯示于地圖上。
系統(tǒng)的實(shí)現(xiàn)分為客戶(hù)端的設(shè)計(jì)、服務(wù)器端的設(shè)計(jì)及定位算法的設(shè)計(jì)。
Android客戶(hù)端的主要功能是掃描周?chē)腤iFi信號(hào),發(fā)送定位請(qǐng)求,接收位置信息,同時(shí)與服務(wù)器端進(jìn)行通信。Android內(nèi)置的WiFiManager提供了管理所有WiFi連接的API:WiFiInfo、WiFiConfiguration、ScanResult。利用WiFiManager可獲取周?chē)蠾iFi的MAC地址、信號(hào)強(qiáng)度值。地圖部分利用Esri提供的移動(dòng)應(yīng)用開(kāi)發(fā)包ArcGIS Runtime SDK for Android[7]開(kāi)發(fā),該插件通過(guò)ArcGIS Server REST方式獲取地圖數(shù)據(jù)和服務(wù)資源。
服務(wù)器端分為定位服務(wù)器、地圖服務(wù)器和指紋庫(kù)數(shù)據(jù)管理3大部分,如圖3所示。定位服務(wù)負(fù)責(zé)接收、存儲(chǔ)客戶(hù)端傳來(lái)的位置信息,調(diào)用定位算法進(jìn)行信號(hào)的匹配計(jì)算,返回用戶(hù)位置信息。地圖服務(wù)負(fù)責(zé)地圖的加載和用戶(hù)位置的顯示。指紋數(shù)據(jù)庫(kù)建有用戶(hù)表和AP信息表,用戶(hù)表存儲(chǔ)用戶(hù)個(gè)人信息,記錄用戶(hù)定位位置和訪(fǎng)問(wèn)時(shí)間;AP信 息表存儲(chǔ)所有AP的MAC地址與平均信號(hào)強(qiáng)度值。
用戶(hù)可以選擇向服務(wù)器提交位置指紋數(shù)據(jù)或向服務(wù)器請(qǐng)求定位信息。當(dāng)用戶(hù)向服務(wù)器提交位置指紋數(shù)據(jù)時(shí),服務(wù)器端將強(qiáng)度和MAC地址等信息存入到數(shù)據(jù)庫(kù)AP信息表中;當(dāng)用戶(hù)請(qǐng)求定位時(shí),服務(wù)器讀取用戶(hù)上傳的無(wú)線(xiàn)信號(hào)強(qiáng)度信息,與數(shù)據(jù)庫(kù)中指紋信息進(jìn)行分析匹配,同時(shí)調(diào)用定位算法,得到用戶(hù)所在位置的墨卡托坐標(biāo)值,作為用戶(hù)位置反饋給客戶(hù)端。
地圖服務(wù)器選擇ArcGIS Server 10.1作為GIS服務(wù)平臺(tái)。該服務(wù)器主要功能:(1)利用ArcGIS Sever Manager發(fā)布在ArcMap中繪制的地圖,本文發(fā)布了兩套地圖:某實(shí)驗(yàn)樓一個(gè)樓層的矢量地圖和切片地圖(9級(jí)),用戶(hù)根據(jù)當(dāng)前所處網(wǎng)絡(luò)環(huán)境來(lái)選擇;(2)在圖層上標(biāo)注用戶(hù)位置。
圖3 服務(wù)器端的框架
基于WiFi的定位通常使用RSSI。定位方法主要有兩類(lèi):三角算法和位置指紋識(shí)別算法[8]。三角算法利用待測(cè)目標(biāo)到至少3個(gè)已知參考點(diǎn)的距離信息或角度信息估計(jì)目標(biāo)位置,參考文獻(xiàn)[9-10]給出了WiFi信號(hào)傳播模型;位置指紋識(shí)別算法通過(guò)采集到的信號(hào)特征與數(shù)據(jù)庫(kù)中儲(chǔ)存的信號(hào)特征進(jìn)行對(duì)比實(shí)現(xiàn)定位。
射頻信號(hào)的多徑傳播和由于定位節(jié)點(diǎn)或周?chē)⑸潴w的運(yùn)動(dòng)所引入的非線(xiàn)性時(shí)變特性是移動(dòng)通信信道的主要特征,這些特征是造成無(wú)線(xiàn)定位誤差的主要因素[11]?;诖?,本文先通過(guò)在實(shí)際應(yīng)用環(huán)境中采集大量的無(wú)線(xiàn)信號(hào)來(lái)分析WiFi信號(hào)的傳播特性:WiFi無(wú)線(xiàn)信號(hào)在傳播時(shí)信號(hào)強(qiáng)度與距離間的關(guān)系及RSSI的概率分布特征。實(shí)驗(yàn)環(huán)境:校園內(nèi)某籃球場(chǎng),AP固定在2.5 m高處。在正對(duì)AP 40 m內(nèi),以0.5 m為間隔劃分80個(gè)測(cè)量點(diǎn)。實(shí)驗(yàn)設(shè)備:AP:騰達(dá)Tenda W301A;電腦1:聯(lián)想天逸F41A;電腦2:宏基4560G;手機(jī):小米1 s。
(1)無(wú)線(xiàn)信號(hào)強(qiáng)度的空間變化
觀察距離與信號(hào)強(qiáng)度的關(guān)系,從距AP 0 m開(kāi)始,逐漸向外移動(dòng)手機(jī),在每個(gè)測(cè)量點(diǎn)上統(tǒng)計(jì)信號(hào)的強(qiáng)度平均值,如圖4、圖5所示。
實(shí)驗(yàn)表明,收發(fā)端之間的距離越小,接收到的信號(hào)強(qiáng)度越大;信號(hào)強(qiáng)度越弱,數(shù)據(jù)可靠性越低[11]。正是由于存在這種關(guān)系,導(dǎo)致了每個(gè)位置檢測(cè)到的無(wú)線(xiàn)信號(hào)具有獨(dú)特性,這也是能夠區(qū)分每個(gè)位置指紋之間差異性的原因[12]。
圖4 手機(jī)測(cè)得信號(hào)隨距離衰減
圖5 電腦測(cè)得信號(hào)隨距離衰減
(2)無(wú)線(xiàn)信號(hào)強(qiáng)度的時(shí)間變化(RSSI的概率分布)
影響無(wú)線(xiàn)信號(hào)強(qiáng)度的原因很多,如多徑、散射、衍射等,這些相互獨(dú)立的影響因素具有極大的隨機(jī)性。這些隨機(jī)的影響因素共同作用構(gòu)成了對(duì)無(wú)線(xiàn)信號(hào)強(qiáng)度的隨機(jī)不確定干擾[12]。為了探究這種不確定干擾對(duì)無(wú)線(xiàn)信號(hào)的影響效果,用手機(jī)分別在各個(gè)測(cè)量點(diǎn)上采集了位置指紋數(shù)據(jù)。
圖6、圖7分別為6.5 m處(均值=-48.15 dbm,標(biāo)準(zhǔn)差=1.226)和18 m處(均值=-50.85 dbm,標(biāo)準(zhǔn)差=2.477)的200個(gè)采樣值的處理結(jié)果。結(jié)果表明,在位置固定的情況下,AP的信號(hào)強(qiáng)度在一定范圍內(nèi)波動(dòng),長(zhǎng)時(shí)間對(duì)無(wú)線(xiàn)信號(hào)強(qiáng)度進(jìn)行采樣時(shí),WiFi信號(hào)強(qiáng)度的分布符合類(lèi)正太分布[12]。
圖6 6.5 m處RSSI分布直方圖
圖7 18 m處RSSI分布直方圖
通過(guò)第二組實(shí)驗(yàn)可以看出,無(wú)線(xiàn)信號(hào)波動(dòng)分布可視為正態(tài)分布,因此本文在采集數(shù)據(jù)庫(kù)時(shí),首先去除偏離均值較大的值,然后以該點(diǎn)處的信號(hào)強(qiáng)度平均值來(lái)代表該位置的無(wú)線(xiàn)信號(hào)特征。第一組實(shí)驗(yàn)中電腦和手機(jī)端都表明同一現(xiàn)象,即只有在短距離內(nèi)WiFi信號(hào)衰減規(guī)律是明顯的,超過(guò)4 m這一規(guī)律不再適用。這意味著如果要使用三角算法必須將定位范圍限制在4 m之內(nèi),這無(wú)疑將極大地限制系統(tǒng)的使用范圍,而且不同環(huán)境下的信號(hào)傳輸損耗模型大不相同,建立一個(gè)精確的、適合實(shí)際應(yīng)用的損耗模型存在著很大的困難[8]。除此之外,根據(jù)參考文獻(xiàn)[8]中通過(guò)實(shí)驗(yàn)得出的重要結(jié)論:基于位置指紋算法能夠在一定程度上減少多徑效應(yīng)的影響,其定位精度遠(yuǎn)遠(yuǎn)高于基于三角形算法的定位精度。所以不管在具體實(shí)施上還是定位性能上,其較之于三角形算法的定位都具有較大的優(yōu)越性?;谝陨显颍疚倪x擇基于位置指紋的定位算法。
所謂位置指紋識(shí)別算法是利用存有實(shí)際場(chǎng)地的地理位置所對(duì)應(yīng)的RSSI信號(hào)強(qiáng)度的數(shù)據(jù)庫(kù),進(jìn)行對(duì)比分析識(shí)別的一種WiFi定位算法。其定位過(guò)程分為兩個(gè)階段[8]:
⑴離線(xiàn)采樣階段:其目標(biāo)在于建立一個(gè)位置指紋識(shí)別數(shù)據(jù)庫(kù)。首先,選擇合理的參考點(diǎn)分布,確保能為定位階段的準(zhǔn)確位置估計(jì)提供足夠的信息。然后依次在各個(gè)參考點(diǎn)上測(cè)量來(lái)自不同AP的RSSI值,將相應(yīng)的MAC地址與參考點(diǎn)的位置信息記錄在數(shù)據(jù)庫(kù)中,直至遍歷區(qū)域內(nèi)所有的參考點(diǎn)。
⑵在線(xiàn)定位階段:給定數(shù)據(jù)庫(kù)后,依據(jù)一定的匹配算法將待測(cè)點(diǎn)上接收的AP RSSI與數(shù)據(jù)庫(kù)中已有數(shù)據(jù)進(jìn)行比較,計(jì)算位置估計(jì)值。常用的匹配算法有NN法、KNN法、神經(jīng)網(wǎng)絡(luò)等,本文采用簡(jiǎn)單的NN算法。假定待測(cè)點(diǎn)接收的RSSI觀測(cè)值為s=[ss1,ss2,…,ssn],數(shù)據(jù)庫(kù)中的已有記錄為Si=[SS1,SS2,…,SSNi],其中n代表待測(cè)點(diǎn)上檢測(cè)到的不同AP數(shù);i∈[1,NT],NT為數(shù)據(jù)庫(kù)中的記錄數(shù);Ni代表第i條記錄中存儲(chǔ)的不同AP數(shù)。則NN算法可以表示成下述形式:L=argmin||s-Si||,i∈[1,NT],其中||s-Si||代表s與Si之間的歐式距離。
在某實(shí)驗(yàn)樓五樓(環(huán)境布局如圖8所示)內(nèi),利用樓道內(nèi)運(yùn)營(yíng)商已布置好的WiFi環(huán)境,部署了6個(gè)采樣點(diǎn)(全部為教室),每個(gè)區(qū)域范圍為1 m2,以自定義坐標(biāo)形式記錄測(cè)試點(diǎn)的位置。所有AP的高度均為3.2 m,位于兩墻中間位置,兩AP間距為7 m。測(cè)試設(shè)備:AP為騰達(dá)Tenda W301A;服務(wù)器為華碩A43s筆記本;訓(xùn)練設(shè)備為小米1s手機(jī)。在每個(gè)采樣點(diǎn)上傳200次指定AP的MAC地址和信號(hào)強(qiáng)度,去除偏離較大值后將均值記錄在數(shù)據(jù)庫(kù)中,單點(diǎn)采集時(shí)間約為3 min,完成所有位置的信號(hào)采集時(shí)間為20 min左右。
圖8 測(cè)試環(huán)境效果圖
實(shí)驗(yàn)共采集了6個(gè)點(diǎn)的位置信息,在每個(gè)測(cè)試點(diǎn),以該點(diǎn)所處的墨卡托坐標(biāo)標(biāo)記該位置,使用小米1s手機(jī)采集10組RSSI數(shù)據(jù)后發(fā)起定位請(qǐng)求,服務(wù)器將數(shù)據(jù)進(jìn)行定位計(jì)算。記錄服務(wù)器反饋的位置信息,并記錄所用時(shí)間,如表1所示。每個(gè)位置重復(fù)定位試驗(yàn)200次,統(tǒng)計(jì)定位誤差結(jié)果如表2所示。
實(shí)驗(yàn)結(jié)果表明,最大定位誤差在3.4 m,平均誤差在2.9 m之內(nèi);從請(qǐng)求定位到返回位置信息均在200 ms內(nèi)完成。由于考慮到實(shí)時(shí)性要求,客戶(hù)端定位時(shí)只采集了10組數(shù)據(jù),不足以客觀反映該點(diǎn)AP信號(hào)的特征;以及劃分的指紋區(qū)域不夠精細(xì)造成定位精度不是很理想。此外教室411和415周?chē)鷽](méi)有人員走動(dòng),并且周?chē)娔X、打印機(jī)等電子設(shè)備較少,所以平均誤差較小,同時(shí)誤差標(biāo)準(zhǔn)差小,說(shuō)明定位的穩(wěn)定性高;教室409和404內(nèi)有很多教學(xué)儀器,干擾較大;教室407和庫(kù)房在樓梯處,周?chē)藛T走動(dòng)多,且教室內(nèi)有多臺(tái)電腦,干擾最大,誤差的標(biāo)準(zhǔn)差較大,定位結(jié)果不穩(wěn)定。
表1 測(cè)試實(shí)驗(yàn)結(jié)果及誤差
表2 200次測(cè)試定位誤差
本文主要實(shí)現(xiàn)了一個(gè)基于WiFi的室內(nèi)定位系統(tǒng),為了更好地實(shí)現(xiàn)定位,對(duì)WiFi信號(hào)具有的特性進(jìn)行了探究,得出了WiFi信號(hào)概率分布特點(diǎn)、隨距離衰減特點(diǎn)。在此基礎(chǔ)上,采用位置指紋算法,劃分1 m2的最小區(qū)域,以一個(gè)點(diǎn)的信號(hào)強(qiáng)度平均值作為該點(diǎn)的信號(hào)特征。該系統(tǒng)的定位結(jié)果表明,利用運(yùn)營(yíng)商已布置好的AP,最大定位誤差在3.4 m,定位速度較快,且該系統(tǒng)成本低、使用方便,是一種具有可行性的室內(nèi)定位方法。
室內(nèi)定位技術(shù)一直處于不斷完善的過(guò)程中,在今后的工作中,將致力于增加實(shí)驗(yàn)數(shù)據(jù)的預(yù)處理功能,從而更好地提高定位精度;加入更為豐富的功能,例如導(dǎo)航;研究基于IOS和Windows Phone平臺(tái)的移動(dòng)GIS開(kāi)發(fā)等。
[1] 秦泗明. 基于位置指紋的WiFi室內(nèi)定位技術(shù)研究[D]. 成都:電子科技大學(xué), 2013.
[2] 何文濤,徐建華,葉甜春. 互相關(guān)干擾下的GNSS 弱信號(hào)檢測(cè)算法[J]. 電子學(xué)報(bào), 2011,39(2):471-475.
[3] 潘立波. 基于WiFi技術(shù)的無(wú)線(xiàn)定位算法研究與實(shí)現(xiàn)[D]. 杭州:浙江大學(xué), 2013.
[4] 李久剛,唐新明,汪匯兵,等. REST架構(gòu)的WebGIS技術(shù)研究與實(shí)現(xiàn)[J]. 測(cè)繪科學(xué), 2011,336(3):85-87.
[5] IDC.IDC World wide Mobile Phone Tracker[R].FRAMINGHAM, Mass:IDC, November 12, 2013.
[6] 中投顧問(wèn). 2014-2018年中國(guó)智能手機(jī)行業(yè)投資分析及前景預(yù)測(cè)報(bào)告[R]. 深圳:深圳市中投咨詢(xún)顧問(wèn)有限公司, 2014.
[7] Esri.ArcGIS Resources[EB/OL].[2014-06-01].http://resources.arcgis.com/en/home/.
[8] 盧恒惠,劉興川,張超,等. 基于三角形與位置指紋識(shí)別算法的WiFi定位比較[J]. 移動(dòng)通信,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信號(hào)的定位算法研究[D]. 南京:東南大學(xué), 2010.
[12] 雷家毅. Android平臺(tái)基于WiFi的定位算法與系統(tǒng)設(shè)計(jì)[D].上海:華東理工大學(xué), 2012.
網(wǎng)絡(luò)安全與數(shù)據(jù)管理2014年23期