(河北聯(lián)合大學(xué)電氣工程學(xué)院,河北 唐山 063009)
在無線定位應(yīng)用廣泛的今天,射頻識(shí)別(radio frequency identification,RFID)由于其非視距識(shí)別以及低成本的優(yōu)點(diǎn),被廣泛應(yīng)用于室內(nèi)定位。通過物理測(cè)量得到標(biāo)簽與讀寫器之間的距離或角度的定位算法包括:到達(dá)時(shí)間法、到達(dá)時(shí)間差法、到達(dá)角法、接收信號(hào)強(qiáng)度法(received signal strength indication,RSSI)。在這四種方法中,到達(dá)時(shí)間法和RSSI比較常用。但由于到達(dá)時(shí)間法硬件要求太高,所以RFID定位系統(tǒng)中多采用RSSI[1]。
基于RSSI的無線射頻識(shí)別技術(shù)(RFID)是在已知發(fā)射功率的情況下,讀寫器測(cè)量接收功率,使用理論或經(jīng)驗(yàn)的信號(hào)傳播損耗轉(zhuǎn)化為距離。在獲得各個(gè)讀寫器到待測(cè)標(biāo)簽的距離之后,根據(jù)標(biāo)簽到各讀寫器的差值建立一組雙曲線方程。由于方程具有非線性,需要將其轉(zhuǎn)化為線性方程后求解[2]。在線性化方程的求解過程中,應(yīng)用泰勒級(jí)數(shù)展開法,由于其具有很高的定位精度,在初始估計(jì)位置和實(shí)際位置相接近的情況下,可以得到較精確的定位結(jié)果;但在初始位置偏差較大的情況下,算法的收斂性難以保證[3]。為了確保定位結(jié)果的收斂性,本文采用FR共軛梯度法進(jìn)行初始位置的計(jì)算[4]。
RSSI定位算法首先需要建立待測(cè)標(biāo)簽環(huán)境的距離-損耗模型,然后設(shè)定已知讀寫器的參考位置。通過測(cè)量對(duì)比信號(hào)發(fā)射端與接收端的信號(hào)衰減情況來計(jì)算兩者之間的距離,設(shè)置多個(gè)讀寫器便可利用三邊或多邊定位法來完成對(duì)待測(cè)標(biāo)簽的定位[5]。
電磁信號(hào)在室內(nèi)空間傳播的過程中,會(huì)受到墻壁、障礙物等影響,產(chǎn)生能量損耗與衰減。這種因外界環(huán)境引起的衰減與電磁波發(fā)射與接收過程中所傳播的距離有直接的關(guān)系。RSSI采用的信號(hào)距離-損耗模型一般為對(duì)數(shù)距離衰減模型,其表達(dá)式為:
(1)
式中:d為發(fā)射機(jī)和接收機(jī)之間的距離;do為參考距離;η為信道衰減指數(shù),一般取值2~4;Xσ為均值為零、均方差為σ的高斯隨機(jī)噪聲變量;P(do)為距離發(fā)射機(jī)do處的信號(hào)強(qiáng)度;P(d)為距離發(fā)射機(jī)d處的信號(hào)強(qiáng)度;P(do)可以通過經(jīng)驗(yàn)得出,通過信號(hào)強(qiáng)度P(d)求出距離d[6]。
如果四個(gè)讀寫器參與定位,則使用雙曲線模式建立方程組。根據(jù)對(duì)數(shù)距離衰減模型得到待定位標(biāo)簽到各個(gè)讀寫器的距離后,可建立方程:
Di,1=Di-D1
(2)
(3)
如果三個(gè)讀寫器參與定位,則使用圓周模型建立方程:
(4)
式中:(Xi,Yi)為讀寫器坐標(biāo);(x,y)為待測(cè)標(biāo)簽坐標(biāo);Ri為讀寫器與標(biāo)簽之間的距離;N為參與定位的讀寫器數(shù)目。
式(2)的求解過程為求解非線性方程組,求解非線性方程組相當(dāng)于無約束非線性最優(yōu)化問題,非線性問題需要進(jìn)行線性化處理[7]。
FR共軛梯度法是由線性問題發(fā)展而來的求解無約束非線性最優(yōu)化問題的方法。其具有二次終止性,計(jì)算量小,因而得到廣泛應(yīng)用。將FR共軛槽度法與泰勒級(jí)數(shù)展開算法相結(jié)合,可有效提高定位精度,保證定位的準(zhǔn)確性[8]。
以下為四個(gè)讀寫器參與定位時(shí),所建立的方程組通過泰勒級(jí)數(shù)展開法求解的過程。
根據(jù)式(2)定義函數(shù):
假設(shè)(x0,y0)為待定位標(biāo)簽位置坐標(biāo)的初始值:
x=x0+δxy=y0+δy
(5)
采用泰勒級(jí)數(shù)展開,僅保留前兩項(xiàng)可得:
(6)
(7)
式(6)可以寫為:
Aδ=D+e
(8)
令:
(9)
(10)
(11)
(12)
對(duì)于式(8)的加權(quán)最小二乘的解為:
δ=[ATR-1A]-1ATR-1D
(13)
令:
如果δz>10,則算法發(fā)散;如果δz<0.000 1,則算法收斂,停止計(jì)算,輸出定位結(jié)果。
首先將si(x,y)計(jì)算式改寫成:
ψi(x,y)=si(x,y)-di,1+εi,1i=2,…,N
(14)
使用FR共軛梯度法對(duì)式(14)構(gòu)造模函數(shù):
(15)
FR共軛梯度法將共軛性和最速下降方向相結(jié)合,利用已知迭代點(diǎn)處的梯度方向構(gòu)造一組共軛方向,并沿此方向進(jìn)行搜索,求出函數(shù)極小點(diǎn)。
設(shè)算法中所使用的各估計(jì)點(diǎn)為wk,對(duì)應(yīng)的坐標(biāo)為(xk,yk),k=0,1,……。函數(shù)Ψ(x,y)在一點(diǎn)的梯度方向?yàn)镚,-G即為最速下降方向[9]。在FR共軛梯度法中,第一個(gè)搜索方向取最速下降方向,即d0=-G0,其他搜索方向根據(jù)FR共軛梯度法得到:
dk+1=-Gk+1+βkdk
(16)
βk根據(jù)FR法計(jì)算,即:
(17)
設(shè)(x0,y0)為解的一個(gè)近似值,從此點(diǎn)開始進(jìn)行搜索,搜索方向?yàn)樽钏傧陆捣较?,即d0=-G0。計(jì)算Φ在此點(diǎn)的梯度方向:
G0=(g10,g20)T
(18)
(19)
若‖G0‖<ε,則停止,w0為所求極小點(diǎn);否則繼續(xù)計(jì)算。
若‖G0‖>ε,沿負(fù)梯度方向-G0跨一適當(dāng)?shù)牟介L(zhǎng)λ0。步長(zhǎng)的求取方法采用非精確線性搜索法Armijo準(zhǔn)則,即:
(20)
式中:ξ∈(0,1);σ∈(0,0.5);gk為梯度方向;dk為搜索方向,令步長(zhǎng)λk=ξmk,其中mk為滿足式(19)的最小非負(fù)整數(shù)。
搜索過程中,由m=0,mk=m開始搜索,wk+1=wk+ξmkdk,如果不等式成立,則停止運(yùn)算;否則m=m+1,繼續(xù)運(yùn)算。
求出的λ0可以使得新的點(diǎn)(x1,y1)為Ψ(x,y)在方向d0上的相對(duì)極小值,即:
Ψ(x1,y1)≈min{Ψ(x0-λ0g10,y0-λ0g20)}
(21)
將λ0代入下式:
wk+1=wk+λkdk
(22)
求得w1之后計(jì)算G1,若‖G1‖<ε,則停止,w1為所求極小點(diǎn);否則重復(fù)上述過程,直到‖Gk‖足夠小為止。
搜索過程中,首先使用FR共軛梯度法進(jìn)行搜索定位。在位置比較接近之后,得到初步定位結(jié)果。然后使用Taylor級(jí)數(shù)展開算法對(duì)初步定位結(jié)果進(jìn)行精確。
本文使用Matlab進(jìn)行定位仿真[10],仿真采用四個(gè)讀寫器,讀寫器的分布以及各個(gè)讀寫器大概的讀卡范圍如圖1所示。
圖1 讀寫器分布圖
四個(gè)讀寫器的讀卡范圍分別為R1(5,5),R2(5,10),R3(10,5),R4(10,10)。
每個(gè)讀寫器的識(shí)別距離在10 m以內(nèi),在仿真區(qū)域的中間部分,四個(gè)讀寫器均參加定位;在比較邊緣的位置,三個(gè)較近的讀寫器參與定位。
為了對(duì)比改進(jìn)效果,本文對(duì)傳統(tǒng)泰勒級(jí)數(shù)展開法也做了仿真。仿真中協(xié)同定位算法和傳統(tǒng)泰勒級(jí)數(shù)展開法的仿真精度均取0.000 1。
根據(jù)所有仿真結(jié)果,當(dāng)四個(gè)讀寫器均參加定位的情況下,定位結(jié)果受到初始值是否接近真實(shí)值,以及所得的測(cè)量值是否精確的影響。定位結(jié)果可以分為四類。
① 初始值接近真實(shí)值,所得的測(cè)量值精確,協(xié)同定位算法的結(jié)果與傳統(tǒng)泰勒級(jí)數(shù)展開法的結(jié)果相同。
② 初始值遠(yuǎn)離真實(shí)值,所得的測(cè)量值精確,協(xié)同定位算法定位結(jié)果準(zhǔn)確,且收斂情況良好,而傳統(tǒng)泰勒級(jí)數(shù)展開法則不能收斂。
③ 初始值遠(yuǎn)離真實(shí)值,所得的測(cè)量值不精確,協(xié)同定位算法定位結(jié)果較為準(zhǔn)確,且收斂情況良好,而傳統(tǒng)泰勒級(jí)數(shù)展開法則不能收斂。
④ 特殊情況為所得的測(cè)量值誤差較大,無論初始值是否接近真實(shí)值,協(xié)同定位算法與傳統(tǒng)泰勒級(jí)數(shù)展開法均不收斂,此時(shí)定位結(jié)果采用FR共軛梯度法的定位結(jié)果。
誤差采用均方根誤差RMSE:
(23)
第二種情況,以真實(shí)點(diǎn)(6.3,7.9)為例,如表1所示,協(xié)同定位算法解決了傳統(tǒng)泰勒級(jí)數(shù)展開法不收斂的問題。
第四種情況,以真實(shí)點(diǎn)(3.3,6.9)為例,如表2所示,協(xié)同定位算法與傳統(tǒng)泰勒級(jí)數(shù)展開法均不收斂的問題,采用FR共軛梯度法的定位結(jié)果。
表1 初始值遠(yuǎn)離時(shí)定位結(jié)果
表2 測(cè)量誤差較大時(shí)定位結(jié)果
定位結(jié)果分為以下兩類。
① 初始值接近真實(shí)值,協(xié)同定位算法比傳統(tǒng)泰勒級(jí)數(shù)展開法更加精確。
② 初始值遠(yuǎn)離真實(shí)值,協(xié)同定位算法定位結(jié)果較為準(zhǔn)確,且收斂情況良好,而傳統(tǒng)泰勒級(jí)數(shù)展開法則不能收斂。
以上兩種情況均以真實(shí)點(diǎn)(11.7,13)為例,一號(hào)讀寫器不參與定位。
第一種情況如表3所示,協(xié)同定位算法提高了傳統(tǒng)泰勒級(jí)數(shù)展開法的精度。第二種情況如表4所示,協(xié)同定位算法解決了傳統(tǒng)泰勒級(jí)數(shù)展開法不收斂的問題。
表3 初始值接近時(shí)定位結(jié)果
表4 初始值遠(yuǎn)離時(shí)定位結(jié)果
分析仿真結(jié)果可得,F(xiàn)R共軛梯度法與泰勒級(jí)數(shù)展開法協(xié)同定位算法相結(jié)合,有效改進(jìn)了傳統(tǒng)泰勒級(jí)數(shù)展開法在初始估計(jì)值距離真實(shí)值差距較大的情況下算法難以收斂的問題。當(dāng)三個(gè)基站參與定位時(shí),協(xié)同定位算法提高了定位精度。當(dāng)三個(gè)基站參與定位、測(cè)量誤差較大的情況下,兩種算法均不收斂,可以采用FR共軛梯度法的定位結(jié)果,使得協(xié)同定位算法具有很強(qiáng)的應(yīng)用性。
[1] 王保云.物聯(lián)網(wǎng)技術(shù)研究綜述[J].電子測(cè)量與儀器學(xué)報(bào),2009(12):1-7.
[2] 徐加偉,牛清偉.淺談煤礦井下人員定位系統(tǒng)[J].煤礦開采,2009,14(4):72-74.
[3] 譚民,劉禹,曽雋芳.RFID技術(shù)系統(tǒng)工程及應(yīng)用指南[M].北京:機(jī)械工業(yè)出版社,2007.
[4] 葉晨成,校景中,肖麗.基于RFID的井下人員定位系統(tǒng)[J].武漢理工大學(xué)學(xué)報(bào):工學(xué)版,2010,32(15):146-149.
[5] 羊紅光,邢亞斌,張湃.基于RFID的井下人員定位系統(tǒng)[J].河北省科學(xué)院學(xué)報(bào),2011,28(4):53-56.
[6] 劉宗元.基于射頻識(shí)別(RFID)的室內(nèi)定位系統(tǒng)研究[D].中山:中山大學(xué),2009.
[7] 李俊.基于RFID的室內(nèi)定位系統(tǒng)的研究和設(shè)計(jì)[D].成都:電子科技大學(xué),2009.
[8] 薛毅.最優(yōu)化原理與方法[M].北京:北京工業(yè)大學(xué)出版社,2001.
[9] 林敏.RFID標(biāo)簽定位技術(shù)研究[D].鎮(zhèn)江:江蘇大學(xué),2007.
[10]樊榮.RFID讀寫器定位算法研究[D].成都:電子科技大學(xué),2010.