基于RFID的二維室內(nèi)定位算法的實(shí)現(xiàn)
摘要:為了克服全球定位系統(tǒng)(GPS)對室內(nèi)定位的盲點(diǎn),在RFID一維定位的理論基礎(chǔ)上推導(dǎo)出二維的室內(nèi)定位算法,只需在室內(nèi)擺放4個(gè)參考標(biāo)簽及兩個(gè)遠(yuǎn)距RFID讀取器即可實(shí)現(xiàn)二維定位,大大降低了系統(tǒng)的硬件成本。另外,基于RFID技術(shù)設(shè)計(jì)了一套嵌入式室內(nèi)定位系統(tǒng),通過該系統(tǒng)對二維定位方法進(jìn)行實(shí)驗(yàn)驗(yàn)證,得到遠(yuǎn)距RFID讀取器的不同二維坐標(biāo)下的實(shí)驗(yàn)數(shù)據(jù)。為了減小RSSI值受電波的影響引起定位的不穩(wěn)定,算法中通過增加讀取參考標(biāo)簽RSSI值的次數(shù)的方法進(jìn)行改善。通過對數(shù)據(jù)的分析可得,該算法可以實(shí)現(xiàn)準(zhǔn)確及穩(wěn)定的二維室內(nèi)定位。
關(guān)鍵詞:二雛室內(nèi)定位;無線射頻識別;嵌入式定位系統(tǒng);RSSI
0 引言
目前RFID定位主要采用LANDARC及其衍生的方法。較常采用的方法是在一個(gè)二維平面上,每隔1~2 m擺放一個(gè)參考標(biāo)簽,而且需要4個(gè)以上的遠(yuǎn)距RFID讀取器,硬件成本較高。本文提出另一種方法,在二維平面上只需使用4個(gè)參考標(biāo)簽及2個(gè)遠(yuǎn)距RFID讀取器,即可實(shí)現(xiàn)二維室內(nèi)定位,大大降低了硬件成本并彌補(bǔ)了GPS只能進(jìn)行室外定位的不足。
1 研究方法
1.1 一維定位
如圖1所示,4個(gè)電子標(biāo)簽#1~#4擺放位置固定。假設(shè)參考標(biāo)簽#1~#4與讀取器的距離分別為rx1,rx2,rx3,rx4,讀取器接收到電子標(biāo)簽#1~#4的信號強(qiáng)度指標(biāo)(RSSI)分別為Sx1,Sx2,Sx3,Sx4。由于在室內(nèi),RFID讀取器除了接收電子標(biāo)簽直線傳輸功率外,也接收了反射功率Pref以及誤差功率Perr。因此RFID讀取器所接收到源自某一電子標(biāo)簽的總功率Ptotal可表示為:
式中:Perr為除了反射因素以外所造成的誤差;Ptr為電子標(biāo)簽所發(fā)射的瞬間功率;Gt,Gr為電子標(biāo)簽及讀取器的天線增益;λ為射頻信號波長。
由于信號強(qiáng)度指標(biāo)RSSI隨著功率遞增而遞增,由式(1)可假設(shè):
但是,實(shí)際測量中,很難知道Ptr,Ptotal,Pref,Perr這些參數(shù)值。為了實(shí)時(shí)測量rx的值,可由預(yù)先得知的(rx1,Sx1),(rx2,Sx2),(rx3,Sx3)及(rx4,Sx4)四組數(shù)據(jù),以多項(xiàng)式來近似式(2)中的f(sx)函數(shù)。假設(shè):
由式(5)、(6)可求得系數(shù)a0,a1,a2,a3。
實(shí)際定位可分為下列步驟:
(1)由圖1中位置固定的電子標(biāo)簽,可以得出(rx1,Sx1),(rx2,Sx2),(rx3,Sx3)及(rx4,Sx4)四組數(shù)據(jù)。
(2)由式(5)、(6)及這四組數(shù)據(jù)可算出多項(xiàng)式的系數(shù)a0,a1,a2,a3。
(3)遠(yuǎn)距讀取器所讀取的最佳RSSI值是介于0~256的整數(shù)值??捎胹x值(0<sx<256),根據(jù)式(3)、(4)先算出所估測的距離rx,然后將已算出的(sx,rx)關(guān)系參數(shù)存儲。待實(shí)際測量時(shí),將此關(guān)系參數(shù)代入即可得到估測的距離rx。
1.2 二維定位
在一維定位的基礎(chǔ)上,可繼續(xù)推導(dǎo)出二維定位的情況。就圖2示意圖而言,使用二個(gè)遠(yuǎn)距RFID讀取器(X,Y)及電子標(biāo)簽#1~#4。假設(shè)待定位電子標(biāo)簽與遠(yuǎn)距讀取器(X,Y)的距離(rX,rY)與RSSI值(sX,sY)的關(guān)系由式(7)~(10)描述。其中系數(shù)aX0,aX1,aX2,aX3及aY0,aY1,aY2,aY3可由前述一維定位的方法推導(dǎo)出來。
由于圖2中遠(yuǎn)距讀取器(X,Y)之間的距離固定而且已知,根據(jù)式(7)~(10)可知二維平面上待定位電子標(biāo)簽的位置。根據(jù)此中位置方法,待定位電子標(biāo)簽的位置也可能是圖2中水平軸以下的位置,如虛線所示。為了分辨出圖2中待定位電子標(biāo)簽的水平軸上下兩個(gè)不同位置,可擺設(shè)另一讀取器。由于讀取器所讀到水平軸上電子標(biāo)簽的RSSI值可區(qū)分出來,因此可分辨出水平軸以上及水平軸以下電子標(biāo)簽的位置。
2 二維定位系統(tǒng)設(shè)計(jì)
該設(shè)計(jì)整體系統(tǒng)架構(gòu)如圖3所示,服務(wù)器執(zhí)行RFID定位程序,同時(shí)開啟Socket通信端口,等待接收來自客戶端的一維定位數(shù)據(jù)。當(dāng)Serv-er端本身得到一維定位數(shù)據(jù),也接收到Client的一維定位數(shù)據(jù)后,再將最后定結(jié)果顯示在顯示屏上。客戶端使用嵌入式系統(tǒng)(XSCALE架構(gòu)PXA-270),主要外圍裝置有隨身碟、控制面板、RFID讀取器、IP分配器。當(dāng)嵌入式系統(tǒng)啟動時(shí),掛載隨身碟將指定的數(shù)據(jù)夾加載到內(nèi)存,并執(zhí)行設(shè)定的Shell文件,RFID定位程序執(zhí)行后,開啟通信端口并啟動RFID模塊,當(dāng)RFID定位程序得到一維定位數(shù)據(jù)后,通過局域網(wǎng)傳送至Server端。
進(jìn)行RFID定位系統(tǒng)前,讀取器與參考標(biāo)簽必須擺放在固定位置。服務(wù)器端主程序啟動先讀取set.txt文件,以便預(yù)先得知參考標(biāo)簽的卡號以及服務(wù)器與參考標(biāo)簽的對應(yīng)距離。接著,嵌入式系統(tǒng)發(fā)送命令至讀取器,以便讀取參考電子標(biāo)簽的RSSI值,將所收到的RSSI值儲存至各個(gè)參考標(biāo)簽專用的陣列里。當(dāng)多次讀取到參考標(biāo)簽的RSSI值以后,根據(jù)變異數(shù)剔除不合理的RSSI,并且保留合理的RSSI做平均,再將參考標(biāo)簽RSSI值根據(jù)式(7)~(10)使用查表法求得參考標(biāo)簽與讀卡器的距離。上述的程序只需做1次即可,以達(dá)到誤差校正的目的。而后執(zhí)行發(fā)送命令給讀卡器,并接收待定位標(biāo)簽的卡號及RSSI值。待定位標(biāo)簽讀取Num次后作變異數(shù)處理,Num值可視情況調(diào)整。服務(wù)器接收客戶端的一維定位數(shù)據(jù)后,以一維距離為依據(jù),換算出二維定位座標(biāo)。
客戶端執(zhí)行動作與服務(wù)器端相似,差別在于,執(zhí)行子程序時(shí),主程序判斷標(biāo)志位是否為1,若條件成立,將一維定位距離顯示在XSCALE-270的顯示屏上,由Socket端口將客戶端一維距離數(shù)據(jù)傳送至服務(wù)器端。
3 測試結(jié)果
整體系統(tǒng)功能測試在室內(nèi)實(shí)驗(yàn)室進(jìn)行,因空間限制,定位的距離實(shí)驗(yàn)(X,Y)坐標(biāo)為(3 m,2 m)及(6m,4m)兩組,服務(wù)器為原點(diǎn)(0,0)。每一個(gè)參考標(biāo)簽讀取10組RSSI值做變異數(shù)計(jì)算距離參數(shù),定位標(biāo)簽讀取5組RSSI值做變異數(shù)再代入RSSI值求得一維估算距離。將服務(wù)器與客戶端得到的一維距離數(shù)據(jù)做換算后求得二維距離坐標(biāo),如圖4所示。
由圖4可觀察到定位坐標(biāo)在1~30 s內(nèi),(X,Y)坐標(biāo)變化浮動大。根據(jù)電波本身的特性,知道電子標(biāo)簽在固定位置不動,但RSSI值卻會有飄移的現(xiàn)象產(chǎn)生。根據(jù)此現(xiàn)象,在求得定位數(shù)據(jù)時(shí),需增加讀取參考標(biāo)簽RSSI值的次數(shù),以求得更精確的定位數(shù)據(jù)。
增加讀取參考標(biāo)簽RSSI值的次數(shù)為50后,定位的距離實(shí)驗(yàn)(X,Y)坐標(biāo)為(7 m,5 m)時(shí)實(shí)驗(yàn)數(shù)據(jù)如圖5所示。定位結(jié)果發(fā)現(xiàn)準(zhǔn)確性與穩(wěn)定性都有了較大程度的改善,證明這種解決方法有效。
4 結(jié)語
本文在一維定位的基礎(chǔ)上,提出RFID二維定位技術(shù),在二維平面上只需使用4個(gè)參考標(biāo)簽及2個(gè)遠(yuǎn)距RFID讀取器即可實(shí)現(xiàn)室內(nèi)定位。并設(shè)計(jì)了室內(nèi)定位系統(tǒng)對該算法進(jìn)行實(shí)驗(yàn)驗(yàn)證,實(shí)驗(yàn)結(jié)果得出二維定位的準(zhǔn)確性與穩(wěn)定性都有了較大程度的改善,在降低RFID定位成本的基礎(chǔ)上提高了定位的性能。