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