新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 無線傳感器網(wǎng)絡的動態(tài)拓撲能量有效成簇算法

無線傳感器網(wǎng)絡的動態(tài)拓撲能量有效成簇算法

作者: 時間:2014-04-06 來源:網(wǎng)絡 收藏

3.5數(shù)據(jù)傳輸

在傳感器網(wǎng)絡中,簇內數(shù)據(jù)傳輸為單跳的,在簇首和各成員節(jié)點之間進行,而對于簇頭到Sink節(jié)點的數(shù)據(jù)傳輸,算法及一部分改進算法是采用簇頭到匯聚節(jié)點的單跳傳輸,這種方法使簇頭使用了多徑衰落的通信模型(文獻[3]),能量消耗很大,本文采用基于距離因子的多跳傳輸方式。由于采用多跳通信,能量消耗為自由空間模型,而且消息在傳送過程中進行了多次數(shù)據(jù)融合,使各級數(shù)據(jù)轉發(fā)中的數(shù)據(jù)量都有所減少,也減少了通信能耗。網(wǎng)絡所有節(jié)點都存儲有根據(jù)接收到Sink節(jié)點的信號確定的自己到Sink的距離值,這一距離值在第一輪成簇前就已確定,我們稱之為距離因子。當每個簇的簇內數(shù)據(jù)融合進行之后,就會開始各簇到Sink的多跳數(shù)據(jù)傳輸。

首先,發(fā)送數(shù)據(jù)的簇頭以確定的半徑RD發(fā)送出消息,消息報文中還包含了此簇頭的距離因子,周圍的簇頭收到消息后,各簇頭將些距離因子與自己的進行比較,若發(fā)現(xiàn)其距離因子小于報文中的距離因子,且自己的剩余能量值不低于簇間傳輸所需的最小能量閾值Emin后,確定自己將此數(shù)據(jù)進行轉發(fā),將消息報文中的距離因子替換為其距離因子后以半徑RD繼續(xù)轉發(fā),之后傳輸過程相似。由于轉發(fā)消息的簇頭的距離因子小,從而其離Sink節(jié)點更近,這樣消息報文在簇間就以多跳的最優(yōu)路徑傳向了匯聚節(jié)點。傳輸能量開銷得以最小化。

3 仿真研究

NS2(Network Simulator 2)是著名的用于網(wǎng)絡研究的離散事件仿真工具,里面包括了大量的用于有線和無線、本地連接或通過衛(wèi)星連接進行TCP協(xié)議、路由算法、多播協(xié)議仿真的網(wǎng)絡協(xié)議、調度器和工具。NS的核心部分是一個離散事件模擬引擎。NS中有一個“調度器”(Scheduler)類,負責記錄當前時間,調度網(wǎng)絡事件隊列中的事件,并提供函數(shù)產生新事件,指定事件發(fā)生的時間。在仿真過程中,將執(zhí)行相關算法,并且將網(wǎng)絡運行的具體情況寫到文件當中,包括數(shù)據(jù)分組的傳遞情況、節(jié)點的能量狀況等,這些文件對算法之間進行比較有很大的作用。本文在仿真場景設置方面,使用了如下場景設置方案:

(1) 仿真區(qū)域大小為(100*100)。

(2) 所有節(jié)點的初始能量相同。

(3) 傳感器節(jié)點在區(qū)域(100*100)內隨機分布。

仿真開始時,網(wǎng)絡內傳感器節(jié)點的分布狀態(tài)如圖1所示。


仿真結束之后得到了和DTEE算法生成的相關文件,使用awk程序提取算法生成的相關文件中的關鍵數(shù)據(jù),然后利用gnuplot工具將這些數(shù)據(jù)顯示于圖表上,得到兩個算法相比較的曲線圖如圖2所示。

從圖可以看出在仿真過程中,節(jié)點的能量會隨著時間的推移逐漸減少,直至節(jié)點能量耗盡而死,所以在各個時段傳感區(qū)內仍存有能量的節(jié)點數(shù)是不同的,圖對兩種算法在不同時段仍然存活的節(jié)點個數(shù)做出了比較。首先,算法在第120秒時第一個節(jié)點出現(xiàn)了死亡,而DTEE是在130多秒時第一個節(jié)點死亡。從節(jié)點存活數(shù)目圖可以看出,在300秒左右,LEACH算法的存活節(jié)點數(shù)已經(jīng)為0,而DTEE算法仍有8個節(jié)點能量并未耗盡,直到320秒左右,DTEE算法的節(jié)點才全部死亡,所以DTEE算法中節(jié)點的生命周期比LEACH提高了約6%,可以看出,DTEE算法由于采用多跳的路由方式,網(wǎng)絡生命周期得到了一定程度的延長。

本文通過采用引入能量因子的低復雜度簇頭選擇算法降低了網(wǎng)絡通信能耗,在數(shù)據(jù)傳輸上通過多跳方式進行信息路由。仿真結果顯示,改進后的DTEE協(xié)議能更好地平衡網(wǎng)絡負載、節(jié)約能量消耗且具有更高的能量使用效率,對分簇算法的的路由協(xié)議實現(xiàn)了優(yōu)化。

仿真結束之后得到了LEACH和DTEE算法生成的相關文件,使用awk程序提取算法生成的相關文件中的關鍵數(shù)據(jù),然后利用gnuplot工具將這些數(shù)據(jù)顯示于圖表上,得到兩個算法相比較的曲線圖如圖2所示。

從圖可以看出在仿真過程中,節(jié)點的能量會隨著時間的推移逐漸減少,直至節(jié)點能量耗盡而死,所以在各個時段傳感區(qū)內仍存有能量的節(jié)點數(shù)是不同的,圖對兩種算法在不同時段仍然存活的節(jié)點個數(shù)做出了比較。首先,LEACH算法在第120秒時第一個節(jié)點出現(xiàn)了死亡,而DTEE是在130多秒時第一個節(jié)點死亡。從節(jié)點存活數(shù)目圖可以看出,在300秒左右,LEACH算法的存活節(jié)點數(shù)已經(jīng)為0,而DTEE算法仍有8個節(jié)點能量并未耗盡,直到320秒左右,DTEE算法的節(jié)點才全部死亡,所以DTEE算法中節(jié)點的生命周期比LEACH提高了約6%,可以看出,DTEE算法由于采用多跳的路由方式,網(wǎng)絡生命周期得到了一定程度的延長。


本文通過采用引入能量因子的低復雜度簇頭選擇算法降低了網(wǎng)絡通信能耗,在數(shù)據(jù)傳輸上通過多跳方式進行信息路由。仿真結果顯示,改進后的DTEE協(xié)議能更好地平衡網(wǎng)絡負載、節(jié)約能量消耗且具有更高的能量使用效率,對分簇算法的的路由協(xié)議實現(xiàn)了優(yōu)化。


上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉