引言
隨著無線通信的快速發(fā)展,,由此引起的關(guān)于室內(nèi)定位的無線網(wǎng)絡(luò)和rfidchina.org/industry/tag.html" style="color: rgb(51, 51, 51); text-decoration: none; " target="_blank">RFID技術(shù)的結(jié)合也越來越受關(guān)注。人們對物品,、人員位置的需求也越來越強(qiáng)烈,。在室外的定位,如熟知的GPS定位已經(jīng)做到讓很多人都滿意的程度,,但是一旦進(jìn)入到室內(nèi),,由于建筑物的阻擋以及多徑效應(yīng),GPS在室內(nèi)的定位的效果大打折扣,,所以室內(nèi)定位的研究成為定位后續(xù)的研究重點,。住公司中需要對人員和物品進(jìn)行定位的時候范圍很大。傳統(tǒng)的標(biāo)簽定位的距離有缺陷,,限制了其廣泛的應(yīng)用,。所以義提出了RFID技術(shù)和無線網(wǎng)絡(luò)結(jié)合,擴(kuò)大其定位的范圍,。
無線Wi-Fi在一個免費的2.4GHz頻段,,有很高的數(shù)據(jù)傳輸速度。所以選擇基于Wi-Fi網(wǎng)絡(luò)通信的定位標(biāo)簽,。Wi-Fi網(wǎng)絡(luò)有如下優(yōu)勢:Wi-Fi的工作頻段在2.4GHz,而且處于免費頻段,,對用戶來說不需要額外的費用;Wi-Fi的傳輸距離可以達(dá)到100m,可以覆蓋整個大樓,;Wi-Fi的傳輸速率很高,,可達(dá)到54 Mbps.影響定位的精確度不僅僅是關(guān)于定位技術(shù)的選擇,同時定位算法的選擇也會影響其定位精度,。常見的室內(nèi)定位的算法主要分為兩類:基于測距技術(shù)的定位算法和距離無關(guān)的算法,?;跍y距技術(shù)的算法一般是通過節(jié)點之間的距離或者角度來計算出未知節(jié)點的位置,實際運用中常見的有:基于接收信號強(qiáng)度指示算法(RSSI),、到達(dá)角度算法(AOA),、到達(dá)時間算法(TOA)等。距離無關(guān)的算法有:質(zhì)心法,、APIT算法,、凸規(guī)劃算法等。這些算法都是利用節(jié)點之間的鄰近關(guān)系實現(xiàn)定位的,。
一般來說,,基于測距技術(shù)的算法比無需測距的精度要高。本文采用基于無線網(wǎng)絡(luò)的RFID技術(shù),,并在此基礎(chǔ)上提出一種算法,,實現(xiàn)誤差范圍小的定位系統(tǒng)。
1系統(tǒng)的硬件結(jié)構(gòu)
射頻識別(Radio Frequency Identification,RFID)俗稱電子標(biāo)簽,。RFID是一種非接觸式的自動識別技術(shù),,它通過射頻信號自動識別目標(biāo)對象并獲取相關(guān)數(shù)據(jù),識別工作無需人工干預(yù),,可工作于各種惡劣環(huán)境,。RFID技術(shù)可識別高速運動物體并可同時識別多個標(biāo)簽,操作快捷方便,。RFID是一種簡單的無線系統(tǒng),,只有兩個基本器件,該系統(tǒng)用于控制,、檢測和跟蹤物體,。系統(tǒng)由一個詢問器(或閱讀器)和很多應(yīng)答器(或標(biāo)簽)組成。
定位系統(tǒng)的硬件包括:閱讀器,、電子標(biāo)簽和無線Wi-Fi模塊,。
閱讀器是用于讀取/寫入標(biāo)簽信息的設(shè)備。
電子標(biāo)簽分為有源和無源兩類,。有源技術(shù)電子標(biāo)簽內(nèi)部有電池,,它的壽命一般比無源的長。在電池更換前一直通過設(shè)定頻段向外發(fā)送信息,。本文所采用的有源技術(shù)電子標(biāo)簽具有長時間的壽命,。
無線Wi-Fi模塊主要是用于電子標(biāo)簽、閱讀器以及AP(用于接收標(biāo)簽的發(fā)射信號)之間的通信,。
RFID定位可用于倉庫管理,、公司人員、物品以及醫(yī)院病人的準(zhǔn)確定位,。但是由于距離限制了其發(fā)展,,所以把無線Wi-Fi技術(shù)和RFID技術(shù)結(jié)合起來,,進(jìn)一步地提高定位的范圍和精度。系統(tǒng)硬件結(jié)構(gòu)如圖1所示,。
2系統(tǒng)軟件及定位算法
2.1基于信號強(qiáng)度算法
傳統(tǒng)的信號傳播容易受到折射,、反射、繞射,、衍射等影響,,接收到的信號強(qiáng)度是各種途徑傳播來的信號的疊加。所以有時候信號強(qiáng)度增大,,有時候又減小,。經(jīng)過大量的實踐,,發(fā)現(xiàn)接收信號強(qiáng)度服從log-normal分布,。通過信號在傳播中的衰減來估計節(jié)點之間的距離,根據(jù)信道模型求解接收到待定位置的信號場強(qiáng):
式中:n為路徑損耗指數(shù),,與周圍的環(huán)境有關(guān),;XΣ是標(biāo)準(zhǔn)差為Σ的正態(tài)隨機(jī)變量;d0是參考距離,,在室內(nèi)環(huán)境中通常取1 m;PL(d0)為參考位置的信號強(qiáng)度,。
假設(shè)有n個AP,m個參考標(biāo)簽,則AP點接收到的待定標(biāo)簽的強(qiáng)度量P=(AP1,AP2,…,,APn),,采集到的第t個參考標(biāo)簽的強(qiáng)度矢量為St=(St1,St2,…,Stn),,則待定標(biāo)簽和參考標(biāo)簽St之間的歐氏距離為:
基于信號強(qiáng)度算法代表是LANDMARC算法,。該算法主要通過比較不同Et來尋找與待定標(biāo)簽位置最近的參考標(biāo)簽。當(dāng)由K個鄰近的參考標(biāo)簽來確定一個待測標(biāo)簽的時候,,我們稱之為“K-最鄰近算法”,待定標(biāo)簽坐標(biāo)是(x,y):
其中的Wi和(xi,yi)分別是第i個鄰居參考標(biāo)簽的權(quán)重因子和坐標(biāo)位置,。根據(jù)經(jīng)驗:
權(quán)重越大的,E值越小,。LANDMARC箅法雖然能夠處理比較復(fù)雜的環(huán)境,,但是在一些封閉的環(huán)境中可能會出現(xiàn)多徑效應(yīng),導(dǎo)致定位精度不高,。又有研究者對LANDM ARC算法提出了改進(jìn):把不同的閱讀器中收獲到的標(biāo)簽的RSSI值加入到一個集合,,然后求出集合中頻率最高的標(biāo)簽作為最近距離的標(biāo)簽,然后再使用經(jīng)驗公式求出待測標(biāo)簽的坐標(biāo)位置,。這樣可以獲得更準(zhǔn)確的精度,。
2.2三邊定位算法
三邊定位法:分別以已知位置的3個AP為圓心,以各個到待測標(biāo)簽的距離最近參考標(biāo)簽的距離為半徑作圓,。所得的3個圓的交點為D.三角形算法示意圖如圖2所示,。
設(shè)位置節(jié)點D(x,y),,已知A、B,、C三點的坐標(biāo)為(x1,y1),,(x2,y2),(x3,y3),。它們到D的距離分別是d1,、d2、d3.則D的位置可以通過下列方程中的任意兩個進(jìn)行求解,。
但是在實際應(yīng)用中,,由于測量誤差的存在,三個圓交于一點的情況很難存在,。而這是經(jīng)常的事情,,這會導(dǎo)致方程無解,無法定位出待測目標(biāo)的位置,。
2.3本文采用的算法
本方案中,,我們采用的定位算法是基于接收信號強(qiáng)度的算法(即LANDMARC算法),并在LANDMARC算法的后面利用三邊定位算法,,使其更準(zhǔn)確,。
實驗前在某公司大樓的走道和三間房內(nèi)各安置每隔3 m固定一個電子標(biāo)簽(參考標(biāo)簽),在該層樓的東南兩北角各放置一個AP.做好上位機(jī)與下位機(jī)的無線通信(軟件程序的服務(wù)器和客戶端的連接),。
實驗進(jìn)行時,,當(dāng)待測標(biāo)簽進(jìn)入到AP(4個)的范圍內(nèi),開始接收到待測標(biāo)簽發(fā)出的信號場強(qiáng),,并傳入上位機(jī),。同時也接收各個參考標(biāo)簽在各個AP的信號場強(qiáng),并傳入上位機(jī),。
定位算法則把待測標(biāo)簽在4個AP(AP1,AP2,AP3,AP4)上的場強(qiáng)建立成一個場強(qiáng)矢量,,同時參考標(biāo)簽也建立成場強(qiáng)矢量。通過LANDMARC算法即通過比較待測標(biāo)簽場強(qiáng)矢量與參考標(biāo)簽場強(qiáng)矢量的歐氏距離,,找出3個歐氏距離最小的參考標(biāo)簽,,并得知3個參考標(biāo)簽的具體位置(在實驗前期,參考標(biāo)簽放置時已經(jīng)有記錄),。對于3個參考點,,不用再根據(jù)信號的強(qiáng)度來決定其半徑,而是3個以參考點為圓心,,以最近參考標(biāo)簽之間的距離(以確定每隔幾米放置一個參考標(biāo)簽)的3/4長度為半徑做3個圓,,這樣3個圓兩兩相交的可能性會增加。
由于3個圓很難在同一個點相交,所以對于3個圓之間的關(guān)系有3種:◆3個圓兩兩相交,,并且3個圓有公共區(qū)域,;◆3個網(wǎng)兩兩相交,但沒有公共區(qū)域,;◆3個圓不相交,。
具體關(guān)系如下:①當(dāng)3個圓有公共區(qū)域時,則公共區(qū)域必然有3個交點,,以3個交點作三角形,,則待測標(biāo)簽的坐標(biāo)即是三角形內(nèi)心坐標(biāo)。
?、诋?dāng)兩兩相交無公共區(qū)域時,,必然有兩兩公共區(qū)域。取兩圓相交區(qū)域的兩個交點的連線的中點,,然后以這3個中點做三角形,,其內(nèi)心就是待測標(biāo)簽內(nèi)心坐標(biāo)。
?、?個圓不相交時舍棄,,接受下一組最近3個參考標(biāo)簽,,若3次還沒有找到相交情況,,即用3個參考標(biāo)簽做的位置做三角形,其內(nèi)心就是待測標(biāo)簽的位置,。
本算法的優(yōu)勢為在原來LANDMARC算法的定位精度上,,再進(jìn)行三角定位,進(jìn)一步提高定位精度,。同時,,以參考標(biāo)簽之間的距離來進(jìn)行進(jìn)一步的三角定位,可以減少額外的計算,,并且可以減少由于參考標(biāo)簽場強(qiáng)的變化帶來的重復(fù)測量,。
結(jié)語
本文主要討論了基于信號強(qiáng)度算法和基于非測距的三邊算法,同時對LANDMARC算法進(jìn)行了進(jìn)一步的改進(jìn),。由相關(guān)實驗結(jié)果得出:該算法可以達(dá)到定位精度在1.5 m左右的誤差,,該方案適合廣泛運用。