陳珊珊,吳 飛,史志才,王昌志,張玉金,劉 謹,陳計偉
(上海工程技術大學 電子電氣工程學院,上海 201620)
目前,在室內定位系統中,常用的定位技術有超聲波、藍牙、Wi-Fi、ZigBee、紅外線和射頻識別(RadioFrequency Identification,RFID)等[1-2]。相比之下,RFID定位技術憑借具有低成本、非視距、非接觸性識別和高精度等優點,被廣泛應用于室內定位技術中[3]。
傳統的RFID定位方法依據傳播模型中信號強度損耗和距離的關系,通過獲得閱讀器與電子標簽之間的距離,然后利用幾何方法來計算得到待定位電子標簽的坐標。然而,由于室內環境復雜多樣、多徑效應影響嚴重、信號在室內傳輸不穩定等因素,導致基于信號傳播模型的室內定位方法缺乏適用性,且對經驗依賴性較高。為此,文獻[4]介紹了一種基于BP(Back-propagation Neural Network)神經網絡的室內定位方法,通過利用BP神經網絡來擬合網絡參數的非線性函數關系,進而解決了室內無線信號傳播模型中參數影響定位誤差的問題,大大縮小了定位誤差。文獻[5-6]等分別提出了一種基于BP神經網絡的室內定位算法,通過利用BP網絡學習接受信號強度值(RSSI)和信號傳輸路徑損耗系數間的映射關系,從而建立了網絡的定位模型,提高了傳統定位算法的精度。文獻[7]則提出了一種改進的BP神經網絡定位方法,以接收信號強度(RSSI)為輸入、二維平面坐標(x,y)為輸出建立網絡結構。結果表明,該方法訓練收斂時間短、結果穩定。然而,以上方法均沒有考慮定位時RFID閱讀器的部署對定位結果產生的影響。
針對上述問題,本文提出了一種基于PSO優化的RFID室內定位算法。首先,將定位時閱讀器在室內的最優分布等效為平面范圍內的優化問題,并借助于PSO優秀的目標搜索能力對該問題進行求解,從而獲取理想的閱讀器位置分布。其次,利用閱讀器接受到標簽的RSSI和標簽二維平面坐標(x,y)間的映射關系,建立基于BP神經網絡的定位模型。最后,利用訓練好的網絡模型,預測待定位標簽的位置坐標(xx,yy)。實驗仿真結果表明,提出的定位算法在定位精度上提升明顯。
此閱讀器獲取定位標簽的信號強度隨著傳播距離的增加而減弱。由于信號強度在室內環境下會發生反射、繞射和散射等現象,室內環境下信號路徑損耗常用的模型是對數模型[8-9],即:

其中,d0為參考標簽到閱讀器間的距離,d0=1,參考標簽的坐標為(xs,ys),閱讀器的坐標為(Xk,Yk),φ為路徑損耗系數,Xδ表示均值為0、標準差為δ的高斯隨機噪聲。
BP神經網絡是一種多層前饋神經網絡(誤差反向傳播神經網絡),可以看作是一個非線性函數,將網絡輸入值和函數值分別作為該函數的自變量和因變量。由于室內定位的本質是尋找標簽的信號強度與位置間的非線性映射關系[10],因此將BP網絡應用到定位時,其對應的自變量與因變量分別是標簽的信號強度向量與坐標向量,如圖1所示。

圖1 BP神經網絡定位
基于BP網路的定位方法包括兩個階段:離線階段和在線階段。
離線階段。將采集到的標簽和閱讀器間的RSSI值進行噪聲過濾,然后分別將每個標簽的RSSI值及其對應的位置坐標作為BP網絡的輸入和輸出向量,經過反復訓練得到基于BP網絡的定位模型。
在線階段。將待定位標簽接收到的RSSI值經過噪聲過濾后輸入到離線階段建立的定位模型,即可獲得待定位標簽的估計位置坐標。
由定位算法原理可知,定位結果與參考標簽接收的信號強度有關。RFID閱讀器發送給標簽的信號隨著傳播距離的增大而減小。由于定位時在某點測量的RSSI值會不斷波動,且該RSSI值波動一般遵循高斯分布,因此定位結果與參考標簽間的信號空間歐式距離有關[11-12]。其中,某個參考標簽的信號歐式距離是指該參考點2 m以內的所有參考標簽與其歐氏距離的平均值。
若 RSSIs={RSSI,RSSI,…,RSSI}和RSSIt={RSSI,RSS,…,RSS}分別是第s個和第t個參考標簽的接收到P個閱讀器的信號強度向量,則第s個和第t個參考標簽的信號空間歐式距離Ds,t為:

由于定位環境實時變化的特性,某一位置接收到的信號并不是一個確定值,而是一個時變量。假設某參考標簽接收到的信號是一個隨機變量,它在以O點為圓心、以r為半徑的圓中變動,如圖2所示。
由圖2知,在參考標簽A與B的物理間隔都為2 m時,歐式距離越大,定位誤差就越小,其定位系統對信號波動的容忍能力也就會隨之變強。因此,為了達到上述目標,需要優化閱讀器部署,使其所有參考標簽的歐式距離平均值與其標準差之差最大,計算公式為:

其中,H是所有參考標簽信號平均歐氏距離與其標準差的差值,h是所有參考標簽的P維信號強度歐式距離平均值,F是所有與參考標簽s物理距離小于2 m的參考標簽,L是所有參考標簽個數。

圖2 信號歐式距離對定位精度的影響
閱讀器部署問題的本質是利用參考標簽間信號空間歐式距離的大小來判別信號覆蓋特性是否有利于系統的定位需求,即求得閱讀器分布的最優位置。本文將該問題等效為平面優化問題,并使用PSO算法對閱讀器在平面分布的位置進行最優求解。求解流程如圖3所示。

圖3 PSO優化閱讀器位置分布流程
粒子群優化算法PSO(Particle Swarm Optimization)是一種智能算法,具有模仿鳥類尋找食物行為的特點,可以用來優化閱讀器的平面位置分布。
步驟1:PSO參數初始化。初始化參數包括設置粒子的種群規模、迭代次數、飛行速度范圍和學習因子等。
步驟2:構建目標函數,計算粒子的適應度值。PSO算法中每個粒子代表了閱讀器的位置,且每組粒子對應一個由適應度函數決定的適應度值,并把所有參考標簽的歐式距離平均值與其標準差之差作為個體適應度值。它的適應度函數fit(Xk,Yk)可以由式(1)、式(2)、式(3)和式(4)獲得。PSO算法通過尋找最大適應度函數值而得到閱讀器最優位置。
步驟3:計算個體極值和全局最優解。個體極值為每個粒子找到的歷史上最優的位置信息,并從這些個體歷史最優解中找到一個全局最優解,然后與歷史最優解比較,選出最佳的解作為當前的歷史最優解。
步驟4:更新粒子的位置和速度。粒子速度和位置根據式(5)、式(6)不斷更新:

其中,u為估計粒子參數慣性,c1和c2為自定義的加速常數,r1、r2為0-1范圍的均勻隨機數,為第t次迭代時粒子的速度,為第t次迭代時粒子的位置,pid為每個粒子的最好位置,pgd為所有粒子的最好位置。
步驟5:判斷是否滿足收斂條件,如果不滿足則繼續進行。
步驟6:輸出PSO算法的最優全局解,即為閱讀器在定位時平面分布的最優位置。
為了評估所提出的算法性能,本文采用Matalb 2016a對實驗進行仿真設計。實驗仿真環境如圖4所示,在16 m×16 m的正方形區域內均勻分布256個參考標簽,相鄰參考標簽間距為1 m。同時,在該區域內依據經驗布置4個閱讀器,其最初位置坐標 分 別 為(4.5,4.5)、(14.5,4.5)、(14.5,13.5)和(4.5,13.5)。另外,利用無線信號傳播經驗式(1),模擬參考標簽與閱讀器之間的RSSI值。

圖4 初始閱讀器位置分布
仿真測試過程中,本文主要采用誤差errori來評價閱讀器的位置分布對定位算法的定位精度影響,定位誤差可由式(7)計算得到。

其中,(xi,yi)為第i個待定位標簽的實際位置,(xo,yo)為第i個待定位標簽的預測位置。
根據上述仿真參數的設置,將隨機得到的100個待定位點作為測試標簽,并利用信號傳播式(1)分別獲取這100個待定位標簽的信號強度向量。然后,將參考標簽的信號強度向量與其坐標組成的二元組作為BP網絡的測試輸入數據。在相同環境下運行算法,即可得到該100個待定位點的預測位置。圖5展示了隨機得到的100個待定位標簽的實際位置分布,圖6是經BP神經網絡定位的結果,圖7是經本文提出算法定位的結果。

圖5 待定位標簽的平面坐標分布

圖6 BP神經網絡定位結果

圖7 本文提出方法定位結果
從圖6和7可以看出,相對于本文提出的定位算法,BP神經網路的定位結果整體不夠理想,誤差偏大;本文提出的算法定位結果整體誤差明顯優于BP網絡的定位結果。
為了直觀比較BP神經網絡和本文提出方法的定位效果,圖8分別給出了這兩種定位方法的最小值、最大值和平均值。

圖8 BP與本文提出的算法的誤差比較
從圖8可以清楚看出,本文提出的算法的最小定位誤差為0.130 4 m,比BP神經網絡提高了79.44%;最大定位誤差為0.999 8 m,比BP神經網絡提高了48.81%;平均定位誤差為0.547 7 m,比BP神經網絡提高了42.16%。這說明在定位時閱讀器位置的合理分布能有效減少算法的定位誤差,提高算法的定位精度。圖9為閱讀器經過PSO優化后的平面位置分布。

圖9 經PSO優化后的閱讀器位置分布
圖9 中,4個閱讀器的平面位置坐標依次為(1.5,5.5)、(12.5,4.0)、(14.5,12.5)和(4.5,14.0)。可見,與定位時閱讀器的初始位置分布相比,閱讀器平面坐標明顯發生了變化。
本文針對RFID室內定位時閱讀器的部署影響定位精度的問題,提出了一種基于PSO的RFID室內定位算法。該方法將閱讀器在室內的最優分布等效為平面范圍內的優化問題,并使用具有優秀尋優能力的PSO對其進行求解,從而獲得了最佳的閱讀器平面分布位置。進一步地,利用BP神經網絡對待定位標簽進行位置估計。實驗仿真表明,相對于根據經驗對閱讀器進行部署的定位方法,本文提出的通過PSO優化閱讀器部署的定位方法,使得參考標簽之間的信號歐氏距離更大,改善了定位系統對信號波動的容忍能力,提高了定位精度,更適用于室內定位。