本站小編為你精心準備了無線傳感器網絡簇路由算法淺談參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
《貴州師范大學學報》2016年第5期
摘要:
面向智能電網的無線傳感器網絡是由多個以電塔為中心的區域組成,使得這種WSN呈窄長的拓撲結構,根據這種拓撲結構設計了一種基于分簇的路由算法FCHR。FCHR首先采用分布式的方法生成候選簇頭,然后在候選簇頭中產生每個區域的簇頭,進而生成由所有簇頭組成的路由。仿真顯示FCHR算法產生的簇頭是LEACH算法的25.4%,而網絡的生命周期提高了近40%。
關鍵詞:
遠程監控;候選簇頭;簇頭;數據報文;生命周期
0引言
智能電網技術通過傳感器和通信網絡遠程監控電網的運行狀態,這個監控網絡能否可靠傳輸現場狀態數據到控制中心是關鍵。由于電網所處的地理環境非單一性并且范圍較廣,使得整個電網環境數據采集點分布不集中,而且很多監測點所處的環境比較惡劣,布置光纖之類的監控網絡設施難度大、成本高。WSN成本低、組網靈活,并且能適應復雜環境下數據采集,可以彌補光纖網絡在一些地區布網難度大的問題。而且,由于有些監控區域受基站所處位置的影響會產生覆蓋盲區,WSN也可以彌補無線寬帶接入方案的信號盲區問題。WSN可提供靈活而經濟的監控網絡的解決方案。但是,如何保證傳輸實時性好而且可靠的數據,設計性能良好的WSN路由協議是提供可靠通信保證的關鍵問題之一。很多研究者已經提出了各種WSN路由協議。根據電網的分布特點,采用分簇路由算法比較適合智能電網的WSN路由構造,分簇路由算法是在簇頭的基礎上實現的,產生簇頭是簇路由算法的關鍵。近年來,有許多關于WSN的簇路由算法的研究。LEACH算法[1]采用等概率方式隨機選擇簇頭,每個節點根據隨機數自主決定是否當選簇頭,每輪產生的簇頭沒有確定的數量和位置,平均分配整個網絡的能量負載,達到降低網絡能耗,從而延長網絡生命周期。HeinzelmanW提出了一種集中式產生簇頭的LEACH-C算法[2]和LEACH-F算法[2],這種算法由中心節點選擇簇頭,每個節點必須告知所在的地理位置以及剩余能量給中心節點,中心節點通過計算平均剩余能量,選擇剩余能量不低于平均剩余能量的節點作為候選簇頭,再采用模擬退火算法從候選節點中選出合適數量的簇頭集合。LEACH.F則是LEACH的改變,按照LEACH-C的簇形成方式,但每個簇都有一個當選簇頭的節點輪流表。GREES-L算法[3]和GREES-M算法[3]是兩種利用地理路由和能量路由技術相結合的路由協議,這種路由協議節點能從環境中獲得能量為前提,雖然算法的路由決策速度快比較快,但這種協議沒有考慮網絡擁塞的問題。Chipara,Z.等人提出一種能量感知QoS路由協議[4],這種路由協議通過發現能耗和延遲低的鏈路保證實時數據的傳輸。RPAR[5]算法是一種實時能量感知的路由協議,這協議通過動態調節發送能量和路由判決解決低能耗的實時通信,通過能量感知的上游策略和有效的鄰居節點管理器優化資源受限的WSN。對于有損鏈路、可伸縮性、內存及其有限以及帶寬受限的WSN也提供了一種路由選擇機制的解決方案。AODV算法[6]通過估算傳感器節點向sink傳輸數據包所需消耗的能量,提出一種基于分層結構的分簇低能耗路由協議,利用隨機循環選擇簇頭節點,將整個網絡的能量負載平均分配到每個傳感器節點中,達到降低網絡能耗來提高網絡整體生存時間的目的。與一般的基于平面結構的路由協議和靜態的基于多簇結構的路由協議相比,這些路由協議在高能效的基礎上可以有效減少端到端的數據傳輸延遲。通過在網絡運行前由終端用戶將布置的網絡節點劃分成多個簇的方式,MohamedYounis等人提出了WSN三層結構的路由協議[7],這種協議必須將簇頭標識和成員節點的位置告知每個簇頭,再由簇頭根據本簇內節點的狀態數據監測各節點的能量變化。路由選擇以代價函數和節點間數據傳輸鏈路成本來確定,代價函數包含了節點間距離、能量消耗、傳輸延遲等因素這些參數,這種協議具有能效較高、通信延遲較低以及能進行擁塞控制的特點。
1基于FCHR算法的WSN的特點
智能電網遠程監控系統的WSN由人工部署,感知范圍、通信半徑以及節點布置的位置可預先規劃,在網絡生命周期內可以保證WSN的連通性和可靠性。如圖1所示,WSN部署在電塔或者輸電線上沿著電網呈窄長鏈狀拓撲結構。根據智能電網的WSN網絡的特點,考慮n個傳感器節點S={s1s2…sn}分布在電塔及其鄰近區域A內,WSN模型的基本假設如下:●傳感器節點發送功率可調,通過調節發射功率,每個傳感器節點都能與其相鄰的電塔上的傳感器節點通信;●每個節點知道自身的位置及其上、下行方向;●每個節點在布置時已知區域A內每個節點ID。由以上假設可知相鄰電塔間的傳感器節點是全連通圖,其拓撲如圖2所示。
2FCHR算法描述
根據智能電網的WSN的拓撲結構特點,為了提高網絡的生命周期和可靠性,必須設計一種合適的分簇路由協議來滿足面向智能電網的WSN的應用要求。智能電網的WSN簇可按照以電塔為中心的所有鄰接節點劃分,如圖1中的A和B,可以在布置時讓每個節點保存本簇節點成員表。通過路由算法將網絡中的節點劃分為如圖3所示的簇頭和普通節點,簇頭負責收集本簇內普通節點轉發的數據。這些數據經過數據融合后再發往其上游的簇頭,最后到達sink;同時,簇頭還負責轉發來自監控中心的指令以及來自其下游簇頭的數據包。由此可知,簇頭節點是數據包的轉發和數據融合中心,能量消耗較大,特別是越臨近sink的簇頭,通信負荷越重,能量消耗也越大。為了平衡網絡在其生命周期內的負載均衡,延長網絡的生命周期,設計面向智能電網的WSN的路由算法時應盡可能避免反復選舉同一個節點作為簇頭。根據上述要求設計的FCHR算法由決定候選簇頭選舉、簇頭選舉和路由生成三個步驟組成。
2.1候選簇頭選舉
首先,各節點采用分布式算法決定是否候選簇頭,所謂候選簇頭,當且僅當Thresh≥K,其中K為一個給定范圍內的隨機數,閾值Thresh按照下列方式設置:Thread=Eu-kd3uEu()02-ω(1)在(1)式中:ω表示節點u已被選為簇頭的次數,Eu表示節點u的剩余能量,Eu0表示節點u的初始能量,du表示節點u到上游電塔中心點的距離,考慮到發射功率與傳輸距離是2~5次方,k表示與發射頻率相關的比例常數。當節點u為候選簇頭時,就向預設的簇內所有成員發送CANDIDATE報文,將自己的初始能量、剩余能量、到上游電塔中心點的距離以及已被選為簇頭的次數告知其它的候選簇頭,非候選簇頭則丟棄CANDIDATE報文。其中CANDIDATE報文格式如下:
2.2簇頭選舉
當候選簇頭的選舉完成后,每個候選簇頭都保存了一份本簇其它候選簇頭信息表,然后根據這些信息選舉簇頭。候選簇頭能否當選為簇頭由是否能發送CLUSTERHEAD報文來決定。簇頭選舉階段分候選簇頭和普通節點兩種情況處理。
1)對于普通節點,當接收到的第一個CLUS-TERHEAD報文時,即將發送該報文的節點作為其簇頭。
2)對于候選簇頭,在接收時間tu內接收CAN-DIDATE報文,然后按如下方式決定自己是否做簇頭。假設接收了來自m個節點u1,u2,…,um發送的CANDIDATE報文,分別計算節點ui的剩余能量Eave=∑mi=1Ei/m、初始能量E0ave=∑mi=1E0i/m、m個候選簇頭到上游電塔中心點的平均距離dave=∑mi=1di/m(其中:di表示節點ui到上游電塔中心點的距離)以及這m個候選簇頭已當選簇頭的平均次數ωave=∑mi=1ωi/m(其中:ωi表示節點ui當選簇頭的次數)。根據上述結果,每個候選簇頭按(2)式計算評價值σi:σi=[(Ei-Eave)-(E0i-E0ave)-k(di-dave)3]•2-(ωi-ωave)(2)然后通過求這m個候選簇頭評價值最大者ElectValue=Max(σ1,σ2…,σm)決定是否當選簇頭。如果σi=ElectValue,在等待一個隨機后退時間ti后,節點ui向所在的電塔區域內的所有節點發送CLUSTERHEAD報文。如果ui在ti內接收到其它節點的CLUSTERHEAD報文,那么ui停止發送CLUSTERHEAD報文,并將接收到的第一個CLUS-TERHEAD報文的節點作為簇頭。從式(2)可以看出,每個候選簇頭評價值是由到上游電塔中心點的距離、當選簇頭的次數以及剩余能量三個參數做為綜合評價指標,這種方式是為了盡可能實現網內節點能耗均衡。CLUSTER-HEAD報文格式如下:MessageHeaduID為了提高網絡的實時性,每個電塔所在區域內的所有節點在完成數據傳輸后,必須重新進行下一輪的簇頭的選舉。
2.3路由生成
經過候選簇頭選舉、簇頭選舉兩個階段,當選為簇頭的節點再向其下游電塔所在區域內的簇頭發送PRECEDING報文,告知自己的ID;每個下游簇頭將接收到的第一個PRECEDING報文的簇頭作為下一跳節點而建立路由表。PRECEDING報文格式如下:MessageHeaduID
3性能評估
本節通過仿真對FCHR算法的性能進行評估。考慮部署在二維平面上的靜態WSN,100個傳感器節點隨機分布在兩個50m×50m且相距200m的矩形區域,分別記作區域I和區域II,每個區域布置50個節點,這些節點的ID從1~100進行標識,區域I的節點ID從1~50,區域II標識從51~100。每個節點無線通信半徑可從0~300m調節。仿真實驗在NS2模擬平臺進行。
3.1算法生成簇頭的個數仿真實驗
將FCHR算法與LEACH算法生成簇頭的個數進行比較,實驗進行20次,圖4給出了FCHR算法與LEACH算法生成簇頭個數在執行20次的比較。從仿真結果可以看出,FCHR算法每次產生的簇頭個數平均為1.4個,而LEACH算法生成簇頭個數平均為5.5個,因而FCHR算法與LEACH算法更有利于簇頭的生成。對于只需要一個簇頭與其上游簇頭或者下游簇頭即可通信的WSN,由單個簇頭完成本簇成員數據融合并路由到上游簇頭,可大大減少多個簇頭節點轉發數據造成的能耗,可有效提高網絡的生命周期。
3.2網絡的生命周期
對于一個簇的簇頭節點,需要承擔以下任務:1)采集現場物理數據,2)產生路由,3)接收并轉發來自上一跳簇頭的數據,4)接收并融合和發送本簇節點的數據。在仿真實驗中,假設簇頭在以上5方面消耗能量,并且當簇中有10%的節點死亡時,認為該網絡的生命周期結束。假設每個節點的初始能量為1個能量單位,每個報文的長度為100字節,每接收1字節消耗的能量為1×10-5個能量單位,即每接收一個報文需要消耗1×10-3個能量單位。傳感器節點發送數據所消耗的能量不僅與發送的字節數有關,而且與發送距離有關,假設每個節點發送數據每米每字節消耗1×10-6個能量單位,簇頭節點每次用于數據融合消耗1×10-3的能量單位,每個傳感器節點用于采集和處理數據每次消耗1×10-3的能量單位。從圖5可以看出,FCHR算法在第43次時活躍節點數才降至10%以下,而LEACH算法在第22次時活躍節點數就降至10%以下。由于兩種算法每次產生簇頭數相差很大,造成電塔之間的簇頭與簇頭交換數據的次數更多,從而引起簇頭能量消耗更快,說明FCHR算法可大大提高網絡的生命周期。
4結束語
由于整個智能電網的WSN的節點不是集中布置在一個區域,而是由許多相隔較遠的呈現成窄長的多個區域組成,根據應用的需要每個區域內節點比較密集。根據這種拓撲結構設計的基于分簇的路由算法FCHR,可以減少不同區域間的節點通信次數,從而提高全網的生命周期。通過仿真可以看出,利用FCHR算法產生的簇頭是LEACH算法的25.4%,而網絡的生命周期提高了將近40%。
作者:張鼎興 單位:廣東水利電力職業技術學院計算機信息工程系