胡先智 吳強(qiáng) 梁艷
摘 要:通過對典型WLAN定位方法的研究與分析,本文設(shè)計并實(shí)現(xiàn)了一種基于位置指紋的WLAN室內(nèi)定位系統(tǒng)。同時,將NNSS、KWNN和基于概率密度三個經(jīng)典WLAN定位算法應(yīng)用于該系統(tǒng)中,進(jìn)行了實(shí)際測試和分析,結(jié)果表明,本文所實(shí)現(xiàn)的系統(tǒng)具有很好的可靠性和實(shí)用性。
關(guān)鍵詞:WLAN;室內(nèi)定位;RSSI;位置指紋
中圖分類號:TN929.5
1 前言
基于位置的服務(wù)(LBS)越來越受到人們的關(guān)注,越來越多的定位直接利用現(xiàn)成的無線通訊模塊來估計對象節(jié)點(diǎn)的位置,應(yīng)運(yùn)而生的WLAN定位技術(shù)以低成本、低功耗成為室內(nèi)定位的主要方法之一。
2 基于WLAN的定位算法
基于WLAN的定位算法主要有到達(dá)角度定位(Angle 0f Arrival,AOA)、到達(dá)時間定位(Time Of Arrival,TOA)、信號強(qiáng)度分析法(Received Signal Strength,RSS)以及位置指紋定位法(Location Fingerprint)。AOA和TOA需要專門的設(shè)備支持,而且受非視距以及多徑影響比較嚴(yán)重;RSS對信道傳輸模型的依賴性非常強(qiáng),多徑效應(yīng)、墻壁的遮擋以及環(huán)境條件的變化都會使其精度嚴(yán)重惡化。采用位置指紋定位技術(shù)則可以有效地克服以上定位算法的缺點(diǎn)?;谖恢弥讣y的定位方法主要包括兩個階段:(1)構(gòu)建指紋圖(Radio Map);(2)定位階段。
3 基于位置指紋的WLAN定位的實(shí)現(xiàn)方法
3.1 定位網(wǎng)絡(luò)構(gòu)建
基于位置指紋的WLAN系統(tǒng)的實(shí)現(xiàn),首先需要搭建一個室內(nèi)無線局域網(wǎng)環(huán)境,使每個可能出現(xiàn)移動用戶的位置被三個或三個以上AP信號覆蓋。在初始情況下,根據(jù)經(jīng)驗(yàn)和推測將AP放置在適當(dāng)位置,保持一定的發(fā)射功率,然后選取一些關(guān)鍵點(diǎn)進(jìn)行測量,如果發(fā)現(xiàn)盲區(qū),則調(diào)整AP的位置,或者提高AP的發(fā)射功率,再進(jìn)一步測量,直至可能出現(xiàn)移動用戶的位置沒有盲區(qū)為止 。定位網(wǎng)絡(luò)系統(tǒng)由多個AP、多個移動客戶端和一個定位服務(wù)器組成。移動客戶端通過網(wǎng)卡獲取其到各個AP的RSSI,并發(fā)送到定位服務(wù)器進(jìn)行處理。
3.2 RSSI采樣
參照室內(nèi)平面圖選擇適當(dāng)?shù)牟蓸狱c(diǎn),在各個采樣點(diǎn)多次測量和記錄相應(yīng)AP的RSSI值,并根據(jù)采樣數(shù)據(jù)分析環(huán)境的無線信道情況。由于實(shí)驗(yàn)是構(gòu)建環(huán)境RadioMap,因此必須采集盡可能多的數(shù)據(jù)。這就要求從多角度、多方面在同一采樣點(diǎn)測量多次。
3.3 計算RadioMap
RadioMap是元組(ap,x,y,s)的集合,其中ap是某個特定的AP,(x,y)是每個采樣點(diǎn)的平面坐標(biāo),s是(x,y)處ap的RSSI特征量,它被用作定位匹配算法的參考,直接影響定位精度,因此要求其中必須包含盡可能多的元組,而這些元組可以通過經(jīng)驗(yàn)值法全部采樣得到,也可以通過數(shù)學(xué)模型計算得到。
3.4 定位階段(OnLine階段)
當(dāng)建立完RadioMap后,就可以運(yùn)用相應(yīng)的定位匹配算法,把實(shí)時測量的RSSI特征值和RadioMap中的位置指紋進(jìn)行比較,找出最佳匹配,獲得最佳定位效果。
4 定位算法
目前,在位置指紋定位算法中,典型的定位算法包括最近鄰算法NNSS、加權(quán)k近鄰KWNN和基于概率密度的方法。
4.1 最鄰近算法
NNSS(Nearest Neighors in Signal Space)有n個AP,m個采樣點(diǎn)。直接把RSSI平均值作為上述位置指紋,計算測量點(diǎn)的RSSI值和采樣點(diǎn)的RSSI值之間的歐幾里得距離,即假定第i個采樣點(diǎn)的對各AP信號強(qiáng)度元組為(si1,si2…sin)用戶當(dāng)前位置測量得到的信號強(qiáng)度為(s1,s2……sn)。則測量點(diǎn)和第i個采樣點(diǎn)的RSSI歐幾里得距離為disi,i從1到m中,取dis最小的值所對應(yīng)的采樣點(diǎn)的位置為測量點(diǎn)的估計值。
4.2 加權(quán)K鄰近算法(KWNN)
需要注意選擇恰當(dāng)?shù)膋值。因?yàn)槿绻鹝選取太大,則會將離用戶實(shí)際位置并不是很近的點(diǎn)也包括進(jìn)來,反而降低了定位精度。首先求測量點(diǎn)RSSI和各個采樣點(diǎn)RSSI間的歐幾里得距離,再取出k個歐幾里得距離最小時對應(yīng)的k個位置,求出該k個位置坐標(biāo)的平均值作為該測量點(diǎn)的位置:
但直接求k個坐標(biāo)的平均值作為測量點(diǎn)位置并不是很合適,應(yīng)該距離越近的位置權(quán)值越大。根據(jù)該理論權(quán)值計算方法如下:
上述公式中k和q為兩個參數(shù),本系統(tǒng)中q被設(shè)為2。由此得出測量點(diǎn)坐標(biāo)估計值為:
4.3 基于概率密度的定位算法(ProbabilityMethod)
在該定位方法中,一個采樣點(diǎn)1處的位置指紋是RSSI值在該采樣點(diǎn)上對各個AP的聯(lián)合的概率密度。由于各個AP獨(dú)立,因此聯(lián)合概率可由各AP的邊緣概率求得:
上式中 表示在l處AP1的RSSI為S1、AP2的RSSI為S2...APn的RSSI為Sn的聯(lián)合概率密度, 表示在i處APi的RSSI為Si發(fā)生的邊緣概率密度。
假設(shè)AP的所有RSSI樣本都屬于區(qū)間[min,max],其中min和max是RSSI樣本的最小值和最大值。該區(qū)間被劃分成k個子區(qū)間,k是一個可調(diào)參數(shù),影響著對概率密度估計的準(zhǔn)確性。為了簡化問題,把k個子區(qū)間設(shè)為等寬,每個子區(qū)間寬度w為:
而子區(qū)間的樣本數(shù)量n的計算方法如下:
如圖1所示,Si、Si+1、...、Si+j+1、Si+j+2都為RSSI樣本,子區(qū)間寬度為w,由w1、w2、w3三部分組成,w1、w3為小數(shù)部分,w2為整數(shù)部分。
用上述直方圖法求可求出采樣點(diǎn)對各個AP的邊緣概率密度進(jìn)而求出各采樣點(diǎn)的聯(lián)合概率密度。在算法實(shí)現(xiàn)中為避免概率為0,在用直方圖估計概率密度前給每個值設(shè)為1/N。測量點(diǎn)估計坐標(biāo)為:
5 基于WLAN的定位系統(tǒng)實(shí)現(xiàn)
本系統(tǒng)的定位數(shù)據(jù)處理過程中,客戶端核心工作是獲取RSSI和發(fā)送RSSI,而服務(wù)器端的核心工作是接收RSSI,通過分析RSSI數(shù)據(jù),計算并且形成RadioMap,最后通過定位計算,將位置呈現(xiàn)給用戶。
5.1 系統(tǒng)服務(wù)器端
系統(tǒng)服務(wù)器端劃分成如下。
實(shí)時定位模塊:用戶可以選擇定位算法,接收來自數(shù)據(jù)采集的OnLine數(shù)據(jù)并根據(jù)用戶選擇的定位算法進(jìn)行定位計算,然后將計算出的位置結(jié)果呈現(xiàn)給用戶。
數(shù)據(jù)采集模塊:負(fù)責(zé)與客戶端的服務(wù)器通信模塊進(jìn)行通信,從客戶端接收并解析RSSI數(shù)據(jù)包,將OnLine數(shù)據(jù)分發(fā)到實(shí)時定位模塊,OffLine存入RSSI數(shù)據(jù)庫,以便數(shù)據(jù)分析模塊進(jìn)行分析。
數(shù)據(jù)分析模塊:分析數(shù)據(jù)采集模塊得到的OffLine數(shù)據(jù),計算RadioMap并用圖表形式向用戶呈現(xiàn)結(jié)果。
設(shè)備管理模塊:負(fù)責(zé)AP以及移動終端的管理。
系統(tǒng)配置模塊:用戶可以配置數(shù)據(jù)庫,SuperMap服務(wù)器,以及數(shù)據(jù)此采集模塊的通信端口等。
5.2 系統(tǒng)客戶端
系統(tǒng)客戶端分為如下四個模塊。讀取RSSI模塊:負(fù)責(zé)從網(wǎng)卡中讀取RSSI值;服務(wù)器通信模塊:負(fù)責(zé)和服務(wù)器進(jìn)行通信,發(fā)送RSSI數(shù)據(jù),解析服務(wù)器的發(fā)給客戶端的配置信息。配置信息將影響讀取RSSI模塊的采集行為;客戶端配置模塊:讀取本地配置文件;本地存取RSSI模塊:當(dāng)服務(wù)器通信模塊發(fā)送RSSI數(shù)據(jù)失敗時,負(fù)責(zé)將發(fā)送失敗的RSSI數(shù)據(jù)存入本地文件中,以便后期處理。
6 實(shí)驗(yàn)結(jié)果與分析
本系統(tǒng)構(gòu)建的定位區(qū)域?yàn)?50cm*780cm的室內(nèi)環(huán)境,為減少復(fù)雜環(huán)境對定位效果的影響,把每次數(shù)據(jù)采集布置成一個任務(wù),每個任務(wù)對應(yīng)一個位置指紋。定位所采用的指紋庫是在上述定位環(huán)境內(nèi)的13個采樣點(diǎn)的指紋組成,共6個待測位置進(jìn)行了定位實(shí)驗(yàn)。每個采樣點(diǎn)采樣次數(shù)為100次,采樣周期為300ms,每個待測位置采集定位數(shù)據(jù)500-600次共3400次。
用三種定位算法進(jìn)行定位,當(dāng)取K=5時,三種算法的誤差比較如圖2所示。
從圖中可以看出:基于概率密度的誤差較小,NNSS的誤差最大,KWNN次之。在位置6處的誤差比其他位置處的誤差要大一些,原因是該點(diǎn)處距離每一個AP的距離都比較遠(yuǎn),因此誤差較大。
7 結(jié)束語
本文通過研究與分析典型的WLAN定位方法,設(shè)計與實(shí)現(xiàn)了一個WLAN定位系統(tǒng)。系統(tǒng)采用NNSS、KWNN和基于概率密度三種定位算法,并在實(shí)際環(huán)境中進(jìn)行了測試,結(jié)果表明本文系統(tǒng)具有較高的定位準(zhǔn)確性。