基于RFID的二維室內定位算法的實(shí)現
2二維定位系統設計
本文引用地址:http://dyxdggzs.com/article/274610.htm該設計整體系統架構如圖3所示,服務(wù)器執行RFID定位程序,同時(shí)開(kāi)啟Socket通信端口,等待接收來(lái)自客戶(hù)端的一維定位數據。當Serv-er端本身得到一維定位數據,也接收到Client的一維定位數據后,再將最后定結果顯示在顯示屏上??蛻?hù)端使用嵌入式系統(XSCALE架構PXA-270),主要外圍裝置有隨身碟、控制面板、RFID讀取器、IP分配器。當嵌入式系統啟動(dòng)時(shí),掛載隨身碟將指定的數據夾加載到內存,并執行設定的Shell文件,RFID定位程序執行后,開(kāi)啟通信端口并啟動(dòng)RFID模塊,當RFID定位程序得到一維定位數據后,通過(guò)局域網(wǎng)傳送至Server端。
進(jìn)行RFID定位系統前,讀取器與參考標簽必須擺放在固定位置。服務(wù)器端主程序啟動(dòng)先讀取set.txt文件,以便預先得知參考標簽的卡號以及服務(wù)器與參考標簽的對應距離。接著(zhù),嵌入式系統發(fā)送命令至讀取器,以便讀取參考電子標簽的RSSI值,將所收到的RSSI值儲存至各個(gè)參考標簽專(zhuān)用的陣列里。當多次讀取到參考標簽的RSSI值以后,根據變異數剔除不合理的RSSI,并且保留合理的RSSI做平均,再將參考標簽RSSI值根據式(7)~(10)使用查表法求得參考標簽與讀卡器的距離。上述的程序只需做1次即可,以達到誤差校正的目的。而后執行發(fā)送命令給讀卡器,并接收待定位標簽的卡號及RSSI值。待定位標簽讀取Num次后作變異數處理,Num值可視情況調整。服務(wù)器接收客戶(hù)端的一維定位數據后,以一維距離為依據,換算出二維定位座標。
客戶(hù)端執行動(dòng)作與服務(wù)器端相似,差別在于,執行子程序時(shí),主程序判斷標志位是否為1,若條件成立,將一維定位距離顯示在XSCALE-270的顯示屏上,由Socket端口將客戶(hù)端一維距離數據傳送至服務(wù)器端。
3測試結果
整體系統功能測試在室內實(shí)驗室進(jìn)行,因空間限制,定位的距離實(shí)驗(X,Y)坐標為(3 m,2 m)及(6m,4m)兩組,服務(wù)器為原點(diǎn)(0,0)。每一個(gè)參考標簽讀取10組RSSI值做變異數計算距離參數,定位標簽讀取5組RSSI值做變異數再代入RSSI值求得一維估算距離。將服務(wù)器與客戶(hù)端得到的一維距離數據做換算后求得二維距離坐標,如圖4所示。

圖4 二維距離坐標
由圖4可觀(guān)察到定位坐標在1~30 s內,(X,Y)坐標變化浮動(dòng)大。根據電波本身的特性,知道電子標簽在固定位置不動(dòng),但RSSI值卻會(huì )有飄移的現象產(chǎn)生。根據此現象,在求得定位數據時(shí),需增加讀取參考標簽RSSI值的次數,以求得更精確的定位數據。
增加讀取參考標簽RSSI值的次數為50后,定位的距離實(shí)驗(X,Y)坐標為(7 m,5 m)時(shí)實(shí)驗數據如圖5所示。定位結果發(fā)現準確性與穩定性都有了較大程度的改善,證明這種解決方法有效。

圖5 優(yōu)化后的坐標
評論