引言
隨著無(wú)線技術(shù)的發(fā)展,室內(nèi)" title="室內(nèi)">室內(nèi)外環(huán)境中人員和物體的追蹤定位" title="定位">定位,這一課題引起了研究者的廣泛研究,,位置服務(wù)(LBS)也越來(lái)越受到人們的關(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)" title="系統(tǒng)">系統(tǒng)開發(fā)研究方面,,常用的方法是在室內(nèi)環(huán)境下建立小范圍定位網(wǎng)絡(luò),。目前,越來(lái)越多的定位直接利用現(xiàn)成的無(wú)線通訊模塊來(lái)估計(jì)對(duì)象節(jié)點(diǎn)(盲節(jié)點(diǎn))的位置,,應(yīng)運(yùn)而生的ZigBee" title="ZigBee">ZigBee技術(shù)以低成本,、低功耗成為室內(nèi)定位的首選。本文以ZigBee組建基本的網(wǎng)絡(luò),,通過(guò)節(jié)點(diǎn)接收RSSI值的大小來(lái)進(jìn)行距離計(jì)算,,最終通過(guò)距離以及參考節(jié)點(diǎn)的位置來(lái)計(jì)算定位節(jié)點(diǎn)(盲節(jié)點(diǎn))位置,。
1 無(wú)線網(wǎng)絡(luò)" title="無(wú)線網(wǎng)絡(luò)">無(wú)線網(wǎng)絡(luò)定位技術(shù)
在無(wú)線定位中,有基于測(cè)距和非測(cè)距兩種方式,。前者需要測(cè)量相鄰節(jié)點(diǎn)間的絕對(duì)距離或方位,,并利用節(jié)點(diǎn)間的實(shí)際距離來(lái)計(jì)算未知節(jié)點(diǎn)的位置;后者無(wú)需測(cè)量節(jié)點(diǎn)的絕對(duì)距離或方位,,而是利用節(jié)點(diǎn)間的估計(jì)距離計(jì)算節(jié)點(diǎn)位置,。基于測(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可以看出定位由兩部分組成:一是通過(guò)RSSI測(cè)距,;二是根據(jù)距離以及參考節(jié)點(diǎn)位置計(jì)算盲節(jié)點(diǎn)位置,。
2 RSSI測(cè)距模型
2.1 模型確立
無(wú)線信號(hào)" title="信號(hào)">信號(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ā)射器1m接收到的平均能量絕對(duì)值,,也就是距發(fā)射節(jié)點(diǎn)1m處的接收信號(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è)問(wèn)題是A和n的取值問(wè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ù)值,。
通過(guò)線性回歸分析來(lái)估計(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)過(guò)高斯濾波后,,RSSI的取值范圍為[0.15σ+μ,,3.09σ+μ]。
其中:
把該范圍內(nèi)的RSSI值全部取出,,再求幾何平均值,,即可得到最終的RSSI值。
在d=1m處,,采集50組RSSI值,,進(jìn)行高斯濾波處理。
如圖3所示,,濾波前RSSI波動(dòng)比較大,,濾波后比較平滑。濾波前|RSSI|的平均值為38.9,,計(jì)算距離d=O.71m,;濾波后|RSSI|的平均值為39.42,計(jì)算距離d=O.81m,。顯然,,高斯濾波能很好地提高測(cè)距精度。
3 定位算法
假設(shè)無(wú)線定位網(wǎng)絡(luò)中有N個(gè)已知位置的參考節(jié)點(diǎn),,坐標(biāo)為(x1,,y1),(x2,y2),,…,,(xN,yN),,RSSI測(cè)量值為(RSSI1,,RSSI2,…,,RSSIN),。通過(guò)利用無(wú)線信號(hào)傳播衰落模型計(jì)算得到待定位節(jié)點(diǎn)到四個(gè)已知位置的參考節(jié)點(diǎn)的距離為R1,R2,,…,,RN,則可以得到以下方程:
最終定位算法的研究就是求解該方程,。在求解(x,,y)過(guò)程中,選用基于泰勒級(jí)數(shù)展開迭代法進(jìn)行計(jì)算,。
選用泰勒級(jí)數(shù)的原因基于以下幾個(gè)方面:
?。?)無(wú)需提供測(cè)距差測(cè)量值誤差的先驗(yàn)信息。
?。?)可以應(yīng)用于兩個(gè)以上數(shù)目距離差測(cè)量的定位估計(jì),。
(3)對(duì)距離差統(tǒng)計(jì)沒(méi)有特殊要求,。
(4)在適當(dāng)?shù)木嚯x差噪聲水平上提供較準(zhǔn)確的定位估計(jì),。
使用泰勒級(jí)數(shù)進(jìn)行定位計(jì)算,,首先面臨的一個(gè)問(wèn)題即泰勒級(jí)數(shù)展開需要一個(gè)與實(shí)際位置差距不大的初始值,初始值的選擇越接近真實(shí)值,,越可以保證算法的收斂性以及實(shí)時(shí)性,。本文采用極大似然估計(jì)法來(lái)獲取初始值,求得初始值公式為:
式中:
根據(jù)取得的值作為Taylor級(jí)數(shù)展開的循環(huán)初值,,然后用Taylor級(jí)數(shù)展開,,進(jìn)行矩陣計(jì)算,并反復(fù)迭代求精,,直到誤差滿足預(yù)先設(shè)定的門限,,得出最終的位置坐標(biāo)。
式中:
重復(fù)以上過(guò)程,,直到△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)室走廊(4m×30m)進(jìn)行的,,實(shí)驗(yàn)環(huán)境如圖4所示,。選用的是ZigBee硬件平臺(tái)作為通信平臺(tái),該平臺(tái)CC2431自帶定位引擎,,可以實(shí)現(xiàn)位置估計(jì),,并通過(guò)實(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)一樣,。可以得知,,A=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)過(guò)線性回歸分析和高斯濾波,,然后用泰勒級(jí)數(shù)展開,最終求得位置誤差大約在1m左右,而CC2431的定位誤差在2~3m左右,。本文提出的定位算法較好地改善了定位效果,,使定位誤差主要集中在1m左右,基本能夠滿足室內(nèi)定位對(duì)誤差的要求,,提高了定位精度,。
5 結(jié)語(yǔ)
對(duì)基于RSSI的室內(nèi)定位算法以及RSSI測(cè)距進(jìn)行了全面分析。通過(guò)線性回歸分析對(duì)參數(shù)進(jìn)行優(yōu)化,,高斯模型對(duì)RSSI進(jìn)行濾波,,提高了測(cè)距的精度。最后采用泰勒級(jí)數(shù)展開法進(jìn)行位置計(jì)算,,比較了CC2431的定位算法,,減小了定位誤差,達(dá)到了提高定位精度的目的,,證實(shí)了定位算法的優(yōu)越性,。