引言
隨著無線通信的快速發(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)注。人們對(duì)物品、人員位置的需求也越來越強(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ǎng)絡(luò)結(jié)合,擴(kuò)大其定位的范圍。
無線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ì)用戶來說不需要額外的費(fèi)用;Wi-Fi的傳輸距離可以達(dá)到100m,可以覆蓋整個(gè)大樓;Wi-Fi的傳輸速率很高,可達(dá)到54 Mbps.影響定位的精確度不僅僅是關(guān)于定位技術(shù)的選擇,同時(shí)定位算法的選擇也會(huì)影響其定位精度。常見的室內(nèi)定位的算法主要分為兩類:基于測(cè)距技術(shù)的定位算法和距離無關(guān)的算法?;跍y(cè)距技術(shù)的算法一般是通過節(jié)點(diǎn)之間的距離或者角度來計(jì)算出未知節(jié)點(diǎn)的位置,實(shí)際運(yùn)用中常見的有:基于接收信號(hào)強(qiáng)度指示算法(RSSI)、到達(dá)角度算法(AOA)、到達(dá)時(shí)間算法(TOA)等。距離無關(guān)的算法有:質(zhì)心法、APIT算法、凸規(guī)劃算法等。這些算法都是利用節(jié)點(diǎn)之間的鄰近關(guān)系實(shí)現(xiàn)定位的。
一般來說,基于測(cè)距技術(shù)的算法比無需測(cè)距的精度要高。本文采用基于無線網(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ù),它通過射頻信號(hào)自動(dòng)識(shí)別目標(biāo)對(duì)象并獲取相關(guān)數(shù)據(jù),識(shí)別工作無需人工干預(yù),可工作于各種惡劣環(huán)境。RFID技術(shù)可識(shí)別高速運(yùn)動(dòng)物體并可同時(shí)識(shí)別多個(gè)標(biāo)簽,操作快捷方便。RFID是一種簡(jiǎn)單的無線系統(tǒng),只有兩個(gè)基本器件,該系統(tǒng)用于控制、檢測(cè)和跟蹤物體。系統(tǒng)由一個(gè)詢問器(或閱讀器)和很多應(yīng)答器(或標(biāo)簽)組成。
定位系統(tǒng)的硬件包括:閱讀器、電子標(biāo)簽和無線Wi-Fi模塊。
閱讀器是用于讀取/寫入標(biāo)簽信息的設(shè)備。
電子標(biāo)簽分為有源和無源兩類。有源技術(shù)電子標(biāo)簽內(nèi)部有電池,它的壽命一般比無源的長(zhǎng)。在電池更換前一直通過設(shè)定頻段向外發(fā)送信息。本文所采用的有源技術(shù)電子標(biāo)簽具有長(zhǎng)時(shí)間的壽命。
無線Wi-Fi模塊主要是用于電子標(biāo)簽、閱讀器以及AP(用于接收標(biāo)簽的發(fā)射信號(hào))之間的通信。
RFID定位可用于倉(cāng)庫(kù)管理、公司人員、物品以及醫(yī)院病人的準(zhǔn)確定位。但是由于距離限制了其發(fā)展,所以把無線Wi-Fi技術(shù)和RFID技術(shù)結(jié)合起來,進(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)度是各種途徑傳播來的信號(hào)的疊加。所以有時(shí)候信號(hào)強(qiáng)度增大,有時(shí)候又減小。經(jīng)過大量的實(shí)踐,發(fā)現(xiàn)接收信號(hào)強(qiáng)度服從log-normal分布。通過信號(hào)在傳播中的衰減來估計(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算法。該算法主要通過比較不同Et來尋找與待定標(biāo)簽位置最近的參考標(biāo)簽。當(dāng)由K個(gè)鄰近的參考標(biāo)簽來確定一個(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的位置可以通過下列方程中的任意兩個(gè)進(jìn)行求解。
但是在實(shí)際應(yīng)用中,由于測(cè)量誤差的存在,三個(gè)圓交于一點(diǎn)的情況很難存在。而這是經(jīng)常的事情,這會(huì)導(dǎo)致方程無解,無法定位出待測(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ù)器和客戶端的連接)。
實(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)矢量。通過LANDMARC算法即通過比較待測(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)度來決定其半徑,而是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)兩兩相交,但沒有公共區(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)兩兩相交無公共區(qū)域時(shí),必然有兩兩公共區(qū)域。取兩圓相交區(qū)域的兩個(gè)交點(diǎn)的連線的中點(diǎn),然后以這3個(gè)中點(diǎn)做三角形,其內(nèi)心就是待測(cè)標(biāo)簽內(nèi)心坐標(biāo)。
③3個(gè)圓不相交時(shí)舍棄,接受下一組最近3個(gè)參考標(biāo)簽,若3次還沒有找到相交情況,即用3個(gè)參考標(biāo)簽做的位置做三角形,其內(nèi)心就是待測(cè)標(biāo)簽的位置。
本算法的優(yōu)勢(shì)為在原來LANDMARC算法的定位精度上,再進(jìn)行三角定位,進(jìn)一步提高定位精度。同時(shí),以參考標(biāo)簽之間的距離來進(jìn)行進(jìn)一步的三角定位,可以減少額外的計(jì)算,并且可以減少由于參考標(biāo)簽場(chǎng)強(qiáng)的變化帶來的重復(fù)測(cè)量。
結(jié)語
本文主要討論了基于信號(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)用。