引言
近年來,隨著無線技術(shù)的發(fā)展,對(duì)室內(nèi)外環(huán)境中人員和物體的追蹤定位引起了研究者的廣泛研究,基于位置服務(wù)(LBS)越來越受到人們的關(guān)注。位置服務(wù)即根據(jù)服務(wù)消費(fèi)者所在地理位置的不同提供對(duì)應(yīng)的信息服務(wù),作為L(zhǎng)BS的核心技術(shù)之一,室內(nèi)定位是其重要的組成部分。因?yàn)榭梢詮V泛用于室內(nèi)路由、治安、消防等方面,因此定位算法的研究具有重要意義。在室內(nèi)定位系統(tǒng)開發(fā)研究方面,常用的方法是在室內(nèi)環(huán)境下建立小范圍定位網(wǎng)絡(luò)。目前,越來越多的定位直接利用現(xiàn)成的無線通訊模塊來估計(jì)對(duì)象節(jié)點(diǎn)(盲節(jié)點(diǎn))的位置,應(yīng)運(yùn)而生的ZigBee技術(shù)以低成本、低功耗成為室內(nèi)定位的首選。本文以ZigBee組建基本的網(wǎng)絡(luò),通過節(jié)點(diǎn)接收RSSI值的大小來進(jìn)行距離計(jì)算,最終通過距離以及參考節(jié)點(diǎn)的位置來計(jì)算定位節(jié)點(diǎn)(盲節(jié)點(diǎn))位置。
1 無線網(wǎng)絡(luò)定位技術(shù)
在無線定位中,有基于測(cè)距和非測(cè)距兩種方式。前者需要測(cè)量相鄰節(jié)點(diǎn)間的絕對(duì)距離或方位,并利用節(jié)點(diǎn)間的實(shí)際距離來計(jì)算未知節(jié)點(diǎn)的位置;后者無需測(cè)量節(jié)點(diǎn)的絕對(duì)距離或方位,而是利用節(jié)點(diǎn)間的估計(jì)距離計(jì)算節(jié)點(diǎn)位置?;跍y(cè)距的算法主要包含以下幾種:三邊測(cè)量、三角測(cè)量、極大似然估計(jì)等;基于非測(cè)距的算法主要有質(zhì)心算法、DV-Hop算法、D_distance算法、凸規(guī)劃算法等。對(duì)定位算法的性能評(píng)價(jià)指標(biāo)主要有定位精度、節(jié)點(diǎn)密度、容錯(cuò)和自適應(yīng)性、功耗和代價(jià)、網(wǎng)絡(luò)規(guī)模等幾個(gè)部分。綜合以上因素以及結(jié)合現(xiàn)有的設(shè)備,本文選用基于RSSI測(cè)距的定位方式。其流程圖如圖1所示。
從圖1可以看出定位由兩部分組成:一是通過RSSI測(cè)距;二是根據(jù)距離以及參考節(jié)點(diǎn)位置計(jì)算盲節(jié)點(diǎn)位置。
2 RSSI測(cè)距模型
2.1 模型確立
無線信號(hào)傳輸中普遍采用的理論模型為Shadowing模型。該模型為:
式中:do是參考距離;po是距離為do時(shí)接收到的信號(hào)強(qiáng)度,其中還包含了遮蔽外衰減或環(huán)境造成的損耗參考(中值);d是真實(shí)距離;ζ是以dB為單位的遮蔽因子,其均值為O,均方差為σdb(dB)正態(tài)隨機(jī)變量;p是接收信號(hào)強(qiáng)度;n是路徑損耗指數(shù),它的值依賴于環(huán)境和建筑物的類型。在實(shí)際測(cè)量中,選用以下的模型:
即不統(tǒng)計(jì)遮擋因子對(duì)RSSI的影響,在實(shí)際環(huán)境下對(duì)RSSI影響最大的是非視距的影響。其中,射頻參數(shù)A被定義為用dBm表示的距離發(fā)射器1 m接收到的平均能量絕對(duì)值,也就是距發(fā)射節(jié)點(diǎn)1 m處的接收信號(hào)強(qiáng)度;n為信號(hào)傳輸常數(shù),與信號(hào)傳輸環(huán)境有關(guān);d為距發(fā)射節(jié)點(diǎn)的距離。
2.2 參數(shù)優(yōu)化
在使用A和n進(jìn)行距離計(jì)算時(shí),首先要面臨的一個(gè)問題是A和n的取值問題。A和n的取值不同,對(duì)測(cè)距的誤差影響很大。為了使模型能夠盡量真實(shí)地反映出當(dāng)前室內(nèi)環(huán)境中的傳播特性,保證RSSI測(cè)距的精度,需要對(duì)A和n進(jìn)行優(yōu)化,得到最適合該室內(nèi)環(huán)境情況的參數(shù)值。
通過線性回歸分析來估計(jì)參數(shù)A和n的值,假設(shè)從室內(nèi)環(huán)境得到的實(shí)驗(yàn)測(cè)量數(shù)據(jù)為(RSSIi,di),i=1,2,…,n,RSSIi表示在距離di上所對(duì)應(yīng)的RSSI測(cè)量值。
以實(shí)驗(yàn)室走廊為例,測(cè)得100組數(shù)據(jù),代入上述公式得出A=4l,n=2.3。圖2是參數(shù)優(yōu)化后的RSSI測(cè)距模型曲線。在圖中可以看出,根據(jù)線性回歸分析可以很好地?cái)M合出適應(yīng)當(dāng)前環(huán)境的模型曲線。
2.3 RSSI濾波處理
信號(hào)強(qiáng)度的定位算法中信號(hào)強(qiáng)度值隨環(huán)境的改變有很高的靈敏度,這會(huì)限制測(cè)量的準(zhǔn)確度。事實(shí)上信號(hào)強(qiáng)度與距離之間的關(guān)系很不讓人滿意,在環(huán)境中存在很大的波動(dòng)性。在室內(nèi)環(huán)境下實(shí)測(cè)得到的RSSI與節(jié)點(diǎn)間距離的關(guān)系曲線如圖2所示。當(dāng)傳輸距離較近的時(shí)候,RSSI值衰減得較快;當(dāng)傳輸距離越遠(yuǎn),衰減得越慢,接收強(qiáng)度對(duì)傳輸距離的變化表現(xiàn)不明顯。在實(shí)際中,某一時(shí)間段內(nèi)接收節(jié)點(diǎn)可以收到n個(gè)RSSI值,由于非視距和多徑的影響,導(dǎo)致這些RSSI值具有很大的波動(dòng)性,在代入公式進(jìn)行計(jì)算之前,先進(jìn)行濾波處理,得到一個(gè)比較準(zhǔn)確的值,然后再進(jìn)行計(jì)算。
本文采用高斯濾波模型進(jìn)行RSSI濾波。引入高斯模型進(jìn)行處理的原則是:在自然現(xiàn)象和社會(huì)現(xiàn)象中,大量隨機(jī)變量都服從或近似正態(tài)分布,如材料性能、零件尺寸、化學(xué)成分、測(cè)量誤差、人體高度等。
高概率發(fā)生區(qū),選擇概率大于O.6(O.6的取值是根據(jù)工程中的經(jīng)驗(yàn)值)的范圍。經(jīng)過高斯濾波后,RSSI的取值范圍為[0.15σ+μ,3.09 σ+μ]。其中:
把該范圍內(nèi)的RSSI值全部取出,再求幾何平均值,即可得到最終的RSSI值。
在d=1 m處,采集50組RSSI值,進(jìn)行高斯濾波處理。
如圖3所示,濾波前RSSI波動(dòng)比較大,濾波后比較平滑。濾波前|RSSI|的平均值為38.9,計(jì)算距離d=O.71 m;濾波后|RSSI|的平均值為39.42,計(jì)算距離d=O.81 m。顯然,高斯濾波能很好地提高測(cè)距精度。
3 定位算法
假設(shè)無線定位網(wǎng)絡(luò)中有N個(gè)已知位置的參考節(jié)點(diǎn),坐標(biāo)為(x1,y1),(x2,y2),…,(xN,yN),RSSI測(cè)量值為(RSSI1,RSSI2,…,RSSIN)。通過利用無線信號(hào)傳播衰落模型計(jì)算得到待定位節(jié)點(diǎn)到四個(gè)已知位置的參考節(jié)點(diǎn)的距離為R1,R2,…,RN,則可以得到以下方程:
最終定位算法的研究就是求解該方程。在求解(x,y)過程中,選用基于泰勒級(jí)數(shù)展開迭代法進(jìn)行計(jì)算。選用泰勒級(jí)數(shù)的原因基于以下幾個(gè)方面:
(1)無需提供測(cè)距差測(cè)量值誤差的先驗(yàn)信息。
(2)可以應(yīng)用于兩個(gè)以上數(shù)目距離差測(cè)量的定位估計(jì)。
(3)對(duì)距離差統(tǒng)計(jì)沒有特殊要求。
(4)在適當(dāng)?shù)木嚯x差噪聲水平上提供較準(zhǔn)確的定位估計(jì)。
使用泰勒級(jí)數(shù)進(jìn)行定位計(jì)算,首先面臨的一個(gè)問題即泰勒級(jí)數(shù)展開需要一個(gè)與實(shí)際位置差距不大的初始值,初始值的選擇越接近真實(shí)值,越可以保證算法的收斂性以及實(shí)時(shí)性。本文采用極大似然估計(jì)法來獲取初始值,求得初始值公式為:
式中:
根據(jù)取得的值作為Taylor級(jí)數(shù)展開的循環(huán)初值,然后用Taylor級(jí)數(shù)展開,進(jìn)行矩陣計(jì)算,并反復(fù)迭代求精,直到誤差滿足預(yù)先設(shè)定的門限,得出最終的位置坐標(biāo)。
式中:
在每一次遞歸中,令,重復(fù)以上過程,直到△x,△y足夠小,滿足一預(yù)先設(shè)定的門限ε,即(△x+△y)<ε,此時(shí)的(x,y)即為定位節(jié)點(diǎn)的估計(jì)位置。
4 實(shí)驗(yàn)驗(yàn)證
實(shí)驗(yàn)是在實(shí)驗(yàn)室走廊(4 m×30 m)進(jìn)行的,實(shí)驗(yàn)環(huán)境如圖4所示。選用的是ZigBee硬件平臺(tái)作為通信平臺(tái),該平臺(tái)CC2431自帶定位引擎,可以實(shí)現(xiàn)位置估計(jì),并通過實(shí)驗(yàn)比較兩種算法的差異。
CC2431使用的三邊測(cè)量法進(jìn)行位置計(jì)算,采用均值濾波對(duì)RSSI進(jìn)行濾波處理。ZigBee開發(fā)平臺(tái)如圖5所示。
在實(shí)驗(yàn)環(huán)境中布置4個(gè)節(jié)點(diǎn)作為參考節(jié)點(diǎn),位置分別定義為(O,0),(0,4),(30,O),(30,4)。確定A和n的值,實(shí)驗(yàn)環(huán)境與圖2的實(shí)驗(yàn)一樣??梢缘弥珹=41,n=2.3。在環(huán)境中任取31個(gè)點(diǎn),分別測(cè)得該點(diǎn)的實(shí)際位置(x,y);使用CC2431得到的位置(x’,y’),使用本文提
出的算法得到位置(x",y")。比較兩個(gè)位置的誤差大小d'與d",如圖6所示。
其中:
由圖6可以看出,經(jīng)過線性回歸分析和高斯濾波,然后用泰勒級(jí)數(shù)展開,最終求得位置誤差大約在1 m左右,而CC2431的定位誤差在2~3 m左右。本文提出的定位算法較好地改善了定位效果,使定位誤差主要集中在1 m左右,基本能夠滿足室內(nèi)定位對(duì)誤差的要求,提高了定位精度。
5 結(jié)語
對(duì)基于RSSI的室內(nèi)定位算法以及RSSI測(cè)距進(jìn)行了全面分析。通過線性回歸分析對(duì)參數(shù)進(jìn)行優(yōu)化,高斯模型對(duì)RSSI進(jìn)行濾波,提高了測(cè)距的精度。最后采用泰勒級(jí)數(shù)展開法進(jìn)行位置計(jì)算,比較了CC2431的定位算法,減小了定位誤差,達(dá)到了提高定位精度的目的,證實(shí)了定位算法的優(yōu)越性。