RSSI測(cè)距和距離幾何約束的節(jié)點(diǎn)定位算法設(shè)計(jì)與實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
電系統(tǒng)(Micro-Electro-Mechanism System, MEMS)、片上系統(tǒng)(SOC, System on Chip)、無線通信和低功耗嵌入式技術(shù)的飛速發(fā)展,孕育出無線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks, WSN),并以其低功耗、低成本、分布式和自組織的特點(diǎn)帶來了信息感知的一場(chǎng)變革。無線傳感器網(wǎng)絡(luò)就是由部署在監(jiān)測(cè)區(qū)域內(nèi)大量的廉價(jià)微型傳感器節(jié)點(diǎn)組成,通過無線通信方式形成的一個(gè)多跳自組織網(wǎng)絡(luò)。
無線傳感器網(wǎng)絡(luò)所具有的眾多類型的傳感器,可探測(cè)包括地震、電磁、溫度、濕度、噪聲、光強(qiáng)度、壓力、土壤成分、移動(dòng)物體的大小、速度和方向等周邊環(huán)境中多種多樣的現(xiàn)象?;贛EMS的微傳感技術(shù)和無線聯(lián)網(wǎng)技術(shù)為無線傳感器網(wǎng)絡(luò)賦予了廣闊的應(yīng)用前景。這些潛在的應(yīng)用領(lǐng)域可以歸納為:軍事、航空、反恐、防爆、救災(zāi)、環(huán)境、醫(yī)療、保健、家居、工業(yè)、商業(yè)等領(lǐng)域。
無線傳感器網(wǎng)絡(luò)是一種全新的信息獲取平臺(tái),能夠?qū)崟r(shí)監(jiān)測(cè)和采集網(wǎng)絡(luò)分布區(qū)域內(nèi)的各種檢測(cè)對(duì)象的信息,并將這些信息發(fā)送到網(wǎng)關(guān)節(jié)點(diǎn),以實(shí)現(xiàn)復(fù)雜的指定范圍內(nèi)目標(biāo)檢測(cè)與跟蹤,具有快速展開、抗毀性強(qiáng)等特點(diǎn),有著廣闊的應(yīng)用前景。
在實(shí)際的應(yīng)用中由于反射、多徑傳播、非視距、天線增益等問題都會(huì)對(duì)RSSI的測(cè)距產(chǎn)生誤差,從而引起較大的定位誤差。本文利用二維空間的Cayley - Menger行列式[2,3]提供的幾何約束對(duì)RSSI的測(cè)距誤差進(jìn)行優(yōu)化修正,結(jié)合三角形質(zhì)心計(jì)算,提出了一種基于RSSI測(cè)距和距離幾何約束結(jié)合三角形質(zhì)心定位算法(RDGC-TCL)。仿真表明,該算法與基于RSSI和三角形質(zhì)心定位算法(R_TCL)相比,提高了定位精度。
RDGC-TCL 算法
RSSI 技術(shù)
通過接收到的信號(hào)強(qiáng)弱測(cè)定信號(hào)點(diǎn)與接收點(diǎn)的距離,進(jìn)而根據(jù)相應(yīng)數(shù)據(jù)進(jìn)行定位計(jì)算的一種定位技術(shù) 如無線傳感的ZigBee網(wǎng)絡(luò)CC2431芯片的定位引擎就采用的這種技術(shù)、算法。
接收機(jī)測(cè)量電路所得到的接收機(jī)輸入的平均信號(hào)強(qiáng)度指示。這一測(cè)量值一般不包括天線增益或傳輸系統(tǒng)的損耗。
RSSI(Received Signal Strength Indicator)是接收信號(hào)的強(qiáng)度指示,它的實(shí)現(xiàn)是在反向通道基帶接收濾波器之后進(jìn)行的。
為了獲取反向信號(hào)的特征,在RSSI的具體實(shí)現(xiàn)中做了如下處理:在104us內(nèi)進(jìn)行基帶IQ功率積分得到RSSI的瞬時(shí)值,即RSSI(瞬時(shí))=sum(I^2+Q^2);然后在約1秒內(nèi)對(duì)8192個(gè)RSSI的瞬時(shí)值進(jìn)行平均得到RSSI的平均值,即RSSI(平均)=sum(RSSI(瞬時(shí)))/8192,同時(shí)給出1秒內(nèi)RSSI瞬時(shí)值的最大值和RSSI瞬時(shí)值大于某一門限時(shí)的比率(RSSI瞬時(shí)值大于某一門限的個(gè)數(shù)/8192)。由于 RSSI是通過在數(shù)字域進(jìn)行功率積分而后反推到天線口得到的,反向通道信號(hào)傳輸特性的不一致會(huì)影響RSSI的精度。
在空載下看RSSI的平均值是判斷干擾的最主要手段。對(duì)于新開局,用戶很少,空載下的RSSI電平一般小于-105dBm。在業(yè)務(wù)存在的情況下,有多個(gè)業(yè)務(wù)時(shí)RSSI平均值一般不會(huì)超過-95dBm。從接收質(zhì)量FER上也可以參考判斷是否有干擾存在。通過以發(fā)現(xiàn)是否存在越區(qū)覆蓋而造成干擾,也可以從 Ec/Io與手機(jī)接收功率來判斷是否有干擾。對(duì)于外界干擾,通過頻譜儀分析進(jìn)一步查出是否存在干擾源。[!--empirenews.page--]
RSSI 測(cè)距
RSSI利用已知發(fā)射信號(hào)強(qiáng)度,接收點(diǎn)根據(jù)收到的信號(hào)強(qiáng)度,計(jì)算信號(hào)在傳播過程中的損耗,使用理論或經(jīng)驗(yàn)的信號(hào)傳播模型將傳播損耗轉(zhuǎn)化為距離。常用的傳播路徑損耗模型有[4,5]:自由空間傳播模型、對(duì)數(shù)距離路徑損耗模型、哈它模型、對(duì)數(shù)-常態(tài)分布模型等。文中采用自由空間傳播模型和對(duì)數(shù)-常態(tài)分布模型,用于分析和仿真。自由空間無線電傳播路徑損耗模型如下式:
式中:d為距信源的距離(km),f為頻率(MHz),k為路徑衰減因子。
在實(shí)際應(yīng)用環(huán)境中,由于多徑、繞射、障礙物等因素,無線電傳播路徑損耗與理論值相比有些變化。采用對(duì)數(shù)-常態(tài)分布模型將更加合理,式(2)計(jì)算節(jié)點(diǎn)收到錨節(jié)點(diǎn)信息的路徑損耗。
式中:PL(d)為經(jīng)過距離d后的路徑損耗(dB);為平均值為0的高斯分布隨機(jī)變數(shù),其標(biāo)準(zhǔn)差范圍為4~10。式中k的范圍在2至5之間。取d=1m,帶入式(1),可得到,即的值。這樣根據(jù)上式可得各未知節(jié)點(diǎn)接收錨節(jié)點(diǎn)信號(hào)時(shí)的信號(hào)強(qiáng)度為:
RSSI=發(fā)射功率+天線增益-路徑損耗(PL(d) )。
Cayley-Menger行列式及距離幾何約束
距離幾何理論中,Cayley-Menger行列式可以被用來處理不變空間的歐拉距離幾何問題[6,7]。兩個(gè)n點(diǎn)序列{ P1,…,Pn }和{ q1,…,qn }∈ Rm組成Cayley-Menger矩陣,且定義為:
其中,(i,j {1, …,n}為pi點(diǎn)和qj之間的歐式距離。兩個(gè)n點(diǎn)序列的Cayley-Menger行列式定義為:
[!--empirenews.page--]
當(dāng)兩個(gè)序列相同時(shí), , 被稱為Cayley-Menger行列式。在RSSI測(cè)距過程中,由于多徑、繞射、障礙物等因素,不可避免出現(xiàn)測(cè)距誤差,設(shè)未知節(jié)點(diǎn)與錨節(jié)點(diǎn)之間的真實(shí)距離與測(cè)量距離。設(shè)未知節(jié)點(diǎn)接收到錨節(jié)點(diǎn) 的測(cè)量信息,根據(jù)節(jié)點(diǎn)集合,…,,…,結(jié)合[3]利用Cayley-Menger行列式的經(jīng)典理論的推導(dǎo),可得到r-2個(gè)獨(dú)立的二次距離約束等式。 , 作為未知節(jié)點(diǎn)與錨節(jié)點(diǎn)在測(cè)量過程中出現(xiàn)的誤差,在距離約束限制下形成平方誤差最小化非線性問題:
運(yùn)用數(shù)值分析方法,求得最優(yōu)解 ,進(jìn)而得到未知節(jié)點(diǎn)與錨節(jié)點(diǎn)位置估計(jì)值:
三角形質(zhì)心定位算法模型
本文研究了未知節(jié)點(diǎn)與其無線射程范圍內(nèi)的三個(gè)錨節(jié)點(diǎn)之間的通信約束和幾何關(guān)系得出了未知節(jié)點(diǎn)所在三角區(qū)域,將三角形的質(zhì)心作為未知節(jié)點(diǎn)的估計(jì)位置[8,9] 。這里的三角形質(zhì)心定位算法的基本思想是:三個(gè)錨節(jié)點(diǎn)A、B、C,未知節(jié)點(diǎn)D,利用RSSI和距離幾何約束算出節(jié)點(diǎn)A和D的距離為;節(jié)點(diǎn)B和D的距離為;節(jié)點(diǎn)C和D的距離為。分別以A、B、C為圓心rA,rB,rC , 為半徑畫圓,可得錨圓交疊區(qū)域,通過計(jì)算三個(gè)錨圓交疊區(qū)域的三個(gè)特征點(diǎn)的坐標(biāo),以這三個(gè)點(diǎn)為三角形的頂點(diǎn),未知點(diǎn)即為三角形的質(zhì)心(如圖1所示)。
假設(shè)已知3個(gè)錨節(jié)點(diǎn)的坐標(biāo)分別為A(Xa,Ya) 、B(Xb,Yb) 、C(Xc,Yc) ,與未知節(jié)點(diǎn)的距離分別為rA,rB,rC ,通過下面的公式求出。
同理,可以求出F點(diǎn)和G點(diǎn)的坐標(biāo),假設(shè)未知節(jié)點(diǎn)M的坐標(biāo),利用質(zhì)心算法得到未知節(jié)點(diǎn)M的估計(jì)坐標(biāo)為 :
[!--empirenews.page--]
RDGC-TCL 算法過程
RDGC-TCL 算法包括使用Cayley-Menger行列式給出的距離幾何約束條件對(duì)RSSI測(cè)量值進(jìn)行處理來減小測(cè)量誤差和利用三角形質(zhì)心定位算法進(jìn)行定位。
?。?) 錨節(jié)點(diǎn)周期性發(fā)送自身的信息,信息中包括自身節(jié)點(diǎn)ID和自身位置坐標(biāo)。
?。?) 未知節(jié)點(diǎn)收到來自錨節(jié)點(diǎn)信息時(shí),根據(jù)RSSI由強(qiáng)到弱對(duì)錨節(jié)點(diǎn)進(jìn)行排序,并建立RSSI與節(jié)點(diǎn)到錨節(jié)點(diǎn)距離的映射。建立三個(gè)集合:
(3) 選取RSSI值大的前幾個(gè)錨節(jié)點(diǎn)進(jìn)行計(jì)算,并采用距離幾何約束來求得未知節(jié)點(diǎn)與錨節(jié)點(diǎn)距離的估計(jì)值。
(4)在Beacon_set中選擇RSSI值大的錨節(jié)點(diǎn)組合成下面的三角形集合,這是提高定位的關(guān)鍵。Triangle_set= 對(duì)Triangle_set中任一個(gè)三角形根據(jù)(7)式算出三個(gè)交點(diǎn)的坐標(biāo),最后由質(zhì)心算法,得到未知節(jié)點(diǎn)坐標(biāo)。
(5)對(duì)求出的未知節(jié)點(diǎn)坐標(biāo)集合取平均值,得未知節(jié)點(diǎn)坐標(biāo)。
仿真分析
為了驗(yàn)證算法的有效性,對(duì)定位算法進(jìn)行仿真。仿真場(chǎng)景為一個(gè)120×120的矩形區(qū)域,100個(gè)節(jié)點(diǎn)被隨機(jī)放在區(qū)域內(nèi),其中30個(gè)錨節(jié)點(diǎn),70個(gè)未知節(jié)點(diǎn)。
采用距離幾何約束來減少RSSI測(cè)距誤差并結(jié)合采用三角形質(zhì)心定位算法(RDGC-TCL 算法),算法性能主要從定位誤差和定位覆蓋率兩方面進(jìn)行考慮。仿真結(jié)果如圖2、圖3所示。
RDGC-TCL 算法在測(cè)距校正的過程總增加了計(jì)算量和計(jì)算時(shí)間,但對(duì)定位誤差的減小和定位覆蓋率的增加都有了較大的提高。由圖2所示,在錨節(jié)點(diǎn)較少的情況下,本文算法的性能提高不大,因?yàn)樘峁┬U臏y(cè)量數(shù)據(jù)較少,隨著錨節(jié)點(diǎn)數(shù)目增加,用于校正的測(cè)量數(shù)據(jù)的增加,使得測(cè)量的距離更加的準(zhǔn)確,使得定位的精度有了較大的提高。圖3表明本文算法相對(duì)于R_TCL算法在節(jié)點(diǎn)的覆蓋率方面有較大的提高。
結(jié)語(yǔ)
本文針對(duì)RSSI測(cè)距誤差,提出了基于RSSI和距離幾何約束并結(jié)合三角形質(zhì)心定位算法,仿真結(jié)果表明,本文算法比傳統(tǒng)的RSSI定位算法有更好的定位性能,能夠減小定位誤差并提高節(jié)點(diǎn)定位覆蓋率,同時(shí)本定位算法對(duì)硬件的要求不高,能夠降低無線傳感器網(wǎng)絡(luò)的成本,能夠滿足大多數(shù)無線傳感器網(wǎng)絡(luò)的應(yīng)用要求,是無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位一種可選方案。