孔玉靜,侯 鑫,華爾天,魏星鋒
(浙江工商大學計算機與信息工程學院,杭州310018)
無 線 傳 感 器 網 絡[1]WSN(Wireless Sensor Networks)是新型的信息監測系統,主要由大量的傳感器節點協作完成數據的采集、傳輸及處理;傳感器節點的能量主要靠本身攜帶的電池供應且容量有限,由于傳感器節點常部署在環境比較惡劣的地方,很難更換電池,導致節點能量有限且不能補充。
對于能量有限的無線傳感器網絡,減少能量的消耗是延長網絡壽命的重要措施。無線傳感器網絡節點的能量主要消耗在無線通信模塊上,文獻[2]表明傳輸1byte數據信息需要消耗的能量可以用來執行數千條計算指令,而且所消耗的時間也少很多。因此,本文在路由協議分簇結構中引入神經網絡模型對傳感器節點采集的數據進行融合處理,把融合得到的少量的特征數據傳送給匯聚節點,減少節點的數據通信量,節省網絡的能量消耗,延長無線傳感器網絡的生命周期。
無線傳感器網絡與神經網絡[3]NN(Neural Networks)在有些地方很類似,比如無線傳感器網絡中的傳感器節點具有感知數據處理信息的能力,好比神經網絡中神經元一樣;無線傳感器網絡節點之間通過一定的規則傳遞信息,則相當于連接神經元的突觸。神經網絡算法與無線傳感器網絡中應用的數據融合技術有相同的功能,即通過一定的規則對大量的數據進行運算處理,從而得到反映這些數據特征的結果。因此,可以把神經網絡算法應用到無線傳感器網絡中實現數據的融合。
在近幾年研究人員開展了很多把神經網絡算法應用到無線傳感器網絡的研究,文獻[4]中提出在無線傳感器網絡中應用一種神經網絡模型來尋找最低的弱連通支配集,從而構建新的直接融合算法,可以選擇一個合適的傳輸半徑,使網絡穩定并延長網絡的生命周期。文獻[5]中用反向傳播(BP)神經網絡建立馬爾可夫模型計算了無線傳感器網絡的生命周期,該算法準確地給出了最大生命周期的價值且降低了計算復雜度。文獻[6]提出了在無線傳感器網絡的分簇結構中利用基于主元分析(PCA)的神經網絡融合算法對采集的數據進行處理,減少了數據的傳輸量并實現了不同參數類型的分類。文獻[7]提出利用神經網絡的自組織特征映射,在無線傳感器網絡路由協議中利用神經網絡修改拓撲結構,提高網絡能源的利用效率。文獻[8]將神經網絡算法應用到無線傳感器網絡的能源管理方法中,通過神經網絡對傳感器數據進行處理,降低傳輸數據的維數,從而降低通信成本及保護能源。文獻[9]針對傳感器的非線性輸出受環境參數影響,為獲得準確信息彌補不良環境影響,在無線傳感器網絡中引入計算有效的拉蓋爾神經網絡,從而彌補傳感器的非線性和環境影響,降低能源消耗。文獻[10]提出將神經網絡的層次結構應用到無線傳感器網絡的分簇結構中,構造一個基于神經網絡的數據融合模型。該模型能夠降低網絡的傳輸能耗,延長網絡生命周期,但是該模型沒有考慮節點數量改變和簇首分布的情況。
本文把數據融合技術應用到無線傳感器網絡的路由層中,在分層路由協議的基礎上引入BP神經網絡,提出一種新的數據融合算法BPDFA(Back-Propagation Data Fusion Algorithm)。
在現實的無線傳感器網絡應用中有很多不同應用類型的無線傳感器網絡,為方便討論,有必要對本文中所研究的網絡模型做一個條件假設,假設本文的無線傳感器網絡模型由N個傳感器節點和唯一的匯聚節點(即基站)組成,并且該WSN具有以下性質:
(1)N個傳感器節點隨機分布在監測區域內,傳感器節點部署好后就不再移動位置,并且所有節點都被事先編排了唯一的ID號,網絡中每個節點都能夠確認自己的位置坐標信息。
(2)每個傳感器節點具有相同的類型,相同的初始能量和相同的數據處理能力,且節點能量有限不能補充,每個成為簇頭的節點都消耗大致相同的能量。
(3)匯聚節點的位置是固定的且部署在監測區域外距離無線傳感器網絡較遠的地方。
(4)匯聚節點的能量是無限供給的,能夠以足夠大的功率向所有節點直接發送信息,且適合進行復雜的運算,并不用擔心匯聚節點的能量消耗問題。
(5)無線傳感器網絡中每個節點具有相同的結構,如表1所示。

表1 網絡節點結構
已有的LEACH分簇路由協議[11]相比平面路由協議能夠提高網絡性能,但是LEACH分簇路由協議的簇首選取是隨機的,造成簇首在空間上分布不均勻,簇內節點數目差異太大,簇首負載不均衡,而且在簇首選取時沒有考慮簇首節點的剩余能量,導致個別簇首過早死亡。此外,LEACH路由協議每輪循環都要重新構造簇結構,增加網絡能量的消耗。針對以上這些問題,本文對LEACH分簇路由協議進行了改進。
本文BPDFA算法根據無線傳感器網絡的情況估算出最優簇首的數目K,結合統計的各個節點的鄰節點數目對整個網絡進行分簇,根據一定的規則把網絡分成了K個區域,在各個區域內根據節點的剩余能量信息和節點曾當選過簇首的次數選取簇首,區域內其余節點為簇內節點從而構造簇結構。該算法無需每輪都進行分簇結構的構造,只要在網絡初始布置的時候,運行一次分簇算法,得到穩定的分簇結構,在該結構內根據節點的剩余能量和節點曾當選過簇首的次數循環選取簇首。只有當網絡中有新的節點加入或者失效的節點退出(或者簇首節點的剩余能量不足以完成一輪數據處理)時,才會重新運行改進算法。為了減少傳感器節點的負擔,本文把算法的運行放在匯聚節點中解決。
圖1為分簇和簇首選取的過程。根據文獻[12]中最優簇首數公式

其中N為傳感器節點個數;K為簇的個數;dtoBS是簇首節點到基站(BS)的距離;εfs是簇成員與簇首通信時用的無線信號傳播參數;εmp是簇首與基站通信時用的無線信號傳播參數;S是整個無線傳感器網絡區域的面積。結合無線傳感器網絡的情況,可以估算出最優簇首數目K。對網絡中各節點的鄰節點數目Mj進行統計,設置網路分簇結構中節點數最高值為M,當Mj>M時放棄該組節點成簇;當Mj≤M時,根據各節點的鄰節點數目的大小進行排序x1,x2,…,xi,…,xK,如果序列中有互鄰節點,則舍棄鄰節點個數少的節點,序列中后面的節點向前依次增補。最終,整個無線傳感器網絡被分為了K個區域。

圖1 分簇及簇首選取流程圖
假設Kj為任意的一個子區域,其中的節點集合為W,W={Qj|Qj是Kj中任意一個節點,且Qj的能量值為Ej},簇首節點在一輪中所需的能量值為ECH,當Ej<ECH時,該節點不參與簇首競選進入睡眠狀態,直到所有區域都競選出簇首節點;當Ej≥ECH時,節點成為候選簇首集合S中的成員,參與簇首競選。任選S中一個節點Qi,其能量為EQi,計算max(EQi),選取候選簇首集合S中剩余能量值最高的節點作為該區域的簇首節點。當所有區域中簇首競選過程結束后,其他沒有參與競選的節點從睡眠狀態喚醒,成為簇首的節點向所在區域的其他節點發送自己是簇頭的信息,區域內其他節點選擇加入該簇首。此時,網絡的分簇結構就完全形成了。
本文BPDFA算法是基于改進的無線傳感器網絡的分簇路由協議,在整個無線網絡中根據一定的規則選取最優的簇首,形成穩定的分簇結構,在每個分簇結構中,簇內傳感器節點采集到大量的原始數據經過預處理以后首先傳送給簇首節點,在簇首節點內部進行數據處理后再發送給匯聚節點。BPDFA算法就是在簇內傳感器節點與簇首節點間利用BP神經網絡算法來處理數據的。
本文采用單隱層的BP神經網絡模型對無線傳感器網絡采集的數據進行數據融合。相關研究已經證明,只要隱層節點數足夠多,三層BP神經網絡就具有模擬任意復雜的非線性映射的能力[13]。改進算法將三層BP神經網絡應用各個簇中,在每個簇的神經網絡模型中,簇內節點采集數據后,利用輸入神經元函數對采集到的數據進行預處理,并將處理好的數據傳送到簇首節點。簇首節點將收到的數據通過神經網絡模型的隱層神經元函數和輸出神經元函數的共同處理后,得到一組反映網絡數據特性的特征值,最后把通過神經網絡融合好的特征信息傳送給匯聚節點。數據融合后的特征值量遠遠少于采集到的數據量,從而減少數據的傳輸量,降低了能量的消耗,延長無線傳感器網絡的壽命。改進算法的模型示意圖如圖2所示。

圖2 改進算法的模型示意圖
假設無線傳感器網絡中每個簇的簇成員節點采集n種不同類型的數據,那么該神經網絡模型的輸入層神經元有n個。輸出神經元的個數l可以根據實際應用的需要進行不同的調整,與簇內節點的數量和采集的數據類型沒有必然的聯系,一般由所需的輸出信息來決定。隱層神經元的數量m取決于訓練樣本的多少及樣本中蘊含規律的復雜度,也與神經網絡的輸入輸出神經元的個數有關。確定最佳隱層節點數的一個常用方法稱為試湊法,可先設置較少的隱節點數訓練網絡,然后逐漸增加隱節點數,用同一樣本集進行訓練,從中確定網絡誤差最小時對應的隱節點數。在用試湊法時,可以用一些確定隱節點數的經驗公式[14]。如或者,其中α為1~10之間的常數。這些公式計算出來的隱節點數只是一種粗略的估計值,可作為試湊法的初始值。
在本文BPDFA算法中,神經網絡模型的建立需要首先知道一些運行參數的值(如神經元之間的權值),因此,當無線傳感器網絡的分簇結構穩定以后,在網絡進人穩定的自治工作狀態之前,需要訓練BP神經網絡,從而得到神經網絡相應的參數值。由于無線傳感器網絡的節點能量有限且不能供給,為了盡可能減少傳感器節點的能耗,延長無線網絡的壽命,本算法將在無線傳感器網絡的匯聚節點內部完成神經網絡的訓練。BP神經網絡訓練流程如圖3所示。

圖3 BP神經網絡訓練流程
BPDFA算法的流程圖如圖4所示。無線傳感器網絡組網時先要確定網絡中節點的狀態及節點位置,進行網絡的初始化,當網絡節點狀態都確定好后,無線傳感器網絡開始進行最優簇首的選擇并建立分簇結構,此時簇首獲得所有簇內節點的信息,分簇結構穩定后,簇首節點把所有簇內節點的相關信息發送給匯聚節點。匯聚節點依據獲得網絡信息構造BP神經網絡結構,并搜集樣本數據庫中與簇內節點信息相匹配的樣本訓練神經網絡,從而得到相關的神經網絡參數。匯聚節點將神經網絡各層的參數(權值、閾值)發送給對應的簇節點。無線傳感器網絡各個分簇就可以利用訓練好的BP神經網絡模型進行數據的融合處理,把處理好的數據以最短路徑傳送給匯聚節點。從而減少網絡中數據的傳輸量,降低網絡節點的能耗,延長網絡的生命周期。

圖4 改進算法的流程圖
本文仿真實驗通過網絡仿真工具NS2仿真軟件[15]對BPDFA算法進行仿真測試,為了更好地展現改進算法的有效性,對BPDFA算法和LEACH協議算法進行了對比仿真,主要分析對比兩種算法對網絡節點平均能耗和網絡存活節點數目(網絡生存周期)這兩個指標的影響。
仿真環境設置:在100 m×100 m的范圍內隨機分布100個相同的節點,并把匯聚節點設置在離感知區域較遠的位置,節點的初始能量為2J,數據包的長度為500 byte,無線信道的帶寬為1 Mbit/s,無線信號載頻為2.4 GHz,收發數據所耗的能量為50 nJ/bit,神經網絡的權值初始值設置為1,閾值設為0.2,訓練次數設為 1 000。

圖5 網絡節點平均能耗對比圖
圖5給出的是LEACH算法和BPDFA算法在網絡節點平均能耗參數方面的比較,對于無線傳感器網絡來說,節點的能量比較有限,能耗問題成為網絡生命周期的重要指標。節點的能量消耗越少,網絡生命周期就越長。從圖中可以看出,BPDFA算法的節點能量消耗低于LEACH算法,這主要是因為改進后的BPDFA算法根據網路的分布情況對網絡進行分區,使簇首分布較LEACH算法均勻,在簇首的選擇時,考慮了節點的剩余能量值,使網絡內的節點平擔能量的消耗,保證了整個網絡的能量消耗更均衡。
圖6顯示了LEACH算法和BPDFA算法在網絡存活節點數的對比情況。從圖中可以看到,LEACH算法在350 s的時候開始出現節點死亡,且隨著時間的推移節點死亡的速度逐漸加快,到460 s已經沒有節點存活了,而BPDFA算法在450 s才開始有節點死亡,且死亡速度也沒有LEACH算法快。由此可見,本文提出的BPDFA算法較LEACH算法能更好地提高網絡的性能,延長網絡的生存周期。主要是因為在改進后的分簇結構中應用了神經網絡算法對簇內節點采集的數據進行了融合處理,減少了簇節點向基站傳送的數據量,降低了通信時的能量消耗,而且算法的運行選擇在匯聚節點中進行,減少了傳感器節點的運行能耗,延長了節點壽命,從而提高了整個無線傳感器網絡的性能,延長了網絡壽命。

圖6 網絡存活節點數的對比圖
圖7是當網絡中節點數不同時BPDFA算法與LEACH算法節點平均能耗的變化情況。從圖中可以看出使用BPDFA算法的網絡節點平均能耗明顯要比LEACH算法低,隨著網絡中節點數的減少,網絡的節點平均能耗逐漸增加,BPDFA算法的增加幅度要低于LEACH算法。

圖7 網絡節點個數-節點平均能耗
對于無線傳感器網絡,能量有限是其重要的影響指標,如何降低能耗,延長網絡生命周期成為一個研究熱點。本文在LEACH算法的基礎上對分簇結構進行了改進,并把神經網絡算法應用于改進的分簇結構中,提出了協議改進BPDFA算法,對網絡采集的數據進行融合處理,從而減少網絡中數據的傳輸量,降低整個網絡的能量消耗,達到延長網絡壽命的目的。
[1]孫利民,李建中,陳渝,等.無線傳感器網絡[M].北京:清華大學出版杜,2005:5.
[2]Min R,Bhardwaj M,Seong-hwan Cho,et al.Energy-Centric Enabling Technologies for Wireless Sensor Networks[J].IEEE Wireless Communications,2002,9(4):28-39.
[3]孫凌逸,黃先祥,蔡偉,等.基于神經網絡的無線傳感器網絡數據融合算法[J].傳感器技術學報,2011,24(1):122-127.
[4]He Hongmei,Zhu Zhenhuan,M?kinen Erkki.A Neural Network Model to Minimize the Connected Dominating Set for Self-Configuration of Wireless Sensor Networks[J].IEEE Transactions on Neural Networks,2009,20(6):973-982.
[5]Yang Wenjun,Wang Bingwen,Liu Zhuo.Back Propagation Neural Network Based Lifetime Analysis of Wireless Sensor Network[J].Advances in Neural Networks-ISNN 2009,PT3,Proceedings,2009:956-962.
[6]Feng Xiufang,Xu Zhanwei.A Neural Data Fusion Algorithm in Wireless Sensor Network[C]//Proceedings of the 2009 Pacific-Asia Conference on Circuits,Communications and System,2009:54-57.
[7]PatraChiranjib,Roy Anjan Guha,Chattopadhyay Samiran.Designing Energy-Efficient Topologies for Wireless Sensor Network:Neural Approach[J].International Journal of Distributed Sensor Networks,2010.
[8]Enami Neda,Moghadam Reza Askari,Haghighat Abolfazl.A Survey on Application of Neural Networks in Energy Conservation of Wireless Sensor Networks[J].Recent Trends in Wireless and Mobile Networks,2010,84:283-294.
[9]Patra Jagdish Chandra,Meher Pramod Kumar,Chakraborty Goutam.Development of Laguerre Neural-Network-Based Intelligent Sensors for Wireless Sensor Networks[J].IEEE Transactions on Instrumentation and Measurement,2011,60(3):725-734.
[10]俞黎陽,王能,張衛.無線傳感器網絡中基于神經網絡的數據融合模型[J].計算機科學,2008,35(12):43-47.
[11]宋立軍.無線傳感器網絡 LEACH路由協議的改進與仿真[D].武漢:武漢理工大學,2010.
[12]劉園莉,李臘元,盧迪.節能的無線傳感器網絡分簇路由協議的研究木[J].傳感器技術學報,2010,23(12):1792-1797.
[13]Omido,Judith D.Neural Networks and Pattern Recognition[M].San Diego:Academic Press,1998.
[14]李兆祥.無線傳感器網絡數據融合的算法研究[D].武漢:武漢理工大學,2011.
[15]黃化吉,馮穗力,秦麗姣,等.NS網絡模擬和仿真[M].北京:人民郵電出版社,2010.?