李寶山 岳 康
LANDMARC定位算法的修正與優化
李寶山 岳 康
(內蒙古科技大學信息工程學院 內蒙古 包頭 014010)
LANDMARC作為基于RFID技術室內定位的一項傳統定位算法,在相關定位系統的研究中得到了廣泛的應用。然而在實際的定位和應用過程中,LANDMARC定位算法仍存在著一些缺點和不足。針對算法定位過程中錯選鄰居標簽概率較高造成誤差較大的情況,提出一種基于LANDMARC的修正與優化算法,算法主要通過幾何運算比較來排除并校正錯選的鄰居標簽。實驗結果表明,在不同的定位環境條件下,修正與優化后算法其錯選鄰居標簽的概率大大降低,結果使定位誤差有了明顯的減小。
RFID 室內定位 LANDMARC算法 修正算法
基于RFID技術的室內定位算法可分為兩大類:基于測距的定位算法和與距離無關的定位算法?;跍y距的定位算法其基本思想是利用信號傳播的時間、接收信號的角度或強度信息來計算出相關的距離信息,然后通過三邊測量法、三角測量法、最小二乘法或最大似然估計法來計算估計出定位目標的位置。典型的測距方法有基于信號到達角(AOA)法、基于信號到達時間(TOA)法、基于信號到達時間差 (TDOA)法以及基于接收信號強度 (RSSI)法。與測距無關的定位算法可分為質心、Dv-Hop、凸規劃、APS、APIT以及SeRLoc法等[1-3]?;跍y距的定位算法往往比與測距無關的定位算法具有更高的定位精度,但是由于前者在定位時需要復雜精確的測距及計算,這往往使得定位過程過于復雜,定位的適時性降低,而后者卻不需要大量繁瑣的測距和計算過程。
LANDMARC算法結合了基于測距和與測距無關的定位算法。首先利用RSSI信息求出最近鄰居標簽,然后根據加權質心算法求解待定位標簽的位置坐標[2]。但LANDMARC算法典型的缺點是由于定位環境影響,信號在傳播過程中會發生各種情況的反射、衍射和多徑效應。這樣就造成LANDMARC算法易錯選鄰居標簽[4]。大量的實驗研究表明LANDMARC算法錯選鄰居標簽的概率高達65%,這樣必然使得定位結果誤差較大,定位精度降低[5]。針對此問題本文提出一種LADMARC算法優化和修正方法,通過理論分析與實驗驗證,修正與優化后算法的定位精度有明顯的提高和改善。
1.1 算法的定位原理及步驟
LANDMARC算法作為一種基于有源RFID技術的室內定位算法[6],其基本原理思想是利用標簽的信號強度信息(RSS)找到與待定位標簽信號強度值相近的K個鄰居參考標簽,然后利用權重質心法求出待定位標簽的位置[7]。典型的基于LANDMARC算法的定位系統中有若干讀寫器和參考標簽,一個或多個待定位標簽,且參考標簽均按照正方形的規則進行布放[8, 9],其定位步驟如下:


(3) 計算待定位標簽j與參考標簽i之間的歐幾里德距離Eij:
(1)
(4) 根據k近鄰算法,找到Eij中k個最小值及其對應的參考標簽的位置坐標(xp,yp),其中0
(5) 求得K個參考標簽對應的權重系數值wk:
(2)
(6) 由權重質心法求得待定位標簽的坐標為:
(3)
1.2 性能分析
LANDMARC定位算法并沒有將接收到的RSSI值轉化為距離信息,而是采用位置固定的參考標簽來輔助定位,這樣就克服了傳統的基于RSSI測距定位算法的不足。但傳統的LANDMARC定位算法仍然存在著大量的缺點和不足[9],可總結為以下幾點:
(1) 算法的定位精度與參考標簽和閱讀器的布放密度和布放位置密切相關,過低或過高的密度都不會達到最佳的定位效果;
(2) 最近鄰居K值的選取是一個關鍵因素;
(3) LANDMARC定位算法不能很好地克服信號在傳播過程中遇到的多徑、衍射、反射等現象;
(4) 當待定位標簽位于參考標簽的布放區域邊緣時,定位精度明顯下降;
(5) 定位時要檢測并比較每個參考標簽與待定位標簽的值并選出K個近鄰標簽,這樣使得算法的計算量大大增加;
(6) 大量的實驗研究表明,在K個鄰居標簽的選取過程中,定位算法錯選鄰居標簽的概率高達65%。
針對上述LANDMARC算法存在的缺點和問題,相關的學者已經提出了許多對應的優化方案和解決方法。比如提出對參考標簽進行等邊三角形布放或正方形布放;通過適當增加參考標簽的數量來提高定位精度;針對不同的定位環境通過實驗選擇適當數量的閱讀器和最近鄰居標簽數量;對處于邊緣的待定位標簽定位精度偏低的問題提出了BVIRE算法;針對定位的計算冗余問題,提出了區域劃分等方法。雖然這一系列的改進算法在一定范圍內提高了算法的定位精度,但在進行定位過程中其錯選鄰居標簽概率較高的問題并沒有得到很好的解決。
2.1 改進算法思想
利用LANDMARC算法進行定位,造成定位精度較低的一個重要原因是由于定位環境和信號傳播特性的影響,K鄰居標簽的錯選概率較高。改進的LANDMARC定位算法在已有的改進算法基礎上對參考標簽的擺放位置和相互間的幾何關系運用數學理論進行相關分析,找到有效降低由于錯選鄰居標簽造成的定位誤差影響的方法。其標簽布放和定位方法如圖1所示。

圖1 修正算法的標簽布放及定位原理
如圖1所示,假設參考標簽以正方形進行布放,正方形的邊長為a,最佳鄰居標簽個數K值為4,最佳讀寫器個數為4,其擺放位置在定位區域的四個頂角上。根據LANDMARC算法,理想的情況下參考標簽A、B′、C、D信號強度與待定位標簽m信號強度的歐氏距離最小,即其與待定位標簽的真實坐標位置最接近。而在實際的定位過程中,由于信號傳播特性和傳輸路徑的影響,信號在傳播過程中易出現多徑、反射、衍射等現象,使得定位系統易錯選鄰居標簽。在最近鄰居標簽的選取上,相關研究表明其錯選一個鄰居標簽的概率遠遠高于其錯選多個標簽的概率,所以本文只對出現一個錯選鄰居標簽進行分析研究。假設最近鄰居標簽B′被錯選為鄰居標簽,那么定位結果便由參考標簽A、B、C、D決定,這樣就會造成定位結果出現較大的偏差。對于此情況,改進的算法主要步驟如下:
(1) 根據LANDMARC定位算法求得最近鄰標簽A、B、C、D,由此四個鄰居標簽結合加權質心算法得到待定位標簽初次定位坐標m′(xm′,ym′)。
(2) 計算初次定位坐標m′與最近鄰居標簽A,B,C,D之間的幾何距離分別為dAm′、dBm′、dCm′、dDm′。其中鄰居標簽A與初次定位坐標m′之間的距離可表示為:
(4)
同理可求得距離dBm′、dCm′、dDm′。
(3) 比較初次定位標簽與各鄰居標簽之間的距離,求出最大的距離dmax。假設有:
dmax=dBm′
(5)
