初肇群
(大連國際機場集團有限公司 遼寧大連 116000)
無線傳感器網(wǎng)絡(luò)節(jié)點間的通信耗能,在傳感器所有耗能中占比最大,是對整個無線傳感器網(wǎng)絡(luò)進行降低耗能的關(guān)鍵性因素。在層次型拓撲結(jié)構(gòu)的傳感器網(wǎng)絡(luò)內(nèi),簇頭不單單具備信息轉(zhuǎn)發(fā)功能,同時還具備信息中繼轉(zhuǎn)發(fā)功能,從能耗方面來說,相較于正常節(jié)點來說,電能損耗要多出不少。在實際應(yīng)用過程中,簇頭與匯聚節(jié)點,兩者之間的數(shù)據(jù)傳輸與接收,通常狀態(tài)下,憑借簇頭之間的數(shù)據(jù)實施中繼轉(zhuǎn)發(fā)工作,絕大多數(shù)能耗也是在簇頭節(jié)點和匯聚節(jié)點之間的通信。除此之外,假設(shè)無線傳感器簇頭在實施數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù)時,存在大于等于兩個節(jié)點同時接收的情況,轉(zhuǎn)發(fā)數(shù)據(jù)會產(chǎn)生冗余的現(xiàn)象,以至于造成能耗增加,同時,這個范圍內(nèi)的信道競爭也會出現(xiàn)一定程度上的沖突,從而讓能耗進一步提升。基于此,通過一定的拓撲控制方法,能夠讓節(jié)點在實施數(shù)據(jù)傳輸任務(wù)過程中,找到唯一的下一跳節(jié)點,能夠科學合理地減少數(shù)據(jù)冗余以及信道競爭,所產(chǎn)生的能耗增加的情況,從而在一定程度上增加網(wǎng)絡(luò)的生命周期。假設(shè)可以在源數(shù)據(jù)簇頭之間和匯聚節(jié)點搭建出一條能耗較少鏈路,就能夠有效降低簇頭的能耗。而且通過強制性地選擇能耗較低鏈路,既能夠?qū)⑿畔?shù)據(jù)傳輸至匯聚節(jié)點,又能夠?qū)⒛芎挠行p少。
因此,如何科學合理地降低并減少簇頭的能耗,以及如何維護簇頭的拓撲結(jié)構(gòu)是該文對無線傳感器網(wǎng)絡(luò)的層次拓撲控制研究的核心。與匯聚節(jié)點之間的間隔范圍模型以及信息中繼轉(zhuǎn)發(fā)的能耗模型,找到簇頭及匯聚節(jié)點在進行信息傳輸任務(wù)時的最佳跳數(shù),讓節(jié)點之間的消耗進一步減少,以達到減少能耗目的。該文就提出了一種基于多跳中繼轉(zhuǎn)發(fā)的拓撲維護算法,試著根據(jù)源簇頭節(jié)點之后,基于距離和節(jié)點的剩余能量選擇合適的簇頭節(jié)點,建立源數(shù)據(jù)簇頭節(jié)點和匯聚節(jié)點間的最佳鏈路,實現(xiàn)周期性的簇頭拓撲維護。
無線傳感器網(wǎng)絡(luò)拓撲控制的最終設(shè)計目標,就是要充分、科學、有效地保障數(shù)據(jù)傳輸?shù)挠行耘c可靠性。簇頭是進行數(shù)據(jù)轉(zhuǎn)發(fā)的核心,且會頻繁地進行工作,以至于出現(xiàn)能耗過大,能量非常容易消耗殆盡的情況。
假設(shè)節(jié)點轉(zhuǎn)發(fā)1Byte的數(shù)據(jù)到距離節(jié)點d,能夠說明網(wǎng)絡(luò)節(jié)點傳輸數(shù)據(jù)的能耗是:
節(jié)點接收1Byte數(shù)據(jù)的能耗是:
在上述式中,Eee位傳遞以及接收電路的電能耗損;ε為發(fā)送放大電路的電能耗損;α為路徑損失指數(shù)。假設(shè)在進行數(shù)據(jù)轉(zhuǎn)發(fā)時,傳輸距離低于某個閥值,則α=12,功率放大損耗使用自由空間模型,ε=εfs。假設(shè)轉(zhuǎn)發(fā)距離≥某個閥值時,α=4,功率放大損耗使用多路徑衰減模型,ε=εamp。
單跳通信在一般情況下是說:不會憑借其他節(jié)點實施信息的中繼轉(zhuǎn)發(fā),而是直接與目標節(jié)點實施信息傳輸,比如:我們經(jīng)常見到的蜂窩移動通信(GSM),也可以稱為“直接通信”;多跳通信通常來說,需要憑借其他節(jié)點進行數(shù)據(jù)中轉(zhuǎn)至目標節(jié)點,也就是我們常說的“間接通信”,間接通信普遍應(yīng)用于自組織的、無設(shè)備基礎(chǔ)的通信網(wǎng)絡(luò)[1]。在無線傳感器網(wǎng)絡(luò)中,單跳通信傳輸中,節(jié)點轉(zhuǎn)發(fā)Byte 數(shù)據(jù)所耗費的能量是Ext,路徑損失指數(shù)在一般情況下是最高的,即α=4。在多跳通信的過程中,節(jié)點傳輸Byte 數(shù)據(jù)所需要的能耗,如下式:E=Etx+∑(Erx+Etx),路徑損失指數(shù)一般狀態(tài)下能夠用式(2)進行表示。
假如,從一個單獨的簇頭節(jié)點,到SINK之間的傳輸距離,用D來進行表示,數(shù)據(jù)通過n跳的節(jié)點,進行數(shù)據(jù)轉(zhuǎn)發(fā),到第i跳的傳輸距離,可以用di進行表示,則把1比特單位的數(shù)據(jù),從簇頭節(jié)點傳輸至SINK節(jié)點的全部能量耗損,能夠用下式進行表示:
對上式求導,E′(n)=0,E(n)取最小值,得出:
能夠得到最優(yōu)跳數(shù):
所以,能量消耗最小的平均每一跳的傳輸距離為:
數(shù)據(jù)轉(zhuǎn)發(fā)的運作原理,是作用于通信電能耗損的關(guān)鍵性成因,通過計算全部的傳輸與數(shù)據(jù)傳輸能耗之間的聯(lián)系,能夠計算出最好、最優(yōu)秀的中繼跳數(shù),可以通過式(4)~式(6)進行表示,每一跳的最好的數(shù)據(jù)傳輸距離可以通過式(4)~式(7)進行表示,因此,上述計算公式,為處理數(shù)據(jù)多跳中繼轉(zhuǎn)發(fā)運作原理提供了科學合理的模型基礎(chǔ)[2]。
從傳感器大范圍使用的角度下進行分析,因簇頭和匯聚節(jié)點兩者之間的數(shù)據(jù)傳輸距離在大多數(shù)情況下會較長,故兩者之間一般情況下會使用多跳通信之法,這樣一來,能夠在一定程度上降低能耗。不過,使用這種辦法會出現(xiàn)能耗非常不平衡的狀況,從距離上進行分析:和匯聚節(jié)點之間距離較近的簇頭,經(jīng)常會出現(xiàn)負載過重情況,以至于造成能耗大幅度增加,從而造成網(wǎng)絡(luò)生命周期縮短的情況,這種情況稱為“熱區(qū)”問題[3]。
綜上所述,在進行無線傳感器網(wǎng)絡(luò)拓撲算法設(shè)計時,需要優(yōu)先考慮系統(tǒng)的能耗問題,把科學、合理降低使用能耗以及能量使用的有效性當作核心因素。
在對節(jié)點能量模型進行仔細認真的調(diào)查研究之后,獲取到基于傳輸距離長短的模型。且認定,兩個網(wǎng)絡(luò)節(jié)點之間的距離,恰好是能耗最低的單條最優(yōu)秀最有效的轉(zhuǎn)發(fā)距離是dopt,則能夠把簇頭與匯聚節(jié)點通信傳輸?shù)乃馁M的能量減到最少?;诖?,能夠在簇頭節(jié)點進行數(shù)據(jù)傳輸時,通知下一簇內(nèi)的節(jié)點按照其如今所剩的能量多少以及最短的傳輸距離,選舉出新的簇頭,公式如下。
按照節(jié)點i的權(quán)數(shù)w的值,會不會在如今簇內(nèi)的節(jié)點中最接近1,來確定其能不能當選當前簇的新簇頭。
層次型結(jié)構(gòu)是使用分簇算法把網(wǎng)絡(luò)節(jié)點進行劃分,分別劃分成簇頭以及簇成員。簇頭組成一個骨干網(wǎng),整個網(wǎng)絡(luò)的信息傳輸,主要是憑借簇頭來進行傳輸?shù)摹7执貎?nèi)的數(shù)據(jù)主要是通過簇節(jié)點進行搜集,搜集到的數(shù)據(jù)發(fā)送給簇頭,簇頭把搜集到的數(shù)據(jù)實施處理、融合,最后簇頭將處理好的數(shù)據(jù)進行轉(zhuǎn)發(fā)[4]。
按照權(quán)數(shù)w,基于多跳中繼轉(zhuǎn)發(fā)的簇頭維護算法描述具體如下。
2.2.1 拓撲初始化
按照原來的算法實施分簇操作,首先選出符合條件的簇頭,下一步,正常節(jié)點傳輸數(shù)據(jù)到簇內(nèi),全部的節(jié)點分別劃分成為正常、簇頭以及匯聚節(jié)點。下一步進行數(shù)據(jù)的搜集,所搜集的數(shù)據(jù)包含如今節(jié)點的能量多少,簇頭與匯聚節(jié)點兩者之間距離的大小。
2.2.2 重新選舉簇頭
當探測到簇頭節(jié)點無法工作時,按照權(quán)數(shù):w,調(diào)查研究SINK節(jié)點的傳輸距離長短,以及節(jié)點自己剩下能量的多少,重新選出新的簇頭。按照權(quán)數(shù):w,從頭開始選舉出新的簇頭,進行信息傳輸任務(wù),同時要考慮到最低能耗以及均衡,重新建立拓撲結(jié)構(gòu)。
2.2.3 拓撲通知
在簇頭重新選舉完成之后,簇內(nèi)節(jié)點傳輸信息和新簇頭之間實施通信,取得確認通知,同時按照和簇頭之間的距離,以獲取到和節(jié)點之間的傳輸距離大小,下一步進行功率的調(diào)整,從而獲取到合理有效的通信距離大小以及最少的能耗[5]。
2.2.4 拓撲維護
根據(jù)此類拓撲算法,分階段、分批次地對簇頭節(jié)點重新實施選舉工作,或者對通信鏈接斷開的簇頭實施拓撲維護操作,從而獲得中繼轉(zhuǎn)發(fā)最有效、最合理的轉(zhuǎn)發(fā)距離。
通過MATLAB 仿真程序?qū)Χ嗵欣^轉(zhuǎn)發(fā)的簇頭拓撲維護算法實施仿真研究。為避免過于繁瑣,拓撲在開始的設(shè)計過程的算法,通常狀態(tài)下采取的是LEACH 算法,最終,此類算法在電能耗損方面以及網(wǎng)絡(luò)生命周期方面,與LEACH算法在各種應(yīng)用模擬環(huán)境下實施比較[6]。
考慮到LEACH算法的多種模擬應(yīng)用環(huán)境,該次實驗場景的設(shè)計采用兩種模擬應(yīng)用環(huán)境,來實施仿真性實驗。
第一種是在100 m×100 m的范圍內(nèi)放置100個節(jié)點,Sink 節(jié)點的坐標在(50,50);第二種是在800 m×800 m 的范圍內(nèi)放置800 個節(jié)點,Sink 節(jié)點的坐標在(400,400),此外,其他參數(shù)如表1仿真模擬參數(shù)所示。
為了讓實驗的最終結(jié)果更加科學合理,在參數(shù)的設(shè)置方面,和LEACH 基本一樣。網(wǎng)絡(luò)假設(shè)如下:(1)Sink 節(jié)點方位不變,并且只存在單個Sink 節(jié)點;(2)發(fā)射功率能夠進行調(diào)整;節(jié)點在部署完成以后靜止;(3)節(jié)點本身具備相關(guān)的計算能力,能夠計算出dopt;(4)簇內(nèi)的任意兩個節(jié)點之間的通信是相互的,簇與簇兩者之間的數(shù)據(jù)傳輸與接收,只可以通過簇頭來實施。不過,Sink能夠與簇頭實施直接的數(shù)據(jù)傳輸與接收,相較于傳輸距離比較長地簇頭,能夠通過多跳轉(zhuǎn)發(fā)實施數(shù)據(jù)交互;(5)權(quán)重因子α=0.4,β=0.6。
分別對兩個模擬環(huán)境進行網(wǎng)絡(luò)節(jié)點的隨機撒布,并形成簇,劃分為簇頭節(jié)點和普通節(jié)點,形成的voronoi圖。不論是在范圍較廣的區(qū)域,還是范圍較小的區(qū)域,隨機形成的簇頭都很不平均,簇頭與Sink節(jié)點的數(shù)據(jù)交互都顯得非常的不便。根據(jù)圖1和圖2可知,分別是兩個模擬環(huán)境下的節(jié)點平均耗能情況的展示。從圖1能夠發(fā)現(xiàn),拓撲維護算法在使用能耗方面,與LEACH相比要低,關(guān)鍵性因素是新算法的多跳中繼傳輸,是以最優(yōu)傳輸距離為前提實施傳輸?shù)摹?/p>
圖1 100 m×100 m的仿真場景下節(jié)點死亡情況
圖2 800 m×800 m的仿真場景下節(jié)點死亡情況
除此之外,由圖1 和圖2 可知,另外一種情況也能夠說明新算法比LEACH 在控制電能損耗方面要好。新算法在小面積的仿真場景下,多跳中繼轉(zhuǎn)發(fā)的特點沒有辦法得到全面的施展,通過圖1能夠了解到,新算法在開始的時候,死亡的節(jié)點數(shù)量的時間,相較LEACH 要快要多,不過,從一起死亡的角度上進行觀察,了解到LEACH的節(jié)點死亡個數(shù)較于新算法要多出不少和快出不少?;诖耍滤惴ǖ哪芎奶匦栽谳^大的模擬環(huán)境下能夠更好地體現(xiàn)出來。
權(quán)重因子α,β不同取值情況時,節(jié)點死亡情況。選舉簇頭時節(jié)點所剩余能量,在權(quán)數(shù)中占比越高,說明節(jié)點的平均能量保持得越優(yōu)秀,因此可以清楚地了解到:選舉簇頭時的能量,相較于減少整個網(wǎng)絡(luò)的能量消耗是一個極為關(guān)鍵的因素。不過隨著模擬仿真環(huán)境方位的逐步拓展,節(jié)點數(shù)量的迅速提升,在簇頭選舉公式內(nèi),所剩余能量權(quán)數(shù)越大,節(jié)點所剩余的平均能量也就越高。
針對拓撲維護的簇頭重新選舉,提出了一種以能量和節(jié)點距離綜合考慮的數(shù)據(jù)中繼轉(zhuǎn)發(fā)的簇頭維護算法。仿真證明該算法有效節(jié)約了節(jié)點工作耗能,達到了節(jié)點能量均衡的效果,優(yōu)化了網(wǎng)絡(luò)拓撲結(jié)構(gòu),延長了網(wǎng)絡(luò)生命期。