無(wú)線(xiàn)傳感器網(wǎng)絡(luò )低功耗分簇路由算法研究
靠近基站的候選簇首的競爭半徑應該較小。隨著(zhù)候選簇首到基站距離的減小,其競爭半徑亦應隨之減小。設候選簇首的競爭半徑的最大取值為R0c。其中,c用于控制取值范圍的參數,在0~1之間取值。候選簇首si確定其競爭半徑Rc的計算公式如下:
式中:dmax是距離基站最大的距離;dmin是距離基站最小的距離;d(si,DS)是簇首si到基站DS的距離。
首輪簇首選舉相對簡(jiǎn)單。根據簇首節點(diǎn)比例在網(wǎng)絡(luò )中選舉出簇首,在競爭半徑內不允許存在其他簇首,接著(zhù)競選產(chǎn)生的簇首向全網(wǎng)廣播其競選獲勝的消息CH_ADV_MSG;普通節點(diǎn)選擇簇內通信代價(jià)最小(即接收信號強度最大)的簇首,發(fā)送加入消息JOIN_CLUSTER_MSG通知該簇首。
3.2 簇首生成樹(shù)的建立及數據傳輸
本文采用簇首多跳數據傳輸的方法,如何選舉下一跳簇首節點(diǎn)是本部分要重點(diǎn)闡述的問(wèn)題。首先引入一個(gè)閾值TD_MAX,若簇首到匯聚點(diǎn)的距離小于TD_MAX,則直接與匯聚點(diǎn)進(jìn)行通信;否則,應該盡量使用多跳路由的方式將數據傳送給匯聚點(diǎn)。
假設d(A,DS)>TD_MAX,則在簇首A的臨近簇首集里計算各個(gè)若簇首,帶來(lái)的鏈路質(zhì)量開(kāi)銷(xiāo)指標Erelay=d2(A,X)+d2(X,DS)。其中,d(A,X)是簇首A到簇首X的距離;d(X,DS)是簇首X到基站距離;d(A,DS)是簇首A到基站的距離。在Erelay值小的簇首節點(diǎn)中選擇剩余能量最大的節點(diǎn)作為中繼轉發(fā)的簇首節點(diǎn),將數據按照簇首生成樹(shù)轉發(fā)到基站。
3.3 各輪簇首選舉
為了延長(cháng)網(wǎng)絡(luò )的生命周期,應該盡量選擇簇內節點(diǎn)中剩余能量最高的節點(diǎn)為簇首節點(diǎn),并且讓不同的節點(diǎn)輪轉當選。本部分采用基于剩余能量的簇首簇內輪換的方法進(jìn)行簇首選舉。其主要思想:簇首在簇內負責收集簇內節點(diǎn)的數據。在節點(diǎn)向簇首發(fā)送數據時(shí),在數據位后附加上本節點(diǎn)的剩余能量值位。簇首將數據進(jìn)行處理轉發(fā)后,對各節點(diǎn)的能量進(jìn)行簡(jiǎn)單的排序,因為不用維持所有節點(diǎn)能量的全排序,只需要知道剩余能量比較高的幾個(gè)節點(diǎn),所以采用最大堆的排序方法。在通過(guò)數據應答包或者命令包中附加位的方法把這個(gè)排序中的前3名節點(diǎn)號及能量值廣播到整個(gè)簇內,這樣做就不會(huì )增加廣播次數,只是以附帶的方式就可以使整個(gè)簇內節點(diǎn)都有本簇內剩余能量較高節點(diǎn)的信息。即使簇首節點(diǎn)突然失效或發(fā)生異常,其他的節點(diǎn)可以很快根據能量信息選出新簇首。簇內節點(diǎn)保留的都是最近一次的能量信息,由于傳感器網(wǎng)絡(luò )休眠的時(shí)同比較長(cháng),即使簇首突然失效,信息的變化也不會(huì )很大,完全可以根據這次排序來(lái)選舉出新的簇首。新簇首選出后,負責完成數據收發(fā)處理及能量排序等工作。
通過(guò)本算法每次都選出剩余能量最多的節點(diǎn)當選簇首,使簇內信息收集和主干網(wǎng)絡(luò )通信更加穩定,并避免了每輪簇首選舉時(shí)所有節點(diǎn)相互交換能量信息所需的大量開(kāi)銷(xiāo)。
4 性能分析
本部分比較各種分簇協(xié)議對網(wǎng)絡(luò )存活時(shí)間的影響。圖3顯示了網(wǎng)絡(luò )中存活節點(diǎn)數目的各輪變化情況。從圖中可以看出,無(wú)論是第一個(gè)節點(diǎn)死亡的時(shí)間還是最后一個(gè)節點(diǎn)死亡的時(shí)間,本文算法均優(yōu)于其他3種協(xié)議。節點(diǎn)死亡時(shí)間的跨度可以反映出網(wǎng)絡(luò )中節點(diǎn)的能量均衡情況,時(shí)間跨度短說(shuō)明網(wǎng)絡(luò )的能量使用高效。本文算法不僅顯著(zhù)地延長(cháng)了網(wǎng)絡(luò )的生存時(shí)間,而且時(shí)間跨度也小于其他3種協(xié)議,這說(shuō)明該算法很好地均衡了網(wǎng)絡(luò )中所有節點(diǎn)的能量消耗。
通過(guò)試驗結果可以看出,本文提出的算法具有如下優(yōu)點(diǎn):分簇算法穩定,所生成簇的簇個(gè)數不變,能量消耗低,且有效平衡了簇首能量消耗,顯著(zhù)延長(cháng)路網(wǎng)絡(luò )的生存時(shí)間??傊?,用網(wǎng)絡(luò )的生存時(shí)間這一重要指標來(lái)衡量,其性能顯著(zhù)優(yōu)于其他3種分簇協(xié)議。
5 總 結
本文算法在初始化簇結構時(shí),采用非均勻分簇的方法,避免了由于數據沿簇首生成樹(shù)多跳傳輸而導致近基站簇首多余能量的消耗,解決了簇首能量不均衡的問(wèn)題;采用基于剩余能量的簇首簇內選舉的方法,避免了所有節點(diǎn)參與每輪的簇首選舉過(guò)程帶來(lái)的不必要的能量消耗,保證了剩余能量最多的節點(diǎn)擔任下一任簇首;用簇首建立主干網(wǎng)絡(luò )進(jìn)行數據多跳傳輸,合理選擇下一跳簇首節點(diǎn),減少了簇頭長(cháng)距離傳輸數據的能量消耗。
評論