段本亮,李建雄,陳明省,毛陸虹
(1.天津工業(yè)大學 電子與信息工程學院,天津 300387;2.天津大學 電子信息工程學院,天津 300072)
近年來,隨著移動通信技術、無線技術的飛速發(fā)展,更多的應用需要確定物體的位置信息,定位技術越來越受到人們的關注.根據(jù)環(huán)境的不同,定位可以分為室外定位和室內(nèi)定位.目前最常用的室外定位誤差主要有衛(wèi)星定位和蜂窩網(wǎng)定位技術2種,其定位方法都在米數(shù)量級,在室外環(huán)境中可以較好地滿足用戶需求,然而建筑物的屏蔽作用令其室內(nèi)定位精度大打折扣,而且高昂的成本使其直接應用于室內(nèi)環(huán)境也存在困難.為了更好的實現(xiàn)室內(nèi)定位,必須采用新的方法與技術.目前較常用的室內(nèi)定位技術主要有超聲波、紅外線、藍牙、超寬帶(UWB)和射頻識別(RFID)[1].紅外線和超寬帶定位技術造價昂貴、系統(tǒng)復雜;藍牙定位技術定位精度較差;而RFID技術以其非接觸、非視距、成本低且定位精度高等優(yōu)點,逐漸成為了室內(nèi)定位領域的優(yōu)選技術,被業(yè)界公認為是本世紀最有價值的應用技術之一[2-4].RFID定位系統(tǒng)一般由閱讀器、標簽和應用軟件系統(tǒng)3部分組成,通過檢測到的標簽反射回來的信號強度來表征閱讀器與標簽之間的幾何距離,是一種基于接收信號強度指示(received signal strength indicator,RSSI)的定位技術[5].本文首先介紹現(xiàn)有的2種基于RFID的室內(nèi)定位算法即RSSI線性定位算法和LANDMARC算法,分析其優(yōu)缺點,結合2種算法給出了改進的RFID室內(nèi)定位算法,并進行了仿真分析和總結.
基于理論和測試的傳播路徑模型指出,經(jīng)過多徑信道接收到的信號強度一般服從對數(shù)正態(tài)分布.常用的對數(shù)距離路徑損耗模型遵從公式[6]:
式中:P(d)表示經(jīng)過距離 d 后的路徑損耗值;P(d0)表示經(jīng)過距離d0后的路徑損耗值,d0為參考距離,一般取值為1 m;n表示路徑損耗指數(shù),表示路徑損耗隨距離增長的速率,它主要受周圍環(huán)境和建筑物的影響,取值范圍一般為2~4;Xσ是均值為0、標準差為δ的高斯分布隨機數(shù),δ的范圍一般為4~10.
路徑損耗P(d)與閱讀器接收到的信號強度Pr(d)及系統(tǒng)發(fā)射功率Pt之間存在以下關系:
為了得到閱讀器接收到的信號強度與距離之間的關系,將式(1)代入式(2),整理可得對數(shù)距離路徑損耗模型的另一表達式:
式中:Pr(d)表示閱讀器在距離標簽d時接收到的信號強度,即RSSI,單位為dBm;Pr(d0)表示閱讀器在參考點d0時接收到的信號強度.本文采用式(3)對閱讀器接收到的RSSI進行處理得到距離關系.
通過硬件設施完成信號的接收及信號強度的測量,根據(jù)上述建立的傳播路徑信號損耗模型計算出各個閱讀器與待定位標簽之間的距離,然后根據(jù)距離方程組使用最小二乘法便可計算出待定位標簽的坐標.假設共有n個閱讀器,坐標分別為(xi,yi),(i=1,2,…,n),各個閱讀器與待定位標簽之間計算出的距離為di,待定位標簽的坐標為(x,y),所列出的距離方程組如下:
將方程組的前(n-1)個方程分別減去第n個方程,從而達到把二次方程線性化的目的,得到下列方程組:
則(5)式可寫為:
用最小二乘法(LS)求解可得:
向量θ里的元素即為計算出來的待定位標簽的坐標值(x,y).
RSSI線性定位算法[7]是目前最常用的室內(nèi)定位算法之一,其原理簡單,數(shù)據(jù)處理量小,系統(tǒng)實時性好.當然RSSI線性算法也存在著一些不足,最大的缺點就是定位精度不是很高,要想進一步提高定位精度,就需要增加閱讀器的數(shù)目,從而導致成本的提高.根據(jù)文獻[8]所述,閱讀器與標簽距離越遠,測距誤差就越大.由此可知,當定位邊緣區(qū)域的標簽距離個別閱讀器較遠時,測距誤差較大,從而定位誤差變大,甚至有時無法實現(xiàn)定位.所以非常有必要對此算法進行改進,解決邊緣區(qū)域定位差的問題,從而使該算法更具有適用性.
LANDMARC (location identification based on dynamic active rfid calibrarion)定位算法[9]是一種經(jīng)典的基于有源RFID系統(tǒng)的室內(nèi)定位算法,設計思想是采用固定參考標簽輔助定位,通過待定位標簽的信號強度值與參考標簽的信號強度值之間的比較,采用“最近鄰居”權重思想,計算出定位標簽的坐標.LANDMARC算法具有較高的定位精度,可擴展性好,能處理比較復雜的環(huán)境,是一種非常實用的定位算法.
假設有n個閱讀器、m個參考標簽和u個待定位標簽.待定位標簽的坐標為(xi,yi),(i=1,2,…,u).閱讀器分別讀出所有參考標簽和待定位標簽的場強值.待定位標簽坐標求解過程如下:
(1)定義待定位標簽的信號強度矩陣S:
式中:Sij(i=1,2,…,u;j=1,2,…,n)表示第j個閱讀器讀取到第i個待定位標簽的信號強度.定義參考標簽的信號強度矩陣θ:
式中:θpj(p=1,2…,m;j=1,2…,n)表示第j個閱讀器讀取到第p個參考標簽的信號強度.
定義待定位標簽與參考標簽的歐幾里德距離矩陣E:
Eip越小說明它們之間的距離越近.
(2)為了計算出待定位標簽的坐標,人為地選擇k個參考標簽,其坐標記為(x'r,y'r)(r=1,2,…,k),這些參考標簽與待定位標簽i的歐幾里德距離是(Ei1,Ei2,…,Eim)中最小的k個值,記為E'ir(r=1,2,…,k).待定位標簽i的坐標可以通過這k個參考標簽的坐標及其權重得到
式中:ωir為待定位標簽i的第r個鄰居參考標簽的權重(r=1,2,…,k),距離越近的標簽所占的權重越大.ωir可根據(jù)經(jīng)驗公式得到:
(3)定義估計誤差:通過比較待定位標簽的估算坐標與實際坐標,可以計算出他們之間的誤差值:
式中:(xi,yi)為估算的待定位標簽坐標位置;(xi0,yi0)為待定位標簽的實際坐標位置.
LANDMARC算法具有以下3個方面的優(yōu)勢:
(1)采用多個廉價的參考標簽代替了昂貴的閱讀器,降低了整個定位系統(tǒng)的成本;
(2)待定位標簽和參考標簽處于同樣的環(huán)境中,環(huán)境因素的影響可以很大程度地抵消;
(3)定位精度較高.
但是,它也有一些不足之處:
(1)定位精度與參考標簽密度有關,要想獲得更高的定位精度,必須布置更多的參考標簽,一方面增加了系統(tǒng)成本和標簽布局難度,另一方面太多的參考標簽還會造成標簽之間的信號干擾;
(2)該算法在確定鄰近參考標簽時,需要計算所有的參考標簽與待定位標簽之間的歐幾里德距離,從而會導致大量的不必要的計算而影響定位實時性.
RSSI線性定位算法的定位誤差雖然比LANDMARC算法要大一些,但其不需要布置大量的參考標簽,既可以節(jié)省一部分成本,又避免了特殊空間難以布置參考標簽的問題,所以在精度要求不太高的場合仍有著較大的應用價值.由前文分析可知RSSI線性定位算法邊緣區(qū)域定位誤差較大,所以本文借鑒LANDMARC算法定位精度較高的優(yōu)勢,在定位邊緣區(qū)域布置少量參考標簽,并在布置參考標簽的區(qū)域采用LANDMARC算法,而其他區(qū)域仍采用RSSI線性定位算法.這樣不僅解決了RSSI線性定位算法邊緣區(qū)域定位誤差大的問題,而且相比整個區(qū)域全部使用LANDMARC算法降低了一些成本,減少了算法運行時間.該算法流程圖如圖1所示.
圖1 改進算法流程圖Fig.1 Improved algorithm flow chart
在路徑損耗指數(shù)n=2.2、標準差δ=5的環(huán)境下,按照圖2(a)所示位置在20 m×20 m的空間邊緣區(qū)域放置68個參考標簽,參考標簽間距為2 m,4個閱讀器位于空間邊界的角上,并在定位區(qū)域設置10個待定位標簽.圖2(b)除了沒有放置參考標簽以外,其它條件與圖2(a)相同.圖2(c)是在所有的區(qū)域都放置上參考標簽,總數(shù)為117個,其它條件與圖2(a)和圖2(b)完全相同.
由圖 2 可知,待定位標簽 Tag1、Tag2、Tag3、Tag4、Tag5、Tag6、Tag7位于邊緣區(qū)域,待定位標簽 Tag8、Tag9、Tag10位于非邊緣區(qū)域.
采用MATLAB數(shù)學軟件分別對RSSI線性定位算法、LANDMARC算法和本文改進算法仿真50次.定義計算出來的待定位標簽的坐標為(xt,c,yt,c)(t=1,2,…,10;c=1,2,…,50),待定位標簽的實際坐標為(xt,y)t(t=1,2,…,10),計算出來的坐標與實際坐標的歐式距離為et,c=(t=1,2,…,10;c=1,2,…,50).利用每個待定位標簽的平均誤差=(t=1,2,…,10)和所有標簽的平均誤差=(t=1,2,…,10)評估本文提出的算法性能,結果如圖3所示.
圖2 不同算法情況下的閱讀器與標簽布局圖Fig.2 Reader and Tag layout diagram on different algorithms
圖3 標簽定位誤差對比圖Fig.3 Tag positioning error comparison diagram
由圖3可知,相對于RSSI線性定位算法,采用改進算法后,邊界待定位標簽 Tag1、Tag2、Tag3、Tag4、Tag5、Tag6、Tag7的定位誤差得到了顯著下降,精確度得到有效提高.7個邊界待定位標簽的估計誤差與RSSI線性算法相比降低了35.8%~60.4%.使用RSSI線性定位算法、LANDMARC算法和本文改進算法時的所有標簽平均定位誤差分別為1.97、1.23、1.25,由此可見本文改進算法與LANDMARC算法的定位精度非常接近.3種算法相比較,RSSI線性定位算法用時0.004398 s,LANDMAR算法用時0.040603 s,改進算法用時0.029161 s.RSSI線性定位算法定位誤差最大,但用時最少,LANDMARC算法比改進算法的定位精度稍高,但算法執(zhí)行時間更長,并且需要更多的參考標簽,所以改進的算法相比LANDMARC算法而言實時性更好,成本更低一些.
本文提出的改進算法在沒有增加太多成本的基礎上解決了RSSI線性定位算法在邊緣區(qū)域定位精度差的問題,提高了整體系統(tǒng)的定位精度,擴大了該算法的適用范圍.由于該算法只是在邊緣區(qū)域布置參考標簽,所以與LANDMARC算法相比,減少了參考標簽的使用數(shù)目進而降低了系統(tǒng)成本和減小了系統(tǒng)布局的難度.由于該算法只是在邊緣區(qū)域才使用LANDMARC算法,所以算法計算量比單純使用LANDMARC算法減少了許多,從而提高了系統(tǒng)的實時性.在定位精度要求不太嚴格的場合,該改進算法有很大的使用價值.
[1]張文錦,李建雄,毛陸虹.基于多波束切換的便攜式RFID閱讀器設計 [J].天津工業(yè)大學學報,2013,31(1):52-56.
[2]SHIRAISHI T,KOMURO N,UEDA H.Indoor location estimation technique using UHF band RFID[C]//Information Networking,2008 International Conference.Busan:[s.n],2008:1-5.
[3]SHIH S,HSIEH K,CHEN P.An improvement approach of indoor location sensing using active RFID[C]//Innovative Computing,Information and Control,2006 First International Conference.Beijing:[s.n],2006:453-456.
[4]DAI H,SU D.Indoor location system using RFID and ultrasonic sensors[C]//Personal,Indoor and Mobile Radio Communications,2006 IEEE 17th International Symposium.Kunming:[s.n],2006:1179-1181.
[5]陳永光.基于信號強度的室內(nèi)定位技術[J].電子學報,2004,32(9):1456-1458.
[6]楊大成.移動傳播環(huán)境理論基礎、分析方法和建模技術[M].北京:機械工業(yè)出版社,2003.
[7]顧宗海.基于RSSI測距的室內(nèi)定位算法研究[D].鄭州:鄭州大學,2011.
[8]黃濤.物聯(lián)網(wǎng)短距離定位算法研究 [D].大連:大連理工大學,2011.
[9]NI L,LIU Y,LAU Y,et al.LANDMARC:Indoor location sensing using active RFID [C]//Proceedings of the First IEEE International Conference on Pervasive Computing and Communications(Per-Com2003).Dallas:[s.n],2003:407-415.