隨著無線通信的快速發(fā)展,,由此引起的關(guān)于室內(nèi)定位的無線網(wǎng)絡(luò)和RFID技術(shù)的結(jié)合也越來越受關(guān)注。人們對物品,、人員位置的需求也越來越強(qiáng)烈,。在室外的定位,如熟知的GPS定位已經(jīng)做到讓很多人都滿意的程度,,但是一旦進(jìn)入到室內(nèi),,由于建筑物的阻擋以及多徑效應(yīng),GPS在室內(nèi)的定位的效果大打折扣,,所以室內(nèi)定位的研究成為定位后續(xù)的研究重點,。
傳統(tǒng)的標(biāo)簽定位的距離有缺陷,限制了其廣泛的應(yīng)用,。所以提出了RFID技術(shù)和無線網(wǎng)絡(luò)結(jié)合,,擴(kuò)大其定位的范圍。
無線Wi-Fi在一個免費(fèi)的2.4GHz頻段,,有很高的數(shù)據(jù)傳輸速度,。所以選擇基于Wi-Fi網(wǎng)絡(luò)通信的定位標(biāo)簽。
Wi-Fi網(wǎng)絡(luò)有如下優(yōu)勢:Wi-Fi的工作頻段在2.4GHz,,而且處于免費(fèi)頻段,,對用戶來說不需要額外的費(fèi)用;Wi-Fi的傳輸距離可以達(dá)到100m,,可以覆蓋整個大樓,;Wi-Fi的傳輸速率很高,可達(dá)到54 Mbps.影響定位的精確度不僅僅是關(guān)于定位技術(shù)的選擇,,同時定位算法的選擇也會影響其定位精度,。
常見的室內(nèi)定位的算法主要分為兩類:基于測距技術(shù)的定位算法和距離無關(guān)的算法?;跍y距技術(shù)的算法一般是通過節(jié)點之間的距離或者角度來計算出未知節(jié)點的位置,,實際運(yùn)用中常見的有:基于接收信號強(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ù)可識別高速運(yùn)動物體并可同時識別多個標(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個圓不相交時舍棄,,接受下一組最近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左右的誤差,,該方案適合廣泛運(yùn)用。