時間:2010-10-12 09:52:51來源:majuan
摘要:在研究無線傳感器網(wǎng)絡(luò)低能耗自適應(yīng)分簇路由算法LEACH等路由協(xié)議基礎(chǔ)上,提出了無線傳感器網(wǎng)絡(luò)的動態(tài)拓撲能量有效成簇算法:其主要內(nèi)容包括:1、采用引入能量因子的低復雜度簇頭選擇算法。2、支持部分節(jié)點移動的拓撲動態(tài)的網(wǎng)絡(luò)。3、在數(shù)據(jù)傳輸上通過多跳方式進行信息路由。理論和仿真結(jié)果證明,本算法相對于LEACH算法,在網(wǎng)絡(luò)生命周期上得到了提高。
1 引言
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)作為下一代的信息獲取技術(shù)引起了世界各國的重視,日漸成為國內(nèi)外學術(shù)機構(gòu)的研究熱點。無線傳感器網(wǎng)絡(luò)通常是由大量傳感器節(jié)點通過射頻通信形成的一個自組織網(wǎng)絡(luò)系統(tǒng)。它通過對被監(jiān)測對象目標信息的感知,獲取和處理,提供給管理者以有用的信息,可以廣泛地應(yīng)用于智能家居、醫(yī)療衛(wèi)生、工業(yè)控制、農(nóng)業(yè)種植、軍事預(yù)警以及防洪救災(zāi)等特殊場合。但是,WSN與移動Ad Hoc網(wǎng)絡(luò)(MANET)是有著很大區(qū)別的,它們的通信方式、通信目的和網(wǎng)絡(luò)拓撲很不相同,尤其在能量來源方面,WSN是采用電池供電,路由算法對傳感器網(wǎng)絡(luò)的存活周期起著重要的影響,所以移動Ad Hoc網(wǎng)絡(luò)的路由協(xié)議不能完全適應(yīng)于WSN,我們需要單獨研究適合于無線傳感器網(wǎng)絡(luò)的通信協(xié)議。
2動態(tài)拓撲能量有效成簇算法
針對層次路由協(xié)議中存在的各種問題,本文提出了適用于WSN的動態(tài)拓撲能量有效成簇算法(DTEE)。此算法引入基于能量因子的低復雜度的簇頭選擇機制,同時通過協(xié)議的設(shè)計使其支持節(jié)點部分離去或有新節(jié)點加入的拓撲動態(tài)傳感器網(wǎng)絡(luò)。在簇間數(shù)據(jù)傳輸上通過多跳算法使數(shù)據(jù)以最優(yōu)路徑傳向匯聚節(jié)點,系統(tǒng)能耗很小,網(wǎng)絡(luò)的生命周期最大化。
3.1網(wǎng)絡(luò)模型
本文中假設(shè)傳感器節(jié)點隨機分布在一個長方形形監(jiān)測區(qū)域內(nèi),并且該傳感器網(wǎng)絡(luò)具有以下性質(zhì):
1) 網(wǎng)絡(luò)中所有傳感器節(jié)點都是同構(gòu)的,具有相同的初始能量,并且能量有限;
2) 傳感器節(jié)點的發(fā)送功率可以進行離散調(diào)節(jié),可以根據(jù)傳輸距離的遠近來調(diào)節(jié)其發(fā)射功率
3) 匯聚節(jié)點具有較強的計算能力和較大的存儲容量,且能量無限制,其無線信號可以覆蓋整個傳感器網(wǎng)絡(luò)。
4) 傳感器網(wǎng)絡(luò)部署以后,可以出現(xiàn)部分節(jié)點隨著時間的推移而移動;
5) 傳感器節(jié)點具有數(shù)據(jù)融合功能。
6) 位置上相鄰的節(jié)點采集到的數(shù)據(jù)具有很大的關(guān)聯(lián)性。
3.2能量模型
在無線傳輸中,信號強度隨著傳輸距離的增加而呈指數(shù)衰減。文獻[3]提出了兩種信道模型:自由空間(free space)模型和多路衰減(multi-path fading)模型。當發(fā)射器與接收器的距離d小于閾值時,采用自由空間模型,信號功率呈d²衰減;否則采用多路衰減模型,信號功率呈d4 衰減。
3.3成簇策略
在LEACH算法中執(zhí)行過程是周期性進行的,每一輪包括簇的建立階段和穩(wěn)定的數(shù)據(jù)傳輸階段。在簇的建立階段,通過選舉使某個節(jié)點成為簇首節(jié)點,成為簇首的節(jié)點向周圍節(jié)點廣播消息,其他節(jié)點根據(jù)接收到的廣播消息的強度來選擇它所要加入的簇,并告知相應(yīng)的簇首。在本文提出的DTEE算法中,也是以輪為形式周期進行的,但在簇頭選舉引入了能量因子,同時第一輪和以后輪的算法過程是不同的,從第二輪開始在成簇階段可以不用計算公式,相比LEACH及一些改進算法需要計算復雜公式的開銷,降低了復雜度,使簇頭選舉能量開銷最低,成簇過程中采用的非均勻成簇方法更是使網(wǎng)絡(luò)能量分布更加均衡。
由于本文采用的是簇內(nèi)單跳,簇間多跳的數(shù)據(jù)傳輸,因此離Sink節(jié)點遠的簇頭節(jié)點,數(shù)據(jù)轉(zhuǎn)發(fā)量越少,能量消耗的慢;而離Sink節(jié)點越近的簇頭,其所承擔的數(shù)據(jù)轉(zhuǎn)發(fā)業(yè)務(wù)越多,消耗能量越大,所以更容易出現(xiàn)能量耗盡而死亡的情況。為此,本文拋棄了傳統(tǒng)算法中采用的均勻分簇的方法,而是采用非均勻成簇的策略。使離Sink節(jié)點越近的簇,其規(guī)模越小一些,從而這些簇其簇內(nèi)路由及數(shù)據(jù)融合開銷小,又因為其所承擔的簇頭間數(shù)據(jù)轉(zhuǎn)發(fā)開銷多,綜合起來無論離Sink遠還是近的簇頭都將能量相對均衡消耗,網(wǎng)絡(luò)生命周期得以最大化。
非均勻分簇的實現(xiàn)過程是這樣的:首先,Sink節(jié)點向網(wǎng)絡(luò)所在區(qū)域廣播一個NOTICE報文,網(wǎng)絡(luò)中所有節(jié)點根據(jù)接收到的此報文能量強度信息確定自己與Sink節(jié)點的距離d(i)。根據(jù)監(jiān)測區(qū)域范圍、傳感器節(jié)點個數(shù)以及能量自由空間模型確定網(wǎng)絡(luò)分層數(shù)n, 然后,本文采用文獻[14]中的均勻分層的方法,各節(jié)點所在的層號i=d(i)*n/R,R為監(jiān)測區(qū)域半徑。因為靠近Sink節(jié)點的簇規(guī)模小,簇內(nèi)節(jié)點少,也就是所在不同層次的節(jié)點成為簇頭的概率不一樣,各節(jié)點成為簇頭的最佳概率為pi=p/(i*i)。其中p為第一層節(jié)點成為簇頭的概率。將傳感區(qū)域進行劃分這個動作只出現(xiàn)在第一輪循環(huán)開始的時候,以后的循環(huán)過程不用再進行傳感區(qū)域劃分。
3.4簇頭選擇
之后開始第一輪的選舉,各節(jié)點產(chǎn)生一個隨機數(shù) r(n) ,并與T(n)進行比較,若r(n)小于T(n),則節(jié)點自選舉成為簇頭。
G為這一輪循環(huán)中未成為簇首的節(jié)點的集合。
當節(jié)點成為簇頭后,以適當?shù)陌霃絉C廣播簇頭加入消息,周圍的節(jié)點根據(jù)接收信號強度決定加入哪個簇并發(fā)送一個請求加入消息。之后簇頭在接收到相關(guān)節(jié)點的請求加入消息后,建立TDMA調(diào)度表并廣播出去。簇內(nèi)節(jié)點在收到此消息后,在屬于自己的時隙內(nèi)打開無線電模塊開始數(shù)據(jù)傳送,在其它不屬于自己的時隙內(nèi)關(guān)掉通信功能以最大限度節(jié)省能量。在簇內(nèi)節(jié)點向簇頭發(fā)送數(shù)據(jù)報文時,在其中加入一個本節(jié)點此刻剩余能量的數(shù)據(jù)信息,供之后算法使用。
第二輪及以后輪的簇頭產(chǎn)生過程中,首先是上一輪的舊簇頭對收到各節(jié)點報文中含有的各節(jié)點能量信息及自己的剩余能量進行比較,從中選出剩余能量最大的節(jié)點為新簇頭,之后舊簇頭以半徑RC發(fā)出new_CH報文,報文中包括報文類型及新簇頭的ID,當指定的新簇頭收到此報文后發(fā)現(xiàn)ID與之相匹配,就廣播簇頭加入報文,其余節(jié)點再根據(jù)接收信號強度決定加入哪個簇頭,之后過程與第一輪相同。但在實際應(yīng)用中,網(wǎng)絡(luò)節(jié)點有可能意外被移動了,或者出故障死亡了,這樣指定的新簇頭就可能不存在了,從而這一簇范圍內(nèi)節(jié)點由于沒收到簇頭加入報文就會整體停止工作,使網(wǎng)絡(luò)出現(xiàn)死區(qū)。考慮此方面,本文設(shè)定舊簇頭節(jié)點在一定的時間閾值內(nèi)若沒有指定的新節(jié)點發(fā)來的簇頭加入報文,它就確認指定的新節(jié)點被意味移動走了,從而它指定剩余能量第二多的節(jié)點為新節(jié)點,并發(fā)送新的new_CH報文。這樣新算法就支持了部分節(jié)點移動或者有新節(jié)點加入的動態(tài)拓撲的網(wǎng)絡(luò)。
同時本文設(shè)計所有節(jié)點在任一輪循環(huán)中,從收到簇頭加入報文或new_CH報文開始,啟動一個計時器Timer,若在最大時限Tmax內(nèi)沒有收到新的簇頭加入報文或new_CH報文,則啟動從第一輪開始新的簇頭選擇過程,相對于大多數(shù)算法只支持靜態(tài)網(wǎng)絡(luò),本文的算法支持了小范圍地理位置變動的傳感器網(wǎng)絡(luò)。
3.5數(shù)據(jù)傳輸
在傳感器網(wǎng)絡(luò)中,簇內(nèi)數(shù)據(jù)傳輸為單跳的,在簇首和各成員節(jié)點之間進行,而對于簇頭到Sink節(jié)點的數(shù)據(jù)傳輸,LEACH算法及一部分改進算法是采用簇頭到匯聚節(jié)點的單跳傳輸,這種方法使簇頭使用了多徑衰落的通信模型(文獻[3]),能量消耗很大,本文采用基于距離因子的多跳傳輸方式。由于采用多跳通信,能量消耗為自由空間模型,而且消息在傳送過程中進行了多次數(shù)據(jù)融合,使各級數(shù)據(jù)轉(zhuǎn)發(fā)中的數(shù)據(jù)量都有所減少,也減少了通信能耗。網(wǎng)絡(luò)所有節(jié)點都存儲有根據(jù)接收到Sink節(jié)點的信號確定的自己到Sink的距離值,這一距離值在第一輪成簇前就已確定,我們稱之為距離因子。當每個簇的簇內(nèi)數(shù)據(jù)融合進行之后,就會開始各簇到Sink的多跳數(shù)據(jù)傳輸。
首先,發(fā)送數(shù)據(jù)的簇頭以確定的半徑RD發(fā)送出消息,消息報文中還包含了此簇頭的距離因子,周圍的簇頭收到消息后,各簇頭將些距離因子與自己的進行比較,若發(fā)現(xiàn)其距離因子小于報文中的距離因子,且自己的剩余能量值不低于簇間傳輸所需的最小能量閾值Emin后,確定自己將此數(shù)據(jù)進行轉(zhuǎn)發(fā),將消息報文中的距離因子替換為其距離因子后以半徑RD繼續(xù)轉(zhuǎn)發(fā),之后傳輸過程相似。由于轉(zhuǎn)發(fā)消息的簇頭的距離因子小,從而其離Sink節(jié)點更近,這樣消息報文在簇間就以多跳的最優(yōu)路徑傳向了匯聚節(jié)點。傳輸能量開銷得以最小化。
3 仿真研究
NS2(Network Simulator 2)是著名的用于網(wǎng)絡(luò)研究的離散事件仿真工具,里面包括了大量的用于有線和無線、本地連接或通過衛(wèi)星連接進行TCP協(xié)議、路由算法、多播協(xié)議仿真的網(wǎng)絡(luò)協(xié)議、調(diào)度器和工具。NS的核心部分是一個離散事件模擬引擎。NS中有一個“調(diào)度器”(Scheduler)類,負責記錄當前時間,調(diào)度網(wǎng)絡(luò)事件隊列中的事件,并提供函數(shù)產(chǎn)生新事件,指定事件發(fā)生的時間。在仿真過程中,將執(zhí)行相關(guān)算法,并且將網(wǎng)絡(luò)運行的具體情況寫到文件當中,包括數(shù)據(jù)分組的傳遞情況、節(jié)點的能量狀況等,這些文件對算法之間進行比較有很大的作用。本文在仿真場景設(shè)置方面,使用了如下場景設(shè)置方案:
(1) 仿真區(qū)域大小為(100*100)。
(2) 所有節(jié)點的初始能量相同。
(3) 傳感器節(jié)點在區(qū)域(100*100)內(nèi)隨機分布。
仿真開始時,網(wǎng)絡(luò)內(nèi)傳感器節(jié)點的分布狀態(tài)如圖1所示。
仿真結(jié)束之后得到了LEACH和DTEE算法生成的相關(guān)文件,使用awk程序提取算法生成的相關(guān)文件中的關(guān)鍵數(shù)據(jù),然后利用gnuplot工具將這些數(shù)據(jù)顯示于圖表上,得到兩個算法相比較的曲線圖如圖2所示。
從圖可以看出在仿真過程中,節(jié)點的能量會隨著時間的推移逐漸減少,直至節(jié)點能量耗盡而死,所以在各個時段傳感區(qū)內(nèi)仍存有能量的節(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)絡(luò)生命周期得到了一定程度的延長。
本文通過采用引入能量因子的低復雜度簇頭選擇算法降低了網(wǎng)絡(luò)通信能耗,在數(shù)據(jù)傳輸上通過多跳方式進行信息路由。仿真結(jié)果顯示,改進后的DTEE協(xié)議能更好地平衡網(wǎng)絡(luò)負載、節(jié)約能量消耗且具有更高的能量使用效率,對分簇算法的的路由協(xié)議實現(xiàn)了優(yōu)化。
仿真結(jié)束之后得到了LEACH和DTEE算法生成的相關(guān)文件,使用awk程序提取算法生成的相關(guān)文件中的關(guān)鍵數(shù)據(jù),然后利用gnuplot工具將這些數(shù)據(jù)顯示于圖表上,得到兩個算法相比較的曲線圖如圖2所示。
從圖可以看出在仿真過程中,節(jié)點的能量會隨著時間的推移逐漸減少,直至節(jié)點能量耗盡而死,所以在各個時段傳感區(qū)內(nèi)仍存有能量的節(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)絡(luò)生命周期得到了一定程度的延長。
本文通過采用引入能量因子的低復雜度簇頭選擇算法降低了網(wǎng)絡(luò)通信能耗,在數(shù)據(jù)傳輸上通過多跳方式進行信息路由。仿真結(jié)果顯示,改進后的DTEE協(xié)議能更好地平衡網(wǎng)絡(luò)負載、節(jié)約能量消耗且具有更高的能量使用效率,對分簇算法的的路由協(xié)議實現(xiàn)了優(yōu)化。
標簽:
中國傳動網(wǎng)版權(quán)與免責聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(m.u63ivq3.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責任。