本發(fā)明涉及無線傳感器網(wǎng)絡(luò)室內(nèi)定位技術(shù),特別涉及基于等邊三角形模型的RSSI加權(quán)測距方法。
背景技術(shù):
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,簡稱WSN)是一種集成了包括傳感器技術(shù)、微機(jī)電系統(tǒng)技術(shù)、無線通信技術(shù)以及分布式信息處理技術(shù)的新型網(wǎng)絡(luò)技術(shù)。它是由傳感器節(jié)點之間的協(xié)作,對節(jié)點部署區(qū)域內(nèi)的環(huán)境或者對象進(jìn)行實時感知、數(shù)據(jù)采集和以及數(shù)據(jù)分析處理等操作,并將處理過后的信息以無線電的形式發(fā)送,以自組多跳的網(wǎng)絡(luò)方式傳送到對此感興趣的網(wǎng)絡(luò)終端用戶。WSN具有多種無可比擬的優(yōu)點:可靠性高、靈活性強(qiáng)、有自組織能力、能夠隨機(jī)分布、不需要有線網(wǎng)絡(luò)的支持。無線傳感器網(wǎng)絡(luò)具有種類繁多的無線傳感器,它們可以為我們探測到我們周邊環(huán)境中多種多樣有趣的現(xiàn)象,例如電磁、溫度、濕度、噪聲、光強(qiáng)度、壓力、土壤成分、移動物體的大小、速度和方向等,而基于MEMS的微傳感技術(shù)以及無線聯(lián)網(wǎng)技術(shù)更為無線傳感器網(wǎng)絡(luò)賦予了更加廣泛的應(yīng)用前景和更為強(qiáng)大的生命力,這些潛在的應(yīng)用領(lǐng)域可以歸納為:軍事、航空、反恐、防爆、救災(zāi)、環(huán)境、醫(yī)療、保健、家居、工業(yè)、商業(yè)等領(lǐng)域。可以說,它正逐漸成為我們生活中不可分割的一部分。
室內(nèi)定位可以說是無線傳感器網(wǎng)絡(luò)的又一重要的應(yīng)用領(lǐng)域。隨著智能手機(jī)的普及和移動互聯(lián)網(wǎng)的發(fā)展,地圖類與導(dǎo)航類的應(yīng)用軟件正在進(jìn)入一個新的時代——室內(nèi)定位導(dǎo)航時代。近些年來,包括一些科技巨頭,如谷歌、微軟、蘋果、博通等,以及一些世界知名的大學(xué),如耶魯大學(xué)、哈佛大學(xué)等,它們都在研究室內(nèi)定位技術(shù)??梢赃@么講,室內(nèi)定位技術(shù)的商業(yè)化必然會帶來一波新的創(chuàng)新高潮,各種基于此技術(shù)的應(yīng)用將出現(xiàn)在我們的面前,其影響和規(guī)模絕不會亞于GPS。
WSN與我們周圍的環(huán)境息息相關(guān)。WSN由監(jiān)測區(qū)域內(nèi)許多傳感器節(jié)點組成,感知到的信息需要與傳感器節(jié)點的位置信息結(jié)合起來才能為觀察者提供更加準(zhǔn)確的數(shù)據(jù)信息。另外,WSN的跟蹤算法、地理路由協(xié)議等都需要節(jié)點的位置信息。沒有傳感器節(jié)點的位置信息,感知數(shù)據(jù)不會準(zhǔn)確。所以,如果要使節(jié)點能夠正常的工作和測量數(shù)據(jù),就不能缺失其位置信息。每一個節(jié)點需要知道其鄰居節(jié)點的身份和位置以支持?jǐn)?shù)據(jù)處理和協(xié)同工作。根據(jù)節(jié)點位置是否確定,傳感器節(jié)點可大致分為信標(biāo)節(jié)點(或錨節(jié)點)和未知節(jié)點兩種。當(dāng)錨節(jié)點的位置信息確定時,未知節(jié)點就可以通過錨節(jié)點按照某種定位算法的計算得出其位置信息。
盡管基于RSSI的測距算法與基于到達(dá)時間(ToA)的測距技術(shù)、基于到達(dá)時間差(TDoA)的測距技術(shù)相比有著明顯的優(yōu)點,但這種算法也有缺點。在實際應(yīng)用中,大多數(shù)室內(nèi)定位都在封閉或者半封閉的空間里,反射、多徑、室內(nèi)墻壁和障礙物阻擋等多種環(huán)境因素的干擾影響下,RSSI值會出現(xiàn)很大的不穩(wěn)定,而這些RSSI值的偏差會對未知節(jié)點的定位計算帶來很大的影響。長期以來,這都是基于RSSI定位精度不高的主要原因,如何解決這一問題是提高基于RSSI室內(nèi)定位的精度的關(guān)鍵。
技術(shù)實現(xiàn)要素:
為了克服現(xiàn)有技術(shù)的上述缺點與不足,本發(fā)明的目的在于提供一種基于等邊三角形模型的RSSI加權(quán)測距方法,減少確定因素所造成的不確定誤差,提高了定位精度。
本發(fā)明的目的通過以下技術(shù)方案實現(xiàn):
基于等邊三角形模型的RSSI加權(quán)測距方法,包括以下步驟:
(1)初始化錨節(jié)點的網(wǎng)絡(luò)模型;所述錨節(jié)點的部署采用等邊三角形模型;
(2)未知節(jié)點周期性發(fā)送自身信息;
(3)各錨節(jié)點在收到信息后,記錄同一個未知節(jié)點的RSSI測量值,并將記錄到對應(yīng)的RSSI數(shù)組Xn中;
(4)重復(fù)步驟(3)多次;
(5)對任一個錨節(jié)點對應(yīng)的RSSI數(shù)組Xn,進(jìn)行以下操作:對RSSI數(shù)組Xn中的RSSI測量值采用高斯分布函數(shù)進(jìn)行篩選,將高斯分布函數(shù)值大于設(shè)定臨界點的RSSI測量值存放到數(shù)組Xsum中;
對數(shù)組Xsum中的RSSI測量值進(jìn)行加權(quán)平均,得出的RSSI優(yōu)化值為:
其中,n為數(shù)組Xsum中的RSSI測量值的個數(shù);
Xsum(i)為數(shù)組Xsum中的第i個RSSI測量值,1≤i≤n;
f(Xsum(i))為Xsum(i)的值在數(shù)組Xsum中的出現(xiàn)概率;
(6)各錨節(jié)點將步驟(5)中得到的RSSI優(yōu)化值傳給基站,由基站根據(jù)RSSI優(yōu)化值計算得到未知節(jié)點的坐標(biāo)。
步驟(1)所述等邊三角形模型為修正的等邊三角形模型,具體為:
在網(wǎng)絡(luò)模型中缺少錨節(jié)點的邊緣區(qū)域中,在錨節(jié)點相距最長的邊的中點部署一個邊緣修正錨節(jié)點;所述邊緣修正錨節(jié)點的發(fā)射功率低于其他錨節(jié)點。
所述邊緣修正錨節(jié)點的發(fā)射功率為其他錨節(jié)點的75%。
步驟(5)所述臨界點為0.6。
步驟(6)所述由基站根據(jù)RSSI優(yōu)化值計算得到未知節(jié)點的坐標(biāo),具體為:由基站根據(jù)RSSI優(yōu)化值,采用三邊質(zhì)心定位的方法計算得到未知節(jié)點的坐標(biāo)。
采用三邊質(zhì)心定位的方法計算得到未知節(jié)點的坐標(biāo),具體為:
采用冒泡法將各錨節(jié)點的RSSI優(yōu)化值進(jìn)行排序,取最大的三個RSSI優(yōu)化值,獲取三個RSSI優(yōu)化值對應(yīng)的錨節(jié)點的坐標(biāo)A(x1,y1),B(x2,y2),C(x3,y3),計算未知節(jié)點到三個錨節(jié)點的距離dA、dB、dC,,以A、B、C為圓心、dA、dB、dC為半徑作圓,求出這3個圓的交點;若交于一點則該點就是未知節(jié)點的坐標(biāo);若解得3個圓的交點不重合,那么以這3個交點作出一個三角形,計算它的質(zhì)心坐標(biāo),質(zhì)心坐標(biāo)即為未知節(jié)點坐標(biāo)。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點和有益效果:
(1)現(xiàn)有技術(shù)中,當(dāng)未知節(jié)點靠近三角形區(qū)域的某條邊界線上時,除了邊界線上的兩錨節(jié)點外,還出現(xiàn)了有兩個影響相近的錨節(jié)點對該定位節(jié)點起作用,從而可能使定位結(jié)果不斷變化。本發(fā)明根據(jù)高斯分布提出賦予各個RSSI權(quán)重并進(jìn)行均值計算的RSSI加權(quán)均值算法,很好地解決了該問題。減少了由于墻壁、各種固定或移動的障礙物(如人)、多徑、繞射等不確定因素所造成的不確定誤差。
(2)本發(fā)明結(jié)合高斯分布分析RSSI分布模型,得出合適的RSSI值穩(wěn)定有效區(qū)域,可以有效篩選RSSI大概率結(jié)果,減小RSSI隨機(jī)誤差。
(3)本發(fā)明優(yōu)先使用RSSI值最大的節(jié)點作為定位節(jié)點,并通過三邊質(zhì)心定位算法的定位方案,求出未知節(jié)點的坐標(biāo),本發(fā)明的方法優(yōu)化計算量與定位精度,減少定位時間,在一定程度上降低網(wǎng)絡(luò)能耗,延長了網(wǎng)絡(luò)生命周期。
(4)現(xiàn)有技術(shù)中,當(dāng)未知節(jié)點位于邊緣區(qū)域時,節(jié)點將缺少一個必要的錨節(jié)點用于定位,本發(fā)明提出錨節(jié)點的修正等邊三角形布置模型解決了該問題。本發(fā)明在邊緣區(qū)域添加一個必要的錨節(jié)點用于定位減少多個定位節(jié)點的干擾,提高了定位精度。
附圖說明
圖1為本發(fā)明的實施例的基于等邊三角形模型的RSSI加權(quán)測距方法的流程圖。
圖2為本發(fā)明的實施例的修正的等邊三角形模型示意圖。
圖3為本發(fā)明的實施例的修正等邊三角形模型定位結(jié)果。
圖4為傳統(tǒng)正方形模型定位結(jié)果。
圖5為修正等邊三角形模型和傳統(tǒng)正方形模型定位誤差比較。
圖6為采取傳統(tǒng)均值算法定位結(jié)果。
圖7為采取傳統(tǒng)均值算法定位結(jié)果。
圖8為傳統(tǒng)均值算法和傳統(tǒng)均值算法的誤差比較。
具體實施方式
下面結(jié)合實施例,對本發(fā)明作進(jìn)一步地詳細(xì)說明,但本發(fā)明的實施方式不限于此。
實施例
如圖1所示,本實施例的基于等邊三角形模型的RSSI加權(quán)測距方法,包括以下步驟:
(1)初始化錨節(jié)點的網(wǎng)絡(luò)模型;所述錨節(jié)點的部署采用等邊三角形模型;
等邊三角形模型為修正的等邊三角形模型,如圖2所示:在網(wǎng)絡(luò)模型中缺少錨節(jié)點的邊緣區(qū)域中(如△ABC),在錨節(jié)點相距最長的邊的中點部署一個邊緣修正錨節(jié)點(如AC中點D);所述邊緣修正錨節(jié)點的發(fā)射功率為其他錨節(jié)點的75%。
(2)未知節(jié)點周期性發(fā)送自身信息;
(3)各錨節(jié)點在收到信息后,記錄同一個未知節(jié)點的RSSI測量值,并將記錄到對應(yīng)的RSSI數(shù)組Xn中;
(4)重復(fù)步驟(3)20次;
(5)對任一個錨節(jié)點對應(yīng)的RSSI數(shù)組Xn,進(jìn)行以下操作:對RSSI數(shù)組Xn中的RSSI測量值采用高斯分布函數(shù)進(jìn)行篩選,將高斯分布函數(shù)值大于設(shè)定臨界點的RSSI測量值存放到數(shù)組Xsum中;
高斯分布:正態(tài)分布(Normal distribution)是一種概率分布,表達(dá)式為
正態(tài)分布是具有兩個參數(shù)μ和σ2的連續(xù)型隨機(jī)變量的分布,第一參數(shù)μ是遵從正態(tài)分布的隨機(jī)變量的均值,第二個參數(shù)σ2是此隨機(jī)變量的方差,所以正態(tài)分布記作N(μ,σ2)。遵從正態(tài)分布的隨機(jī)變量的概率規(guī)律為取μ鄰近的值的概率大,而取離μ越遠(yuǎn)的值的概率越小;σ越小,分布越集中在μ附近,σ越大,分布越分散。
利用高斯分布處理數(shù)據(jù)的原則是:一個錨節(jié)點在同一位置可能接收到同一個未知節(jié)點發(fā)射的n個RSSI,其中必然存在著很多小概率事件。通過高斯模型選取高概率發(fā)生區(qū)域內(nèi)的RSSI值,然后再取其幾何均值,這種做法減少了一些小概率、大干擾事件對整體測量的影響,增強(qiáng)了定位信息的準(zhǔn)確性。
本實施例中的選擇0.68為臨界點,即當(dāng)高斯分布函數(shù)值大于0.68時認(rèn)為對應(yīng)的RSSI值為高概率發(fā)生值;小于或等于0.68對應(yīng)的RSSI值認(rèn)為是小概率隨機(jī)事件。通過高斯模型選取高概率發(fā)生區(qū)域內(nèi)的RSSI值,然后再取其幾何均值,這種做法減少了一些小概率、大干擾事件對整體測量的影響,增強(qiáng)了定位信息的準(zhǔn)確性。
對數(shù)組Xsum中的RSSI測量值進(jìn)行加權(quán)平均,得出的RSSI優(yōu)化值為:
其中,n為數(shù)組Xsum中的RSSI測量值的個數(shù);
Xsum(i)為數(shù)組Xsum中的第i個RSSI測量值,1≤i≤n;
f(Xsum(i))為Xsum(i)的值在數(shù)組Xsum中的出現(xiàn)概率;
(6)各錨節(jié)點將步驟(5)中得到的RSSI優(yōu)化值傳給基站,由基站根據(jù)RSSI優(yōu)化值,計算得到未知節(jié)點的坐標(biāo):
采用冒泡法將各錨節(jié)點的RSSI優(yōu)化值進(jìn)行排序,取最大的三個RSSI優(yōu)化值,獲取三個RSSI優(yōu)化值對應(yīng)的錨節(jié)點的坐標(biāo)A(x1,y1),B(x2,y2),C(x3,y3),計算未知節(jié)點到三個錨節(jié)點的距離dA、dB、dC,,以A、B、C為圓心、dA、dB、dC為半徑作圓,求出這3個圓的交點;若交于一點則該點就是未知節(jié)點的坐標(biāo);若解得3個圓的交點不重合,那么以這3個交點作出一個三角形,計算它的質(zhì)心坐標(biāo),質(zhì)心坐標(biāo)即為未知節(jié)點坐標(biāo)。若求出的未知節(jié)點坐標(biāo)存在有虛數(shù)的情況,那么就對其采取求實部的步驟,得出的結(jié)果就是未知節(jié)點的坐標(biāo);
對本實施例的基于等邊三角形模型的RSSI加權(quán)測距方法進(jìn)行仿真分析,結(jié)果如下:
(1)參數(shù)初始化
表1 實驗前的參數(shù)初始化
(2)傳統(tǒng)正方形模型、修正等邊三角形模型對比
在傳統(tǒng)正方形部署方案中,正方形以邊長為4m部署錨節(jié)點,在三角形修正部署方案中,三角形邊長為4m部署節(jié)點,則兩個方案中均采用8*8平面作為仿真平面。錨節(jié)點布置坐標(biāo)如下:
表2 仿真?zhèn)鹘y(tǒng)正方形模型、修正等邊三角形模型中錨節(jié)點坐標(biāo)
置錨節(jié)點完畢后,將對本文提出的修正等邊三角形模型與傳統(tǒng)的正方形模型進(jìn)行比較,測試點為20個,仿真結(jié)果如圖3~4所示。由圖可以看到,盡管排除了有小概率、大誤差的事件,使用傳統(tǒng)的正方形模型定位的定位結(jié)果依然能夠出現(xiàn)較大誤差的情況,原因是有多個對影響相似的錨節(jié)點對定位結(jié)果產(chǎn)生影響,造成較大的誤差;相比之下,本文使用的等邊三角形模型則通過減少影響相似的錨節(jié)點的數(shù)目的部署,從而改善此方面的誤差情況,達(dá)到較好的定位效果。
根據(jù)仿真的結(jié)果分析計算,得到兩種算法的定位誤差得到如圖5所示??梢钥吹?,本文使用的修正三角形模型與傳統(tǒng)正方形模型相比,穩(wěn)定性更好,減少了多個錨節(jié)點對定位結(jié)果的影響,這樣就可以保證定位過程中定位結(jié)果不會發(fā)生較大的偏差,從而能夠提高定位的精準(zhǔn)度。初此之外,使用修正三角形模型的定位結(jié)果使平均定位誤差得到了減小,精度有所提高。
(3)傳統(tǒng)均值算法與加強(qiáng)均值算法對比
本次仿真使用8*7的平面,均使用修正等邊三角形模型布置錨節(jié)點,三角形邊長為4m,總共需要10個錨節(jié)點。錨節(jié)點布置坐標(biāo)如下:
表3 仿真?zhèn)鹘y(tǒng)均值算法與加強(qiáng)均值算法對比的錨節(jié)點布置坐標(biāo)
布置錨節(jié)點完畢后,將對本文提出的加權(quán)均值算法與傳統(tǒng)的均值算法進(jìn)行比較,測試點為20個,仿真結(jié)果如圖6~7所示。由圖可以看出,本文采取的加權(quán)均值算法比傳統(tǒng)的均值算法具有更好的精度。此外,在計算量上,加權(quán)均值算法比傳統(tǒng)的均值算法在相同精度的條件下,需要采集的RSSI值次數(shù)更少,有利于縮短定位時間,降低能耗。
通過測試數(shù)據(jù)我們也可以觀察兩種算法的定位性能比較。20次的定位效果如表4,分別為傳統(tǒng)均值算法定位結(jié)果和加權(quán)平均算法定位結(jié)果。
表4 仿真兩種定位算法定位結(jié)果(單位m)
觀察上表可以發(fā)現(xiàn),傳統(tǒng)均值算法的定位結(jié)果與真實坐標(biāo)的誤差較為明顯,說明該算法容易受到隨機(jī)發(fā)生的小概率事件的影響,而加權(quán)均值算法在這方面則做得比較好,雖然其仍然存在有一定的誤差,但是從結(jié)果可以看出,該算法減少了小概率隨機(jī)事件的出現(xiàn)的概率,同時對位置變化的反應(yīng)也比傳統(tǒng)均值算法要敏感。根據(jù)上表的結(jié)果計算得出兩種算法的定位誤差如圖8。由圖可以看出,采用本文提出的加權(quán)均值定位算法相對于傳統(tǒng)均值算法,平均定位誤差得到了減小,精度有所提高。經(jīng)過多次試驗證明,在間隔4m左右的錨節(jié)點部署下,該定位算法可以使節(jié)點定位的誤差大都維持在0.1到0.2m附近,有的甚至少于0.lm。同時由上圖還可以看出,加權(quán)均值算法定位誤差相比傳統(tǒng)均值算法較為穩(wěn)定,這樣就可以保證定位過程中定位結(jié)果不會發(fā)生較大的偏差,從而能夠提高定位的精準(zhǔn)度。
上述實施例為本發(fā)明較佳的實施方式,但本發(fā)明的實施方式并不受所述實施例的限制,其他的任何未背離本發(fā)明的精神實質(zhì)與原理下所作的改變、修飾、替代、組合、簡化,均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護(hù)范圍之內(nèi)。