童 莉,周鳴爭(zhēng)
(安徽工程大學(xué)計(jì)算機(jī)與信息學(xué)院,安徽蕪湖 241000)
基于RSSI修正的近似三角形加權(quán)質(zhì)心定位算法
童 莉,周鳴爭(zhēng)?
(安徽工程大學(xué)計(jì)算機(jī)與信息學(xué)院,安徽蕪湖 241000)
節(jié)點(diǎn)的自身定位技術(shù)是無(wú)線傳感器網(wǎng)絡(luò)研究的核心技術(shù),具有廣泛的應(yīng)用前景.針對(duì)基于RSSI測(cè)距技術(shù)的節(jié)點(diǎn)定位算法存在測(cè)量誤差相對(duì)較大的缺陷,提出一種基于RSSI修正的近似三角形加權(quán)質(zhì)心定位算法.該算法針對(duì)RSSI測(cè)距易受環(huán)境干擾,對(duì)測(cè)距數(shù)據(jù)進(jìn)行高斯擬合和求均值,并以此作為節(jié)點(diǎn)的RSSI測(cè)量值.在此基礎(chǔ)上,利用排序算法對(duì)測(cè)距結(jié)果進(jìn)行排序,優(yōu)選信標(biāo)節(jié)點(diǎn)做三角形內(nèi)點(diǎn)測(cè)試,最后采用加權(quán)質(zhì)心定位算法來(lái)確定未知節(jié)點(diǎn)的坐標(biāo).仿真結(jié)果表明,改進(jìn)算法改善了節(jié)點(diǎn)的定位精度.
無(wú)線傳感器網(wǎng)絡(luò);節(jié)點(diǎn)定位;RSSI測(cè)距;高斯擬合;加權(quán)
無(wú)線傳感器網(wǎng)絡(luò)(WSN)是一種全新的信息獲取技術(shù)和處理平臺(tái),由大量處于移動(dòng)或靜止?fàn)顟B(tài)的傳感器節(jié)點(diǎn)組成.這些節(jié)點(diǎn)的硬件成本較低、體積結(jié)構(gòu)較小,可以通過(guò)機(jī)器撒播或是人工部署的方式被隨機(jī)安置在監(jiān)測(cè)區(qū)域內(nèi),通過(guò)節(jié)點(diǎn)本身攜帶的具有無(wú)線通訊功能的收發(fā)裝置,可以自組織形成具有多跳結(jié)構(gòu)的網(wǎng)絡(luò)系統(tǒng).該網(wǎng)絡(luò)可以協(xié)同感知目標(biāo)對(duì)象的多維信息(溫度、噪聲、壓力、濕度、光強(qiáng)度等),在網(wǎng)絡(luò)中處理發(fā)布采集到的數(shù)據(jù)信息,以實(shí)現(xiàn)對(duì)目標(biāo)區(qū)域的監(jiān)測(cè),為終端用戶(hù)提供決策支持.因此,無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)自身的定位信息是其他很多應(yīng)用的基礎(chǔ),離開(kāi)了位置信息,傳感器網(wǎng)絡(luò)中的某些控制信息就會(huì)變得毫無(wú)意義.
目前,根據(jù)是否需要在定位過(guò)程中直接測(cè)量節(jié)點(diǎn)間的距離,WSN的節(jié)點(diǎn)定位算法主要包括基于測(cè)距(range-based)和基于非測(cè)距(range-free)兩種.前者主要是通過(guò)測(cè)量相鄰傳感器節(jié)點(diǎn)的距離、方位角度等信息,然后使用三邊測(cè)量、三角測(cè)量、最大似然估計(jì)等定位算法建立數(shù)學(xué)模型,估算出節(jié)點(diǎn)位置,從而獲得被測(cè)未知節(jié)點(diǎn)的實(shí)際位置.常采用的測(cè)距技術(shù)包括RSSI(received signal strength indicator)[1]、AOA (angle of arrival)、TOA(time of arrival)和TDOA(time difference on arrival)等;而后者則主要是利用節(jié)點(diǎn)間的連通性和鄰接關(guān)系等信息來(lái)實(shí)現(xiàn)定位,常用的非測(cè)距算法主要包括質(zhì)心算法[2]、DV-Hop算法[3]、APIT算法[4]等.上述兩種節(jié)點(diǎn)定位算法中,基于測(cè)距的定位算法的定位精度相對(duì)較高.其中,基于RSSI測(cè)距技術(shù)的方法具有成本低且復(fù)雜度低的優(yōu)勢(shì),是目前無(wú)線傳感器網(wǎng)絡(luò)中較常用的一種方法.但是,基于RSSI測(cè)距技術(shù)的方法是通過(guò)RSSI衰減模型計(jì)算得出的節(jié)點(diǎn)距離,在實(shí)際環(huán)境中由于各種復(fù)雜因素影響測(cè)距值,導(dǎo)致測(cè)距誤差較大.因此,首先對(duì)RSSI測(cè)距數(shù)據(jù)方法進(jìn)行了修正,通過(guò)對(duì)無(wú)線信號(hào)傳播模型和采集的數(shù)據(jù)進(jìn)行分析和研究,利用高斯擬合處理數(shù)據(jù)進(jìn)行首次過(guò)濾,并采用求平均值作二次處理,最后通過(guò)優(yōu)選信標(biāo)節(jié)點(diǎn),進(jìn)行近似三角形內(nèi)點(diǎn)判定,采用加權(quán)質(zhì)心定位算法得出未知節(jié)點(diǎn)的定位坐標(biāo),以期提高原算法的定位精度,達(dá)到更好的定位效果.
無(wú)線傳感器網(wǎng)絡(luò)采用的無(wú)線信號(hào)傳播模型主要有3種:自由空間傳播模型(Free-Space)、對(duì)數(shù)距離路徑損耗模型和對(duì)數(shù)正態(tài)分布模型(Shadowing).在理想的環(huán)境下進(jìn)行信號(hào)傳播,在自由空間中,接收信號(hào)強(qiáng)度與傳輸距離的平方是成反比的,具體公式如下所示:
式中,Pr(d)表示接收信號(hào)的功率;Pt代表發(fā)射信號(hào)的功率,都是關(guān)于距離的函數(shù);Gr表示接收天線增益;Gt表示發(fā)射天線增益;d表示發(fā)射信號(hào)和接收信號(hào)的兩個(gè)節(jié)點(diǎn)之間的距離;λ是發(fā)射信號(hào)的波長(zhǎng);L是與傳播無(wú)關(guān)的系統(tǒng)損耗因子(L≥1).
這里取參考距離d0的值為20 cm,即0.2 m,由式(1)可以計(jì)算出P0(d0)的值,其中,Gt,Gr和L的值均取1來(lái)計(jì)算.
采用CC2430無(wú)線單片機(jī)作為傳感器節(jié)點(diǎn)的核心芯片,它支持RSSI監(jiān)測(cè)功能,其值可以通過(guò)編程讀出.在50 m?50 m的實(shí)驗(yàn)場(chǎng)地上進(jìn)行測(cè)試實(shí)驗(yàn),測(cè)試結(jié)果如圖1所示.由圖1可知,當(dāng)測(cè)試節(jié)點(diǎn)和信標(biāo)節(jié)點(diǎn)的距離較大時(shí),射頻信號(hào)衰減的速度比較慢.反之,當(dāng)傳輸距離減小時(shí),信號(hào)衰減就會(huì)相對(duì)較快.即在測(cè)距過(guò)程中,接收到的RSSI測(cè)量值隨著發(fā)射端和接收端的傳輸距離增大,衰減速度變?。?/p>
通過(guò)測(cè)距實(shí)驗(yàn)發(fā)現(xiàn),同一個(gè)RSSI值對(duì)應(yīng)的距離并不是一一對(duì)應(yīng)的關(guān)系.實(shí)驗(yàn)中又選擇了2組RSSI值進(jìn)行統(tǒng)計(jì),發(fā)現(xiàn)因信號(hào)受干擾,在整個(gè)測(cè)量過(guò)程中,同一個(gè)距離的信號(hào)會(huì)出現(xiàn)很多值,這對(duì)RSSI的測(cè)距模型和公式帶來(lái)了相當(dāng)大的測(cè)量誤差.70 dBm和85 dBm兩組RSSI值得到的統(tǒng)計(jì)圖如圖2所示.
通過(guò)對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行分析,發(fā)現(xiàn)數(shù)據(jù)在某個(gè)位置的RSSI值是一個(gè)概率問(wèn)題,而測(cè)量值和實(shí)際值最為接近的地方即是概率分布密度最大的地方.為達(dá)到濾除部分失效數(shù)據(jù)的目的,可以通過(guò)對(duì)數(shù)據(jù)進(jìn)行高斯擬合來(lái)找出密度最大的波峰值.
對(duì)于測(cè)量得到的數(shù)據(jù),文中采用了高斯函數(shù)擬合來(lái)進(jìn)行采集數(shù)據(jù)的修正,用以剔除數(shù)據(jù)中那些“誤差”較大的點(diǎn).
設(shè)置一個(gè)門(mén)限值n,利用此值讓發(fā)送節(jié)點(diǎn)連續(xù)進(jìn)行信號(hào)發(fā)送,而同一位置的接收節(jié)點(diǎn)接收到的一組共n個(gè)RSSI測(cè)量值,然后建立高斯函數(shù)的數(shù)學(xué)模型,并對(duì)接收到的所有RSSI測(cè)量數(shù)據(jù)進(jìn)行擬合處理:
其中,
其中,用xi來(lái)表示發(fā)射節(jié)點(diǎn)在第i次進(jìn)行信號(hào)傳送時(shí),接收節(jié)點(diǎn)所得到的RSSI測(cè)量值.然后通過(guò)式(3)和式(4)計(jì)算可以得到該高斯函數(shù)的數(shù)學(xué)期望值和方差值,從而確定分布函數(shù),再為其設(shè)定一個(gè)閾值m,分別計(jì)算出f(xi)的值.當(dāng)f(xi)<m時(shí),就將RSSI的測(cè)量值剔除出去;當(dāng)f(xi)≥m時(shí),將RSSI測(cè)量值保留下來(lái).最后,對(duì)保留下來(lái)的所有RSSI測(cè)量值通過(guò)式(5)進(jìn)行平均值計(jì)算,并以此作為該節(jié)點(diǎn)的RSSI測(cè)量值.
2.1 優(yōu)選參考信標(biāo)節(jié)點(diǎn)
一般來(lái)說(shuō),未知節(jié)點(diǎn)到信標(biāo)節(jié)點(diǎn)的距離越近,由RSSI值的偏差產(chǎn)生的絕對(duì)距離誤差就越小,那么定位的精度自然就越高.
設(shè)置兩個(gè)信標(biāo)節(jié)點(diǎn)的真實(shí)坐標(biāo)分別為(xi,yi)和(xj,yj),根據(jù)式(6)進(jìn)行計(jì)算,得兩個(gè)信標(biāo)節(jié)點(diǎn)之間的實(shí)際距離值:
再通過(guò)公式(7)計(jì)算得出未知節(jié)點(diǎn)與其他信標(biāo)節(jié)點(diǎn)之間的估算距離d估:
在計(jì)算求出|d實(shí)-d估|的差值后,對(duì)計(jì)算結(jié)果按照數(shù)值從小到大進(jìn)行排序,建立與排序后的距離大小順序相對(duì)應(yīng)的優(yōu)選參考信標(biāo)節(jié)點(diǎn)集合:
式中,Pr(d)是經(jīng)過(guò)距離d后的路徑損耗;P0(d0)是參考距離為d0時(shí)的路徑損耗;β是路徑損耗指數(shù);Xσ是均值為零的高斯分布正態(tài)隨機(jī)變量,標(biāo)準(zhǔn)差為σ,方差為σ2(即Xσ~N(0,σ2)).忽略掉Xσ對(duì)計(jì)算的影響,并將β的取值設(shè)為3,由式(8)可以推導(dǎo)出式(7),進(jìn)行距離值的轉(zhuǎn)換計(jì)算.
2.2 建立近似三角形集合
對(duì)優(yōu)選后的參考信標(biāo)節(jié)點(diǎn)集合任取3個(gè)節(jié)點(diǎn)組成一個(gè)三角形,在用近似三角形內(nèi)點(diǎn)測(cè)試法進(jìn)行判斷未知節(jié)點(diǎn)是否位于此三角形內(nèi)部,重復(fù)這一步驟直到整個(gè)集合中的3點(diǎn)組合全部完成判斷.將所有可以把未知節(jié)點(diǎn)包含在內(nèi)部區(qū)域的三角形組合成新的近似三角形集合,并統(tǒng)計(jì)集合中元素的個(gè)數(shù).
2.3 加權(quán)質(zhì)心定位算法[6]
未知節(jié)點(diǎn)的坐標(biāo)(xi,yi)可由式(9)計(jì)算得出.式中,d1,d2,d3表示未知節(jié)點(diǎn)與信標(biāo)節(jié)點(diǎn)的距離; (x1,y1),(x2,y2),(x3,y3)為從通過(guò)三角形內(nèi)側(cè)點(diǎn)判定的優(yōu)選信標(biāo)節(jié)點(diǎn)集合中任意組合的三角形.通過(guò)上述算法計(jì)算出的未知節(jié)點(diǎn)的3個(gè)估算坐標(biāo)值.
最后對(duì)所有求解出的未知節(jié)點(diǎn)坐進(jìn)行均值計(jì)算,其結(jié)果作為最終的未知節(jié)點(diǎn)的位置坐標(biāo).
文中提出的改進(jìn)算法是基于原有RSSI測(cè)距的三角形質(zhì)心定位算法上的,因此,仿真的主要目的就是為了驗(yàn)證改進(jìn)后的定位算法相較原算法是否在定位精度上有所提高.在使用MATLAB 2013進(jìn)行仿真的過(guò)程中,編程時(shí)對(duì)其中的某些主要參數(shù)進(jìn)行了相關(guān)設(shè)置,主要包括:①設(shè)置一個(gè)正方形的監(jiān)測(cè)區(qū)域,其范圍大小為100 m×100 m;②設(shè)置節(jié)點(diǎn)的通信半徑為50 m(節(jié)點(diǎn)的通信半徑一般在10~100 m左右);③設(shè)置WSN中的節(jié)點(diǎn)個(gè)數(shù).其中,信標(biāo)節(jié)點(diǎn)的總個(gè)數(shù)為30個(gè),未知節(jié)點(diǎn)的總個(gè)數(shù)為70個(gè),節(jié)點(diǎn)的位置坐標(biāo)是利用MATLAB 2013隨機(jī)生成函數(shù)并隨機(jī)分布的.WSN網(wǎng)絡(luò)的節(jié)點(diǎn)具體分部如圖3所示;④設(shè)置RSSI距離測(cè)量公式中的路徑衰落因子值為3(它的一般取值在1.5~5之間).
參數(shù)設(shè)置完成后,編程實(shí)現(xiàn)算法仿真.通過(guò)仿真發(fā)現(xiàn),改進(jìn)前的定位算法誤差始終在5.8 m左右.而改進(jìn)后的定位算法誤差的大小會(huì)隨著權(quán)重因子的取值不同而發(fā)生變化.當(dāng)權(quán)值為1時(shí),整個(gè)算法的定位誤差最大;而定位誤差最小的取值可以達(dá)到在2.3 m左右.改進(jìn)前后定位算法對(duì)定位誤差的影響如圖4所示.
通過(guò)用MATLAB 2013進(jìn)行仿真,當(dāng)采用基于RSSI的無(wú)線傳感器網(wǎng)絡(luò)加權(quán)質(zhì)心定位算法進(jìn)行定位時(shí),未知節(jié)點(diǎn)的定位效果圖如圖5所示.由圖5可知,未知節(jié)點(diǎn)的坐標(biāo)估計(jì)的平方誤差為1.3539e+04.而本文所給出的基于RSSI測(cè)距修正的改進(jìn)加權(quán)質(zhì)心定位算法,通過(guò)仿真得到未知節(jié)點(diǎn)的定位效果圖如圖6所示.由圖6可知,未知節(jié)點(diǎn)的坐標(biāo)估計(jì)的平方誤差為6.8413e+03.通過(guò)比較可以發(fā)現(xiàn),相較于改進(jìn)前的定位算法,后者在定位誤差上有了明顯改善,達(dá)到了預(yù)期效果.
對(duì)無(wú)線傳感器網(wǎng)絡(luò)的定位算法進(jìn)行了深入研究,提出了一種基于RSSI測(cè)距修正的近似三角形加權(quán)質(zhì)心定位算法.重復(fù)多次試驗(yàn),從仿真實(shí)驗(yàn)結(jié)果來(lái)看,改進(jìn)后的定位算法提高了節(jié)點(diǎn)的定位精度.
[1] 詹杰,劉宏立,劉述鋼,等.基于RSSI的動(dòng)態(tài)權(quán)重定位算法研究[J].電子學(xué)報(bào),2011,39(1):82-88.
[2] N Bulusu,J Heidemaim.Estnn D GPS-less low-cost outdoor localization for very small devices[J].IEEE Personal Communications Magazine,2000,7(5):28-34.
[3] D Nieuleseu,B Nath.DV based positioning in ad hoc networks[J].In Journal of Telecommunication Systems,2003, 22(1-4):267-280.
[4] 黃春華,韋海清.基于RSSI測(cè)距誤差修正的方法[J].傳感器世界,2014,20(4):31-35.
[5] 楊文鉑,邢鵬康,劉彥華.一種基于自適應(yīng)RSSI測(cè)距模型的無(wú)線傳感器網(wǎng)絡(luò)定位算法[J].傳感技術(shù)學(xué)報(bào),2015,28(1): 137-141.
[6] 林瑋,陳傳峰.萃于RSSI的無(wú)線傳感器網(wǎng)絡(luò)三角形質(zhì)心定位算法[J].現(xiàn)代電子技術(shù),2009(2):181-182.
Triangular weighted centroid localization algorithm based on RSSI amend
TONG Li,ZHOU Ming-zheng?
(College of Computer and Information,Anhui Polytechnic University,Wuhu 241000,China)
In wireless sensor networks,the node localization is one of the core technologies,which has a wide promising application.Because the error of measurement is relatively large in the node localization algorithm based on RSSI distance measurement,a new approximate triangular weighted centroid localization algorithm based on RSSI correction is proposed.The algorithm according to the RSSI ranging is easily interfered by the environment,so the paper applies Gauss fitting and mean value to the ranging data, and regards it as the node of RSSI measure-ment value.Based on this,sorting algorithm is used to sort the ranging results,and then the authors preferred beacon node to triangle point test.Finally,weighted centroid localization algorithm is used to determine the coordinates of the unknown nodes.The simulation results show that the improved algorithm enhances the localization accuracy of the nodes.
wireless sensor networks;node localization;RSSI distance;Gauss fitting;weighting
TP393
A
1672-2477(2015)04-0062-05
2015-05-14
童 莉(1982-),女,安徽寧國(guó)人,碩士研究生.
周鳴爭(zhēng)(1958-),男,安徽樅陽(yáng)人,教授,碩導(dǎo).