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