魏增輝,史兆強
(1.黃河水利職業(yè)技術學院,河南 開封 475004;2.河南機電高等??茖W校,河南 新鄉(xiāng) 453003)
嵌入式技術、傳感器技術和無線通信技術等技術不斷發(fā)展,推動了低功耗智能化傳感器的快速發(fā)展,使信息采集、數(shù)據處理和無線通信等多種功能在微小體積內能夠實現(xiàn)。 無線傳感器網絡就是由部署在監(jiān)測區(qū)域范圍內大量的微型無線傳感器節(jié)點組成,通過無線通信方式形成的一個多跳的自組織網絡系統(tǒng)。 無線傳感器節(jié)點體積微小,攜帶電能有限,并且大量節(jié)點分布在周圍復雜,甚至人員不可到達的區(qū)域。 因此,如何高效使用能量,最大限度地維持網絡生存時間,成為無線傳感器網絡面臨的首要挑戰(zhàn)。
無線傳感器網絡通常包括傳感器節(jié)點、匯聚節(jié)點和管理節(jié)點[1]。 大量傳感器節(jié)點布置在監(jiān)測區(qū)域內,各個節(jié)點通過自組方式構成網絡,每一個節(jié)點檢測到的數(shù)據沿著其他傳感器節(jié)點逐一跳動傳輸。在傳輸過程中,監(jiān)測數(shù)據可能被多個節(jié)點處理,經過多次跳動后,達到匯聚節(jié)點,最后通過互聯(lián)網或衛(wèi)星到達管理節(jié)點。 用戶通過管理節(jié)點,對傳感器網絡進行配置和管理,發(fā)布監(jiān)測任務,收集監(jiān)測信息。圖1 為無線傳感器的網絡體系結構。
傳感器節(jié)點有傳感器模塊、處理器模塊、無線通信模塊和能量供給模塊4 部分組成。 傳感器模塊負責將監(jiān)測區(qū)域內的物理量信息(如溫度、濕度等)轉換成數(shù)字量信息;處理模塊負責整個傳感器節(jié)點的操作,處理和存儲本節(jié)點的信息,或者轉發(fā)其他節(jié)點的數(shù)據;無線通信模塊負責與其他節(jié)點進行無線通信,交換控制或者數(shù)據信息;能量供給模塊為傳感器節(jié)點提供必要的能量,通常采用微型電池。 傳感器節(jié)點不僅是數(shù)據處理的終端,還具有路由的功能。 因此,結合具體應用,設計良好的網絡拓撲結構,對于節(jié)約傳感器節(jié)點能量,最大限度地延長網絡生存時間,顯得至關重要。
圖1 無線傳感器的網絡體系結構Fig.1 Wireless sensor network system structure
在無線傳感器網絡中,拓撲結構主要有兩種結構形式:平面結構(a)和分簇結構(b)。 如圖2 所示。
圖2 無線傳感器的網絡拓撲結構Fig.2 Wireless sensor network topology structure
在平面結構當中,所有節(jié)點的地位平等,源節(jié)點和目的節(jié)點之間往往存在多條路徑,網絡負荷由這些路徑共同承擔,一般情況下不存在瓶頸,網絡比較健壯。 但是,在節(jié)點特別多的情況下,平面型的網絡結構在節(jié)點組織,路由建立、控制與維持的報文方面會占用很大的帶寬。 這影響網絡傳輸速率的同時,也使得網絡節(jié)點能耗比較高,在嚴重情況下,甚至會造成網絡癱瘓。 因此,平面結構一般用于網絡規(guī)模比較小的無線傳感器網絡中。
為了解決平面結構中網絡堵塞問題,節(jié)約整體能耗,可以采用分簇結構[2]。 在分簇結構中,網絡被劃分為多個簇,每個簇由一個簇頭和多個簇成員組成。 簇頭負責簇間信息傳輸,簇成員只負責數(shù)據的采集。 傳感器節(jié)點的無線通信模塊在空閑狀態(tài)時的能量消耗與在收發(fā)狀態(tài)下相當,所以,在節(jié)點空閑時,關閉通信模塊,能夠大幅度降低無線通信的能量消耗,從而降低節(jié)點能耗,延長網絡生命周期。 分簇結構正是基于此種考慮,依據一定的機制,選擇某些節(jié)點作為簇頭節(jié)點,打開其通信模塊,并關閉非簇頭節(jié)點的通信模塊,由簇頭節(jié)點構成一個連通網絡,負責網絡數(shù)據的轉發(fā)。
分簇結構的無線傳感器網絡,簇頭節(jié)點需要協(xié)調簇內節(jié)點的工作,負責數(shù)據融合和轉發(fā),能量消耗相對較大。 所以,通常采用分簇算法周期性地選擇簇頭節(jié)點的做法,以均衡網絡中節(jié)點的能量消耗[3]。
LEACH 自適應分簇算法分為簇建立階段和穩(wěn)定的數(shù)據通信階段,并且這兩個過程是周期性循環(huán)進行的。 在簇建立階段,相鄰節(jié)點在一定的發(fā)射功率控制下動態(tài)地形成簇,隨機產生簇頭。 在數(shù)據通信階段,簇內節(jié)點把數(shù)據發(fā)送給簇頭,簇頭進行數(shù)據融合,并把結果發(fā)送給匯聚節(jié)點。 為了降低開銷,數(shù)據通信階段都比簇建立階段要長。 LEACH 算法能夠保證各節(jié)點等概率地擔任簇頭,使得網絡中節(jié)點相對均衡地消耗能量。 LEACH 算法時序如圖3所示:
圖3 LEACH 算法時序圖Fig.3 LEACH algorithm
2.1.1 簇建立階段
LEACH 算法中的簇劃分采用分布式劃分法,所有傳感器節(jié)點只通過本地信息,不需要任何中心的控制信息。 簇頭選取過程為:節(jié)點產生一個0~1 之間的隨機數(shù),如果這個數(shù)小于閥值S(n),則發(fā)布自己為簇頭的公告信息。 在一個循環(huán)周期內,如果節(jié)點已經當選過簇頭,則把S(n)設置為0,這樣該節(jié)點就不會再次當選為簇頭; 如果節(jié)點未當選過簇頭,則將以S(n)的概率當選。 隨著當選過簇頭的節(jié)點數(shù)目的增加,剩余節(jié)點當選簇頭的閥值S(n)隨之增大,節(jié)點產生小于S(n)的隨機數(shù)的概率隨之增大,所以節(jié)點當選為簇頭的概率逐步增大。 當只剩下一個節(jié)點未當選時,S(n)=1,表示這個節(jié)點一定當選。 S(n)可表示為
式中:P 是簇頭在所有節(jié)點中所占的百分比;r是簇頭選舉輪數(shù);rmod(1/P)代表這輪循環(huán)中當選過簇頭的節(jié)點個數(shù);G 是這一輪循環(huán)中未當選過簇頭的節(jié)點的集合。
節(jié)點當選簇頭以后,簇頭節(jié)點使用CSMA 爭用型MAC 協(xié)議廣播公告信息,告知其他節(jié)點,自己在本輪被選舉為新簇頭。 由于簇頭節(jié)點在發(fā)布公告信息時都使用相同的發(fā)射功率,所有非簇頭節(jié)點在這個時間段均處于接收模式,可以偵聽所有簇頭節(jié)點的公告信息[4]。 非簇頭節(jié)點根據與簇頭之間的距離來決定加入哪個簇,并告知該簇頭。 當簇頭接收到所有加入信息后,基于簇內成員節(jié)點的數(shù)量產生一個TDMA 傳輸時間安排消息,并且通知該簇中的所有節(jié)點,以讓簇內節(jié)點知道什么時候可以發(fā)送數(shù)據。為了避免附近簇的信號干擾,簇頭可以決定本簇中所有節(jié)點所用的CDMA 編碼[5]。 這個用于當前階段的CDMA 編碼連同TDMA 消息一起發(fā)送。當簇內節(jié)點收到這個消息后,它們就會在各自的時間槽內發(fā)送數(shù)據。 經過一定時間的數(shù)據傳輸,簇頭節(jié)點收齊簇內節(jié)點發(fā)送的數(shù)據后,就運行數(shù)據融合算法來處理數(shù)據,并將結果直接發(fā)送給匯聚節(jié)點。
2.1.2 數(shù)據通信階段
當簇內節(jié)點接收到簇頭發(fā)布的TDMA 消息后,就開始進入穩(wěn)定的數(shù)據通信階段。 非簇頭節(jié)點在分配給它們的時間內發(fā)送數(shù)據給簇頭節(jié)點,且使用最小的能量發(fā)送(由于選擇簇頭基于最大的信號強度)。每個簇頭節(jié)點在不屬于自己的發(fā)送時段可以關閉電臺,以減少能量消耗。 簇頭節(jié)點必須保持接收器工作,以便接收簇內節(jié)點發(fā)送來的數(shù)據。 當所有數(shù)據接收完畢時,簇頭節(jié)點就啟動信號處理功能,將數(shù)據壓縮為單一信號。 例如,如果數(shù)據是溫度和濕度信號,簇頭節(jié)點進行數(shù)據融合,將單個信號合成組合信號。 這個綜合信號被發(fā)送給匯聚節(jié)點,并由匯聚節(jié)點轉發(fā)給互聯(lián)網和移動網用戶。
由于LEACH 算法中簇頭的選舉方法沒有考慮節(jié)點的具體地理位置,所以不能保證簇頭均勻地分布在整個網絡中。 在LEACH 算法基礎上,HEED 算法針對LEACH 算法的這一問題進行了改進。 它以簇內平均可達能量作為衡量簇內通信成本的標準。節(jié)點以不同的初始概率發(fā)送競爭消息,節(jié)點的初始化概率CHprob根據公式(2)確定。
式中: Cprob和Pmin是整個網絡統(tǒng)一的參量,它們影響算法的收斂速度,通常Pmin=10-4、Cprob=5%;Eresidsnt/Emax代表節(jié)點剩余能量與初始化能量的百分比。
簇頭競選成功后,其他節(jié)點根據在競爭階段收集到的信息,選擇加入的簇。
HEED 算法在簇頭選擇標準及簇頭競爭機制上與LEACH 算法不同,簇建立速度有一定提升。 考慮到簇內通信的消耗,它把節(jié)點剩余能量作為一個參量引入算法,使得選出的簇頭更適合擔當數(shù)據轉發(fā)任務,全網能量消耗更均勻、更低。
LEACH 算法作為層次型的網絡拓撲結構,通過自適應分簇算法,由簇頭節(jié)點承擔數(shù)據融合的任務,減少了數(shù)據通信量。 分簇式的網絡拓撲結構有利于分布式算法的應用,適合于大規(guī)模無線傳感器網絡的部署。 由于大部分節(jié)點在相當長時間內關閉通信模塊,所以它顯著地延長了整個網絡的生存時間。而HEED 算法作為LEACH 算法的改進算法,使得網絡拓撲結構更趨合理,全網能耗更加降低。
[1] 崔遜學.無線傳感器網絡簡明教程[M]. 北京:清華大學出版社,2009:3.
[2] 朱祥賢.無線傳感器網絡的體系結構與關鍵技術[J].數(shù)字技術及應用,2009(11);29-30.
[3] 趙繼軍.無線傳感器網絡數(shù)據融合體系結構綜述[J],傳感器與微系統(tǒng)。 2009(10):7-10.
[4] 鄔正義.現(xiàn)代無線通信技術[M] 北京:高等教育出版社,2006:40-51.
[5] 趙明. 一種無線傳感器網絡節(jié)點設計和通信協(xié)議研究[J].儀器儀表學報,2005(S2):638-640.