低能耗節(jié)點位置未知無線傳感器網(wǎng)絡控制方案
摘要:介紹了一種低能耗節(jié)點位置未知的網(wǎng)絡控制方案,根據(jù)不同的網(wǎng)絡運行輪數(shù)設定網(wǎng)絡節(jié)點的通信半徑,使網(wǎng)絡具有良好的能量有效性。網(wǎng)絡中基站經(jīng)過構建階段的啟動過程、節(jié)點信息收集過程和節(jié)點信息上報過程,獲得了整個網(wǎng)絡節(jié)點的相對位置分布,然后整合節(jié)點-節(jié)點信息支路,得到具有回路鏈接的簇首節(jié)點集,其他節(jié)點根據(jù)自己鄰居信息選擇簇首節(jié)點,實現(xiàn)網(wǎng)絡近似最小能耗拓撲的構建。通過仿真與同類典型算法LEACH-C、MCLB進行比較,結果顯示該方案應用于網(wǎng)絡運行時具有更長的網(wǎng)絡生命周期、更少的信息總數(shù)和更低的網(wǎng)絡構建代價。
關鍵詞:無線傳感器網(wǎng)絡;低能耗;節(jié)點位置未知;能量有效性
0 引言
無線傳感器網(wǎng)絡是由一個基站和大量的傳感節(jié)點構成。傳感節(jié)點通常被隨機放置在監(jiān)測區(qū)域內(nèi),基站負責指導傳感節(jié)點工作并且收集傳感節(jié)點檢測到的信息,并將環(huán)境信息報送至監(jiān)控中心。通常,傳感節(jié)點體積很小且具有感知周圍環(huán)境信息、數(shù)據(jù)處理與存儲和無線數(shù)據(jù)收發(fā)三個基本功能。無線傳感節(jié)點在應用時受到很多限制如處理速度慢、存儲容量小、電能有限等,而基站具有外部電源支持,處理能力比傳感節(jié)點強大很多,它負責收集傳感節(jié)點的監(jiān)測信息并轉(zhuǎn)發(fā)給用戶。由于無線傳感節(jié)點的能量有限性,降低能量消耗、延長網(wǎng)絡生命周期,成為無線傳感器網(wǎng)絡通信協(xié)議設計的首要目標。
分簇算法應用于無線傳感器網(wǎng)絡通信協(xié)議設計,被認為是一種減少網(wǎng)絡能量消耗的有效辦法。它通過選擇一部分傳感節(jié)點作為簇首節(jié)點形成一個暫時固定的網(wǎng)絡構架,各簇首節(jié)點接收鄰居簇首節(jié)點、簇內(nèi)節(jié)點感知的環(huán)境信息,進行數(shù)據(jù)融合,剔除冗余信息,并轉(zhuǎn)發(fā)至基站。這一類的經(jīng)典算法有:文獻LEACH-C是一種集中的聚類算法。在啟動階段,基站接收網(wǎng)絡中所有節(jié)點發(fā)送來的包含他們位置以及能量狀態(tài)的信息?;具\行本地算法獲得簇首以及分簇表,然后廣播包含簇首ID信息給每一個節(jié)點。簇頭確定后,普通節(jié)點選擇離其最近的簇頭加入該簇頭所管轄的區(qū)域,進而形成簇區(qū)域。協(xié)議維護階段與LEACH是一致的。簇的建立過程在每一輪里都需要進行一次,從而產(chǎn)生了很多的能量消耗和傳輸延遲。文獻MCLB算法首先找出網(wǎng)絡中的冗余節(jié)點作為臨時簇頭,并隨機選擇一定數(shù)量的具有高的剩余能量的節(jié)點為簇頭,臨時簇頭和簇頭構成了一個數(shù)據(jù)轉(zhuǎn)發(fā)層,而其他節(jié)點構成了一個數(shù)據(jù)收集為主要功能的底層,簇頭廣播hello消息并找到屬于本簇的節(jié)點從而完成對網(wǎng)絡的分簇。在數(shù)據(jù)轉(zhuǎn)發(fā)上,存在節(jié)點-節(jié)點、節(jié)點-簇頭和簇頭-簇頭多跳轉(zhuǎn)發(fā)至基站的混合模式,該算法中由于簇頭的位置具有隨機性,為了保
證數(shù)據(jù)轉(zhuǎn)發(fā)的可靠連通,因此每個節(jié)點必須以較大的發(fā)射功率進行數(shù)據(jù)轉(zhuǎn)發(fā)而產(chǎn)生了不必要的能量浪費。文獻提出的算法CDC將網(wǎng)絡進行分簇,每一簇自行選擇一個簇頭。簇頭承擔起收集簇內(nèi)成員信息并進行數(shù)據(jù)融合,然后再將數(shù)據(jù)轉(zhuǎn)發(fā)給基站,并且依據(jù)信息選擇下一輪的簇頭。一旦簇內(nèi)有節(jié)點死亡,簇首將發(fā)送信息給基站,對整個網(wǎng)絡進行重新分簇,否則簇首選擇能量最多的節(jié)點作為下一輪的簇首。
本文提出一種新的網(wǎng)絡控制方案由網(wǎng)絡構建階段和網(wǎng)絡維護階段組成。在網(wǎng)絡構建階段本文借鑒了文獻的思想,設計了一種節(jié)約能耗的構建方法,首先由基站發(fā)出拓撲構建信息,每個節(jié)點完成對父節(jié)點和鄰居節(jié)點信息的收集并將信息在特定的時刻傳輸給自己的父節(jié)點,基站通過獲得的全網(wǎng)節(jié)點信息選擇一部分具有冗余連接的簇頭節(jié)點集,完成了一種期望的網(wǎng)絡拓撲特性并保證了網(wǎng)絡的連通性。一旦網(wǎng)絡構建完成,就進入網(wǎng)絡維護階段,在該階段每個節(jié)點根據(jù)網(wǎng)絡的需要轉(zhuǎn)換到特定的角色,當簇頭節(jié)點集中的一節(jié)點能量下降到一定值時,由它提出網(wǎng)絡重構,網(wǎng)絡運行的兩個階段狀態(tài)交替進行直到網(wǎng)絡不能正常運行。本文設計的網(wǎng)絡控制方案與文獻LEACH-C算法和文獻的MCLB算法進行仿真比較網(wǎng)絡的生命期、網(wǎng)絡構建信息交替情況和網(wǎng)絡的構建代價。結果顯示本文提出的方案應用于網(wǎng)絡運行時具更長的生命周期、更少的構建階段信息總數(shù)和更低的網(wǎng)絡構建代價。
1 系統(tǒng)模型
在本算法中,傳感節(jié)點周期性的充當簇頭節(jié)點或者普通節(jié)點,進行環(huán)境監(jiān)測及數(shù)據(jù)轉(zhuǎn)發(fā)。無線傳感器網(wǎng)絡監(jiān)測區(qū)域內(nèi)隨機均勻放置N個傳感節(jié)點,其中有一個節(jié)點為基站,在本文所提出的控制方案中,進行了以下幾點假設:
(1)每個傳感節(jié)點被賦于一個惟一的標號,傳感節(jié)點的能量有限,而基站有專門的供電系統(tǒng)。
(2)每個傳感節(jié)點可根據(jù)需要調(diào)整自己的發(fā)射功率,最大發(fā)射功率滿足它們連接網(wǎng)絡中離它最遠的傳感節(jié)點。
(3)所有傳感節(jié)點的位置不會發(fā)生移動,位置未知,具備通過接收信號的衰減程度來計算與信號發(fā)送方的距離。
2 LEPN網(wǎng)絡控制方案
LEPN控制方案下的網(wǎng)絡運行是基于輪的,每輪包含網(wǎng)絡構建和網(wǎng)絡維持兩大階段。在每一輪里,由基站定義各節(jié)點以一個特定的相同發(fā)射功率進行數(shù)據(jù)轉(zhuǎn)發(fā),構建一個基于UDG(Unit Disk Graph)模型的分簇網(wǎng)絡來感知周圍環(huán)境信息并將信息可靠的由簇頭-簇頭多跳轉(zhuǎn)發(fā)至基站的過程,本方案主要針對應用在任務艱巨、節(jié)點隨機布置的一些場合,因此設計時需滿足兩個基本的約束條件:形成的簇頭節(jié)點集可提供一個可靠的數(shù)據(jù)包多跳轉(zhuǎn)發(fā)能力;本方案具備的能量有效性應該和現(xiàn)有的基于分簇的網(wǎng)絡控制方案相當或者更好。為了滿足這些約束,LEPN網(wǎng)絡控制方案所確定的簇頭最終形成一條連通的閉合回路保證信息成功多跳轉(zhuǎn)發(fā)至基站,具有可靠性和能量有效性,因為基站節(jié)點獲得信息轉(zhuǎn)發(fā)路徑是閉合回路,具備的冗余性以防止信號在傳輸過程由于鏈接失敗而造成信息傳輸失??;而該方案的另一個優(yōu)點是不需要節(jié)點的位置和方向信息,從而節(jié)約了節(jié)點的硬件成本投入。
2.1 LEPN網(wǎng)絡構建階段
每一輪的LEPN網(wǎng)絡構建階段分為四個子過程,首先由基站設定本輪節(jié)點通信的發(fā)射功率,發(fā)起網(wǎng)絡構建,接下來各個節(jié)點根據(jù)接收信號的衰減程度判斷與信號發(fā)送者的距離以完成信息的收集,當每個節(jié)點都完成信息的收集,就進入了信息上報過程,直至基站,基站根據(jù)接收到的信息情況選擇簇頭節(jié)點集,再將包含簇頭節(jié)點的消息逐層傳遞給網(wǎng)絡中的每一個節(jié)點,節(jié)點通過接收到的信息來判斷自己在接下來的幾輪里是否成為回路中的簇頭節(jié)點以承擔環(huán)境信息監(jiān)測和數(shù)據(jù)轉(zhuǎn)發(fā)的任務還是普通簇頭節(jié)點融合本簇內(nèi)的監(jiān)測數(shù)據(jù)再轉(zhuǎn)發(fā),或者普通節(jié)點。用(如圖1)一個13節(jié)點的網(wǎng)絡構建過程來簡單描述(粗實線表示可以構成父子關系的簇首鏈接,細實線表示構成鄰居關系的簇首鏈接,虛線表示構成簇首與簇內(nèi)成員的鏈接)。
2.1.1 基站啟動過程
當無線傳感器網(wǎng)絡剛剛布置完畢或者基站接收到某節(jié)點請求網(wǎng)絡重構的消息,并且基站中保存的簇頭節(jié)點集已經(jīng)使用完畢(若基站中尚有未使用的簇頭節(jié)點集,那么網(wǎng)絡構建階段直接進入網(wǎng)絡拓撲構建過程,這樣有效的減少了網(wǎng)絡構建代價),基站進入了啟動過程,首先它根據(jù)網(wǎng)絡已運行的輪數(shù)設定下一輪各節(jié)點通信所采用的發(fā)射功率,基站節(jié)點以該發(fā)射功率廣播hello消息(HM)并啟動一個定時器1以等待它的子節(jié)點發(fā)來的HM,一幀完整的HM包含父節(jié)點標號、本節(jié)點標號、發(fā)射功率值、本節(jié)點的剩余能量以及充當簇頭的最低剩余能量值,基站發(fā)出的HM里父節(jié)點的內(nèi)容為基站本身的標號。見圖1(a),節(jié)點B,C,E,I,J,K,L,M接收到了基站A發(fā)來的HM。
2.1.2 節(jié)點信息收集過程
一旦節(jié)點接收到HM,就表明網(wǎng)絡構建階段到了節(jié)點信息收集過程,如圖1(a)中,節(jié)點B,C.E,I,J,K,L,M接收到一個HM,就開始判斷本節(jié)點與HM發(fā)送者之間的相對距離,如果該距離小于本輪通信距離的一半(R/2),則認定該HM發(fā)送者為自己的簇首節(jié)點,如節(jié)點I,K,L認定A為它們的簇首,于是它們向A發(fā)送一幀簇首確認消息,就進入了睡眠狀態(tài),關閉發(fā)射模塊,等待網(wǎng)絡的維持階段到來再轉(zhuǎn)換到數(shù)據(jù)監(jiān)測狀態(tài)。離A較遠(相對距離大于R/2)的節(jié)點M,B,J,E,C,如果節(jié)點的剩余能量足夠充當簇首節(jié)點的,則廣播一幀包含本節(jié)點剩余能量信息的競爭簇首消息(CM)并啟動一個定時器2(定時時間小于定時器1),定時器2到達后,各節(jié)點對R/2范圍內(nèi)的節(jié)點信息進行判斷,如果得知本節(jié)點能量最大,則設定自己為簇首節(jié)點并成為A的子節(jié)點,然后廣播發(fā)送HM,如M,J,E,D,A將接收到B節(jié)點的HM,M,J認定B為簇首,見圖1(b),而A接收到B節(jié)點得知B為自己的子節(jié)點;節(jié)點C在定時器2結束后,發(fā)現(xiàn)R/2范圍內(nèi)無其他節(jié)點與之競爭,也設自己為簇首節(jié)點并認A為父節(jié)點發(fā)送HM;假使J也在E的R/2范圍內(nèi),且能量高于E節(jié)點,E接收不到J的HM,卻接收到其他父節(jié)點為A節(jié)點的HM(如B,C)時,E節(jié)點認定自己為簇首節(jié)點,并發(fā)送HM消息,此時BE,EC之間接收到HM消息,即認定相互之間為簇首間的鄰居成員并計算存儲他們之間的相對距離與鄰居節(jié)點的剩余能量,見圖1(c);如果某節(jié)點的能量太小,不足以充當簇首節(jié)點,那么,它會選擇離自己較近的一個簇首節(jié)點,加入該簇。某節(jié)點一旦有了父節(jié)點,就認定該節(jié)點處于被覆蓋狀態(tài)。而且當一個節(jié)點有了子節(jié)點,那么它就進入了活躍狀態(tài),開始等待信息上報過程的到來。按照這種方式,所有的節(jié)點都接收到HM消息,但是如圖1(d)所示,節(jié)點G,F(xiàn),H,C廣播HM后,在設定的定時器1時間到達內(nèi)未接收到任何認定它們?yōu)楦腹?jié)點的HM,因此它們認為信息收集過程結束,并由它們發(fā)起進入信息上報過程。
2.1.3 節(jié)點信息上報過程
在節(jié)點信息上報過程中,只有充當父子關系的節(jié)點,同時,也是扮演簇首角色的節(jié)點,發(fā)送它的鄰居序列給自己的父節(jié)點。在本例中,完成信息收集過程后,A,B,C,D,E,F(xiàn),G,H成為簇首成員。簇首F是G的鄰居。因此,簇首G發(fā)送{FG}以及FG的相對距離的消息給它的父節(jié)點D。這些節(jié)點的組合方式為構成一定性質(zhì)的簇頭-簇頭鏈接的提供了可靠的信息,每個父節(jié)點都在等待著它的所有子節(jié)點發(fā)來的上報消息,再添加自己的信息,發(fā)送給自己的父節(jié)點。如簇首節(jié)點D接收到它的子簇頭節(jié)點G發(fā)送來的消息后,它就發(fā)送有{FGD},{FD},{ED}路徑信息給節(jié)點B,依次進行信息傳遞,最終的信息將匯聚至基站。當基站節(jié)點接收到所有子節(jié)點發(fā)來的上報信息,則網(wǎng)絡構建進入了下一過程。在信息上報過程中,節(jié)點發(fā)送完上報消息后就進入睡眠狀態(tài),關閉發(fā)射模塊以保存能量。
2.1.4 網(wǎng)絡拓撲構建過程
網(wǎng)絡拓撲構建過程在基站節(jié)點上進行,當基站A接收到所有子簇頭節(jié)點(BCE)發(fā)送來的上報信息,就開始對支路進行整合,如果兩條數(shù)據(jù)通路有共同的節(jié)點,如{ABDF}和{AEFD}兩條支路有兩個共同的節(jié)點A,F(xiàn),那么可以組合出一個具有閉合回路的數(shù)據(jù)通道ABDFEA,對于不同的回路也根據(jù)判斷是否有共同節(jié)點而對它們進行整合成更大的閉合回路。一旦基站完成選擇多個構成回路的簇頭集,它開始為其他簇頭節(jié)點以盡少的步數(shù)連接到某一回路簇頭節(jié)點,在基站A處,將形成多個具有回路性質(zhì)的簇頭-簇頭節(jié)點集,基站將選擇其中一個簇頭集信息廣播給網(wǎng)絡中的每一個節(jié)點。網(wǎng)絡中的節(jié)點通過判斷基站的廣播信息(簇頭-簇頭之間數(shù)據(jù)轉(zhuǎn)發(fā)的路由信息),決定自己是充當回路簇頭或支路簇頭節(jié)點進行數(shù)據(jù)收集、融合、轉(zhuǎn)發(fā),或者充當普通簇內(nèi)節(jié)點實現(xiàn)對周圍環(huán)境的監(jiān)測。至此進入了網(wǎng)絡維持階段。
2.2 LEPN網(wǎng)絡維持階段
網(wǎng)絡維持階段,簇頭將根據(jù)簇內(nèi)的節(jié)點數(shù)目為每個簇內(nèi)節(jié)點分配TDMA時間表。簇內(nèi)節(jié)點持續(xù)采集周圍環(huán)境信息,并在自己的通信時隙內(nèi)以單跳通信的方式將數(shù)據(jù)傳送給相應的簇頭。為了有效節(jié)約節(jié)點能耗,普通節(jié)點的發(fā)送器在不屬于自己通信的時隙進入睡眠狀態(tài);而簇頭必須使自己的接收器時刻處于開啟狀態(tài),以便接收簇內(nèi)節(jié)點發(fā)送過來的所有數(shù)據(jù)。簇頭節(jié)點接收到簇內(nèi)所有的數(shù)據(jù)后,將對數(shù)據(jù)進行必要的數(shù)據(jù)融合處理,然后根據(jù)路由信息將數(shù)據(jù)經(jīng)簇頭-簇頭多跳傳輸至基站。
3 仿真實驗
無線傳感節(jié)點的能量有限性決定節(jié)點能量的高效使用是網(wǎng)絡控制設計的首要目標,也是延長網(wǎng)絡生命周期的一種有效手段。本文仿真設定在30 km×30 km的監(jiān)測區(qū)域內(nèi),將200個節(jié)點隨機分布,節(jié)點的通信半徑在5~45 km內(nèi)可調(diào)。為了便于計算節(jié)點收發(fā)信息的能量消耗,使用文獻所描述的無線通信模型:
以通信半徑為d發(fā)射n比特的數(shù)據(jù)所需要的能量消耗:
仿真參數(shù)如表1所示。LEPN協(xié)議運行過程節(jié)點的通信半徑和網(wǎng)絡運行輪數(shù)之間關系如圖2所示。
圖3~圖5分別顯示了網(wǎng)絡構建階段的節(jié)點初始分布圖、基站獲得的父子關系鏈接圖以及一個有效的簇頭-簇頭以及與普通節(jié)點之間關系的鏈接圖。為了對比LEPN方案的有效性,本文分析了LEACH-C、MCLB算法的運行情況,并對比了網(wǎng)絡生存周期、網(wǎng)絡運行的能量消耗、網(wǎng)絡構建代價等情況,如圖6~圖8所示。
通常用網(wǎng)絡第一個節(jié)點死亡的時間、一半節(jié)點死亡的時間和最后一個節(jié)點死亡的時間來分析網(wǎng)絡的生存時間長短。因為基于分簇算法需要多個節(jié)點才能正常運行,因此本文中用60%的節(jié)點死亡時間代替最后一個節(jié)點死亡時間。如圖6所示,MCLB的第一個節(jié)點死亡比較早,這是因為MCLB里有一部分簇頭節(jié)點一直承擔數(shù)據(jù)轉(zhuǎn)發(fā)任務而快速消耗能量,而LEACH-C和LEPN的第一個節(jié)點的死亡時間相差不多,從圖中可見在相同節(jié)點死亡時LEPN比MCLB和LEACH-C經(jīng)歷的輪數(shù)都要多,從而驗證了該方案可以更有效地延長了網(wǎng)絡的生存周期。
圖7顯示了基站在網(wǎng)絡運行過程接收到的監(jiān)測數(shù)據(jù)包的總數(shù),在LEACH-C、MCLB和LEPN協(xié)議中每個監(jiān)測數(shù)據(jù)包均經(jīng)過單跳傳輸至簇頭,然后在簇頭節(jié)點經(jīng)過數(shù)據(jù)融合,LEACH-C協(xié)議中簇頭將處理過的信息經(jīng)單跳發(fā)給基站,而MCLB和LEPN經(jīng)簇頭間多跳并數(shù)據(jù)融合再傳輸至基站,這樣大大地減少了傳輸?shù)交镜臄?shù)據(jù)包數(shù)量。由圖7可以看出LEPN優(yōu)于LEACH-C和MCLB。
圖8顯示了平均每輪網(wǎng)絡構建階段的能量消耗,由本論文所提出的方案無需在每一輪的開始都經(jīng)歷構建階段中比較耗能的節(jié)點信息收集過程和節(jié)點信息上報過程,因此大大減少了本方案的網(wǎng)絡構建代價,LEPN的網(wǎng)絡構建代價只有LEACH-C的74.6%,MCLB的47.1%。
4 結語
本文介紹了一種低能耗的節(jié)點位置未知的網(wǎng)絡控制方案,根據(jù)不同的網(wǎng)絡運行輪數(shù)設定網(wǎng)絡中節(jié)點的通信半徑,使得網(wǎng)絡具有更好的能量有效性?;就ㄟ^構建階段中的啟動過程、節(jié)點信息收集過程和節(jié)點信息上報過程,獲得了整個網(wǎng)絡節(jié)點的相對位置分布,然后基站整合節(jié)點信息支路,得到若干具有回路鏈接的簇頭節(jié)點集,保證網(wǎng)絡在數(shù)據(jù)傳輸上具有更好的可靠性。本文所提出的方案,通過仿真實驗與同類典型算法LEACH-C,MCLB進行比較,表明LEPN可以延長網(wǎng)絡的生存周期,減少監(jiān)測數(shù)據(jù)包總數(shù)和有效的降低網(wǎng)絡構建代價。但是本文提出的方案中,網(wǎng)絡運行輪數(shù)與通信半徑之間的關系暫缺乏一定的依據(jù),在相同的網(wǎng)絡運行輪數(shù)下,網(wǎng)絡節(jié)點采用不同的通信半徑,較大地影響了運行結果,在接下來的工作中,將對該方面進行更深入的探討。