基于RFID的二維室內(nèi)定位算法的實現(xiàn)
2 二維定位系統(tǒng)設(shè)計
該設(shè)計整體系統(tǒng)架構(gòu)如圖3所示,服務(wù)器執(zhí)行RFID定位程序,同時開啟Socket通信端口,等待接收來自客戶端的一維定位數(shù)據(jù)。當Serv-er端本身得到一維定位數(shù)據(jù),也接收到Client的一維定位數(shù)據(jù)后,再將最后定結(jié)果顯示在顯示屏上。客戶端使用嵌入式系統(tǒng)(XSCALE架構(gòu)PXA-270),主要外圍裝置有隨身碟、控制面板、RFID讀取器、IP分配器。當嵌入式系統(tǒng)啟動時,掛載隨身碟將指定的數(shù)據(jù)夾加載到內(nèi)存,并執(zhí)行設(shè)定的Shell文件,RFID定位程序執(zhí)行后,開啟通信端口并啟動RFID模塊,當RFID定位程序得到一維定位數(shù)據(jù)后,通過局域網(wǎng)傳送至Server端。
進行RFID定位系統(tǒng)前,讀取器與參考標簽必須擺放在固定位置。服務(wù)器端主程序啟動先讀取set.txt文件,以便預(yù)先得知參考標簽的卡號以及服務(wù)器與參考標簽的對應(yīng)距離。接著,嵌入式系統(tǒng)發(fā)送命令至讀取器,以便讀取參考電子標簽的RSSI值,將所收到的RSSI值儲存至各個參考標簽專用的陣列里。當多次讀取到參考標簽的RSSI值以后,根據(jù)變異數(shù)剔除不合理的RSSI,并且保留合理的RSSI做平均,再將參考標簽RSSI值根據(jù)式(7)~(10)使用查表法求得參考標簽與讀卡器的距離。上述的程序只需做1次即可,以達到誤差校正的目的。而后執(zhí)行發(fā)送命令給讀卡器,并接收待定位標簽的卡號及RSSI值。待定位標簽讀取Num次后作變異數(shù)處理,Num值可視情況調(diào)整。服務(wù)器接收客戶端的一維定位數(shù)據(jù)后,以一維距離為依據(jù),換算出二維定位座標。
客戶端執(zhí)行動作與服務(wù)器端相似,差別在于,執(zhí)行子程序時,主程序判斷標志位是否為1,若條件成立,將一維定位距離顯示在XSCALE-270的顯示屏上,由Socket端口將客戶端一維距離數(shù)據(jù)傳送至服務(wù)器端。
3 測試結(jié)果
整體系統(tǒng)功能測試在室內(nèi)實驗室進行,因空間限制,定位的距離實驗(X,Y)坐標為(3 m,2 m)及(6m,4m)兩組,服務(wù)器為原點(0,0)。每一個參考標簽讀取10組RSSI值做變異數(shù)計算距離參數(shù),定位標簽讀取5組RSSI值做變異數(shù)再代入RSSI值求得一維估算距離。將服務(wù)器與客戶端得到的一維距離數(shù)據(jù)做換算后求得二維距離坐標,如圖4所示。
由圖4可觀察到定位坐標在1~30 s內(nèi),(X,Y)坐標變化浮動大。根據(jù)電波本身的特性,知道電子標簽在固定位置不動,但RSSI值卻會有飄移的現(xiàn)象產(chǎn)生。根據(jù)此現(xiàn)象,在求得定位數(shù)據(jù)時,需增加讀取參考標簽RSSI值的次數(shù),以求得更精確的定位數(shù)據(jù)。
增加讀取參考標簽RSSI值的次數(shù)為50后,定位的距離實驗(X,Y)坐標為(7 m,5 m)時實驗數(shù)據(jù)如圖5所示。定位結(jié)果發(fā)現(xiàn)準確性與穩(wěn)定性都有了較大程度的改善,證明這種解決方法有效。
4 結(jié)語
本文在一維定位的基礎(chǔ)上,提出RFID二維定位技術(shù),在二維平面上只需使用4個參考標簽及2個遠距RFID讀取器即可實現(xiàn)室內(nèi)定位。并設(shè)計了室內(nèi)定位系統(tǒng)對該算法進行實驗驗證,實驗結(jié)果得出二維定位的準確性與穩(wěn)定性都有了較大程度的改善,在降低RFID定位成本的基礎(chǔ)上提高了定位的性能。
評論