馮 帆,吳 春,陳軍慧
(中電海康集團有限公司,浙江 杭州 310012)
物聯(lián)網(wǎng)(Internet of Things,IOT)技術(shù)的發(fā)展,使得室內(nèi)定位技術(shù)獲得廣泛關(guān)注,而在室內(nèi)環(huán)境中,全球?qū)Ш叫l(wèi)星系統(tǒng)(Global Navigation Satellite System,GNSS)的定位信號微弱,不能用于室內(nèi)定位,由此衍生出GNSS之外的室內(nèi)定位技術(shù)。
對于室內(nèi)定位技術(shù),根據(jù)距離可將其分為測距法和非測距法,其中基于非測距法包括:質(zhì)心算法[1]、APIT算 法 (Approximate Point-in-triangulation Test)[2]、位置指紋匹配算法[3]等;基于測距的常用方法包括:三角定位算法,最小二乘定位算法,基于信號到達角度(Angle of Arrival,AoA)[4]、信號達到時間(Time of Arrival,ToA)[5]、信號到達時間差(Time Difference of Arrival,TDoA)[6]、信號強度RSSI(Received Signal Strength Indicator)的定位[7]算法等。
由于基于測距的定位精度一般要比基于非測距的定位精度高,實際應(yīng)用往往采用基于測距的定位算法??紤]到基于RSSI測距無需精確的時間同步和角度測量,也不需要增加額外設(shè)備,功耗成本低且實施簡單,更加適用于室內(nèi)定位系統(tǒng),所以本文采取基于RSSI的定位技術(shù)來預估室內(nèi)待測節(jié)點的位置,同時結(jié)合粒子濾波與卡爾曼濾波,來提高定位精度。
本文基于RSSI定位模型的流程圖如圖1所示。
圖1 RSSI定位算法流程圖Fig.1 Algorithm flow chart of RSSI localization
在利用RSSI進行定位之前,首先需要建立基于RSSI測距的模型,即信號強度RSSI和距離d的關(guān)系。
理論上,無線信號和距離存在一定關(guān)系。若在已知發(fā)射節(jié)點和接收節(jié)點功率的情況下,可根據(jù)理論或經(jīng)驗傳播模型把傳播損耗轉(zhuǎn)換為距離。傳統(tǒng)的無線信號傳播衰減模型為[8]:
其中:RSSI(d)表示距離發(fā)射節(jié)點為d的接收節(jié)點接收到的信號強度;α表示信號傳播過程中的損耗因子;ζσ表示標準差為σ的服從正態(tài)分布的隨機量。一般情況下,為簡化模型,令d0=0,即距離為1m時的信號強度,且不考慮影響較小的ζσ,則簡化后的模型為:
根據(jù)簡化后的信號衰減模型,對測量的RSSI和d進行對數(shù)擬合,得到常系數(shù)A=RSSI(1)和α,從而就可確定RSSI和d的關(guān)系。
基于RSSI測距的模型,就可以在已知RSSI的情況下,根據(jù):
計算得出標簽與信標的距離,從而就能夠?qū)撕炦M行定位。
對于處于靜止狀態(tài)的標簽,對標簽接收到的RSSI做高斯濾波處理;而對于移動狀態(tài)下的標簽,標簽位置會發(fā)生變化,標簽接收到的RSSI也不是同一位置的值。如果對移動標簽接收到的RSSI采用常用的濾波方法,如:均值濾波、中值濾波、高斯濾波處理等,得到的結(jié)果并不具有參考價值。標簽在移動時,由于當前位置和前一位置存在某種關(guān)系,采用速度常量濾波[9]處理標簽在某一時間段內(nèi)接收到的RSSI值,并利用濾波后的值對標簽進行位置預估。
對于某個標簽接收到的所有RSSI數(shù)據(jù){ri}in=1,采用速度常量濾波進行處理,該濾波過程有兩個階段:
其中:riprev為i時刻RSSI的測量值,ripred為i時刻RSSI的預測值,riest為i時刻RSSI的預估值,vipred為i時刻RSSI變化率的預測值,viest為i時刻RSSI變化率的預估值;a,b為增益值,為采樣時間間隔。
結(jié)合粒子濾波(Particle Filter,PF)用于目標追蹤的思想,將粒子濾波用于室內(nèi)移動標簽定位,以標簽的位置坐標為狀態(tài)值,接收到的RSSI值為觀測值,其具體過程如下:
(1)初始狀態(tài):根據(jù)初始位置估計,對初始位置增加隨機擾動,得到粒子的初始位置;
(2)預測階段:根據(jù)標簽移動規(guī)則以及粒子前一位置信息,預測粒子當前的位置;
(3)校正階段:對每個粒子的預測位置進行評估,越接近于實際觀測值的粒子權(quán)重越大;
(4)重采樣:根據(jù)粒子權(quán)重對粒子進行篩選,篩選過程中,既要大量保留權(quán)重大的粒子,又要有一小部分權(quán)重小的粒子;
(5)濾波:將重采樣后的粒子作為新的粒子,并取其位置均值作為當前預估位置,轉(zhuǎn)步驟2。
考慮到標簽在移動過程中前一位置和后一位置之間存在線性關(guān)系,采用線性卡爾曼濾波(Kalman Filter,KF)對粒子濾波的結(jié)果進行優(yōu)化。以標簽位置坐標和速度為狀態(tài)值,以粒子濾波預估位置為觀測值,則卡爾曼濾波的迭代方程為:
其中,Xk=(xk,yk,vxk,vyk)為k時刻的狀態(tài)值,表示k時刻的預估位置和預估速度;
測試環(huán)境為某個辦公室,標簽置于高度約2.5m的天花板,測試人員佩戴標簽在室內(nèi)移動。設(shè)置標簽發(fā)包頻率為1s/3次,移動狀態(tài)下的標簽每2s計算一次位置。
考慮到測試人員佩戴標簽在移動的過程中會出現(xiàn)面對信標、背對信標、側(cè)對信標等各種情況,在測量RSSI和距離關(guān)系的時候,分別采集了測試人員在面對和背對信標的兩種情況下接收到的RSSI值。
由于RSSI值浮動較大,在每種情況下的每個位置均采集了2min的數(shù)據(jù)。對于采集的2min數(shù)據(jù),采用高斯濾波處理方式得到當前位置所對應(yīng)的RSSI,最后將面對和背對情況下處理后的RSSI值取均值,結(jié)果見表1。
表1 RSSI以及對應(yīng)的距離dTable 1 RSSI and its corresponding distance d
根據(jù)RSSI和距離d的關(guān)系:
可知,RSSI和距離d的對數(shù)成線性關(guān)系。因此,對RSSI和log10d做線性擬合,擬合參數(shù)見表2。
表2 線性擬合參數(shù)Table 2 Parameters of linear fitting
從而得到A=-57.51α=2.24。將系數(shù)重新代回式(7),得到RSSI和距離的關(guān)系式,其擬合曲線如圖2所示。
圖2 RSSI和距離擬合曲線Fig.2 Fitting curve of RSSI and distance
在獲得RSSI和距離的關(guān)系之后,開始測試預估標簽在不同狀態(tài)(靜止和移動)下的室內(nèi)位置。測試環(huán)境主要在辦公室四樓,安裝在辦公室的信標的位置示意如圖3所示,各個信標的坐標見表3。
圖3 信標安裝位置示意圖Fig.3 Position schematic diagram of installed beacons
表3 信標坐標Table 3 Positions of beacons
2.2.1 靜止標簽定位
將標簽置于某工位上,收集信標發(fā)出的信號一定時間后,對該段時間內(nèi)收集到的RSSI做高斯濾波處理,然后采用本文提出的濾波算法進行位置預估,得到的預估結(jié)果如圖4所示。
在圖4中,實心五角星點為標簽真實位置,空心五角星為該段時間內(nèi)預估的標簽位置。以標簽真實位置為圓心,分別作半徑為3m,4m和5m的圓,可以發(fā)現(xiàn)采用本算法預估的標簽位置基本均在4m圓的范圍內(nèi),大多數(shù)落在2m圈內(nèi)。將標簽固定在某一位置進行多次測試,分別計算預估位置落在2m圈、3m圈、4m圈以及5m圈內(nèi)的概率;同時,與傳統(tǒng)質(zhì)心法、丁恩杰等人[10]提出的基于距離的加權(quán)質(zhì)心算法的定位精度概率進行了對比,結(jié)果見表4。
表4 不同算法的預估位置精度概率對比Table 4 Comparison of estimated position accuracy probability of different algorithms
圖4 靜止于某位置的標簽定位結(jié)果圖Fig.4 Positioning results of a tag in a certain position
2.2.2 移動標簽定位
測試人員將標簽以佩戴工作牌的方式佩戴在胸前,在布置信標區(qū)域內(nèi)勻速運動,測試結(jié)果如圖5所示。
圖5 待定位目標移動軌跡示意圖Fig.5 Moving track of a target to be localized
圖5中實心五角星表示本文算法預估的位置,從小標號到大標號為測試人員移動方向,其中存在部分預估位置重合的情況,比如13和14,16和17,35和36等,出現(xiàn)這種情況是由于標簽當前接收到的RSSI信號較弱。測試結(jié)果顯示,預估的移動軌跡與測試人員實際行走路徑一致,且滿足定位誤差要求。
本文研究了基于RSSI的室內(nèi)定位算法,首先采用粒子濾波預估標簽位置,然后利用卡爾曼濾波對標簽的預估位置進行優(yōu)化。對于靜止狀態(tài)下的標簽,采用高斯濾波處理RSSI;對于移動狀態(tài)的標簽采用速度常量濾波處理,最后均采用以上方法進行定位。
在室內(nèi)場景進行實際測試,結(jié)果表明本文提出的定位方法能夠達到低于3m的定位精度的概率為99.5%,而且能夠?qū)崿F(xiàn)對移動標簽的實時定位。