作者:王斯瑤;吳援明;謝光忠
近年來(lái)隨著傳感器和無(wú)線通信技術(shù)的進(jìn)步,無(wú)線傳感器網(wǎng)絡(luò)(WSN)技術(shù)發(fā)展迅猛,進(jìn)展很快,使我們可以把大量低成本的傳感器分布在廣闊的區(qū)域來(lái)監(jiān)測(cè)我們所感興趣的環(huán)境。傳感器通過(guò)無(wú)線網(wǎng)絡(luò)連接起來(lái)形成無(wú)線傳感器網(wǎng)絡(luò)(WSN),WSN有一些自身的限制,如:有限的能量供應(yīng),有限的計(jì)算能力和有限的連接傳感器的無(wú)線鏈路的帶寬,而且WSN的應(yīng)用領(lǐng)域也給路由協(xié)議帶來(lái)了一些限制,比如說(shuō),WSN可能隨意地分布在惡劣的或不可到達(dá)的環(huán)境中,人為維護(hù)十分困難,因此延長(zhǎng)網(wǎng)絡(luò)壽命是無(wú)線傳感器網(wǎng)絡(luò)協(xié)議設(shè)計(jì)的關(guān)鍵技術(shù)。
無(wú)線傳感器網(wǎng)絡(luò)
無(wú)線傳感器網(wǎng)絡(luò)由大量傳感器節(jié)點(diǎn)和一個(gè)基站(BS)構(gòu)成,基站是節(jié)點(diǎn)與其它網(wǎng)絡(luò)通信的出入口,傳感器節(jié)點(diǎn)監(jiān)測(cè)環(huán)境并將收集的數(shù)據(jù)傳給基站。然而,它能量有限,直接將數(shù)據(jù)傳給基站會(huì)消耗很多能量(圖1)。采用多跳的路由方法也不理想,因?yàn)樽罱咏镜墓?jié)點(diǎn)會(huì)因路由大量收到的數(shù)據(jù)而很快死亡,從而導(dǎo)致后來(lái)到達(dá)的數(shù)據(jù)不能傳給基站。其它的路由方法中,PEGASIS中的節(jié)點(diǎn)只與鄰居節(jié)點(diǎn)通信,節(jié)點(diǎn)輪流發(fā)送融合后的數(shù)據(jù)給BS,基于蟻群算法的路由在盡量選擇最短路徑的同時(shí)考慮每個(gè)節(jié)點(diǎn)的能量消耗,以選出更合適的路徑。
本文中,我們重點(diǎn)評(píng)價(jià)更具有能量有效性的分簇路由算法,它將無(wú)線傳感器網(wǎng)絡(luò)分成若干簇,每個(gè)簇選舉出一個(gè)簇頭,簇頭作為本地基站將簇內(nèi)節(jié)點(diǎn)傳給它的數(shù)據(jù)進(jìn)行數(shù)據(jù)融合后再傳給基站(圖2),因而大大降低了節(jié)點(diǎn)消耗的能量,延長(zhǎng)了網(wǎng)絡(luò)壽命。
圖1 傳感器系統(tǒng)模型一
圖2 傳感器網(wǎng)絡(luò)系統(tǒng)模型二
無(wú)線傳感器網(wǎng)絡(luò)中的分簇路由算法
傳統(tǒng)路由算法
直接路由算法中節(jié)點(diǎn)直接將數(shù)據(jù)傳送給基站,這樣遠(yuǎn)離基站的節(jié)點(diǎn)會(huì)消耗很多的能量而很快死亡。而MTE(MinimumTransmissionEnergy)是它的一個(gè)改進(jìn),它采用多跳的方法傳送數(shù)據(jù),每個(gè)節(jié)點(diǎn)運(yùn)行建立路由以確定下一跳鄰居節(jié)點(diǎn),這個(gè)鄰居節(jié)點(diǎn)是朝BS方向上離它最近的節(jié)點(diǎn)(假設(shè)每個(gè)節(jié)點(diǎn)都知道網(wǎng)絡(luò)中其它節(jié)點(diǎn)的位置),數(shù)據(jù)包通過(guò)下一跳鄰居節(jié)點(diǎn)傳送直到到達(dá)BS。
在MTE這種路由算法中最接近基站的節(jié)點(diǎn)會(huì)因路由大量傳來(lái)的數(shù)據(jù)而很快死亡,而直接通信中是離基站最遠(yuǎn)的節(jié)點(diǎn)最快死亡。
最基本的分簇路由算法
為了解決傳統(tǒng)路由算法中的高能量耗散問(wèn)題,提出了LEACH(Low-Energy Adaptive Clustering Hierarchy)—一種最基本的分簇路由算法,每個(gè)節(jié)點(diǎn)根據(jù)一定的概率周期性地輪換做簇頭,成為簇頭的節(jié)點(diǎn)用相同的發(fā)射功率給網(wǎng)絡(luò)中的所有節(jié)點(diǎn)廣播消息,非簇頭節(jié)點(diǎn)選擇加入收到信號(hào)最強(qiáng)的那個(gè)簇頭的簇并用CSMAMAC協(xié)議發(fā)消息給簇頭,通知其成為它的成員。之后,簇頭根據(jù)簇中節(jié)點(diǎn)數(shù)目創(chuàng)建TDMA[8]時(shí)間表告訴每個(gè)節(jié)點(diǎn)發(fā)送數(shù)據(jù)的時(shí)隙,以避免碰撞的發(fā)生。另外,簇頭還要通知簇成員使用哪種CDMA編碼,簇頭也使用這種編碼過(guò)濾收到的數(shù)據(jù),這樣鄰居簇的信號(hào)就會(huì)被當(dāng)為噪聲過(guò)濾掉,因此不會(huì)影響簇內(nèi)通信。節(jié)點(diǎn)只在分配給它們的時(shí)隙內(nèi)發(fā)送數(shù)據(jù),其它時(shí)間關(guān)閉其無(wú)線發(fā)射機(jī)以節(jié)約能量,到此,簇就形成了。在數(shù)據(jù)發(fā)送階段,簇頭將成員節(jié)點(diǎn)傳給它的數(shù)據(jù)進(jìn)行融合后直接傳給BS。
在LEACH中,成員節(jié)點(diǎn)在分配的TDMA時(shí)隙內(nèi)總有數(shù)據(jù)傳給簇頭,為了節(jié)約能量,節(jié)點(diǎn)也許只需在它檢測(cè)到有興趣的數(shù)據(jù)時(shí)才傳送數(shù)據(jù),另外,算法周期性地分簇會(huì)消耗節(jié)點(diǎn)很多能量。因此,我們需要在以后的路由算法中在這些方面對(duì)它進(jìn)行改善。
可形成最佳簇的中心控制分簇路由算法
LEACH雖節(jié)約能量,但它不能形成最佳簇。中心控制算法通過(guò)基站來(lái)控制形成最佳的簇。
LEACH-C中,每個(gè)節(jié)點(diǎn)發(fā)送包含自身位置信息和能量信息的消息給BS,位置信息可以保證形成優(yōu)良的簇,為了將能耗平均分?jǐn)偨o所有節(jié)點(diǎn),BS計(jì)算網(wǎng)絡(luò)節(jié)點(diǎn)的平均能量,低于此能量的節(jié)點(diǎn)都不能做簇頭,因此用LEACH-C可以形成比LEACH更優(yōu)良的簇,它的其它階段和LEACH一樣。靜態(tài)分簇(StaticClustering)中,簇形成方法和LEACH-C一樣,只是這些簇頭一旦形成,在整個(gè)網(wǎng)絡(luò)生命期都固定不變,其余的數(shù)據(jù)傳輸方式和LEACH和LEACH-C一樣,但是一旦簇頭能量耗盡,簇內(nèi)節(jié)點(diǎn)就失去了通信能力。
LEACH-C和LEACH在仿真時(shí)間內(nèi)比Static Clustering明顯可以發(fā)送更多的數(shù)據(jù)給BS,并且每單位能量可傳送更多的數(shù)據(jù),但LEACH-C性能最好。
由于LEACH在一些情況中所選的簇頭可能全在區(qū)域的一端,在另一端的傳感器節(jié)點(diǎn)可能偵聽(tīng)不到簇頭發(fā)出的信息,而不能加入任何簇,因此提出了SC(Substractive Clustering)和LMSSC(Least Mean Squared SubstractiveClustering)分簇算法。
SC的思想是具有最多鄰居數(shù)的節(jié)點(diǎn)被選為一個(gè)簇的中心,在一個(gè)確定半徑內(nèi)的其它節(jié)點(diǎn)歸為它的簇,之后再尋找新的具有最多鄰居的節(jié)點(diǎn),這樣一直持續(xù)下去直到80%的節(jié)點(diǎn)已被分簇。
LMSSC在SC上進(jìn)行了修改以形成更好的簇,它的思想是在確定半徑內(nèi)與鄰居節(jié)點(diǎn)的距離平方和平均值最小的節(jié)點(diǎn)被選為一個(gè)簇的中心,所有這個(gè)半徑內(nèi)的它的鄰居節(jié)點(diǎn)被劃為它的簇。這兩種方法都是在簇形成以后再在簇內(nèi)選擇合適的簇頭。簇頭將收到的數(shù)據(jù)進(jìn)行融合后直接或選擇一條代價(jià)最?。ǖ紹S能量消耗最?。┑穆窂綄?shù)據(jù)傳給BS。
LMSSC中節(jié)點(diǎn)運(yùn)行的周期比SC中的更長(zhǎng),所以LMSSC產(chǎn)生的簇更佳。并且,選擇最小代價(jià)路徑傳送數(shù)據(jù)的SC和LMSSC比直接傳送數(shù)據(jù)的SC和LMSSC性能更優(yōu)。
HYENAS(Hybrid Energy-Aware SensorNetworks)也是先形成簇,再選擇簇頭,但它用CBR(Case-BasedReasoning)作為一種決策方法來(lái)保證形成合適的簇,CBR技術(shù)通過(guò)吸取每輪結(jié)束時(shí)的錯(cuò)誤經(jīng)歷來(lái)創(chuàng)建黑名單,黑名單是用來(lái)存放一組簇的。這些簇的簇成員所用的能量超過(guò)了網(wǎng)絡(luò)中所有節(jié)點(diǎn)所用能量的平均值,當(dāng)當(dāng)前每個(gè)簇的特性(如:簇成員數(shù),簇頭到其它節(jié)點(diǎn)的距離平方和等)和黑名單中簇的特性有相似之處時(shí),基站就會(huì)增加一個(gè)簇。如果有少數(shù)節(jié)點(diǎn)離開(kāi)了原來(lái)的簇時(shí),它們會(huì)自己形成子簇,子簇簇頭會(huì)單獨(dú)為子簇創(chuàng)建TDMA時(shí)間表,然后把這個(gè)消息傳給它最初的簇頭,簇頭再傳給基站。這種方法能處理少數(shù)移動(dòng)節(jié)點(diǎn)的問(wèn)題,還能大大減少簇頭和移動(dòng)節(jié)點(diǎn)的通信距離。
當(dāng)?shù)谝粋€(gè)節(jié)點(diǎn)死亡或最后一個(gè)節(jié)點(diǎn)死亡時(shí),HYENAS運(yùn)行的輪數(shù)要比LEACH多。因此,它的網(wǎng)絡(luò)壽命也就相應(yīng)更長(zhǎng)。
基于閾值信息的分簇路由算法
TEEN(Threshold Sensitive Energy Efficient Sensor NetworkProtocol)協(xié)議在LEACH上進(jìn)行了改進(jìn)。它的分簇方法和LEACH一樣,只是它的簇成員不像LEACH算法那樣總是發(fā)送數(shù)據(jù)給簇頭。它的每個(gè)節(jié)點(diǎn)設(shè)定了兩個(gè)閾值,硬門(mén)限(HT)和軟門(mén)限(ST),當(dāng)節(jié)點(diǎn)監(jiān)測(cè)到的數(shù)據(jù)大于HT并且與前次監(jiān)測(cè)的數(shù)據(jù)變化值大于或等于ST時(shí)才發(fā)送數(shù)據(jù)給簇頭,這樣可以大大減少節(jié)點(diǎn)發(fā)射數(shù)據(jù)的次數(shù),但節(jié)點(diǎn)不發(fā)送數(shù)據(jù)用戶就會(huì)長(zhǎng)時(shí)間收不到數(shù)據(jù)或者認(rèn)為節(jié)點(diǎn)死亡。
APTEEN(Adaptive Periodic Threshold-sensitive Energy EfficientSensor NetworkProtocol)協(xié)議彌補(bǔ)了TEEN的缺點(diǎn),簇成員節(jié)點(diǎn)除了在數(shù)據(jù)發(fā)生明顯變化時(shí)發(fā)送外,還會(huì)周期性地發(fā)送消息,這樣節(jié)點(diǎn)除了能節(jié)約能量外,用戶收到發(fā)送來(lái)的消息后也可以周期性得獲得已存儲(chǔ)在基站的數(shù)據(jù)。
在每個(gè)節(jié)點(diǎn)的平均能量耗散和存活節(jié)點(diǎn)總數(shù)性能方面,APTEEN介于TEEN和LEACH之間,但TEEN性能最好,因?yàn)門(mén)EEN中簇內(nèi)的節(jié)點(diǎn)發(fā)送數(shù)據(jù)的次數(shù)最少。
其它的分簇路由算法
PEGASIS(Power-Efficient Gathering in Sensor InformationSystem)的主要思想是每個(gè)節(jié)點(diǎn)從最近的鄰居節(jié)點(diǎn)接收和發(fā)送數(shù)據(jù)給最近鄰居節(jié)點(diǎn),并且輪流發(fā)送融合后的數(shù)據(jù)給BS,這個(gè)方法可將能量負(fù)載均勻地分?jǐn)偨o網(wǎng)絡(luò)中的所有節(jié)點(diǎn)。
PEGASIS:與LEACH相比,當(dāng)相同數(shù)目的節(jié)點(diǎn)死亡時(shí),PEGASIS比LEACH要運(yùn)行多一倍的輪數(shù)。
基于蟻群算法的路由算法是通過(guò)在整個(gè)網(wǎng)絡(luò)內(nèi)建立梯度(節(jié)點(diǎn)與相鄰節(jié)點(diǎn)到基站的最小跳數(shù)之差稱(chēng)為梯度)和每個(gè)節(jié)點(diǎn)之間的信息素(提示數(shù)據(jù)包選擇哪條路徑的信息稱(chēng)為信息素)來(lái)進(jìn)行路由選擇。在設(shè)計(jì)信息素濃度的公式時(shí),不僅考慮了節(jié)點(diǎn)間的梯度,還加入相鄰節(jié)點(diǎn)剩余能量的因素。
該算法在盡量選擇最短路徑的同時(shí),還考慮每個(gè)節(jié)點(diǎn)的能量消耗,以達(dá)到尋找最佳路由的目的。
EBRA(Energy-Based Radius Self-Adjust RoutingProtocol)中節(jié)點(diǎn)會(huì)選擇一條平均單位跳數(shù)消耗最少能量的路徑傳送數(shù)據(jù),當(dāng)節(jié)點(diǎn)自身的能量降低到一定數(shù)值以后,它會(huì)向其鄰居節(jié)點(diǎn)廣播進(jìn)行降低半徑的請(qǐng)求來(lái)達(dá)到維護(hù)路由的目的。
Mobile Ad Hoc中的分簇路由算法
在無(wú)線傳感器網(wǎng)絡(luò)中少數(shù)節(jié)點(diǎn)移動(dòng)的情況下,我們可以借鑒Mobile Ad Hoc網(wǎng)絡(luò)中的分簇算法。Mobile AdHoc中,由于節(jié)點(diǎn)的頻繁移動(dòng),分簇的目的則是保證穩(wěn)定的分簇結(jié)構(gòu),最小化簇建立和維護(hù)的開(kāi)銷(xiāo),最大化系統(tǒng)中移動(dòng)節(jié)點(diǎn)的壽命。DCA(Distributed ClusteringAlgorithm)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)在算法執(zhí)行期間不變,因此它對(duì)靜態(tài)網(wǎng)絡(luò)很有用。算法中,只有當(dāng)節(jié)點(diǎn)的具有較大權(quán)值的鄰居節(jié)點(diǎn)決定了它自己的角色時(shí),節(jié)點(diǎn)才決定自己承擔(dān)什么樣的角色。相反,DMAC(Distributed and Mobility-AdaptiveClustering)適用于拓?fù)浣Y(jié)構(gòu)不斷變化的網(wǎng)絡(luò),節(jié)點(diǎn)不僅對(duì)從其它節(jié)點(diǎn)發(fā)來(lái)的消息做出適當(dāng)?shù)姆磻?yīng),還對(duì)與其它節(jié)點(diǎn)連接的鏈路失敗或新鏈路的出現(xiàn)做出適當(dāng)?shù)姆磻?yīng)。DBCA(Distributed Weighted Clustering Algorithm for Mobile AdHoc)[20]的簇形成方法和DWBCP的相似,在簇維護(hù)階段,當(dāng)節(jié)點(diǎn)移出了它的簇邊界時(shí),它就廣播一個(gè)消息要求加入一個(gè)新簇,任何收到該消息的簇頭都會(huì)發(fā)送應(yīng)答消息給該節(jié)點(diǎn),節(jié)點(diǎn)根據(jù)消息選擇加入具有最小權(quán)值的簇頭的簇,如果在給定的時(shí)間內(nèi)沒(méi)收到任何消息,就宣布自己做為簇頭。當(dāng)簇頭消耗的能量超過(guò)事先設(shè)定的閾值時(shí),簇頭就不再擔(dān)任這個(gè)角色,該簇重新推選簇頭。
基于權(quán)值的分簇算法
這里提出一種創(chuàng)新的分簇路由算法——基于權(quán)值的分簇路由算法。該算法主要研究的是簇頭選舉方法,每個(gè)節(jié)點(diǎn)根據(jù)自己的剩余能量、鄰居數(shù)目、與所有鄰居的平均距離、與基站的距離、以及能量消耗速度來(lái)計(jì)算出自己的權(quán)值:
其中Ev為節(jié)點(diǎn)v的剩余能量,Nv為節(jié)點(diǎn)v的鄰居數(shù)目,即在節(jié)點(diǎn)v發(fā)射范圍內(nèi)的節(jié)點(diǎn)數(shù)目之和,δ為簇頭能夠處理的理想的節(jié)點(diǎn)數(shù),Dnv與Dbv分別為節(jié)點(diǎn)v與鄰居節(jié)點(diǎn)的距離之和,與基站的距離,R為簇覆蓋范圍的直徑,Numv為節(jié)點(diǎn)v做過(guò)簇頭的次數(shù),Tv為節(jié)點(diǎn)v在現(xiàn)在的能量消耗速度下,直到能量水平達(dá)到最小可接受的閾值時(shí)的期望時(shí)間,W1—W6為權(quán)值因子,根據(jù)系統(tǒng)需要選擇,它們之和為1。在鄰居節(jié)點(diǎn)中具有最小權(quán)值的節(jié)點(diǎn)做為簇頭,其它的過(guò)程,諸如數(shù)據(jù)傳輸過(guò)程都與LEACH中的一樣。
系統(tǒng)主要操作步驟:
Step1:根據(jù)以上的方法選取簇頭形成簇;
Step2:簇頭為每個(gè)簇成員分配TDMA時(shí)間表;
Step3:節(jié)點(diǎn)在分配的時(shí)隙內(nèi)發(fā)送數(shù)據(jù)給簇頭;
Step4:簇頭將收到的數(shù)據(jù)進(jìn)行融合后通過(guò)單跳或多跳的形式傳給基站;
Step5:當(dāng)簇頭的剩余能量小于等于本輪開(kāi)始時(shí)能量的某個(gè)百分比時(shí),重新分簇。
基于權(quán)值的分簇路由算法考慮了形成簇頭的多種因素,如簇內(nèi)通信代價(jià)、簇間通信代價(jià)、節(jié)點(diǎn)自身的能量狀況,而LEACH算法只根據(jù)節(jié)點(diǎn)做過(guò)簇頭的次數(shù)來(lái)決定簇頭的選舉,因此它選出的簇頭更合理,產(chǎn)生的簇也更佳。
結(jié)語(yǔ)
由于傳感器網(wǎng)絡(luò)通常分布在環(huán)境惡劣或人不可到達(dá)的地方,所以人為維護(hù)是困難的,因此在進(jìn)行數(shù)據(jù)通信的同時(shí)盡可能延長(zhǎng)網(wǎng)絡(luò)的壽命是我們需要解決的首要任務(wù),分簇算法將無(wú)線傳感器網(wǎng)絡(luò)分成若干簇,每個(gè)簇選舉出一個(gè)簇頭,簇頭作為本地基站將簇內(nèi)節(jié)點(diǎn)傳給它的數(shù)據(jù)進(jìn)行數(shù)據(jù)融合后再傳給基站,因而大大降低了節(jié)點(diǎn)消耗的能量,延長(zhǎng)了網(wǎng)絡(luò)壽命,本文綜述的分簇路由算法及提出的創(chuàng)新的分簇路由算法——基于權(quán)值的分簇路由算法,都是實(shí)現(xiàn)這種目標(biāo)的有效算法。但后者選出的簇頭在節(jié)約能量方面最佳,更受推崇。
基于權(quán)值的分簇路由算法對(duì)權(quán)值因子的選擇是人為的,即認(rèn)為哪個(gè)因素重要,就給相應(yīng)的因素賦更大的權(quán)值,反之,賦更小的值,但這些值究竟應(yīng)該多大,應(yīng)該有一個(gè)更具說(shuō)服力的模型來(lái)描述,比如,在作戰(zhàn)環(huán)境、地震檢測(cè)、動(dòng)物移動(dòng)中應(yīng)該具體用什么模型,以及它們對(duì)網(wǎng)絡(luò)壽命的影響,這些都是還需要進(jìn)一步研究的問(wèn)題。
無(wú)線傳感器網(wǎng)絡(luò)中的路由算法對(duì)網(wǎng)絡(luò)的壽命起著關(guān)鍵的作用,近年來(lái),分簇路由算法已頻繁地用于無(wú)線傳感器網(wǎng)絡(luò)中,因?yàn)樗穆酚伤惴ǜ哂心芰坑行?。本文綜述了近年來(lái)分簇路由算法的主要成果,及它們的性能比較,并提出了一種在能量方面更有效的創(chuàng)新性算法,以及還需期待研究的問(wèn)題。
責(zé)任編輯:gt
-
無(wú)線通信
+關(guān)注
關(guān)注
58文章
4570瀏覽量
143549 -
無(wú)線傳感器
+關(guān)注
關(guān)注
15文章
770瀏覽量
98365 -
基站
+關(guān)注
關(guān)注
17文章
1395瀏覽量
66795
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論