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


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

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