基于測(cè)距的定位技術(shù)是通過(guò)測(cè)量節(jié)點(diǎn)之間的距離,然后在多條距離的基礎(chǔ)上經(jīng)過(guò)數(shù)學(xué)計(jì)算得到節(jié)點(diǎn)所在的位置。測(cè)量距離可以通過(guò)RSSI或ToA/TDoA獲得。RSSI指的是接收信號(hào)強(qiáng)度指示,通過(guò)測(cè)量接收射頻信號(hào)的能量高低來(lái)判斷與發(fā)送節(jié)點(diǎn)之間的距離,但是精度不會(huì)很高。ToA/TDoA指的是到達(dá)時(shí)間/到達(dá)時(shí)間差技術(shù),ToA與TDoA這是2種不同的技術(shù),但都是通過(guò)傳輸時(shí)間來(lái)估算兩節(jié)點(diǎn)之間的距離,精度較高,不過(guò)由于無(wú)線信號(hào)傳輸速度快只要有一點(diǎn)時(shí)間誤差就會(huì)造成很大的誤差。ToA是已知傳輸速度與傳輸時(shí)間,根據(jù)這2個(gè)條件得到距離。TDoA則是同時(shí)發(fā)送兩個(gè)不同速度的信號(hào),根據(jù)這兩種信號(hào)的傳輸速度以及到達(dá)的時(shí)間差得到距離。得到距離后有多邊定位方法和Min-Max定位方法,多邊定位就是得到多個(gè)錨點(diǎn)到一個(gè)目標(biāo)節(jié)點(diǎn)的距離,有了距離后可以以錨點(diǎn)為圓心畫(huà)圓,這些圓之間的交點(diǎn)便是目標(biāo)節(jié)點(diǎn)了。多邊定位解方程會(huì)有浮點(diǎn)運(yùn)算,因此計(jì)算代價(jià)高。Min-Max定位則是根據(jù)錨點(diǎn)位置到目標(biāo)節(jié)點(diǎn)的距離創(chuàng)建正方形而不是圓了,這些正方形相交后可以得到一個(gè)最小范圍的矩形,取這個(gè)矩形的質(zhì)心就可以了,這樣比較簡(jiǎn)單但是定位精度沒(méi)有多邊定位高。
無(wú)需測(cè)距定位技術(shù)是根據(jù)網(wǎng)絡(luò)的連通性確定網(wǎng)絡(luò)節(jié)點(diǎn)之間的跳數(shù),通過(guò)給跳數(shù)設(shè)置一個(gè)大致距離然后用跳數(shù)乘以跳數(shù)距離就可以了。顯然這種方式精度不高,不過(guò)它的優(yōu)點(diǎn)是開(kāi)銷(xiāo)小比較節(jié)能。無(wú)需測(cè)距定位有2種算法,一種是質(zhì)心算法,錨點(diǎn)會(huì)廣播自己的坐標(biāo)位置信息,這樣當(dāng)目標(biāo)節(jié)點(diǎn)收到這些信息后會(huì)根據(jù)這些信息縮小為一個(gè)形狀比較規(guī)則的多邊形,然后以這個(gè)多邊形中的錨點(diǎn)計(jì)算出質(zhì)心,就是將所有x坐標(biāo)相加然后取平均值,對(duì)y坐標(biāo)也做同樣的處理,然后就這么簡(jiǎn)單粗糙的得道目標(biāo)節(jié)點(diǎn)的位置信息了。還有一種是DV-Hop算法,也不是很靠譜的一個(gè)算法。它會(huì)根據(jù)錨點(diǎn)與錨點(diǎn)之間的距離以及跳數(shù)計(jì)算出一個(gè)一個(gè)跳數(shù)的大概距離,然后再使用多邊定位或Min-Max進(jìn)行定位。
3.數(shù)據(jù)融合
數(shù)據(jù)融合在傳感器網(wǎng)絡(luò)中非常重要,它的最本質(zhì)作用有3點(diǎn):節(jié)省網(wǎng)絡(luò)的能量、提高精確度、提高收集數(shù)據(jù)的效率。傳感器網(wǎng)絡(luò)部署時(shí)往往是大量的投放傳感器到目標(biāo)區(qū)域,因?yàn)閱蝹€(gè)傳感器監(jiān)測(cè)能力有限故要使傳感器達(dá)到一定的密度才能滿(mǎn)足需求,這樣會(huì)增強(qiáng)整個(gè)網(wǎng)絡(luò)的健壯性以及準(zhǔn)確性??墒侨秉c(diǎn)也顯而易見(jiàn),多個(gè)傳感器節(jié)點(diǎn)可能會(huì)在某個(gè)區(qū)域比較集中而導(dǎo)致冗余。這個(gè)時(shí)候數(shù)據(jù)融合可以在中間節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā)時(shí)對(duì)數(shù)據(jù)進(jìn)行去冗余,已經(jīng)有實(shí)驗(yàn)表明傳感器發(fā)送一個(gè)比特消耗的能量遠(yuǎn)遠(yuǎn)大于執(zhí)行一條指令所消耗的能量,從而進(jìn)行數(shù)據(jù)融合可將網(wǎng)絡(luò)消耗降到最低,這就是節(jié)能的作用; 受到成本和體積的限制,節(jié)點(diǎn)的功能往往不會(huì)很強(qiáng)大,所以需要大量的節(jié)點(diǎn)來(lái)進(jìn)行探測(cè),當(dāng)節(jié)點(diǎn)很多時(shí)如果所有信息最后放到匯聚節(jié)點(diǎn)進(jìn)行總結(jié)由于會(huì)有很多數(shù)據(jù)是有大誤差的,從而造成了最終結(jié)果的誤差。如果在一個(gè)小型區(qū)域里進(jìn)行融合,由于節(jié)點(diǎn)之間數(shù)據(jù)比較相近,因此對(duì)于有較大誤差的數(shù)據(jù)可以直接刪除從而提高精確度; 在內(nèi)部進(jìn)行數(shù)據(jù)融合的話,可以減少數(shù)據(jù)傳輸量、減輕網(wǎng)絡(luò)擁塞、降低數(shù)據(jù)延遲,這樣的話傳感器節(jié)點(diǎn)可以花更多精力去采集數(shù)據(jù)從而提高數(shù)據(jù)收集效率。
數(shù)據(jù)融合可分為無(wú)損失融合和有損失融合。無(wú)損失融合指的是所有細(xì)節(jié)都被保留只去掉冗余部分信息,它只是縮減了分組頭部的長(zhǎng)度和控制開(kāi)銷(xiāo),具體的數(shù)據(jù)仍然不會(huì)改變。比如要實(shí)時(shí)的采集一個(gè)房間的溫度信息,匯報(bào)節(jié)點(diǎn)收到多個(gè)數(shù)據(jù)后如果數(shù)據(jù)相同則只是選擇時(shí)間最新的數(shù)據(jù)進(jìn)行匯報(bào),即只修改頭部的時(shí)間信息,而數(shù)據(jù)不變。有損失融合指的是丟棄一些細(xì)節(jié)信息從而減少需要存儲(chǔ)或傳輸?shù)臄?shù)據(jù)量,比如要得到一個(gè)房間的最低溫度,可以對(duì)某一區(qū)域的匯報(bào)節(jié)點(diǎn)收到的數(shù)據(jù)取最小值,而其他數(shù)據(jù)則將丟棄。此外還有許多分類(lèi)的方式這里就不介紹了。
4.能量管理
傳感器網(wǎng)絡(luò)能源管理主要體現(xiàn)在傳感器節(jié)點(diǎn)電源管理和節(jié)能通信協(xié)議2個(gè)方面。傳感器節(jié)點(diǎn)通常有4個(gè)部分:處理器單元、無(wú)線傳輸單元、傳感器單元、電源管理單元。傳感器單元的能耗與應(yīng)用的復(fù)雜度有關(guān),不過(guò)它的能耗與無(wú)線傳輸單元相比還是很低的幾乎可以忽略。處理器損耗和無(wú)線傳輸是需要考慮電源管理的部分,處理器部分主要是硬件方面的改進(jìn),我關(guān)心的是無(wú)線傳輸部分的損耗。無(wú)線傳輸部分包含整個(gè)傳輸過(guò)程,所以應(yīng)該從各層協(xié)議開(kāi)始就盡可能的降低能耗。傳感器網(wǎng)絡(luò)協(xié)議棧的核心部分是數(shù)據(jù)鏈路層和網(wǎng)絡(luò)層。數(shù)據(jù)鏈路層控制相鄰節(jié)點(diǎn)之間使用無(wú)線信道的方式,決定著節(jié)點(diǎn)的發(fā)送、接收、偵聽(tīng)、睡眠狀態(tài)。其中采用偵聽(tīng)/睡眠機(jī)制可以很好的節(jié)能。網(wǎng)絡(luò)層負(fù)責(zé)選擇最佳的路由進(jìn)行數(shù)據(jù)傳輸,轉(zhuǎn)發(fā)數(shù)據(jù)需要消耗能量且隨著通信距離的增大會(huì)導(dǎo)致能耗的急劇增高。而且當(dāng)節(jié)點(diǎn)發(fā)送數(shù)據(jù)給另一個(gè)節(jié)點(diǎn),采用短距離多跳的方式比長(zhǎng)距離單跳消耗的能量更少,因此選擇合適的路由非常非常重要。在應(yīng)用層方面,由上面的介紹知道有數(shù)據(jù)融合進(jìn)行節(jié)能。