孫 鳳,施偉斌,黃靈鳳
(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
目前,在室外環(huán)境下,全球定位系統(tǒng)(GPS)已經(jīng)能夠成功地對(duì)移動(dòng)目標(biāo)進(jìn)行定位。但在室內(nèi)環(huán)境下,GPS的衛(wèi)星信號(hào)受室內(nèi)障礙物的阻隔,難以實(shí)現(xiàn)定位[1]。同時(shí),GPS的成本和功耗較高,不能適應(yīng)一些應(yīng)用場合的要求。
WSN是一種短距離、低速率、低復(fù)雜度、低功耗和低成本的無線通信網(wǎng)絡(luò),主要用于分布式測量和遠(yuǎn)程控制[2]。近些年來,國內(nèi)外研究機(jī)構(gòu)已開發(fā)出一些基于WSN的室內(nèi)定位系統(tǒng),其中最典型的室內(nèi)定位系統(tǒng)有RADAR、Active Badge、Active Office、Cricket等。但由于室內(nèi)的無線信號(hào)傳播條件和狀態(tài)復(fù)雜多變,如:墻壁的多徑反射、人員走動(dòng)等等都會(huì)影響室內(nèi)定位精度。因此,本文為研究基于RSSI的定位技術(shù)設(shè)計(jì)了一個(gè)室內(nèi)定位系統(tǒng),根據(jù)具體的環(huán)境,對(duì)不同的硬件設(shè)備測量出不同的參數(shù),從而得到不同的傳播損耗模型。當(dāng)環(huán)境發(fā)生變化時(shí),需重新確定節(jié)點(diǎn)的測距模型。測距階段的結(jié)果直接影響整個(gè)定位系統(tǒng)的定位精度,因此應(yīng)減小測距階段的測距誤差以提高系統(tǒng)的定位精度。并在實(shí)際環(huán)境中測試定位算法的有效性及所能達(dá)到的精度范圍,實(shí)驗(yàn)需要測試?yán)肦SSI測距技術(shù)所能達(dá)到的測距精度,同時(shí)需要對(duì)比兩種不同的定位算法所能達(dá)到的定位精度。
信號(hào)在傳播的過程中,隨著距離的增大,信號(hào)強(qiáng)度逐步衰減,信號(hào)強(qiáng)度的衰減與距離的關(guān)系普遍采用Shadowing模型[3-4]表示:
式中d0為參考距離;P0為距離為d0時(shí)接收到的信號(hào)強(qiáng)度,其中還包含了遮蔽外衰減或環(huán)境造成的損耗參考;d為實(shí)際距離;Xσ為以dB為單位的遮蔽因子,是均值為0,均方差為σ(dB)的正態(tài)隨機(jī)變量;Pr為接收信號(hào)強(qiáng)度;n是路徑損耗指數(shù),它的值依賴于環(huán)境和建筑物的類型。在實(shí)際測量時(shí),采用線性回歸法計(jì)算RSSI值與log d的關(guān)系,因此可將式(1)再次簡化成式(2)。
可以利用線性回歸法分別計(jì)算參數(shù)A值和N值的估計(jì)值,從而得到接收信號(hào)強(qiáng)度和距離的關(guān)系。假設(shè)(RSSI1,log d1),(RSSI2,log d2), … ,(RSSIn,log dn)是(RSSI,log d)的 一 組觀察值,則一元線性回歸模型可表示為RSSIi=A^+N^log di+εi。根據(jù)線性回歸法的原理,最終A值和N值的估計(jì)值如式(3)和式(4)所示:
其中:
信號(hào)除了受室內(nèi)環(huán)境的影響外,還會(huì)受節(jié)點(diǎn)硬件的影響,如放置于同一位置的兩個(gè)不同的參考節(jié)點(diǎn)接收到的未知節(jié)點(diǎn)的信號(hào)強(qiáng)度存在一定的差異。因此若對(duì)所有的參考節(jié)點(diǎn)使用同一種測距模型會(huì)降低測距的精度,為降低硬件差異帶來的測距誤差,在開始定位前應(yīng)首先通過實(shí)驗(yàn)求出每個(gè)參考節(jié)點(diǎn)測距模型的參數(shù),方法如下:
將未知節(jié)點(diǎn)放置于圖1中所示的各個(gè)位置,每個(gè)位置都需給未知節(jié)點(diǎn)設(shè)置固定的坐標(biāo)值。由于參考節(jié)點(diǎn)坐標(biāo)已知,因此可以方便地計(jì)算出未知節(jié)點(diǎn)與各個(gè)參考節(jié)點(diǎn)的距離。各個(gè)參考節(jié)點(diǎn)采集每個(gè)位置未知節(jié)點(diǎn)發(fā)送消息的 RSSI值,每個(gè)位置均采集 n(5)個(gè) RSSI值,與相應(yīng)的距離的對(duì)數(shù)組成 15n(75)對(duì)觀察值(RSSIi,log di),其中i∈[1,75]。將這75對(duì)觀察值代入上述公式即可計(jì)算出各個(gè)參考節(jié)點(diǎn)測距模型的參數(shù)。
圖1 測試參數(shù)時(shí)的節(jié)點(diǎn)布置
極大似然估計(jì)法[5]的原理是找到一個(gè)使測量距離與估計(jì)距離之間差異最小的點(diǎn),并以該點(diǎn)作為未知節(jié)點(diǎn)的最終估計(jì)坐標(biāo)。具體實(shí)現(xiàn)過程如下:已知n個(gè)參考節(jié)點(diǎn)的 坐 標(biāo) 分 別 為 A1(x1,y1)、A2(x2,y2)、A3(x3,y3)…An(xn,yn), 它們到未知節(jié)點(diǎn) D的距離分別為 d1,d2,d3…dn, 假設(shè)未知節(jié)點(diǎn)D的坐標(biāo)為(x,y),則存在以下關(guān)系式:
從第一個(gè)方程開始分別減去最后一個(gè)方程,得到線性化的方程:
其中:
由最小二乘法求得未知節(jié)點(diǎn)D的坐標(biāo)為:
線性定位算法原理如圖2所示,假設(shè)未知節(jié)點(diǎn)到3個(gè)參考節(jié)點(diǎn) A、B、C 的距離測量值分別為 d1、d2、d3,3 個(gè)參考節(jié)點(diǎn)的坐標(biāo)分別為(x1,y1)、(x2,y2)、(x3,y3),未知節(jié)點(diǎn)坐標(biāo)為(x,y)。
圖2 線性定位算法
可得方程組:
將式(8)中的第一條等式減去第二條等式,第二條等式減去第三條等式,可分別得到圓A與圓B的相交直線L1、圓B與圓C的相交直線L2,此交點(diǎn)坐標(biāo)即為未知節(jié)點(diǎn)的臨時(shí)坐標(biāo)。
解此方程組得到臨時(shí)坐標(biāo)為:
其中:
線性定位算法將定位直線的交點(diǎn)作為未知節(jié)點(diǎn)的臨時(shí)位置,最后同樣使用加權(quán)質(zhì)心法組合所有的臨時(shí)位置并得到最終估計(jì)坐標(biāo)[6]。
3定位測試實(shí)驗(yàn)及分析
為了測試上述方法的定位效果,設(shè)計(jì)一個(gè)室內(nèi)定位實(shí)驗(yàn)系統(tǒng),與現(xiàn)有通過仿真測試定位算法的方法不同,使用實(shí)際的節(jié)點(diǎn)在現(xiàn)實(shí)環(huán)境中進(jìn)行測試。在定位開始前,先通過實(shí)驗(yàn)確定每一個(gè)參考節(jié)點(diǎn)的測距模型,然后再分別使用不同的方法測量盲節(jié)點(diǎn)的位置。
硬件平臺(tái)采用TI公司的CC2430芯片作為節(jié)點(diǎn)的處理器單元,CC2430是一個(gè)真正的片上系統(tǒng)(SoC)解決方案[7],專門針對(duì)IEEE 802.15.4和ZigBee應(yīng)用設(shè)計(jì)。在實(shí)驗(yàn)中使用6個(gè)參考節(jié)點(diǎn),1個(gè)盲節(jié)點(diǎn)和1個(gè)網(wǎng)關(guān)節(jié)點(diǎn)。
節(jié)點(diǎn)軟件利用TinyOS開發(fā),TinyOS是加州大學(xué)伯克利分校為無線傳感器網(wǎng)絡(luò)設(shè)計(jì)的操作系統(tǒng)[8],該操作系統(tǒng)使用的開發(fā)語言為nesC[9]。上位機(jī)監(jiān)控軟件使用C#語言編寫,實(shí)驗(yàn)數(shù)據(jù)保存到Access數(shù)據(jù)庫中。
本實(shí)驗(yàn)選取的定位環(huán)境為12 m×10 m的教室,定位區(qū)域選取教室中8 m×8 m的范圍,參考節(jié)點(diǎn)和未知節(jié)點(diǎn)都擺放于教室內(nèi)的課桌上,課桌距地面的高度為75 cm。首先固定好參考節(jié)點(diǎn)的位置,如圖3所示。
圖3 參考節(jié)點(diǎn)位置
當(dāng)參考節(jié)點(diǎn)的位置信息固定好以后,根據(jù)前面所說的測距模型的方法測出每個(gè)參考節(jié)點(diǎn)的參數(shù)值,見表1。
當(dāng)定位環(huán)境發(fā)生變化時(shí),需要重新測量參數(shù)值。
定位測試結(jié)果與分析內(nèi)容主要包括距離測試實(shí)驗(yàn)結(jié)果分析以及位置測試實(shí)驗(yàn)結(jié)果分析。測距結(jié)果分析指將實(shí)際距離與估計(jì)距離作對(duì)比后的誤差分析,而位置結(jié)果分析是對(duì)估計(jì)坐標(biāo)值的誤差進(jìn)行分析。最后對(duì)不同定位算法的定位誤差進(jìn)行對(duì)比,并得出結(jié)論。
3.3.1 距離測試
首先,分別測試盲節(jié)點(diǎn)與各參考節(jié)點(diǎn)間距離的測量誤差。以24號(hào)節(jié)點(diǎn)為例,通過回歸分析計(jì)算兩節(jié)點(diǎn)間的距離估計(jì)值,距離的相對(duì)誤差與實(shí)際距離的關(guān)系如圖4所示。圖中曲線表明,當(dāng)兩節(jié)點(diǎn)間的距離在(2 m,6 m)范圍內(nèi)時(shí),估計(jì)距離的相對(duì)誤差小于該區(qū)域外的相對(duì)誤差。其他參考節(jié)點(diǎn)的測距相對(duì)誤差也有類似的效果,即中間區(qū)域的整體相對(duì)誤差小于該區(qū)域外的誤差,但相對(duì)誤差值的大小略有不同。
表1 各參考節(jié)點(diǎn)的參數(shù)
圖4 24號(hào)節(jié)點(diǎn)距離與相對(duì)誤差的關(guān)系
隨后,將盲節(jié)點(diǎn)放置在矩形區(qū)域內(nèi)不同位置,測試各參考節(jié)點(diǎn)的距離測量誤差。以盲節(jié)點(diǎn)放在(4,4)處為例,求得未知節(jié)點(diǎn)與各參考節(jié)點(diǎn)間的估計(jì)距離,實(shí)際距離與估計(jì)距離間的誤差值見表2。
表2 點(diǎn)(4,4)處節(jié)點(diǎn)間的距離誤差
重復(fù)距離測試實(shí)驗(yàn),可得出以下結(jié)論:當(dāng)未知節(jié)點(diǎn)位于定位區(qū)域的中間范圍(2,2)×(6,6)內(nèi)時(shí),節(jié)點(diǎn)間的測距誤差小于2 m;當(dāng)未知節(jié)點(diǎn)位于該范圍外時(shí),測距誤差相對(duì)較大,但是整體仍小于3.5 m。由于測距誤差直接影響系統(tǒng)的定位誤差,由以上結(jié)論可以推斷,當(dāng)未知節(jié)點(diǎn)在中間區(qū)域內(nèi)移動(dòng)時(shí)定位誤差較小。
3.3.2 定位誤差測試與分析
實(shí)驗(yàn)中選取定位區(qū)域內(nèi)的25個(gè)位置作為測試點(diǎn),具體的測試點(diǎn)分布如圖5所示。
圖5 測試點(diǎn)分布平面圖
為更加具體地對(duì)定位誤差進(jìn)行分析,對(duì)每個(gè)測試點(diǎn)都進(jìn)行10次位置計(jì)算。測試結(jié)束后,分別對(duì)線性定位算法的誤差和極大似然估計(jì)法的誤差進(jìn)行比較,如圖6所示。
圖6 兩種算法的誤差分析
由圖6可知,兩種定位算法的定位誤差占比比較相似。分析不同區(qū)域內(nèi)的誤差值可發(fā)現(xiàn),當(dāng)測試節(jié)點(diǎn)分布靠近邊界時(shí),極大似然估計(jì)法的計(jì)算結(jié)果優(yōu)于線性定位算法;當(dāng)測試節(jié)點(diǎn)位于中間區(qū)域時(shí),線性定位算法的定位結(jié)果優(yōu)于極大似然估計(jì)法。因此在實(shí)際的定位系統(tǒng)中,可同時(shí)實(shí)現(xiàn)兩種算法。當(dāng)未知節(jié)點(diǎn)靠近監(jiān)控區(qū)域的邊界時(shí)使用極大似然估計(jì)法計(jì)算節(jié)點(diǎn)位置;當(dāng)未知節(jié)點(diǎn)靠近中間區(qū)域時(shí)可使用線性定位算法計(jì)算最終的坐標(biāo)。
本文研究了無線傳感器網(wǎng)絡(luò)室內(nèi)定位技術(shù),對(duì)基于RSSI的室內(nèi)測距原理和定位算法進(jìn)行了分析,在現(xiàn)實(shí)環(huán)境中測試了距離測量精度和兩種不同的定位算法的定位精度。實(shí)驗(yàn)結(jié)果表明,在連通的室內(nèi)環(huán)境中,基于測距的定位方法的定位誤差≤3 m(約90%的概率),在中間區(qū)域和外圍分別使用不同的定位算法可以提高定位精度。由于距離測量精度是影響定位效果的關(guān)鍵因素,因此,未來需要進(jìn)一步研究提高測距精度的方法。
[1]BULUSU N,HEIDEMANN J, ESTRIN D.GPS-less low cost outdoor Localization for Very Small Devices[J].IEEE Personal Communications Magazine,2000,7(5):28-34.
[2]孫利民,李建中,陳渝,等.無線傳感器網(wǎng)絡(luò)[M].北京:清華大學(xué)出版社,2005.
[3]AWAD A,F(xiàn)RUNZKE T,DRESSLER F.Adaptive distance estimation and localization in WSNs using RSSI measures[C].IEEE 10th Euromicro Conference on Digital System Design Architectures Methods and Tools,Aug.2007:471-478.
[4]ALI S,NOBLES P.A novel indoor location sensing mechanism for IEEE 802.11 b/g wireless LAN[C].IEEE The Fourth Workshop on Positioning,Navigation and Communication(WPNC’07),2007:9-15.
[5]GOLDONI E,SAVIOLI M,RISI M.Experimental analysis of RSSI-based indoor localization with IEEE 802.15.4[C].2010 European Wireless Conference,Lucca,April 2010:71-77.
[6]CAFFERY J.A new approach to the geometry of TOA localization[C].IEEE VTC 2000 Fall September 24-28,Bosto,USA,2000:1943-1949.
[7]CHOI S,CHA H,CHO S.A SoC-based sensor node:Evaluation of RETOS enabled CC2430[C].Sensor,Mesh and Ad hoc Communications and Networks(SECON 07),18-21 June,2007:132-141.
[8]PHILIP L,SAM M,JOSEPH P.TinyOS:An operating system for Wireless Sensor Networks[M].In book Ambient Intelligence edited by Weber W,Rabaey J,and Aarts E,2005.
[9]DAVID G,PHILIP L,ROB B.The nesC language:A holistic approach to networked embedded system[M].Proceedings of Programming Language Design and Implementation(PLDI).June 2003.