牛 琨,高仲合,張 凡
(曲阜師范大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,山東 曲阜 273165)
伴隨著普適計(jì)算(Ubiquitous Computing)的正式提出,人們可以通過各種信息傳感設(shè)備實(shí)時(shí)采集、監(jiān)督和管理目標(biāo)的數(shù)據(jù)信息[1]。其中,位置信息服務(wù)的研究逐漸成為熱點(diǎn)。在室外定位方面,基于衛(wèi)星的定位系統(tǒng)憑借大范圍、高精度等優(yōu)勢已廣泛應(yīng)用于軍事偵察、氣象監(jiān)測和運(yùn)輸監(jiān)管等領(lǐng)域[2];在室內(nèi)定位方面,研究機(jī)構(gòu)根據(jù)復(fù)雜的信道環(huán)境及現(xiàn)有成熟的無線通信技術(shù)提出了多種定位系統(tǒng)[3-7],無線射頻識別RFID(Radio Frequency IDentification)憑借非接觸、非視距、高精度和低成本等特點(diǎn)成為優(yōu)選的室內(nèi)定位技術(shù)之一[6],已廣泛應(yīng)用于護(hù)理監(jiān)測、車間管理等領(lǐng)域[8 - 10]。
近年來,基于接收信號強(qiáng)度指示RSSI(Received Signal Strength Indication)的測距定位機(jī)制成為了最常用的RFID定位機(jī)制[11],該機(jī)制依靠路徑損耗模型將接收到的信號強(qiáng)度值轉(zhuǎn)化成距離信息后進(jìn)一步求解。LANDMARC(LocAtioN iDentification based on dymaMic Active RFID Calibration)定位算法就是其中的典型應(yīng)用。VIRE(VIrtural Reference Elimination)算法在LANDMARC算法的基礎(chǔ)上引入虛擬參考標(biāo)簽,利用線性插值計(jì)算虛擬參考標(biāo)簽的RSSI值,通過鄰近地圖去除冗余位置信息。其優(yōu)點(diǎn)是在不增加額外成本和信號干擾的同時(shí),提高定位標(biāo)簽的定位精度。但是,VIRE算法的虛擬參考標(biāo)簽全部設(shè)置在中心區(qū)域的參考標(biāo)簽矩形陣列中,導(dǎo)致邊緣區(qū)域定位精度低,并且虛擬參考標(biāo)簽RSSI值計(jì)算所采用的線性插值也不符合實(shí)際情況;其次,選取鄰近參考標(biāo)簽時(shí)所采用的固定閾值可能出現(xiàn)鄰近參考標(biāo)簽“唯一性”;同時(shí),在實(shí)際情況中需要根據(jù)室內(nèi)環(huán)境反復(fù)地手動調(diào)整閾值才能達(dá)到最佳效果;最后,由于多徑效應(yīng)引起的參考標(biāo)簽RSSI值與預(yù)期相差過大的情況偶有發(fā)生,這些都會影響到虛擬參考標(biāo)簽的RSSI值與定位標(biāo)簽的定位精度。
針對上述VIRE算法的不足,本文提出一種面向整體區(qū)域的VIRE定位算法。首先,增加虛擬參考標(biāo)簽數(shù)量,擴(kuò)大虛擬參考標(biāo)簽分布,并且運(yùn)用牛頓插值方法計(jì)算虛擬參考標(biāo)簽的RSSI值,提高整體定位區(qū)域定位標(biāo)簽的定位精度;其次,采用動態(tài)閾值的方式避免鄰近參考標(biāo)簽的“唯一性”,提高定位系統(tǒng)對復(fù)雜環(huán)境的適應(yīng)性;之后,通過計(jì)算所有鄰近參考標(biāo)簽之間的距離來判斷鄰近參考標(biāo)簽是否出現(xiàn)RSSI值與預(yù)期相差過大所導(dǎo)致的不可信情況;最后,運(yùn)用誤差校正方法計(jì)算定位標(biāo)簽的最終位置坐標(biāo)。
為了解決LANDMARC算法定位精度與參考標(biāo)簽數(shù)量之間的沖突問題[12,13],VIRE算法在參考標(biāo)簽的基礎(chǔ)上引入了虛擬參考標(biāo)簽。算法將4個(gè)相鄰的參考標(biāo)簽所圍成的矩形區(qū)域稱為物理網(wǎng)格單元,每個(gè)物理網(wǎng)格單元被劃分為N*N個(gè)虛擬網(wǎng)格單元,虛擬網(wǎng)格單元的頂點(diǎn)位置插入虛擬參考標(biāo)簽,通過線性插值求得RSSI值。虛擬參考標(biāo)簽水平方向和垂直方向的RSSI值計(jì)算分別如式(1)和式(2)所示:
(1)
(2)
其中,Rl(Ti,j)表示第l(1≤l≤L)個(gè)讀寫器讀取/計(jì)算得到的位于(i,j)坐標(biāo)的參考標(biāo)簽/虛擬參考標(biāo)簽的RSSI值,L表示讀寫器的總數(shù)量,a=i/n,b=j/n,p=imodn(0≤p≤n-1),q=jmodn(0≤q≤n-1)。
將第l個(gè)讀寫器讀取的定位標(biāo)簽RSSI值與虛擬參考標(biāo)簽RSSI值作差,若差值在固定閾值以下則標(biāo)記為1,反之為0,由此得到第l個(gè)讀寫器對于定位標(biāo)簽的差值矩陣,稱為“鄰近地圖”。所有讀寫器重復(fù)此操作得到鄰近地圖后,取所有鄰近地圖的交集(即只取相同位置元素值為1的參考標(biāo)簽)得到最終的鄰近地圖。選擇鄰近地圖中元素值為1的參考標(biāo)簽作為該定位標(biāo)簽的鄰近參考標(biāo)簽,代入如式(3)所示的權(quán)重因子計(jì)算公式可得最終位置坐標(biāo)。
(3)
權(quán)重因子W1i中Rl(Ti)是第l個(gè)讀寫器接收到第i個(gè)鄰近參考標(biāo)簽的RSSI值,Rl(θ)是第l個(gè)讀寫器接收到的定位標(biāo)簽的RSSI值。因此,權(quán)重因子W1i與鄰近參考標(biāo)簽和定位標(biāo)簽之間的RSSI差值有關(guān),W1i越小,表示鄰近參考標(biāo)簽擁有越高的參考性。
將鄰近地圖中互相連接的鄰近參考標(biāo)簽記為群,權(quán)重因子W2i的計(jì)算如式(4)所示:
(4)
其中,na表示群數(shù),nci表示第i群中的鄰近參考標(biāo)簽的數(shù)量。因此,權(quán)重因子W2i與鄰近參考標(biāo)簽的群體密度有關(guān),W2i越大,表示該群中的鄰近參考標(biāo)簽擁有越高的參考性。
VIRE算法采用Wi=W1i*W2i作為綜合權(quán)重因子計(jì)算定位標(biāo)簽的最終坐標(biāo)位置,如式(5)所示:
(5)
假設(shè)實(shí)驗(yàn)場景如圖1所示,在8 m*8 m的定位區(qū)域放置4臺讀寫器,在中心區(qū)域規(guī)則地放置16個(gè)間隔為2 m的參考標(biāo)簽。VIRE算法在每4個(gè)相鄰的參考標(biāo)簽所圍成的區(qū)域內(nèi)插入(N+1)2-4個(gè)虛擬參考標(biāo)簽(見圖1中心區(qū)域)。通過分析可知,當(dāng)定位標(biāo)簽落入中心區(qū)域時(shí),定位標(biāo)簽與所選擇的鄰近參考標(biāo)簽之間坐標(biāo)位置接近,且鄰近參考標(biāo)簽具有較好的參考性;當(dāng)定位標(biāo)簽落入邊緣區(qū)域時(shí),定位標(biāo)簽與所選擇的鄰近參考標(biāo)簽之間距離較遠(yuǎn),甚至難以選擇合適的鄰近參考標(biāo)簽,此時(shí)鄰近參考標(biāo)簽的參考性大大降低。為了解決定位區(qū)域參考標(biāo)簽分布不均衡,邊緣區(qū)域的定位標(biāo)簽定位精度低的問題,本文在VIRE算法參考標(biāo)簽分布的基礎(chǔ)上,在邊緣區(qū)域中插入虛擬參考標(biāo)簽。
Figure 1 Reference label distribution map of the VIRE algorithm in overall region圖1 VIRE算法整體區(qū)域參考標(biāo)簽分布圖
VIRE算法的整體區(qū)域虛擬參考標(biāo)簽分布圖如圖1所示。在邊緣區(qū)域的每個(gè)1 m*2 m的矩形中插入(N+1)2-2個(gè)虛擬參考標(biāo)簽,使定位區(qū)域的虛擬參考標(biāo)簽分布更加均衡,提高邊緣區(qū)域定位標(biāo)簽的定位精度。4個(gè)角的1 m*1 m區(qū)域不設(shè)置虛擬參考標(biāo)簽的原因?qū)⒃?.2節(jié)說明。
由于信號的衰減程度是復(fù)雜的非線性關(guān)系,所以在VIRE算法中利用線性插值計(jì)算虛擬參考標(biāo)簽RSSI值容易帶來額外的誤差。文獻(xiàn)[14]利用牛頓插值對虛擬參考標(biāo)簽的RSSI值進(jìn)行了估算;文獻(xiàn)[15]通過克里金插值計(jì)算虛擬參考標(biāo)簽的RSSI值。 本文在多種內(nèi)插法中選擇具備良好的擴(kuò)展性和適應(yīng)性的牛頓插值代替線性插值。牛頓插值法如下所示:
設(shè)多項(xiàng)式函數(shù)f(x),(x0,f(x0)), (x1,f(x1)), (x2,f(x2)),…,(xn,f(xn))是n+1個(gè)相對于多項(xiàng)式f(x)的互不相等的點(diǎn)。式(6)表示f(x)關(guān)于點(diǎn)x0,x1,…,xn的n階差商:
f[x0,x1,…,xn]=
(6)
將n階差商代入插值多項(xiàng)式,最終得到式(7)所示的牛頓插值多項(xiàng)式:
f(x)=f(x0)+f[x0,x1](x-x0)+…+
f[x0,x1,…,xn](x-x0)(x-x1)…
(x-xn-1)+f[x0,x1,…,xn](x-x0)
(x-x1)…(x-xn-1)(x-xn)
(7)
因此,當(dāng)出現(xiàn)增加節(jié)點(diǎn)的情況時(shí),牛頓插值法能夠在不改變多項(xiàng)式前項(xiàng)的前提下根據(jù)增加的節(jié)點(diǎn)數(shù)量擴(kuò)充多項(xiàng)式后項(xiàng),具有良好的擴(kuò)展性和適應(yīng)性。利用牛頓插值法計(jì)算虛擬參考標(biāo)簽的RSSI值的步驟如下所示:
(1)將參考標(biāo)簽按照與讀寫器的距離升序排列組成行向量,對行向量做“唯一”操作去除重復(fù)距離元素后得到向量D作為插值自變量,之后將向量D中的距離元素對應(yīng)的RSSI值組成向量R作為插值因變量。
(2)為了避免高次牛頓插值多項(xiàng)式引起的龍格現(xiàn)象,將插值變量進(jìn)行分段:設(shè)向量D的元素?cái)?shù)量為m,按照(1,m/3),(m/3,2m/3),(2m/3,m)將向量D分成元素?cái)?shù)量相同或相近的3組,將對應(yīng)序號的距離元素分別代入向量D1,D2和D3,向量R中的對應(yīng)元素也代入向量R1,R2和R3。
(3)將虛擬參考標(biāo)簽按照與讀寫器的距離依次代入對應(yīng)分組的牛頓插值多項(xiàng)式計(jì)算RSSI值。
通過上述分段方法能夠使各段插值多項(xiàng)式包含相同或相近的節(jié)點(diǎn)個(gè)數(shù),以此平衡各段插值多項(xiàng)式的計(jì)算能力;同時(shí),各段插值多項(xiàng)式的已知節(jié)點(diǎn)位于端點(diǎn)兩側(cè),可以有效實(shí)現(xiàn)數(shù)值內(nèi)插,提高牛頓插值法的準(zhǔn)確性。由此可知,如果在定位區(qū)域4個(gè)角的1 m*1 m區(qū)域設(shè)置虛擬參考標(biāo)簽,則超出了分段牛頓內(nèi)插法的范圍,導(dǎo)致虛擬參考標(biāo)簽的RSSI值不準(zhǔn)確,影響邊角區(qū)域定位標(biāo)簽的定位精度,因此,定位范圍4個(gè)角的1 m*1 m區(qū)域不設(shè)置虛擬參考標(biāo)簽。
閾值是VIRE算法選擇鄰近參考標(biāo)簽的重要參數(shù),也是影響算法定位準(zhǔn)確度的重要因素。VIRE算法采用固定閾值機(jī)制,虛擬參考標(biāo)簽的密度決定閾值的最佳選擇:當(dāng)虛擬參考標(biāo)簽密度較大時(shí),距離定位標(biāo)簽較遠(yuǎn)的低參考性標(biāo)簽可能混入鄰近參考標(biāo)簽,導(dǎo)致標(biāo)簽的定位誤差增大;反之,當(dāng)虛擬參考標(biāo)簽密度較小時(shí),鄰近參考標(biāo)簽數(shù)量少甚至無法選出鄰近參考標(biāo)簽,則會導(dǎo)致邊緣區(qū)域定位標(biāo)簽的定位誤差大,甚至無法對定位標(biāo)簽進(jìn)行定位;同時(shí),在實(shí)際實(shí)驗(yàn)中,由于實(shí)驗(yàn)環(huán)境復(fù)雜多變,需要反復(fù)手動調(diào)整閾值,以達(dá)到最佳定位效果,這增加了實(shí)驗(yàn)難度。文獻(xiàn)[15]采用自適應(yīng)閾值調(diào)整策略,通過調(diào)整將鄰近參考標(biāo)簽數(shù)量維持在0.3*Nmax~Nmax(Nmax=LV/M,L是讀寫器總數(shù),V是虛擬參考標(biāo)簽總數(shù),M是參考標(biāo)簽總數(shù)),系統(tǒng)性能得到了有效提升。因此,本文將采用動態(tài)閾值機(jī)制解決上述問題,初始閾值TH設(shè)置為1,閾值調(diào)整值設(shè)置為0.05。
動態(tài)閾值機(jī)制具體流程如下所示:
(1)設(shè)置初始閾值TH=1,遍歷全圖參考標(biāo)簽,若參考標(biāo)簽的RSSI值與定位標(biāo)簽的RSSI值的差值在閾值以內(nèi),則標(biāo)記為鄰近參考標(biāo)簽。
(2)統(tǒng)計(jì)鄰近參考標(biāo)簽數(shù)量Q,若Q小于鄰近參考標(biāo)簽數(shù)量下限值Qmin,則增大閾值,重復(fù)選擇過程,直至其數(shù)量在范圍以內(nèi);若Q大于鄰近參考標(biāo)簽數(shù)量上限值Qmax,則減小閾值重復(fù)操作(鄰近參考標(biāo)簽上下限值Qmin和Qmax將在4.3節(jié)具體說明)。
(3)通過動態(tài)閾值機(jī)制得到所有定位標(biāo)簽的鄰近參考標(biāo)簽后,接下來進(jìn)入權(quán)值計(jì)算環(huán)節(jié)。
在實(shí)際測試中,由于室內(nèi)環(huán)境復(fù)雜多變,參考標(biāo)簽距離過近等因素,容易引發(fā)多徑效應(yīng),導(dǎo)致信號的衰落和相移,進(jìn)而影響參考標(biāo)簽的RSSI值,使其與距離值不匹配[16]。這就是提出的鄰近參考標(biāo)簽的可信問題。
鄰近參考標(biāo)簽是滿足閾值條件,且與定位標(biāo)簽的RSSI值最接近的參考標(biāo)簽,通過RSSI值與距離的轉(zhuǎn)化計(jì)算,鄰近參考標(biāo)簽也是距離定位標(biāo)簽最近的參考標(biāo)簽。但是,如果鄰近參考標(biāo)簽中包含的RSSI值出現(xiàn)較大偏差的參考標(biāo)簽時(shí),出現(xiàn)偏差的鄰近參考標(biāo)簽距離其他鄰近參考標(biāo)簽的距離過遠(yuǎn),按照原方案代入權(quán)值計(jì)算位置坐標(biāo)后,定位標(biāo)簽的定位效果會受到影響。因此,對于距離其他鄰近參考標(biāo)簽過遠(yuǎn)的鄰近參考標(biāo)簽來說,需要設(shè)置可信距離閾值來判斷此鄰近參考標(biāo)簽是否可信。鄰近參考標(biāo)簽可信度檢查過程如下:
首先,計(jì)算定位標(biāo)簽的所有鄰近參考標(biāo)簽間的距離,并將其組成如式(8)所示的距離矩陣:
(8)
然后,每個(gè)定位標(biāo)簽根據(jù)鄰近參考標(biāo)簽的數(shù)量組成對應(yīng)維數(shù)的矩陣。其中,dij表示第i個(gè)鄰近參考標(biāo)簽到第j個(gè)鄰近參考標(biāo)簽之間的距離,對距離矩陣做行向量絕對值運(yùn)算,求出每個(gè)鄰近參考標(biāo)簽距離其他鄰近參考標(biāo)簽的平均距離,如式(9)所示:
(9)
在VIRE算法中,中心區(qū)域的定位標(biāo)簽都位于虛擬網(wǎng)格單元內(nèi),若定位標(biāo)簽確定的鄰近參考標(biāo)簽數(shù)量Q≤4,那么虛擬網(wǎng)格單元頂點(diǎn)的4個(gè)虛擬參考標(biāo)簽具有最高的參考性;若該定位標(biāo)簽確定的鄰近參考標(biāo)簽數(shù)量Q≤16,那么虛擬網(wǎng)格單元外圍的12個(gè)虛擬參考標(biāo)簽同樣具有較高的參考性,以此類推。通過推理可得,可信距離閾值與虛擬參考標(biāo)簽的密度N和鄰近參考標(biāo)簽數(shù)量Q有關(guān),當(dāng)虛擬參考標(biāo)簽密度越大時(shí),所有鄰近參考標(biāo)簽的坐標(biāo)就越集中,可信距離閾值應(yīng)當(dāng)降低;當(dāng)鄰近參考標(biāo)簽數(shù)量越多時(shí),鄰近參考標(biāo)簽之間的距離就越遠(yuǎn),可信距離閾值應(yīng)當(dāng)提高。本文以間隔為2 m的參考標(biāo)簽為基礎(chǔ),利用高參考性的鄰近參考標(biāo)簽所圍成的矩形區(qū)域邊長作為可信距離閾值dmax,得出式(10):
(10)
其中,Qoutput的取值與鄰近參考標(biāo)簽數(shù)量Q的范圍有關(guān),如表1所示。
Table 1 Relation table of the number of adjacent reference label number Q and Qoutput
若鄰近參考標(biāo)簽的平均距離全部位于可信距離閾值以下,則認(rèn)為鄰近參考標(biāo)簽全部可信;若有不超過對應(yīng)Qoutput取值的鄰近參考標(biāo)簽的平均距離大于可信距離閾值,則保留剩余可信鄰近參考標(biāo)簽;若有超過對應(yīng)Qoutput取值的鄰近參考標(biāo)簽的平均距離大于可信距離閾值,證明當(dāng)前實(shí)驗(yàn)環(huán)境不理想,需要重新布置實(shí)驗(yàn)環(huán)境后再次實(shí)驗(yàn)。
確定最終鄰近參考標(biāo)簽后,采用鄰近參考標(biāo)簽誤差校正策略進(jìn)一步減小定位誤差[13]。具體流程如下:
(1)對于定位標(biāo)簽的Q個(gè)鄰近參考標(biāo)簽,分別將其看作是“暫時(shí)定位標(biāo)簽”,其余的Q-1個(gè)鄰近參考標(biāo)簽看作是參考標(biāo)簽,通過3.1~3.3的改進(jìn)機(jī)制得到Q個(gè)暫時(shí)定位標(biāo)簽的鄰近參考標(biāo)簽。
(2)利用式(3)~式(5)計(jì)算得出暫時(shí)定位標(biāo)簽的位置坐標(biāo)(x′i,y′i) (i=1,2,…,Q),將其與實(shí)際坐標(biāo)(xi,yi)比較,得到暫時(shí)定位標(biāo)簽的位置誤差,如式(11)所示:
(△xi,△yi)=(xi-x′i,,yi-y′i)
(11)
(3)整合所有暫時(shí)定位標(biāo)簽的位置誤差得到該定位標(biāo)簽的校正值,如式(12)所示:
(12)
(4)利用校正值對該定位標(biāo)簽的估計(jì)坐標(biāo)進(jìn)行校正,得到最終定位坐標(biāo),如式(13)所示:
(x*,y*)=(x,y)+(△x,△y)
(13)
本文通過Matlab進(jìn)行仿真實(shí)驗(yàn),采用對數(shù)路徑損耗模型,取路徑損耗指數(shù)nn=2[17],虛擬參考標(biāo)簽密度N=10,動態(tài)閾值初始值TH=1。定位布局如圖2所示,在定位區(qū)域的不同位置隨機(jī)生成30個(gè)定位標(biāo)簽,包括:位于中心區(qū)域的1~10號標(biāo)簽,邊緣區(qū)域的11~20號標(biāo)簽和邊角區(qū)域的21~30號標(biāo)簽。本文將重復(fù)進(jìn)行100次實(shí)驗(yàn)得出的待測標(biāo)簽的定位坐標(biāo)平均值作為最終定位坐標(biāo)。
為測試3.1節(jié)提出的定位區(qū)域虛擬參考標(biāo)簽分布方案,本文設(shè)計(jì)不同虛擬參考標(biāo)簽分布的定位實(shí)驗(yàn):將定位標(biāo)簽分別布署在VIRE算法的虛擬參考標(biāo)簽分布圖與面向整體區(qū)域的虛擬參考標(biāo)簽分布圖中,記錄不同虛擬參考標(biāo)簽分布的定位誤差,實(shí)驗(yàn)結(jié)果如圖3所示。
Figure 3 Experimental results on distribution of different virtual reference labels圖3 不同虛擬參考標(biāo)簽分布實(shí)驗(yàn)結(jié)果
由圖3可以看出,面向整體區(qū)域的虛擬參考標(biāo)簽分布中的定位誤差更小,在邊緣和邊角區(qū)域尤其明顯。其中,面向中心區(qū)域的虛擬參考標(biāo)簽分布中的平均誤差為0.589 7 m,最大誤差為1.047 0 m,最小誤差為0.110 7 m;面向整體區(qū)域的虛擬參考標(biāo)簽分布中的平均誤差為0.409 9 m,最大誤差為0.902 2 m,最小誤差為0.063 7 m。
為測試3.2節(jié)提出的基于牛頓插值的虛擬參考標(biāo)簽RSSI值計(jì)算方法,本文在4.1節(jié)的基礎(chǔ)上設(shè)計(jì)不同插值方法的定位算法實(shí)驗(yàn):將定位標(biāo)簽分別輸入基于線性插值的定位算法和基于分段牛頓插值的定位算法中,記錄不同插值類型的定位誤差,實(shí)驗(yàn)結(jié)果如圖4所示。
Figure 4 Experimental results of positioning algorithms with different interpolation types圖4 不同插值類型的定位算法實(shí)驗(yàn)結(jié)果
由圖4可以看出,基于分段牛頓插值的定位算法相較于前者的定位誤差有明顯下降?;诜侄闻nD插值的定位算法中的平均誤差為0.278 2 m,最大誤差為0.827 7 m,最小誤差為0.024 5 m。
3.3節(jié)中提到,利用閾值的動態(tài)調(diào)整與鄰近參考標(biāo)簽數(shù)量上、下限值Qmin、Qmax的限制,可以使鄰近參考標(biāo)簽數(shù)量Q始終保持在最佳范圍內(nèi)。之后,通過4.2節(jié)的定位算法實(shí)驗(yàn)發(fā)現(xiàn),所有定位標(biāo)簽的鄰近參考標(biāo)簽數(shù)量在12~36,為了確定基于動態(tài)閾值的定位算法中鄰近參考標(biāo)簽的最佳上、下限值,本文通過調(diào)整算法中鄰近參考標(biāo)簽的下限值和上限值來進(jìn)行鄰近參考標(biāo)簽數(shù)量選擇的實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖5所示。
Figure 5 Upper and lower limits on the number of adjacent reference labels圖5 鄰近參考標(biāo)簽數(shù)量上下限實(shí)驗(yàn)結(jié)果
從圖5中可以看出,當(dāng)鄰近參考標(biāo)簽下限值在1~20增長時(shí),定位算法的誤差出現(xiàn)小幅下降,當(dāng)下限值從20開始增長時(shí),誤差有明顯的增大趨勢;當(dāng)鄰近參考標(biāo)簽下限值確定時(shí),上限值距離下限值過近或過遠(yuǎn)都會導(dǎo)致誤差增大,所以,適中的上、下限值距離同樣重要。其中,35~40有0.189 5 m的最大誤差,10~25有0.126 2 m的最小誤差,所以基于動態(tài)閾值的定位算法中取10為下限,25為上限。
為測試3.3節(jié)提出的動態(tài)閾值調(diào)整方案,在4.2節(jié)的基礎(chǔ)上,設(shè)計(jì)不同閾值類型的定位算法實(shí)驗(yàn):將定位標(biāo)簽分別輸入基于固定閾值的定位算法和基于動態(tài)閾值的定位算法中,記錄不同閾值類型的定位誤差,實(shí)驗(yàn)結(jié)果如圖6所示。
Figure 6 Experimental results of location algorithm with different threshold types圖6 不同閾值類型的定位算法實(shí)驗(yàn)結(jié)果
從圖6可以看出,在中心和邊緣區(qū)域,基于動態(tài)閾值的定位算法相較于前者的定位誤差存在持平或小幅降低;在邊角區(qū)域,基于動態(tài)閾值的定位算法的定位誤差則顯著降低?;趧討B(tài)閾值的定位算法中的平均誤差為0.207 9 m,最大誤差為0.466 0 m,最小誤差為0.007 5 m。
為了測試3.4節(jié)提出的鄰近參考標(biāo)簽誤差校正方案,本文設(shè)計(jì)運(yùn)用鄰近參考標(biāo)簽誤差校正方案的定位實(shí)驗(yàn)。在定位區(qū)域內(nèi),由于邊角區(qū)域附近的虛擬參考標(biāo)簽所處的位置屬于牛頓外部插值范圍,RSSI值有所偏差,為了防止邊角區(qū)域的定位標(biāo)簽誤差增大,位于邊角區(qū)域的定位標(biāo)簽不采用鄰近參考標(biāo)簽偏差校正策略。之后,將定位標(biāo)簽分別輸入不采用鄰近參考標(biāo)簽誤差校正的定位算法和采用鄰近參考標(biāo)簽誤差校正的定位算法中,記錄對應(yīng)的定位誤差,實(shí)驗(yàn)結(jié)果如圖7所示。
Figure 7 Experimental results of with/without adjacent reference labels error correction location algorithm圖7 采用/不采用鄰近參考標(biāo)簽誤差校正的定位算法實(shí)驗(yàn)結(jié)果
從圖7中可以得出,在采用鄰近參考標(biāo)簽誤差校正策略的中心和邊緣區(qū)域中,大多數(shù)標(biāo)簽的定位誤差都有不同程度的降低。該定位算法中定位標(biāo)簽的平均誤差為0.153 2 m,最大誤差為0.466 0 m,最小誤差為0.005 8 m。
以VIRE算法為基礎(chǔ),上述實(shí)驗(yàn)中采用的定位區(qū)域虛擬參考標(biāo)簽分布方案、分段牛頓插值方案、動態(tài)閾值調(diào)整方案和鄰近參考標(biāo)簽誤差校正方案的定位誤差統(tǒng)計(jì)結(jié)果如表2所示。
Table 2 Location error for various strategies
通過表2可知,采用的4種方案均能提升算法的定位精度。整合以上4種方案組成面向整體區(qū)域的改進(jìn)VIRE定位算法。VIRE算法與改進(jìn)VIRE算法的定位誤差對比如圖8所示。
Figure 8 Comparison of location error between VIRE algorithm and the improved VIRE algorithm圖8 VIRE算法與改進(jìn)VIRE算法的定位誤差對比
從圖8中可以看出,改進(jìn)VIRE算法定位誤差大幅降低,VIRE算法的中心區(qū)域、邊緣區(qū)域和邊角區(qū)域的平均誤差分別為0.242 3 m,0.646 2 m和0.880 6 m,改進(jìn)VIRE算法的中心區(qū)域、邊緣區(qū)域和邊角區(qū)域的平均誤差分別為0.044 4 m,0.089 9 m和0.325 3 m。因此,改進(jìn)VIRE算法呈現(xiàn)出了較好的定位性能。
為了進(jìn)一步研究不同定位區(qū)域的定位精度,下面以點(diǎn)(4,4)為圓心、4為半徑的圓內(nèi)區(qū)域設(shè)為中央?yún)^(qū)域,在定位區(qū)域內(nèi)投入5 000個(gè)定位標(biāo)簽,其中中央?yún)^(qū)域內(nèi)的定位標(biāo)簽占比為0.8,對比VIRE算法與面向整體區(qū)域的改進(jìn)VIRE算法的累積分布函數(shù)CDF(Cumulative Distribution Function)曲線,如圖9所示。
Figure 9 CDF curve comparison of VIRE algorithm and thd improved VIRE algorithm圖9 VIRE算法與改進(jìn)VIRE算法的CDF曲線對比圖
由圖9可知,VIRE算法的定位誤差以50%的概率低于0.284 8 m,以80%的概率低于0.496 0 m,最大誤差為0.992 8 m;面向整體區(qū)域的改進(jìn)VIRE算法的定位誤差以50%的概率低于0.065 6 m,以80%的概率低于0.122 8 m,最大誤差為0.391 5 m。因此,面向整體區(qū)域的改進(jìn)VIRE算法具有更好的定位效果。
本文針對VIRE算法環(huán)境適應(yīng)能力有限、邊緣區(qū)域定位精度低等問題,提出了面向整體區(qū)域的改進(jìn)VIRE定位算法。通過Matlab仿真實(shí)驗(yàn)驗(yàn)證了改進(jìn)算法采用整體區(qū)域虛擬參考標(biāo)簽分布方案、分段牛頓插值方案、動態(tài)閾值調(diào)整方案、鄰近參考標(biāo)簽可信度與誤差校正方案后,算法的中心區(qū)域、邊緣區(qū)域和邊角區(qū)域的平均誤差分別為0.044 4 m,0.089 9 m和0.325 3 m,在整體定位區(qū)域內(nèi)體現(xiàn)出較好的定位精度與較強(qiáng)的環(huán)境適應(yīng)能力。該算法可以有效應(yīng)用于RFID室內(nèi)定位領(lǐng)域,例如物流管理、生產(chǎn)制造等,因此具有較高的應(yīng)用價(jià)值。