羅宇鋒,劉艷輝,李曉春
(1.河南理工大學(xué) 電氣工程與自動(dòng)化學(xué)院,河南 焦作 454003; 2.無(wú)錫九宇建筑設(shè)計(jì)院有限公司,江蘇 無(wú)錫 214000)
眾所周知的GNSS[1-2]定位技術(shù)提供的是室外定位服務(wù),由于信號(hào)到達(dá)地球時(shí)較弱且信號(hào)容易受到障礙物的干擾和阻斷,在室內(nèi)環(huán)境、地下礦井、高層建筑密集處等地方的定位效果不理想甚至失效。因此,急需尋求一種高效、便捷、準(zhǔn)確的定位技術(shù)來(lái)填補(bǔ)室內(nèi)定位的空白。基于IEEE802.11 技術(shù)的成熟以及移動(dòng)設(shè)備和無(wú)線局域網(wǎng)在世界各地的普及,同時(shí), WiFi室內(nèi)指紋定位具有成本低、易部署、不受視線約束等優(yōu)點(diǎn),已經(jīng)成為當(dāng)前室內(nèi)定位研究的熱點(diǎn)[3-5]。人們開(kāi)始利用這種資源進(jìn)行室內(nèi)定位,文獻(xiàn)[6]通過(guò)從信號(hào)強(qiáng)度指示(RSSI)信號(hào)強(qiáng)度中取出特征性較強(qiáng)信號(hào),降低了室內(nèi)多徑效應(yīng)對(duì)WiFi信號(hào)波動(dòng)的影響,使室內(nèi)指紋定位精度提高了40%.Laouudias[7]等在基于指紋匹配的基礎(chǔ)上,開(kāi)發(fā)了Airplace系統(tǒng),使WiFi指紋定位的誤差減小到2~4 m。常見(jiàn)的無(wú)線定位技術(shù)有藍(lán)牙(Bluetooth)、紅外(infrared)、WiFi(wireless fidelity)、Zigbee、超寬帶等(ultra wide band)等[8-9]。
目前利用WiFi進(jìn)行室內(nèi)定位主要有WiFi指紋和WiFi測(cè)距兩種定位方式,由于WiFi信號(hào)容易受到環(huán)境的干擾而產(chǎn)生波動(dòng),且WiFi測(cè)距定位對(duì)信號(hào)依賴較強(qiáng),從定位精度上講WiFi指紋定位要比WiFi測(cè)距定位精度要高[10-11],所以目前WiFi指紋定位比較流行。WiFi指紋定位的關(guān)鍵在于離線階段指紋庫(kù)的建立,而采樣間距直接影響指紋庫(kù)的大小及定位精度,所以說(shuō)合適的采樣間距對(duì)WiFi指紋定位起著至關(guān)重要的作用。
在室內(nèi)定位區(qū)域內(nèi),每一個(gè)采樣點(diǎn)接受來(lái)自各個(gè)AP信號(hào)強(qiáng)度是不同的,這是由于采樣點(diǎn)信道的多徑結(jié)構(gòu)是不確定的,這樣多徑結(jié)構(gòu)的特征就是該采樣點(diǎn)的“指紋”[12-14]。當(dāng)人員進(jìn)入定位區(qū)域,身上攜帶的定位卡就會(huì)自動(dòng)掃描四周的WiFi信號(hào),并將WiFi信號(hào)上傳到服務(wù)器與離線階段建立的指紋庫(kù)中的WiFi信號(hào)進(jìn)行匹配,實(shí)現(xiàn)對(duì)人員位置的估計(jì)。
RSSI在WiFi指紋定位中起著至關(guān)重要的作用,RSSI的值越大說(shuō)明距離所測(cè)試解算距離越近,本實(shí)驗(yàn)是在學(xué)校樓道內(nèi)對(duì)一個(gè)固定的AP進(jìn)行測(cè)試,A、B和C三個(gè)采樣點(diǎn)距離固定的AP的水平距離分別為8 m、5 m和3 m,采樣周期為1 s,采樣時(shí)間為100 s,采集的WiFi信號(hào)數(shù)值如圖1所示。
通過(guò)圖1可知,WiFi信號(hào)易受到環(huán)境等因數(shù)的影響產(chǎn)生波動(dòng),為了消除WiFi信號(hào)受到環(huán)境因數(shù)產(chǎn)生的波動(dòng),保證指紋數(shù)據(jù)庫(kù)可靠性和準(zhǔn)確性。本文先利用高斯函數(shù)擬合對(duì)采集的RSSI信號(hào)進(jìn)行擬合,迅速地選出高頻段的RSSI值。對(duì)于RSSI值的波動(dòng),用多次測(cè)量取平均值法對(duì)采樣點(diǎn)接收到的信號(hào)進(jìn)行平滑處理。
高斯函數(shù)擬合是對(duì)數(shù)據(jù)中出現(xiàn)野值的一種處理方法。利用高斯函數(shù)對(duì)采集的RSSI值進(jìn)行處理,可以去除一些小概率的數(shù)值(野值),保留在正常范圍內(nèi)波動(dòng)的高頻WiFi信號(hào)值,這些WiFi信號(hào)值就更接近真實(shí)的信號(hào)值[15]。
高斯擬合函數(shù)為
(1)
其中:
(2)
(3)
先將采集到RSSI矢量分別代入高斯擬合函數(shù),用來(lái)保留可信的信號(hào)值然后對(duì)所保留的數(shù)據(jù)取均值,所得均值就是采樣點(diǎn)的RSSI矢量。由于RSSI矢量數(shù)據(jù)眾多,使得高斯擬合過(guò)程耗時(shí)較多。為了快速地篩選出想要的數(shù)據(jù),采用近高斯擬合的方法。
|RSSIi-μ| (4) 式中:μ為均值;σ為標(biāo)準(zhǔn)差;k為篩選區(qū)間RSSI值的個(gè)數(shù),可根據(jù)數(shù)據(jù)保留的百分比M確定。 其中: (5) 式中,N為采集的總次數(shù)。 若M取值過(guò)小,有可能破壞真實(shí)的數(shù)據(jù),這時(shí)就要適當(dāng)增加k值用來(lái)增大篩選區(qū)間,提高RSSI矢量的保留比。在保證RSSI矢量不失真的情況下,實(shí)現(xiàn)快速有效地剔除錯(cuò)誤數(shù)據(jù)。 在離線建立數(shù)據(jù)庫(kù)之前需要在定位區(qū)域內(nèi)設(shè)計(jì)恰當(dāng)采樣間距,用米尺進(jìn)行實(shí)地測(cè)量并標(biāo)記采樣點(diǎn)的位置,其次,確定坐標(biāo)原點(diǎn),如圖2所示,按照一定規(guī)則對(duì)采樣點(diǎn)進(jìn)行坐標(biāo)編輯并對(duì)采樣點(diǎn)上的RSSI值進(jìn)行多次測(cè)量取均值處理。 表1 WiFi指紋數(shù)據(jù)庫(kù) 在線匹配定位階段,本文主要采用K近鄰WiFi指紋匹配的算法,K近鄰匹配算法的主要思想是待定點(diǎn)上的RSSI值與數(shù)據(jù)庫(kù)進(jìn)行匹配運(yùn)算,計(jì)算出待定點(diǎn)上的RSSI與指紋數(shù)據(jù)中各個(gè)采樣點(diǎn)上RSSI之間的歐式距離,選出k(k≥2) 個(gè)最小的歐式距離對(duì)應(yīng)的坐標(biāo)并將其坐標(biāo)取平均值就是待定點(diǎn)的位置坐標(biāo)。 (6) 式中:i為第i個(gè)采樣點(diǎn)對(duì)應(yīng)的坐標(biāo)。 待定點(diǎn)與第i個(gè)采樣點(diǎn)的歐式距離為di: (7) 1) 定位精度指標(biāo):位置定位精度?為所有待定點(diǎn)與真實(shí)位置的誤差平均值: (8) 其中: (9) 2) 定位時(shí)效指標(biāo):本文設(shè)定不同采樣間距,并按照設(shè)定的采樣間距分別進(jìn)行采樣、建立指紋庫(kù)、匹配計(jì)算及定位并記錄各自的定位時(shí)間,然后結(jié)合定位的精度和時(shí)間效率,綜合考慮選出最優(yōu)的采樣間距。 本文中WiFi指紋定位系統(tǒng)采用的是C/S客戶端服務(wù)端模式[16],整個(gè)設(shè)計(jì)框架包括客戶端部分、服務(wù)端部分和通信段部分,具體如圖3所示。首先客戶端收集且封裝過(guò)濾后的WiFi指紋信息并利用通信手段將信息發(fā)送到服務(wù)端,服務(wù)端接收指紋信息并儲(chǔ)存到指紋數(shù)據(jù)庫(kù)。定位時(shí)客戶端收集周?chē)腁P信息,通過(guò)與服務(wù)端的通信將掃描到的WiFi指紋信息發(fā)送到服務(wù)端,服務(wù)端將接收到的信息與指紋庫(kù)數(shù)據(jù)進(jìn)行匹配處理,選擇合適的參考點(diǎn)計(jì)算出定位結(jié)果并在服務(wù)端顯示。 Android智能終端上移值客戶端程序[17],用elipse軟件和Java語(yǔ)言開(kāi)發(fā)。智能機(jī)客戶端主要負(fù)責(zé)采集周?chē)鶤P信號(hào)強(qiáng)度與服務(wù)端通信交互及指紋定位結(jié)果的顯示。由于Android編程是面向函數(shù)庫(kù)編程的,通過(guò)調(diào)用WiFiManager和WiFiInfo兩個(gè)WiFi相關(guān)類可以掃描到AP信號(hào)強(qiáng)度、MAC地址及網(wǎng)絡(luò)名稱SSID等??蛻舳嗽谥讣y采集時(shí),將采集到的AP信號(hào)強(qiáng)度值序列用高斯擬合濾波后封裝,通過(guò)Socket連接發(fā)送給服務(wù)端的MySQL數(shù)據(jù)庫(kù);在線定位階段,用戶通過(guò)與服務(wù)端之間的Socket通信發(fā)送定位請(qǐng)求到服務(wù)端,客戶端將掃描到的RSSI和MAC地址等信息通過(guò)網(wǎng)絡(luò)發(fā)送到服務(wù)端處理,最后接收定位結(jié)果并在手機(jī)上顯示,定位模塊如圖4所示。 為了研究采樣間距對(duì)WiFi指紋定位精度的影響,在電氣樓205教室,選取一個(gè)長(zhǎng)12 m,寬12 m的定位區(qū)域,采樣間距分別定為1 m、2 m、3 m、4 m、5 m、6 m,采樣點(diǎn)的個(gè)數(shù)分別為169、49、25、16、9、9個(gè),由于實(shí)驗(yàn)設(shè)定長(zhǎng)12 m,寬12 m的定位區(qū)域,但為滿足采樣間距5 m的整數(shù)倍,將原定位區(qū)域改為長(zhǎng)10 m,寬10 m,雖然定位區(qū)域改為長(zhǎng)10 m,寬10 m,但采樣間距5 m不變且隨機(jī)3個(gè)待定點(diǎn)在設(shè)定的定位區(qū)域內(nèi),這樣就不影響不同采樣距離對(duì)WiFi指紋定位精度的比較。 在進(jìn)行不同采樣間距對(duì)定位精度影響實(shí)驗(yàn)中,為避免單點(diǎn)定位存在的偶然性,在實(shí)驗(yàn)中分別隨機(jī)確定3個(gè)不同待定點(diǎn)并記錄下測(cè)定的結(jié)果、誤差和定位的時(shí)間如表2所示。在數(shù)據(jù)采集過(guò)程中盡可能保持采樣高度一樣,在每個(gè)采樣點(diǎn)處分別采集100次RSSI值取均值存入指紋數(shù)據(jù)庫(kù),圖5是采樣間距為3 m的實(shí)驗(yàn)部署示意圖。 在實(shí)驗(yàn)過(guò)程中用OPPO手機(jī)上Android平臺(tái)開(kāi)發(fā)的WiFi分析儀采集定位區(qū)域內(nèi)RSSI值,數(shù)據(jù)記錄軟件采用sql serve 2008,將其配置到定位服務(wù)器,為服務(wù)器的定位解算提供數(shù)據(jù)支持,定位服務(wù)器負(fù)責(zé)接收手機(jī)客戶端上傳的數(shù)據(jù)并對(duì)其進(jìn)行解析、計(jì)算、匹配最終實(shí)現(xiàn)定位,并將定位的結(jié)果上傳到手機(jī)客戶端顯示。 設(shè)定6個(gè)不同的采樣間距,為了避免單點(diǎn)定位存在的偶然性和誤差,每個(gè)采樣點(diǎn)隨機(jī)采3個(gè)待定點(diǎn)并記錄定位數(shù)據(jù)如表2所示,為更好顯示不同采樣間距對(duì)定位精度的影響,把相同采樣間距對(duì)定位造成的誤差取平均值并繪制圖形,如圖6所示。 表2 采樣間距的數(shù)據(jù)記錄 3.3.1 定位的精度 本文研究采樣間距對(duì)WiFi指紋定位的影響,對(duì)于采樣間距分別進(jìn)行了特定設(shè)置,選擇待定點(diǎn)和采樣點(diǎn)均勻地分布在定位區(qū)域內(nèi),在定位區(qū)域?qū)Σ煌蓸娱g距進(jìn)行多次實(shí)驗(yàn)并記錄下實(shí)驗(yàn)結(jié)果。通過(guò)圖6可以看出,當(dāng)采樣間距從1~6 m選取時(shí),WiFi指紋定位的精度在不斷的下降,定位誤差從0.58 m上升到4.2 m;當(dāng)采樣間距在1~3 m定位誤差可以保證在2 m以內(nèi)可以滿足定位的需要;當(dāng)采樣間距為4~6 m時(shí)定位誤差大幅度的提高很難確保定位的精準(zhǔn)性。 3.3.2 定位的時(shí)效性 K近鄰匹配算法其時(shí)耗主要花費(fèi)在均方誤差的計(jì)算。采樣間距為1 m時(shí)需要進(jìn)行169次均方誤差計(jì)算;采樣間距為2 m時(shí)需要進(jìn)行49次均方誤差計(jì)算;采樣間距為3 m時(shí)需要進(jìn)行25次均方誤差計(jì)算。三種采樣間距平均花費(fèi)的時(shí)間如3表所示。 表3 三種采樣間距定位時(shí)間的比較 通過(guò)表3可以清楚地看出3 m的采樣間距在時(shí)間效率上有著明顯的優(yōu)勢(shì),考慮到1~2 m的采樣間距在離線階段采集指紋也比較費(fèi)工、耗時(shí),但定位的精度卻和3 m的采樣間距定位精度相差不大。綜上所述,本文選擇3 m的采樣間距為最佳的采樣間距。 本文研究的是采樣間距對(duì)WiFi指紋定位的影響,詳細(xì)介紹WiFi指紋定位的K近鄰匹配算法,并在教室內(nèi)設(shè)定不同采樣間距進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明采樣間距為 3 m時(shí),無(wú)論從定位的精度還是時(shí)效性上都為WiFi指紋定位的最優(yōu)指標(biāo)。1.2 離線階段建立指紋數(shù)據(jù)庫(kù)
1.3 在線階段進(jìn)行匹配定位
1.4 采樣間距最佳距離的確定指標(biāo)
2 系統(tǒng)的設(shè)計(jì)
2.1 WiFi指紋定位系統(tǒng)架構(gòu)
2.2 客戶端和服務(wù)端的設(shè)計(jì)
3 實(shí)驗(yàn)及分析
3.1 實(shí)驗(yàn)部署
3.2 實(shí)驗(yàn)數(shù)據(jù)
3.3 實(shí)驗(yàn)的結(jié)果分析
4 結(jié)束語(yǔ)