黃海輝,王海麗,張曉迪
(重慶郵電大學 通信與信息工程學院,重慶400065)
無線傳感器網絡(wireless sensor networks,WSNs)由于大量的傳感器節(jié)點隨機分布,會出現相鄰節(jié)點的監(jiān)測區(qū)域交叉重疊,所以,采集的信息可能具有很大的冗余度。如果數據不加處理地發(fā)送到匯聚節(jié)點,將極大地消耗網絡能量,同時存儲過多的數據還會導致網絡擁塞。實驗表明:傳輸1 bit數據100 m 需要的能耗大約可以用來執(zhí)行3 000 條計算指令[1],因此,在WSNs 中采用數據融合技術顯得尤為重要。
隨著WSNs 理論研究向實際應用的加速進展,WSNs 數據融合技術成為重要研究方向,也是當今熱門研究領域[2]。數據融合技術就是充分利用傳感器節(jié)點本地計算能力和處理能力,將多份數據或者信息去除冗余、提取互補,組合出更有效、更符合用戶需求的數據,從而達到節(jié)省能量和帶寬以及延長網絡生存期的目的。
目前提出的WSNs 數據融合算法有很多,也各有其優(yōu)點,但是也都存在一定缺陷,而且沒有一種是用矩陣的概念來解決數據融合的問題。本文針對數據變化范圍大、數據需要分段處理的情況,提出新的數據融合算法,即基于矩陣的數據融合方案。該算法架構于分簇路由協議基礎上,在確定新的簇頭選舉機制的同時,利用矩陣的思想對簇內節(jié)點進行融合處理,以減少能量消耗,延長網絡生存期[3]。
本文假設有n 個傳感器節(jié)點隨機部署在監(jiān)測區(qū)域內,監(jiān)測區(qū)域假設是邊長為a 的正方形區(qū)域,基站設置在監(jiān)測區(qū)域外。網絡節(jié)點通過自組織形成WSNs,在分簇式網絡中,節(jié)點又被分為簇頭節(jié)點和簇內普通節(jié)點兩類,每個節(jié)點除具有采集和傳遞數據的功能外,還具備數據融合的功能。對網絡模型作如下假設[4]:
1)監(jiān)測區(qū)域是一個靜態(tài)網絡,傳感器節(jié)點和基站分布后位置不再移動。
2)Sink 節(jié)點不考慮能量消耗,具有向全網廣播的能力,并且有足夠的存儲能力和計算能力。
3)網絡中節(jié)點是同構的,每個節(jié)點都有唯一的標識(ID),具有相同的系統硬件配置和電池容量。
4)節(jié)點周期性地采集融合數據,并根據融合結果決定是否轉發(fā)數據。
5)節(jié)點可根據與接收節(jié)點的距離調整發(fā)射功率,以此來節(jié)約能量。
簇頭節(jié)點的選擇直接決定簇的大小和網絡的能量消耗,簇頭節(jié)點要對簇內節(jié)點的數據進行融合處理并轉發(fā)數據,所以,簇頭節(jié)點要比普通節(jié)點消耗更多的能量。LEACH協議[5]中簇頭節(jié)點是隨機選擇的,如果剩余能量較少的節(jié)點被選舉為簇頭節(jié)點,那么,該節(jié)點會因能量耗盡而較早死亡,這不僅縮短了網絡生存期,還影響數據收集的準確性[6]。為了解決上述問題,本文在選舉簇頭時綜合考慮節(jié)點剩余能量和相對密度。
每輪結束后都要重新計算存活節(jié)點個數A、每個節(jié)點的剩余能量Eres、存活節(jié)點的平均剩余能量以及鄰居節(jié)點個數Nnei。鄰居節(jié)點定義為:對于傳感器節(jié)點i,如果節(jié)點j 與它的距離小于閾值R,則節(jié)點j 稱為節(jié)點i 的鄰居節(jié)點。節(jié)點相對密度ρ 的計算如公式為

其中,S 為監(jiān)測區(qū)域的面積。
簇頭選舉過程如下:每個存活的節(jié)點隨機產生一個0~1 之間的數temp_rand,將這個隨機產生的數temp_rand 與閾值T(n)進行比較,如果隨機數小于閾值,那么,該節(jié)點就被選舉為簇頭節(jié)點。閾值是與簇頭節(jié)點占總節(jié)點的百分比和剩余能量有關的數,閾值表達式為

其中,r 為當前輪數,p 為簇頭節(jié)點占總節(jié)點的百分比,Eres為每個節(jié)點的剩余能量為存活節(jié)點的平均剩余能量,α,β 分別為節(jié)點剩余能量和相對密度的權值,且α+β=1,G 為在最近1/p 輪中未被選中當簇頭的節(jié)點集合。
在分簇的WSNs 中,現有的算法研究基本上都是在簇頭進行數據融合,但簇內成員節(jié)點在數量上占絕大比例,每個傳感器節(jié)點不同時刻采集的數據具有很大冗余性,所以,在數據進行發(fā)送前對簇內節(jié)點進行數據融合處理能有效減少數據的發(fā)送量,進而節(jié)約能耗、延長網絡生存期。基于矩陣的數據融合算法基本思想是:每個傳感器節(jié)點都保留當前采集的數據,當節(jié)點再次采集到新的數據時,通過矩陣算法來計算前后兩次采集的數據是否具有冗余,以此判斷是否發(fā)送數據。具體實現方法如下:


表示該節(jié)點相鄰兩次采集的信息存在很大的冗余性,不需要進行傳輸,但要把本次采集的數據記錄在節(jié)點中,用來與下一次采集的數據進行比較;如果

表示節(jié)點當前采集的數據與上次采集的數據有很大差距,應該將數據傳送到簇頭節(jié)點。
簇頭節(jié)點不僅要接收簇內各成員節(jié)點所發(fā)送的數據,還要將數據轉發(fā)到Sink 節(jié)點,距離較近的節(jié)點采集的數據具有冗余性,所以,當簇頭節(jié)點接收到簇內成員節(jié)點發(fā)送的數據時,還要進一步融合,去掉相同的包頭并整合成一個數據包[8],以減少冗余信息的傳輸和發(fā)送數據包的個數,然后把經過融合后的數據傳送到Sink 節(jié)點。
在一輪數據采集的過程中,如果節(jié)點采集到的數據沒有明顯變化,那么,Sink 節(jié)點就不會收到該節(jié)點發(fā)送的任何數據,用戶就得不到周期性采集的數據,也無法判斷該節(jié)點是否失效。為了避免這種情況,在一個周期結束時,就需要把平均值發(fā)送給簇頭節(jié)點。服務器對接收到的數據進行分析,調整數據(或者數據區(qū)間)的值,以適應數據的變化[9],提高監(jiān)測結果的準確性。
本文采用Matlab 作為仿真平臺,從網絡生存周期和每輪發(fā)送數據包個數兩方面驗證本文提出的數據融合方案的性能。網絡結構如圖1 所示,圖中,○表示傳感器節(jié)點,☆表示Sink 節(jié)點。網絡中傳感器節(jié)點個數為100,網絡監(jiān)測范圍為100 m×100 m,簇頭節(jié)點所占比例為5%,Sink 節(jié)點位置設置為(50,175)m,節(jié)點初始能量為0.5 J。假設服務器端記錄的歷史數據庫中有5 個樣本值(或者樣本區(qū)間),且每個樣本值(或者樣本區(qū)間)發(fā)生的概率為10%,20%,40%,20%,10%,閾值R 設為26 m,DABM 表示本文提出的基于矩陣的數據融合方案。經反復實驗驗證:α,β 分別設置為0.6,0.4。

圖1 節(jié)點分布圖Fig 1 Node distribution
圖2 是LEACH 算法與DABM 算法網絡生存期的對比圖。由圖2 可以看出:從傳感器網絡剛開始工作到642 輪,兩種算法都沒有節(jié)點死亡,這是因為剛開始時節(jié)點能量充足。LEACH 算法和DABM 算法中第一個節(jié)點死亡分別發(fā)生在第642 輪和第823 輪,DABM 算法較LEACH 算法延長28%;LEACH 算法和DABM 算法中第50 個節(jié)點死亡分別發(fā)生在第814 輪和第961 輪,后者較前者延長18%;直到第2000 輪,LEACH 算法中的節(jié)點已全部死亡,而DABM 算法中還有少量存活節(jié)點,這是因為在選舉簇頭時,考慮了每個節(jié)點的剩余能量和相對密度,使剩余能量多,且周圍節(jié)點分布密集的節(jié)點有較大的概率成為簇頭,避免剩余能量少,且周圍節(jié)點分布較稀疏的節(jié)點成為簇頭導致節(jié)點過早死亡的現象;另外,節(jié)點在發(fā)送數據前對采集和接收的數據進行數據融合,避免了冗余數據的傳輸,從而節(jié)約了能量消耗,延長了網絡的生存周期。

圖2 網絡生存期Fig 2 Lifetime of network
圖3 分別顯示了LEACH 算法與DABM 算法每輪發(fā)送的數據包數量。由圖3 可以看出:LEACH 協議每輪每個節(jié)點都要發(fā)送數據,DABM 算法在發(fā)送數據前進行數據融合,節(jié)點前后兩次采集數據相同則不發(fā)送,在730 輪之前,DABM 算法發(fā)送數據包數目較LEACH 算法有明顯減少;在730 輪之后,DABM 算法中發(fā)送數據包數目較LEACH 算法多,這是因為730 輪左右LEACH 算法中節(jié)點急劇減少,而DABM 算法中存活節(jié)點依然很多,所以,730 輪后LEACH 算法中發(fā)送數據包的個數比DABM 算法少。

圖3 每輪發(fā)送數據包數量Fig 3 Number of packets sent per round
本文提出一種新的WSNs 數據融合方案——DABM 算法,該算法首先在簇頭選舉時考慮節(jié)點的剩余能量和相對密度,然后利用矩陣理論,在發(fā)送數據前對簇內節(jié)點采集的數據進行融合處理,最后將新的數據融合方案與LEACH 協議進行對比分析。結果表明:較之LEACH 協議,DABM 算法有效減少了數據傳輸量、節(jié)約了能耗、延長了網絡生存期。該方案尤其適用于采集數據變化范圍大,并且需要分段處理的情況,但該方案并沒有考慮LEACH 協議中路由方面存在的缺陷,WSNs 路由機制與數據融合相結合將是下一步研究的重點之一。
[1] 張 強,盧 瀟,崔曉臣.基于分簇的無線傳感器網絡數據聚合方案研究[J].傳感技術學報,2010,23(12):1778-1782.
[2] 周 林,陳揚揚.無線傳感器網絡中數據匯聚方案的研究[J].電視技術,2012,36(13):71-73.
[3] Zhang Jiao,Ren Fengyuan,He Tao,et al.Attribute-aware data aggregation using dynamic routing in wireless sensor networks[C]∥The 11th IEEE International Symposium on a World of Wireless,Mobile and Multimedia Networks(WOWMOM 2010),Montreal,Canada,2010.
[4] 李菲菲,徐汀榮.基于能量感知的雙簇頭數據收集協議[J].計算機工程與設計,2011,32(7):2290-2293.
[5] Heinzelman W R,Chandrakasan A,Balakrishnan H.Energy-efficient communication protocol for wireless microsensor networks[C]∥Proceeding of the 33rd Annual Hawaii Int’l Conf on System Sciences,Maui:IEEE Computer Society,2000:3005-3014.
[6] 李 敏,羅 挺,周 俊.一種無線傳感器網絡動態(tài)成簇數據融合算法[J].計算機系統應用,2011,20(7):25,61-64.
[7] 樂 俊,張維明,肖衛(wèi)東,等.無結構動態(tài)適應無線傳感器網絡數據融合算法[J].通信學報,2012,33(9):53-65.
[8] 郭江鴻,陳德禮,劉志宏.無線傳感器網絡簇內數據匯聚方法[J].微電子學與計算機,2013,30(9):13-17.
[9] 張 強,盧 瀟,崔曉臣.基于分簇的無線傳感器網絡數據聚合方案研究[J].傳感技術學報,2010,23(12):1778-1782.