賈銀山 曾帥斌 王 璟
1(遼寧石油化工大學(xué)計(jì)算機(jī)與通信工程學(xué)院 遼寧 撫順 113001) 2(遼寧石油化工大學(xué)馬克思主義學(xué)院 遼寧 撫順 113001)
一種基于優(yōu)化RSSI精度的加權(quán)質(zhì)心定位算法
賈銀山1曾帥斌1王 璟2
1(遼寧石油化工大學(xué)計(jì)算機(jī)與通信工程學(xué)院 遼寧 撫順 113001)2(遼寧石油化工大學(xué)馬克思主義學(xué)院 遼寧 撫順 113001)
針對(duì)無(wú)線傳感器網(wǎng)絡(luò)中傳感器節(jié)點(diǎn)接收信號(hào)強(qiáng)度的誤差影響,在利用信號(hào)強(qiáng)度的比值作為加權(quán)因子的基礎(chǔ)上提出一種基于優(yōu)化信號(hào)強(qiáng)度、精度的加權(quán)質(zhì)心定位算法。首先對(duì)信號(hào)強(qiáng)度(RSSI)值進(jìn)行了修正:為每個(gè)RSSI值求得一個(gè)加權(quán)系數(shù),用加權(quán)后的信號(hào)強(qiáng)度值進(jìn)行運(yùn)算;然后用修正后的信號(hào)強(qiáng)度的比值的倒數(shù)之和作為此算法的權(quán)重因子。實(shí)驗(yàn)結(jié)果表明,算法的定位準(zhǔn)確度比傳統(tǒng)質(zhì)心算法提高了61.5%~87.3%,比RR-WCL算法提高了32.7%~46.4%。
無(wú)線傳感器網(wǎng)絡(luò) 信號(hào)強(qiáng)度(RSSI) 加權(quán)質(zhì)心算法 精度
獲取節(jié)點(diǎn)的位置信息的重要性是毋庸置疑的,實(shí)時(shí)獲取事件發(fā)生的地址是傳感器網(wǎng)絡(luò)的主要功能之一。若是丟失對(duì)位置信息的監(jiān)測(cè),傳感器網(wǎng)絡(luò)就變得沒(méi)有意義。無(wú)線傳感器網(wǎng)絡(luò)最為基礎(chǔ)的技術(shù)之一就是節(jié)點(diǎn)定位技術(shù)[1-2]。節(jié)點(diǎn)定位技術(shù),具體而言,就是通過(guò)一些科學(xué)技術(shù)方法獲取節(jié)點(diǎn)位置信息的過(guò)程。在定位過(guò)程中,通常把網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)分為已知的信標(biāo)節(jié)點(diǎn)和未知的未知節(jié)點(diǎn)。
當(dāng)前,無(wú)線傳感器定位算法根據(jù)距離有關(guān)與否分為兩大類(lèi):基于測(cè)距和非基于測(cè)距[3]。非基于測(cè)距的定位算法也叫距離無(wú)關(guān)算法,是通過(guò)節(jié)點(diǎn)間的連通性和多跳路由來(lái)對(duì)距離進(jìn)行計(jì)算,主要有質(zhì)心算法、DV-Hop算法[4]等。非基于測(cè)距算法固然對(duì)于節(jié)點(diǎn)的硬件要求較低,可是定位的誤差較大。測(cè)量節(jié)點(diǎn)間的角度或者距離,再經(jīng)過(guò)計(jì)算,最終獲得節(jié)點(diǎn)的位置的方法叫做基于測(cè)量距離的定位算法,比如RSSI[5]、AOA[6]、TOA、TDOA等[7]。與非基于測(cè)距的算法對(duì)比,固然基于測(cè)距算法計(jì)算量較大,但精確度需求較高,只實(shí)用于定位精度要求較高的場(chǎng)合。
鄧克巖[8]提出基于RSSI的加權(quán)質(zhì)心算法的改進(jìn)算法,原理是:未知節(jié)點(diǎn)會(huì)接收到不同信標(biāo)節(jié)點(diǎn)的RSSI值,并把這些信號(hào)作為確定權(quán)值的依據(jù)。可是它并沒(méi)有考慮反射、多徑傳播等成分的影響。楊新宇等[9]提出了基于信號(hào)強(qiáng)度比值的加權(quán)質(zhì)心算法。該算法的優(yōu)點(diǎn)是不僅有效緩解了環(huán)境對(duì)路徑衰減因子的影響,而且減小了由于方向不同帶來(lái)的信號(hào)誤差,缺點(diǎn)是沒(méi)有思量天線增益等問(wèn)題會(huì)對(duì)RSSI值產(chǎn)生較大的誤差。施偉等[10]首先將信號(hào)強(qiáng)度值用高斯理論模型進(jìn)行濾波處理,利用窗口函數(shù)濾去偏離較大的信號(hào)值。然后再運(yùn)用校正過(guò)的RSSI測(cè)距技術(shù)優(yōu)選信標(biāo)節(jié)點(diǎn)。該算法的優(yōu)點(diǎn)是盡可能利用RSSI數(shù)據(jù),提高了數(shù)據(jù)利用度,且對(duì)硬件的要求不高。呂振等[11]和CH Genitha等[12]利用倒數(shù)函數(shù),把未知節(jié)點(diǎn)和信標(biāo)節(jié)點(diǎn)間的距離作倒數(shù)運(yùn)算,將倒數(shù)進(jìn)行相加,并把它當(dāng)作權(quán)值進(jìn)行計(jì)算。這樣,可以避免數(shù)據(jù)利用度相同,并進(jìn)行了系數(shù)的修正。趙寶峰等[13]將四邊形拆分成兩個(gè)三角形,在三邊測(cè)距的基礎(chǔ)上分別對(duì)這兩個(gè)三角形求質(zhì)心。該算法的優(yōu)點(diǎn)是在不增添信標(biāo)節(jié)點(diǎn)的前提下,避免了四個(gè)信標(biāo)節(jié)點(diǎn)組成凹形圖所帶來(lái)的誤差。缺點(diǎn)是隨著信標(biāo)節(jié)點(diǎn)占的比例越大,就需要再額外增加節(jié)點(diǎn)或者切換原始算法來(lái)計(jì)算,但這樣算法的改進(jìn)就變得沒(méi)有意義。
為了克服信標(biāo)節(jié)點(diǎn)位置分布不合理造成的少數(shù)節(jié)點(diǎn)無(wú)法定位,彌補(bǔ)信號(hào)強(qiáng)度由于非人為因素而對(duì)算法結(jié)果產(chǎn)生誤差的缺陷,提高信號(hào)強(qiáng)度的完整性與準(zhǔn)確率,本文基于對(duì)文獻(xiàn)[9]提出的RR-WCL算法的研究,對(duì)RSSI數(shù)據(jù)處理方法的漏洞進(jìn)行了修正,給出一種優(yōu)化算法對(duì)RSSI值進(jìn)行加權(quán)處理的方法, 來(lái)修正RSSI數(shù)據(jù)產(chǎn)生的誤差。本文提出將RSSI值進(jìn)行加權(quán)處理的方法與RR-WCL算法結(jié)合,用歸一化方法為每個(gè)信標(biāo)節(jié)點(diǎn)的信號(hào)強(qiáng)度求權(quán)重系數(shù),使修正后的算法不僅使得數(shù)據(jù)信息的運(yùn)用更充分,而且還在選取權(quán)值的過(guò)程中合理地安排了信息的權(quán)重。并基于加權(quán)質(zhì)心算法理論,將兩種方法結(jié)合。相比于現(xiàn)有的基于單一加權(quán)方法,本算法提高了信號(hào)強(qiáng)度值的準(zhǔn)確率。
1.1 無(wú)線電傳播路徑損耗模型
由于多條路徑形成的反射、障礙物阻隔等非人為因素的影響,往往會(huì)導(dǎo)致無(wú)線信號(hào)在傳播的時(shí)候存在一定的損耗。而這種耗損很可能會(huì)導(dǎo)致算法結(jié)果出現(xiàn)偏差,路徑損耗是無(wú)法避免的,但是我們通過(guò)研究發(fā)現(xiàn),不同環(huán)境下選擇不同的損耗模型對(duì)于實(shí)現(xiàn)精確的定位效果是非常關(guān)鍵的。實(shí)際中,主要有三種模型:自由空間傳播模型、對(duì)數(shù)距離路徑損耗模型、對(duì)數(shù)-常態(tài)分布模型。針對(duì)實(shí)際的應(yīng)用環(huán)境,選取自由空間傳播模型與對(duì)數(shù)-常態(tài)分布模型[14]。
自由空間傳播模型:
P(d0)=32.44+10nlg(d0)+10nlg(f)
(1)
其中:P(d0)是路徑損耗,d0是接收端到發(fā)射端的距離(KM),n是路徑損耗系數(shù),取值范圍為2~5,f是無(wú)線電傳播的頻率(MHz)。
對(duì)數(shù)-常態(tài)分布模型:
(2)
其中:P(d)是經(jīng)過(guò)d距離后的路徑損耗(dB),P(d0)無(wú)線電信號(hào)傳輸d0距離后的路徑損耗,d0是參考距離,取d0=1 m;通過(guò)式(1)計(jì)算可得P(d0)。Xσ是均值為0、方差為μ的高斯隨機(jī)變量。由式(1)、式(2)可以得到各未知節(jié)點(diǎn)接收信號(hào)強(qiáng)度:RSSI=Psend+Pampligy-P(d),其中,RSSI是接收到的功率,Psend是發(fā)射功率,Pampligy是天線的增益,P(d)是路徑損耗。
1.2 傳統(tǒng)質(zhì)心算法
質(zhì)心算法的核心思路是:未知節(jié)點(diǎn)把所有與其通信的信標(biāo)節(jié)點(diǎn)的質(zhì)心位置當(dāng)成自身的預(yù)測(cè)位置。具體定位過(guò)程為:信標(biāo)節(jié)點(diǎn)定期廣播發(fā)送周?chē)?jié)點(diǎn)能夠接收的信標(biāo),信標(biāo)節(jié)點(diǎn)自身的ID和位置信息都包含在該信標(biāo)中,所以周?chē)粗?jié)點(diǎn)接收到信標(biāo)時(shí),就能以此判斷自身位置。當(dāng)未知節(jié)點(diǎn)在一定時(shí)限內(nèi)接收到的信標(biāo)數(shù)量超過(guò)某一事先設(shè)定的閾值時(shí),該節(jié)點(diǎn)就把與之聯(lián)通的信標(biāo)節(jié)點(diǎn)多邊形的質(zhì)心確定為自身的位置。定位算法第一要確定未知節(jié)點(diǎn)所能感知的信標(biāo)節(jié)點(diǎn),這些信標(biāo)節(jié)點(diǎn)構(gòu)成一個(gè)多邊形地域,第二要計(jì)算這個(gè)多邊形所有節(jié)點(diǎn)坐標(biāo)的平均值,就是所求的質(zhì)心坐標(biāo)[15]。如圖1所示。
圖1 質(zhì)心定位原理示意圖
多邊形ABCD的頂點(diǎn)分別為A(x1,y1)、B(x2,y2)、C(x3,y3)、D(x4,y4),則多邊形質(zhì)心公式為:
(3)
1.3 加權(quán)質(zhì)心算法
加權(quán)質(zhì)心算法核心思路是:在傳統(tǒng)質(zhì)心算法的構(gòu)思基礎(chǔ)上,基于每個(gè)信標(biāo)節(jié)點(diǎn)和未知節(jié)點(diǎn)之間的信號(hào)強(qiáng)度作為依據(jù),計(jì)算每個(gè)固定信標(biāo)節(jié)點(diǎn)的權(quán)值。信標(biāo)節(jié)點(diǎn)對(duì)質(zhì)心位置的影響是通過(guò)權(quán)值大小來(lái)判斷的。假定(xj,yj)、(xi,yi)分別為未知節(jié)點(diǎn)和信標(biāo)節(jié)點(diǎn)的坐標(biāo),則:
(4)
其中:wi為權(quán)值。通常,權(quán)值是未知節(jié)點(diǎn)到信標(biāo)節(jié)點(diǎn)距離的函數(shù),要是未知節(jié)點(diǎn)不能與信標(biāo)節(jié)點(diǎn)通信,那么wi的值為0。n為信標(biāo)節(jié)點(diǎn)的個(gè)數(shù)。
由于相同的信號(hào)強(qiáng)度對(duì)于同一拓?fù)浣Y(jié)構(gòu)中的不同節(jié)點(diǎn)來(lái)說(shuō),代表的距離是不同的,所以必須賦予不同的權(quán)值加以區(qū)分。若是僅僅考慮未知節(jié)點(diǎn)到任意一個(gè)信標(biāo)節(jié)點(diǎn)的信號(hào)強(qiáng)度值,顯然對(duì)未知節(jié)點(diǎn)的位置計(jì)算起不到明顯的效果。針對(duì)這一問(wèn)題,有必要加入另外的RSSI修正方式。
2.1 RSSI值修正
針對(duì)RSSI值進(jìn)行修正:給RSSI值求得一個(gè)歸一化系數(shù),通過(guò)式(7)為RSSI值求得一個(gè)加權(quán)系數(shù),用加權(quán)后的RSSI值代替原始RSSI值。
具體改進(jìn)算法的計(jì)算步驟如下:
對(duì)于n個(gè)信標(biāo)節(jié)點(diǎn)Be1(x1,y1),Be2(x2,y2),Be3(x3,y3),…,Ben(xn,yn),未知節(jié)點(diǎn)U(x0,y0)接收到各信標(biāo)節(jié)點(diǎn)的信號(hào)強(qiáng)度分別為S1,S2,S3,…,Sn。
步驟1假設(shè)有n個(gè)信標(biāo)節(jié)點(diǎn),且未知節(jié)點(diǎn)能收到這n個(gè)信標(biāo)節(jié)點(diǎn)的信息。按照式(5)求得未知節(jié)點(diǎn)從信標(biāo)節(jié)點(diǎn)接收到的信號(hào)強(qiáng)度的平均值RSSIAVG。
(5)
步驟2對(duì)于來(lái)自n個(gè)信標(biāo)節(jié)點(diǎn)的信號(hào)強(qiáng)度,RSSIAVG與Si相差較大的話,給予一個(gè)相對(duì)小的權(quán)值,反之則給予一個(gè)相對(duì)大的權(quán)值。根據(jù)式(6)求得權(quán)重因子δi,根據(jù)式(7)對(duì)δi作歸一化處理得到加權(quán)系數(shù)Ci。
(6)
(7)
步驟3根據(jù)式(8)求得修正后的RSSI值。
(8)
2.2 位置計(jì)算
定義未知節(jié)點(diǎn)M從信標(biāo)節(jié)點(diǎn)Bej、Bei分別接收到的信號(hào)強(qiáng)度比值為Sji,即:
(9)
定義權(quán)值為:
(10)
最終得到的加權(quán)質(zhì)心計(jì)算公式為:
(11)
(12)
利用MATLAB在100 m×100 m的仿真區(qū)域內(nèi),對(duì)傳統(tǒng)質(zhì)心算法、文獻(xiàn)[9]提到的算法、本文的優(yōu)化算法進(jìn)行比較。信標(biāo)節(jié)點(diǎn)和未知節(jié)點(diǎn)隨機(jī)分布在仿真地域中。待定位目標(biāo)點(diǎn)數(shù)為50個(gè),仿真測(cè)試中,全部的數(shù)據(jù)點(diǎn)代表50次試驗(yàn)結(jié)果的平均值。仿真結(jié)果如圖2和圖3所示。
圖2為三種算法的未知節(jié)點(diǎn)到質(zhì)心距離誤差的比較。在同一條件下,優(yōu)化后的距離誤差明顯比另外兩種小得多,這說(shuō)明優(yōu)化后的定位算法精度提高了。
圖2 平均誤差曲線
圖3 通信半徑對(duì)誤差的影響
從實(shí)驗(yàn)結(jié)果可明顯看出,在信標(biāo)節(jié)點(diǎn)數(shù)相同而通信半徑不斷增加的情況下,本文優(yōu)化算法的定位精度得到了顯著提高。隨著通信半徑的增加,本文算法的定位準(zhǔn)確度比質(zhì)心算法提高了61.5%~87.3%,比文獻(xiàn)[9]算法提高了32.7%~46.4%。
針對(duì)傳統(tǒng)質(zhì)心算法和加權(quán)質(zhì)心算法的缺點(diǎn),本文算法將傳統(tǒng)質(zhì)心算法和加權(quán)質(zhì)心算法的核心思想相結(jié)合,并在信號(hào)強(qiáng)度值的優(yōu)化方法上提出創(chuàng)新,具有明顯的優(yōu)勢(shì)。通過(guò)仿真表明:在直接將信號(hào)強(qiáng)度比值作為算法加權(quán)系數(shù)的前提下,先把信號(hào)強(qiáng)度進(jìn)行一次求權(quán)值運(yùn)算,其定位精度會(huì)高出很多。尤其當(dāng)通信半徑適當(dāng)增大的情況下,該算法比另外兩種算法的定位誤差下降將越發(fā)明顯,證明了該算法的優(yōu)異性。
[1] 劉雪蘭,王宜懷,陸全華,等.無(wú)線傳感器網(wǎng)絡(luò)RSSI定位算法改進(jìn)[J].計(jì)算機(jī)應(yīng)用與軟件,2013,30(11):87-89,141.
[2] 李建中,高宏.無(wú)線傳感器網(wǎng)絡(luò)的研究進(jìn)展[J].計(jì)算機(jī)研究與發(fā)展,2008,45(1):1-15.
[3] 孫利民,李建中,陳渝.無(wú)線傳感器網(wǎng)絡(luò)[M].北京:清華大學(xué)出版社,2005.
[4] 林金朝,劉海波,李國(guó)軍,等.無(wú)線傳感器網(wǎng)絡(luò)中DV-Hop節(jié)點(diǎn)定位改進(jìn)算法研究[J].計(jì)算機(jī)應(yīng)用研究,2009,26(4):1272-1275.
[5] 陳維克,李文鋒,首珩,等.基于RSSI的無(wú)線傳感器網(wǎng)絡(luò)加權(quán)質(zhì)心定位算法[J].武漢理工大學(xué)學(xué)報(bào),2006,28(4):265-271.
[6] Niculescu D,Nath B.Ad hoc positioning system (APS) using AOA[J].Proceedings-IEEE INFOCOM,2003,3(2):1734-1743.
[7] Akyildiz I F,Su W,Sankarasubramaniam Y,et al.A survey on sensor networks[J].Communications Magazine IEEE,2002,40(8):102-114.
[8] 鄧克巖.一種基于RSSI的加權(quán)質(zhì)心算法的改進(jìn)算法[J].自動(dòng)化與儀器儀表,2012,34(3):136-137.
[9] 楊新宇,孔慶茹,戴湘軍.一種改進(jìn)的加權(quán)質(zhì)心定位算法[J].西安交通大學(xué)學(xué)報(bào),2010,44(8):1-4.
[10] 施偉,高軍.無(wú)線傳感器網(wǎng)絡(luò)中基于RSSI的改進(jìn)加權(quán)質(zhì)心定位算法[J].計(jì)算機(jī)應(yīng)用與軟件,2015,32(12):68-70,104.
[11] 呂振,趙鵬飛.一種改進(jìn)的無(wú)線傳感器網(wǎng)絡(luò)加權(quán)質(zhì)心定位算法[J].計(jì)算機(jī)測(cè)量與控制,2013,21(4):1102-1104.
[12] Genitha C H,Vani K.Classification of satellite images using new Fuzzy cluster centroid for unsupervised classification algorithm[C]//Information & Communication Technologies.IEEE,2013:203-207.
[13] 趙寶峰,趙棟棟,趙菊敏,等.基于四邊形分解的質(zhì)心定位算法[J].傳感器與微系統(tǒng),2013,32(6):139-142.
[14] 劉運(yùn)杰,金明錄,崔承毅.基于RSSI的無(wú)線傳感器網(wǎng)絡(luò)修正加權(quán)質(zhì)心定位算法[J].傳感技術(shù)學(xué)報(bào),2010,23(5):717-721.
[15] 彭泓,趙陽(yáng),夏天鵬.基于優(yōu)化RSSI精度的WSN加權(quán)質(zhì)心定位算法[J].計(jì)算機(jī)工程與應(yīng)用,2015,51(21):88-91.
[16] 鄒佳順,張永勝.無(wú)線傳感器網(wǎng)絡(luò)中關(guān)于DV-Hop定位算法的改進(jìn)[J].計(jì)算機(jī)應(yīng)用與軟件,2016,33(3):147-150.
[17] 呂淑芳,馮秀芳,肖忠義.基于TDOA的無(wú)線傳感器網(wǎng)絡(luò)四面體質(zhì)心定位算法研究[J].計(jì)算機(jī)應(yīng)用與軟件,2014,31(9):125-128.
[18] 曾子維,張超.一種質(zhì)心與DV-Hop算法相結(jié)合的WSN節(jié)點(diǎn)定位算法[J].計(jì)算機(jī)應(yīng)用與軟件,2015,32(11):130-133.
AWEIGHTEDCENTROIDLOCALIZATIONALGORITHMBASEDONOPTIMIZEDRSSIPRECISION
Jia Yinshan1Zeng Shuaibin1Wang Jing2
1(SchoolofComputerandCommunicationEngineering,LiaoningShihuaUniversity,Fushun113001,Liaoning,China)2(SchoolofMarxism,LiaoningShihuaUniversity,Fushun113001,Liaoning,China)
Aiming at the influence of the
signal strength error in wireless sensor networks, on the basis of using the ratio of signal strength as the weighting factor, a weighted centroid localization algorithm based on optimized signal strength precision is proposed. First, the algorithm modified the signal strength (RSSI) value. A weighted factor of each RSSI value was counted, and the original RSSI values were replaced with weighted RSSI values. Then, the sum of the reciprocal of the ratio of the modified signal strength was used as the weighting factor of the algorithm. The experimental results show that the localization accuracy of our algorithm is improved by 61.5%~87.3% than that of the traditional centroid algorithm, and 32.7% ~ 46.4% higher than the RR-WCL algorithm.
Wireless sensor networks Received signal strength (RSSI) Weighted centroid algorithm Precision
2016-12-02。遼寧省教育廳科學(xué)研究項(xiàng)目(L2016011)。賈銀山,教授,主研領(lǐng)域:智能信息處理。曾帥斌,碩士生。王璟,碩士生。
TP3
A
10.3969/j.issn.1000-386x.2017.11.030