嚴淑萍,段桂華,張士庚
(中南大學信息科學與工程學院,湖南 長沙 410083)
近年來,隨著物聯(lián)網(wǎng)的發(fā)展和智能終端設備的普及,無線室內定位技術成了人們研究的焦點[1]。在很多領域,特別是在基于位置的服務LBS(Location Based Services)中,無線室內定位技術是一種必不可少的支撐技術。比如,在智能倉庫中,人們需要準確了解貨物的存放位置,以便對貨物進行高效管理[2]。在大型商場或者博物館里,人們可以通過定位技術來進行智能導購或者導航[3]。在老人健康護理應用中,人們需要實時對老人的目標位置進行監(jiān)測,以便判斷目標對象是否處在正常狀態(tài)。無線室內定位技術在其它很多方面也有著廣泛的應用,如機器人室內導航、室內游戲、智能人機交互系統(tǒng)等。由于無線室內定位技術的重要性,特別是隨著Wi-Fi設備的普及和廣泛部署,近年來人們提出了很多基于Wi-Fi的室內定位技術,如文獻[4-8]。
基于Wi-Fi的室內定位方法主要可以分為兩種:基于設備的定位方法(也稱為主動式定位)和設備無關的定位方法(也稱為被動式定位、非綁定式定位),這兩種定位方法的主要區(qū)別在于定位過程中是否需要目標對象主動參與其中。主動式定位方法需要目標對象攜帶某種設備,所攜帶的設備能夠與監(jiān)測設備進行數(shù)據(jù)通信,并根據(jù)信號或相位的變化來推斷目標對象所處的位置,精度最高可達0.5 m。而被動式定位則根據(jù)目標本身對無線通信鏈路信號產(chǎn)生的干擾,通過測量受干擾鏈路上的信號衰減程度來判斷目標的位置。基于信號強度信息RSSI(Received Signal Strength Information)設計分析并部署的被動式定位系統(tǒng)Nuzzer[8],利用概率統(tǒng)計技術實現(xiàn)了室內多徑環(huán)境下對單目標的定位,平均誤差可控制在2 m以內。
已有的基于Wi-Fi的被動式定位需要事先進行訓練,例如,美國微軟研究院在RADAR系統(tǒng)[9]中首次提出了基于指紋匹配的定位方法。該系統(tǒng)首先在離線階段采集特定參考點與固定的接入點AP(Access Point)之間的信號強度,并將信息存入數(shù)據(jù)庫中,然后在實時定位階段根據(jù)RSSI在數(shù)據(jù)庫中進行信息匹配以計算目標的位置。Youssef等人[10]在Horus系統(tǒng)中進一步提出利用信號強度的分布信息作為指紋來提高定位精度。文獻[11]提出了分層次細化區(qū)域的方法,通過測量少數(shù)的參考點信息以實現(xiàn)更準確的定位。文獻[12]通過在不同參考位置之間對信號強度進行插值來重建指紋數(shù)據(jù)庫,并利用貝葉斯估計算法來提高定位精度。但是,這些方法均需要在初始狀態(tài)(即監(jiān)測區(qū)域沒有目標)時采集參考點的信息進行離線訓練,其性能容易受室內復雜多變的環(huán)境干擾,從而導致定位精度隨時間下降。
因此,為避免定位在訓練階段產(chǎn)生額外的人力開銷,本文提出了一種新的設備無關定位算法。我們首先將監(jiān)測區(qū)域劃分成若干個大小相同的小方格,并在區(qū)域周圍部署多組無線收發(fā)設備,任意一組收發(fā)節(jié)點間都可以互相通信。假設我們事先能夠識別某條通信鏈路是否為視距LoS(Line of Sight)路徑,若為非視距則說明該鏈路上存在目標對象,通過計算該鏈路的菲涅耳區(qū)域找出其對應的小方格并為它們投上一票(即將小方格的值加1)。通過判斷監(jiān)測區(qū)域內所有通信鏈路,最終獲得票數(shù)最多的小方格(即累計值最大的小方格)為目標最可能的位置。本算法基于視距路徑識別的基礎,根據(jù)菲涅耳區(qū)域對鏈路產(chǎn)生的影響來確定目標位置,因此無需事先進行離線訓練來獲取網(wǎng)絡的初始狀態(tài),具有較強的實時性。
本文組織如下:第2節(jié)介紹相關工作;第3節(jié)為核心內容,詳細介紹了本文提出的算法;第4節(jié)為仿真結果;第5節(jié)通過真實實驗來驗證本文所提算法的有效性;最后一節(jié)總結全文。
被動式定位以其無需攜帶任何設備的特點成為專家學者的研究重點。例如,Han等人[13]利用無線信號的衰減變化來判斷室內人員的活動狀態(tài)并檢測是否有人摔倒的情況。Zhou等人[14,15]利用目標對象的隨機運動來增加信號傳播路徑的不確定性,以此來識別視距與非視距,用于實現(xiàn)目標對象的定位。文獻[16]利用信號強度的均值變化情況來對目標對象的位置進行成像定位。Sen等人[17]通過在室外和室內的離線訓練中識別不受室內多徑影響的信道,利用這些信道上的信道狀態(tài)信息CSI(Channel State Information)實現(xiàn)室內目標定位。文獻[18]利用信道狀態(tài)信息的時域變化,提出了基于距離估計的定位算法。然而,這些被動式定位算法均需要事先進行訓練來獲取定位的初始狀態(tài),會產(chǎn)生額外的采集開銷,并且容易受到復雜室內環(huán)境的影響。
主動式定位通常需要被測目標攜帶某種設備來實現(xiàn)目標定位。文獻[19]需要測試者隨身攜帶移動設備,借助于設備的慣性傳感器來實時記錄測試者行走過程中的方向及運動速度,以此來定位目標的位置。Wu等人[20]提出一個基于室內現(xiàn)成的Wi-Fi基礎設施與移動手機集成的定位系統(tǒng),該系統(tǒng)將用戶室內日常行走路線及對應的RSSI信息作為指紋信息,利用手機傳感器與用戶行為構建一個室內地圖,通過指紋信息匹配來實現(xiàn)目標的定位。Cao等人[21]提出了基于Android平臺的人體跌倒檢測系統(tǒng)。該檢測方法需要被測目標隨身攜帶智能手機,利用突然大幅度動作對手機的加速度傳感器會產(chǎn)生較大的變化度值這一現(xiàn)象來進行人員的安全檢測。這些需要目標對象攜帶某種設備的定位技術,在很多場合中并不適用,比如患有健忘癥的老人,又或者在某些需要監(jiān)測有無人員闖入特定區(qū)域的場景中,因此其應用具有一定的局限性。
Figure 1 Target in one link圖1 目標在一條通信鏈路上
Figure 2 Target in two links圖2 目標在兩條通信鏈路上
首先,我們在監(jiān)測區(qū)域周圍部署多組無線收發(fā)設備。當有目標出現(xiàn)在一組收發(fā)設備的直線上時,我們認為此時的通信鏈路為非視距,如圖1所示。那么,我們只需要通過兩條非視距的通信鏈路,并找出這兩條非視距路徑經(jīng)過的重疊區(qū)域,便可以確定目標所在的位置,如圖2所示。但是,由于視距并不一定只是在收發(fā)端兩個節(jié)點的直線上,也就是說,目標在收發(fā)端兩節(jié)點所形成的某個區(qū)域內均會對通信鏈路產(chǎn)生影響。因此,我們在此算法中引入了菲涅耳區(qū)域的概念(在接下來的3.3節(jié)會詳細介紹),結合菲涅耳區(qū)域對鏈路產(chǎn)生的影響來實現(xiàn)目標的定位。由于該算法是基于視距路徑識別,然而視距的識別并不一定能夠達到完全準確,于是我們需要加入多組節(jié)點,利用節(jié)點的冗余性來提高定位精度。
目前已經(jīng)有一些工作能夠完成視距路徑的識別[14,22]。本文采用PhaseU方法[22]來識別視距路徑,該方法是利用無線設備多天線的相位差信息來實現(xiàn)視距路徑識別的。由于室內多徑的影響,無論信號傳播路徑為視距或非視距,接收端在接收信號的過程中均會產(chǎn)生不同程度的相位偏移,為了解決這種由接收端引起的測量誤差問題,本文引入了一個新的信道相位特征——雙天線相位差,通過雙天線相位差來消除相位測量誤差,保留反映多信道狀態(tài)特征的信息。PhaseU識別算法主要分為兩階段:離線訓練階段——在進行視距路徑識別之前,先分別在有目標和沒有目標的監(jiān)測區(qū)域采集信息,計算在不同環(huán)境下天線相位的變化范圍,訓練出一個能夠分離出視距與非視距路徑的閾值;視距路徑識別階段——實時計算雙天線相位差,并用二元假設檢驗來判斷該相位差屬于視距或非視距的相位差范圍。
3.2.1 信道狀態(tài)信息
信道狀態(tài)信息(CSI)解決了信號強度信息不穩(wěn)定、易受到多徑影響的局限性。利用現(xiàn)有的Intel 5300無線網(wǎng)卡和商用支持802.11n的AP,可以獲得信道狀態(tài)信息。每個CSI表示的是各個子載波的振幅和相位:
H(fk)=‖H(fk)‖ej∠H(fk)
(1)
其中,H(fk)表示載波中心頻率fk的CSI,‖H(fk)‖和∠H(fk)分別表示其振幅和相位信息。
3.2.2 提取相位信息
(2)
3.2.3 視距識別
通過獲取M個數(shù)據(jù)包的一系列CSI樣本,本文提出了利用ρ因子來表示相位的變化值:
(3)
然后利用二元假設檢驗LoS(Η0)和NLoS(Η1),即:
(4)
其中ρth為閾值。
PhaseU的總體流程如圖3所示。
Figure 3 Flow chart of PhaseU圖3 PhaseU流程圖
當收發(fā)節(jié)點之間有障礙物時,可用菲涅耳區(qū)域來解釋路徑差函數(shù)的繞射耗損現(xiàn)象。菲涅耳區(qū)域是在收發(fā)天線之間,由電波的直線路徑與折線路徑的行程差為nλ/2的折點(反射點)形成的、以收發(fā)天線位置為焦點、以直線路徑為軸的橢球面,如圖4所示。其中λ表示信息的波長,n為自然數(shù)。n=1的區(qū)域(圖中的橢圓形區(qū)域)是對信號有主要貢獻的區(qū)域,稱為第一菲涅耳區(qū)域[23]。由于第一菲涅耳區(qū)域對信號變化比較敏感,因此本文中考慮的均是第一菲涅耳區(qū)域。
Figure 4 Target in Fresnel zone圖4 目標在菲涅耳區(qū)域內
當目標對象位于收發(fā)端鏈路上的第一菲涅耳區(qū)域內時,權值為1,否則為0。
(5)
其中,dit表示接收端i到目標t之間的距離,djt表示發(fā)送端j到目標t的距離,d代表接收端i到發(fā)送端j之間的距離,ωij是指在第i條鏈路上方格j的權重值,λ指波長,此時考慮的是第一菲涅耳區(qū)域,因此n=1。
算法描述如下:
步驟1將監(jiān)測區(qū)域劃分為若干個小方格,每個方格的初始值設為0。
步驟2判斷接收端之間的通信鏈路是否為視距路徑。
步驟3若為非視距,則計算該鏈路的菲涅耳區(qū)域,將菲涅耳區(qū)域內所有的方格值加1。
步驟4遍歷所有的通信鏈路,找出擁有最大值的方格,則該方格的位置為目標對象最可能的位置;如若有多個方格,則取多個方格位置的中心。
假設在監(jiān)測區(qū)域周圍部署了4個節(jié)點,并將區(qū)域劃分為3×3的方格,如圖5所示,已經(jīng)知道鏈路AP1→AP4和鏈路AP2→AP3為非視距,則目標定位過程如圖5所示。
Figure 5 One intsance of the algorithm圖5 算法實例圖
算法偽代碼如下所示:
將檢測區(qū)域所劃分小方格的初始值設為0;/*如圖5a所示*/
Fori=1 toN-1 do
Forj=i+1 toNdo
判斷鏈路L(i,j)是否為NLoS,若為NLoS則將NLoS置為1;
If(NLoS==1)do
Forgrid=1 toMdo /*M表示劃分的方格個數(shù)*/
判斷該方格是否在鏈路的菲涅耳區(qū)域內,若是,則將該方格的值加1;/*如圖5b和圖5c所示*/
END
END
END
END
找出擁有最大值的方格,該方格對應的位置則為目標對象最可能的位置,若有多個方格,則取多個方格的中心位置。
在本文中,我們在能夠識別視距路徑的基礎之上,根據(jù)第一菲涅耳區(qū)域對鏈路的影響實現(xiàn)目標的定位。已有工作PhaseU[22]通過分析多天線的相位差來識別視距路徑,可以達到94%的準確率,因此本文主要考慮的是方格大小、視距路徑判斷率及無線節(jié)點的個數(shù)對本文定位算法的影響。通過測量任意節(jié)點鏈路之間的信道狀態(tài)信息判斷是否為視距環(huán)境,若檢測到鏈路間有障礙物阻攔,就認為目標對象有可能位于該鏈路上的第一菲涅耳區(qū)域中,則將此鏈路的第一菲涅耳區(qū)域上方格的值加1,通過遍歷所有的鏈路,值最大的方格對應為目標最可能的位置。我們在PhaseU的基礎上,利用Matlab進行仿真實驗來分析方格大小、視距判斷的準確率以及無線節(jié)點個數(shù)對定位精度的影響。
假設在監(jiān)測區(qū)域周圍部署了10個無線節(jié)點,并且可以準確識別每組收發(fā)節(jié)點之間的視距路徑。現(xiàn)在我們來考慮不同的方格大小g對定位精度的影響。在固定大小的監(jiān)測區(qū)域內,若g的取值越小,則可劃分的格子個數(shù)就越多,因此計算量越大,定位也越精確。我們在0.1 m~0.5 m的范圍內對g的大小分別取值進行實驗,在不同取值下,方格大小所產(chǎn)生的平均定位誤差如圖6所示。
Figure 6 Effect of the size of grid on localization accuracy圖6 方格的大小對定位精度的影響
根據(jù)圖6可以看出,格子寬度的大小不同,定位精度也會產(chǎn)生一定的變化。方格寬度越小,定位誤差也越小。當方格大小設為0.5 m*0.5 m時,平均誤差為0.74 m,當方格為0.1 m*0.1 m時,平均誤差降至0.27 m。然而,當監(jiān)測區(qū)域固定時,方格越小則可劃分的個數(shù)越多,所產(chǎn)生的計算開銷也越大,因此在設定g的大小時,除了定位應在可接受的誤差范圍之內外,還應考慮算法的計算代價。我們認為當g的取值為0.2 m時,該算法的性能最佳,平均誤差為0.32 m,相比利用橢圓模型的射頻層析成像RTI(Radio Tomographic Imaging)算法,平均誤差降低了0.18 m,定位更精確。
本文的定位算法基于視距路徑的識別,當收發(fā)端鏈路節(jié)點之間為非視距時,則認為目標可能在該鏈路的第一菲涅耳區(qū)域內,因此視距路徑是否能夠準確辨別是實現(xiàn)室內目標定位的關鍵因素。我們仍然假設在監(jiān)測區(qū)域周圍部署了10個無線收發(fā)節(jié)點,并且將方格的大小設為0.2 m×0.2 m,通過仿真實驗,我們結合不同的視距識別率對其影響進行了分析,其關系如圖7所示。
Figure 7 Relationship between LoS identification rate and localization accuracy圖7 視距識別率與定位精度的關系
從圖7可以發(fā)現(xiàn),視距路徑的識別率也會對目標的定位精度產(chǎn)生影響。視距路徑識別越準確,則定位也越準確。當視距的識別準確率達到95%時,平均誤差為0.47 m,因此視距路徑的識別率也是室內定位的關鍵因素。
在室內定位系統(tǒng)中,室內部署的節(jié)點個數(shù)也會對定位精度產(chǎn)生影響。一般來說,節(jié)點部署越密集,定位精度也越高;反之,定位精度也會因節(jié)點個數(shù)的減少而下降,如圖8所示。在同等實驗環(huán)境下,隨著節(jié)點數(shù)量的增加,產(chǎn)生的節(jié)點費用會增多,計算開銷也會越大,如圖9所示。
Figure 8 Effect of the number of nodes on accuracy圖8 節(jié)點個數(shù)對精度的影響
Figure 9 Running time cost vs. the number of nodes圖9 不同節(jié)點個數(shù)產(chǎn)生的計算時間
為了驗證本文算法的有效性,本文進行了相關實驗。實驗使用無線路由器作為數(shù)據(jù)發(fā)送端,如圖10所示,用安裝有Intel 5300網(wǎng)卡的筆記本作為接收端。實驗環(huán)境部署在計算機樓一個空曠的實驗室,監(jiān)測區(qū)域為3.5 m×3.5 m,監(jiān)測區(qū)域周圍共部署了10個無線節(jié)點,每個節(jié)點之間的距離為0.2 m。我們測量任意節(jié)點鏈路之間的信道狀態(tài)信息并利用PhaseU方法判斷是否為視距路徑,若檢測到鏈路間有障礙物阻攔,就認為目標對象有可能位于該鏈路上的第一菲涅耳區(qū)域(利用式(5)來計算鏈路的菲涅耳區(qū)),則將此鏈路的第一菲涅耳區(qū)域對應方格的值加1,圖像中方格的值越大,表示目標在該區(qū)域的可能性越大。實驗中利用商用Intel 5300網(wǎng)卡收集CSI信息,如圖11所示,利用Matlab對實驗數(shù)據(jù)進行處理,實驗結果如圖12和圖13所示。圖12為實驗場景中目標所在的位置,圖13通過采集監(jiān)測區(qū)域內的信息,利用Matlab對數(shù)據(jù)進行處理后反向推出的目標位置。通過對人體的定位,平均誤差控制在0.5 m范圍內,基本實現(xiàn)了目標對象的室內定位。
Figure 10 Transmitter圖10 數(shù)據(jù)發(fā)送器
Figure 11 CSI information collection圖11 采集CSI信息
圖12和圖13為單個目標的定位結果,在本文中,考慮的均是對單個目標的定位。然而,在實際場景中,監(jiān)測區(qū)域內可能不僅僅只存在一個目標,目前已有相關工作解決了多目標的定位,文獻[24]提出了一個視距無線電圖匹配的MODLOC方法,該方法保留視距路徑的節(jié)點信號,根據(jù)視距信息構建一個視距無線電地圖。
Figure 12 Location of the target in the experiment圖12 實驗場景中目標所在位置
Figure 13 Possible location of the target圖13 實驗結果中目標可能出現(xiàn)的位置
在實現(xiàn)目標定位之前,MODLOC首先需要在監(jiān)測區(qū)域內對多個參考點位置進行初始信息采集,利用頻率分集來消除多徑信號的影響,然后將定位信息與初始狀態(tài)信息進行比較來實現(xiàn)多目標的定位。文獻[25]利用信號在傳輸過程中遇到目標會發(fā)生反射這一現(xiàn)象來實現(xiàn)多目標的定位。接收端接收到從人體反射回來的無線信號后,通過相應算法將信號傳輸時間轉換成人體各部分的距離信息。當監(jiān)測區(qū)域部署多組收、發(fā)裝置時,如果區(qū)域內存在多個目標,根據(jù)其反射信息的交叉區(qū)域,可以完成多目標的定位。在接下來的工作中,我們將考慮監(jiān)測區(qū)域內存在多目標的情況,并對多個目標對象進行定位。
本文基于視距路徑識別提出了一個新的設備無關定位算法,其優(yōu)點是無需進行離線訓練,節(jié)省了人力開銷,并且具有一定的實時性。其次,本文算法結合菲涅耳區(qū)域分析了目標在該區(qū)域時對通信鏈路產(chǎn)生的影響,分析了不同方格的大小與視距路徑識別率對定位精度的影響。最后通過仿真和真實實驗驗證了本文算法的有效性,并且由于其不需要目標攜帶任何設備,在緊急情況或光線不明的環(huán)境下均可以使用,具有廣闊的應用前景。