萬立志 崔英花
(北京信息科技大學信息與通信工程學院 北京 100101)
隨著無線通信技術的日益成熟,人們對室內及小范圍定位的需求越來越多。傳統的定位方法在某些特殊應用場景下無法適用,比如入侵檢測、入室盜竊等,在這些場景下定位目標不會攜帶定位設備,無設備定位(Device Free Localization,DFL)的概念應運而生。2007年在ACM MobiCom會議上Moustafa Youssef團隊首次提出了DFL[1],通過構建合適的通信網絡,由信號鏈路的變化量來實現目標定位。
位置指紋的定位方法在主動式定位中就有所研究,在無設備定位中該方法同樣適用。關鍵點在于位置指紋數據的獲取[2],無設備定位中如何計算出目標對通信網絡造成的干擾是一個難點。據此,本文利用射線跟蹤方法[3]進行無線信道的建模,獲取信號發射端和接收端之間鏈路的信號強度值,構建指紋數據庫,避免實際測量工作的繁瑣,有效降低了獲取數據帶來的偏差,提高定位精度。
位置指紋實際上是定位目標的坐標和指紋數據的組合,這個指紋是能夠代表當前鏈路的特征數據[4],一般情況下,選擇接收信號強度(Received Signal Strength,RSS)作為指紋數據。
使用位置指紋進行定位分為兩個階段,離線階段和在線階段。在離線階段,在確定好的定位區域中按照定位需求設置若干位置已知的參考點,待定位的目標會依次經過這些參考點,此時我們可以測得信號發射端和接收端之間鏈路的信號強度值,這些數據連同參考點的位置信息形成指紋數據庫。在在線階段,目標進入定位區域中,此時系統可以采集到當前所有信號鏈路的信號強度值,并將其與離線階段的指紋數據庫進行匹配實現位置估計[5]。
假設定位區域由M個發射端和N個接收端構成無線通信網絡,則區域內存在M×N條信號鏈路,再加入一個信號節點作為協調器。在該定位區域內選取L個參考點,位置坐標為li=(xi,yi)。離線階段,當目標位于參考點li時,確定好通信信道,后續的通信過程都在該信道內進行。給每個發射端和接收端進行編號,每一條信號鏈路作為一組,如圖1所示。

圖1 獲取RSS數據示意圖
采用周期循環的方式獲取信號強度,具體流程如下:
(1) 第一組發射端和接收端在信道內進行通信,此時其余的發送端和接收端暫時關閉避免產生干擾,發射端發送的數據包括自身序號和MAC地址等。發射端發送數據前進行空閑信道評估(Clear Channel Assessment,CCA),檢測信道內能量是否低于閾值,若低于閾值則說明信道內無其他數據傳輸,發送正常進行;若高于閾值,則說明信道內有其他數據傳輸,等待一段時間后再執行上述操作。CCA的目的是避免通信碰撞和信號疊加,減小對數據獲取造成的影響。接收端接收到數據后再將自身序號、收到的數據和測得的RSS數據發給協調器進行存儲。
(2) 下一組的發射端和接收端重復步驟(1)的過程,直到所有組的數據都發送完畢。協調器將這些數據連同參考點的坐標一起發給上位機進行存儲。
(3) 改變目標所在參考點位置,重復步驟(1)和步驟(2),直到所有參考點處的信號鏈路的RSS數據都測量完畢。上位機將數據進行處理,按照式(1)構建離線指紋數據庫[6]。
(1)
式中:rssmn表示由第n個接收端與第m個發射端所構成鏈路的信號強度;Loc是參考點的坐標信息,與RSS是一一對應的。
在線階段,待定位目標位于定位區域的某一位置(xt,yt)時,與離線階段的方法相同,采集此時所有鏈路的信號強度,以向量形式存入矩陣RSSt,與先前的指紋數據庫進行匹配,依據一定的準則選擇最匹配的參考點作為目標的估計位置[7]。
(2)
射線跟蹤方法是一種針對特定場景的電磁波傳播計算方法,電磁波從信號發射端發出,可以近似為射線進行研究分析,尋找從發射端到達接收端的直射、反射和衍射路徑,分別對各個路徑的信號進行分析,計算出反射、衍射系數,再計算出各個路徑的信號強度,最后疊加得到接收端的信號強度[8]。射線跟蹤方法完全基于電磁波傳播的物理原理,適用于各類特定室內場景的信道建模。
在室內環境中,影響傳播的三種基本機制為直射、反射和衍射,使用合適的信號傳播模型能有效地減小誤差。很多研究表明,室內路徑損耗[9]遵從式(3)。
(3)
式中:PL(d)和PL(d0)表示與發射端距離d和d0的路徑損耗;n為路徑損耗指數;Xσ表示標準偏差為σdB的正態隨機變量。接收端接收到發射端的信號強度為:
RSS=Pt-PL(d)
(4)
式中:Pt為發射端的發射功率,減去傳播過程中的路徑損耗就可以得到信號強度[10]。
運用式(4)可以計算出室內環境中發射端與接收端之間的信號強度。由于室內環境復雜,信號傳播過程中受到的干擾較多,僅用式(3)和式(4)難以刻畫復雜的傳播過程。據此,本文從信號傳播的直射、反射和衍射路徑出發,分別計算三種路徑的信號強度,疊加得到接收端接收到的信號強度。
直射路徑是指發射端直線傳播到接收端的路徑,計算方法如下:
(5)
p=2πtf
(6)
(7)
式中:t為直射時延;d為發射端與接收端的距離,v為傳播速率;p為直射相位;f為頻率;E為直射路徑的信號強度;λ為波長。
在室內環境中,當無線信號接觸到四周的墻壁、天花板和地板時會發生反射現象,從而對信號傳播造成影響,圖2所示為信號反射的示意圖。圖中,Ei表示入射場,Er表示反射場。參數ε1、σ1和ε2、σ2分別表示兩種介質的介電常數和導電性。

圖2 反射示意圖
從疊加的角度考慮,在解決一般的反射問題時僅須考慮兩個正交極化分量,電場極性平行于入射波平面定義為平行極化場,電場極性垂直于入射波平面定義為垂直極化場[11]。當第一介質是空氣時,在介質邊界處,垂直和平行兩種極化場的反射系數為:
(8)
(9)
ε=ε0εr-jε′
(10)
ε′=σ/2πf
(11)
式中:θ為入射角;ε0=8.85×10-12F/m;εr表示反射介質的相對介電常數;σ表示反射介質的導電性;f表示頻率。
計算出反射系數后,根據反射現象的規律和麥克斯韋公式邊界條件可以推導出式(12)、式(13)。
θi=θr
(12)
E=ΓEi
(13)
式中:Г依賴于極性,如果電場極性平行于入射波平面,那么Г=Г‖;如果電場極性垂直于入射波平面,那么Г=Г⊥。
射線跟蹤中對衍射路徑的計算較為復雜,據此本研究引入了菲涅耳理論將信號鏈路和參考點的位置信息聯系起來,定量計算目標對信號鏈路造成的干擾。
在電磁波傳輸時,當人體站在某一位置時會使得信號繞著人體邊緣表面傳播,從而信號能夠傳播到接收端,這種現象可以用菲涅耳理論解釋。它說明波前上的所有點都可作為產生次級波的點源,這些次級波組合起來形成傳播方向上新的波前,繞射由次級波的傳播進入人體的陰影區而形成,在人體的周圍會形成菲涅耳區[12]。根據文獻[12]的理論,在人體周圍的菲涅耳區中,菲涅耳半徑、人體參數值和RSS變化量存在式(14)、式(15)、式(16)關系。
(14)
(15)
(16)
式中:ΔRSS表示RSS變化量;fac表示人體參數,由人體肩寬bx和人體頭部到背部的距離by計算出;rl(xt)表示人體在xt位置時的菲涅耳半徑,由波長λ、xt位置到發射端的距離ql(xt)和發射端到接收端的距離dl按照式(15)計算出:Δh0表示環境參量。菲涅耳區示意圖如圖3、圖4所示。

圖3 菲涅耳區示意圖

圖4 菲涅耳半徑示意圖
在大多數的無線通信系統中,接收端的總信號強度可以表示為上述三種路徑分量的疊加。考慮到計算復雜度,假設室內場景簡單,只有周圍6面墻壁作為障礙物。對射線遇到障礙物產生的現象進行簡化,只著重考慮一次反射的情況,多次反射后射線的衰減很小,可以忽略不計。且定位空間內只存在單個人體目標,所以只考慮一次衍射的情況。使用射線跟蹤方法時,采取雙循環算法,具體過程如下:
(1) 當目標位于第一個參考點時,先在定位區域內選取第一組信號發射端和接收端,假設該發射端各向均勻地發射n條射線,每條射線的初始能量為E,總的能量為nE。對這n條射線分別進行跟蹤,若射線在空間中沒有遇到任何障礙物時沿直線一直傳播;遇到墻壁等障礙物時,射線會發生反射;遇到人體邊緣時會發生衍射。n條射線中有的射線傳播到能量衰減至閾值以下也未到達接收端,去除這些射線,記錄到達接收端的射線的個數和傳播路徑等相關參數。
(2) 在經過直射、反射和衍射的影響后,射線的能量得到一定的衰減,在接收端接收的信號包含了1條直射路徑、6條墻壁一次反射路徑、x條多次反射路徑和y條人體衍射路徑的信號,x和y的值取決于實際射線跟蹤情況。通過前幾節的方法可以分別計算出這些路徑分量的能量,其中多次反射路徑分量只計算第一次反射時射線的能量,后續多次反射造成的衰減忽略不計。對這些路徑分量的能量進行求和作為當前信號鏈路的信號強度,計算方法如下:
(17)
式中:ELOS為直射路徑分量;EPRi為第i條一次反射路徑分量;EMRi為第i條多次反射路徑分量;EDi為第i條衍射路徑分量。
(3) 選取下一組信號發射端和接收端,重復步驟(1)和步驟(2)。
(4) 重復步驟(3),直到所有的信號鏈路的信號強度都計算完畢。
(5) 改變目標所在參考點的位置,重復步驟(1)至步驟(4),直到計算出目標位于所有參考點處信號鏈路的信號強度[13]。
在線階段測得鏈路的實時信號強度后,需要與離線階段構建的指紋數據庫進行匹配。匹配的方法有很多,本文選擇的是WKNN算法,是K最近鄰(K-Nearest Neighbor,KNN)算法的演變[14]。算法的精髓在于通過計算樣本和待分類事物的距離來衡量兩者的相關性,距離越小說明兩者越接近。對于距離的度量方法有很多種,其中最具代表性的有歐幾里得距離和曼哈頓距離兩種,計算方法如下:
(18)
(19)

計算好距離之后,對距離進行遞增排序。選取前k個距離,找到對應的參考點的位置信息,通過引入權重因子來衡量對最終結果的貢獻程度。距離越近,權重因子越大。最終的分類結果由這k個參考點和對應的權值相乘再相加得到。一般情況下權重因子的選擇是歐幾里得距離的倒數[15],計算方法如下:
(20)
式中:D表示遞增排序后的歐幾里得距離矩陣;wi表示第i個鄰居的權重。待定位目標的位置估計可由下式計算出:
(21)
由無線信號傳播規律可知,實際的物理距離和接收信號強度的歐幾里得距離之間具有非線性關系,因此僅用歐幾里得距離來定義權重值是不準確的[16]。據此,本文在經過實驗后,將歐幾里得距離和曼哈頓距離結合來計算權重因子,計算方法如下:
(22)
(23)
(24)
式中:EWi與式(5)一樣,是用歐幾里得距離的倒數計算的權重;MWi是用曼哈頓距離計算的權重;Mi是選取前k個歐幾里得距離后計算的待測點和這k個參考點的曼哈頓距離。將上述兩種權重因子結合得到wi,最后的位置估計與式(21)相同。
為了驗證提出方法的有效性和合理性,本文進行了實驗,利用MATLAB 2016b工具實現數據獲取和測試定位效果。在20 m×15 m×4 m的區域內每隔1 m設置一個參考點,總計19×14=266個參考點。再布置3個信號發射端和3個接收端,發射端的坐標分別為(1,15,1)、(10,15,1)、(19,15,1);接收端的坐標分別為(1,0,1)、(10,0,1)、(19,0,1),總共可組成9條鏈路。圖5所示為定位區域內信號發射端、接收端的平面分布,圖6所示為參考點的平面分布。

圖5 定位區域平面分布

圖6 參考點平面分布
在離線階段,當目標位于參考點(1,1)時,按照射線跟蹤方法分別計算直射、反射和衍射路徑的信號強度,獲得定位區域內9條鏈路的信號強度值,循環計算266次,可得到一個266×9的指紋數據庫,行代表參考點,列代表鏈路的信號強度。
圖7所示為系統的定位結果圖,在定位區域內隨機生成20個待定位點,通過改進WKNN方法進行定位。

圖7 無設備定位圖
對于本系統而言,k值的選取對結果的影響很大,k值較小,容易發生過擬合,估計誤差會增大。k值較大,可以減少估計誤差,但與待測點距離較遠的參考點指紋數據也會對預測起作用,影響最終的定位結果。圖8所示為不同k值下的定位誤差,可以看出k值增大會一定程度提高定位精度,但是隨著k取值的增大,定位誤差不降反升,可見本系統的最佳k值是7。

圖8 不同k值下的定位誤差
定位區域內隨機選取20個待測點,分別用KNN、WKNN和改進WKNN算法進行定位,圖9所示為這3種算法的定位誤差對比。可以清楚地看出本文提出的改進WKNN算法明顯優于傳統的兩種算法。

圖9 3種算法的定位誤差對比結果
用本文提出的射線跟蹤和菲涅耳理論結合的方法與傳統的室內路徑損耗方法分別構建指紋數據庫,并進行定位的誤差對比,結果如圖10所示。

圖10 兩種模型的定位誤差對比圖
由圖10可知,本文方法的最大誤差為0.686 8 m,最小誤差為0.025 5 m,平均誤差為0.164 7 m,使用本文方法構建的指紋數據庫明顯優于傳統的路徑損耗方式,定位精度提高了47%。
本文為了實現無設備定位,借鑒主動式定位中常用的位置指紋定位的方法,先在定位區域中布置好信號發射端和接收端,設置若干參考點。針對實際測量工作的繁瑣,采用射線跟蹤結合菲涅耳理論的方法進行無線信道的建模。通過計算無線信號的直射、反射和衍射路徑獲取鏈路的信號強度數據,構建位置指紋數據庫,用改進的WKNN方法實現對目標的定位。通過實驗仿真驗證系統的合理性和性能,結果表明系統的定位精度較高,相對于室內路徑損耗方法,本文提出的方法定位精度提高了47%。但是針對實際環境,信道模型中的一些參數還需要修改,解決該問題是下一步的研究方向。