趙春暉,許云龍
(哈爾濱工程大學 信息與通信工程學院,黑龍江 哈爾濱150001)
目前,無線傳感器網絡(WSN, wireless sensor network)已被廣泛應用于智能家居、物聯網等領域的數據采集和傳輸。其中,另一個重要的應用是對目標物體位置的檢測。假設在一個無線傳感器網絡中分布著若干個目標源,各傳感器節點首先對網絡中所有目標源信號進行接收,再將接收到的目標源信號疊加和信息傳送到匯聚節點,最后由匯聚節點通過收集到的信息來獲得網絡中目標源的個數、位置及所發送信號強度等信息。無線傳感器網絡在擁有快速展開、抗毀性強等諸多優勢的同時,也存在著一些現階段無法克服的缺點,其中最為突出的是節點信息處理能力不足和能量缺乏。在實際目標位置檢測過程中,匯聚節點只能接收和處理網絡中少數感知節點的信息。這時,亟待出現一種能根據少量的節點信息獲得整個網絡狀態的技術。近年來,興起的壓縮感知(CS, compressive sensing)理論[1,2]能很好地解決這一問題。利用原始信號的稀疏性,CS技術能從比奈奎斯特準則要求少得多的采樣點數中精確恢復出原始信號。結合CS理論,可有效減少目標源信號信息的采樣點數。另外,由于無線傳感器網絡節點所攜帶的能量有限,同時其節點能量一般無法更新,因此在算法中必須考慮節點的能耗。
唐亮等人提出了一種貝葉斯 CS檢測算法[3],該算法是聯合 LEACH[4~7]和貝葉斯 CS[8]無線傳感器網絡檢測算法。算法在開始時,利用LEACH算法進行分簇收集信息,之后利用貝葉斯CS算法去重構出原信號,來完成對目標源的檢測。然而在貝葉斯CS重構信號時,必須重新選擇觀測向量,而在傳統的貝葉斯CS中選擇的觀測向量僅僅考慮了熵減少的方向,而沒有考慮選擇觀測向量節點的能量。這樣雖然解決了節點信息處理能力不足的缺點,但是沒有考慮到節點的能量,容易導致整個網絡中的節點能量失衡,從而使網絡過早的失效,因此文中提出了一種基于能量約束的貝葉斯CS檢測算法來進行目標源檢測。該算法在選擇觀測向量時,加入了能量約束條件同時采用了改進的分簇算法[7]去收集信息,使得網絡在保持檢測性能的同時,更好地均衡網絡中各節點的能量,有效地延長網絡的生存時間。
假設WSN的監測區域是一個被等分成N塊單位面積大小子區域的N×N的方形區域。令整個區域內隨機分布有L個傳感器節點。因此每個傳感器節點與各個子區域傳輸關系可以用 L×N矩陣 H來表示。H的第i行第j列元素Hi,j表示第i個節點與第 j個子區域傳輸關系,其中,1≤i≤L,1≤j≤N。假設傳播模型為自由空間傳播模型,Hi,j表示第j個子區域到第i個節點的傳輸損耗。同樣,目標源的位置也用其所在的子區域來表示,且每個子區域最多存在一個目標源。所以,區域內的K個目標源也用一個N維向量f來表示。令第k(1≤k≤K)個目標源的信號強度為sk,在子區域i內,則f中對應元素fi的值就設為sk,其他設為0。
WSN檢測目標源的過程,是由網絡所有節點信息檢測出來的,然而匯聚節點出來能量有限,僅可以處理少量節點的信息,因此節點的信息融合成為必要的步驟。由此匯聚節點的信息收集模型如下

其中,n為觀測噪聲,W為一個M×L的信息融合矩陣,M為網絡中的簇數,L為傳感器節點數。
LEACH算法把整個網絡分成M個簇,每個簇有簇頭,在簇內各節點的信息匯集到簇頭進行信息融合,再由簇頭把融合后的信息發送給匯聚節點。然而LEACH算法中,若簇首節點與匯聚節點較遠時,消耗的能量將會過多,由此產生很多改進算法。例如文獻[5]提出了由其他簇首來代發信息,然而每個簇的簇首自身的任務繁重,能量消耗也很快,因而再為其他簇首轉發信息將使其能量消耗更大。WENDI等人提出MTE轉發信息的方法,該方法盡管每個節點消耗的轉發能量最小,但是轉發節點數太大,這樣發送信息所需的總能耗不一定最小[6]。郭書城等人提出了綜合考慮方位、距離、剩余能量等去選擇轉發節點,在降低網絡節點能耗、均衡節點能耗方面取得效果更好[7],亦本文采用的分簇算法,該分簇算法的具體步驟如下。
1)以LEACH算法分簇,節點按就近原則加入簇,并將自己加入該簇以及自身的地理位置和剩余能量信息發送給簇頭。
2)簇頭節點廣播簇內所有節點的地理位置和剩余能量信息給簇內節點,簇內節點存儲此信息。
3)在算法運行過程中,當節點能量低于某一門限值時,該節點需向簇內節點告知自己的剩余能量信息,便于節點自身及簇內節點及時更新數據庫中能量信息。
4)簇首節點選擇簇內下一跳轉發節點。具體步驟如下:
(a)簇首節點在簇內挑選出比自己距離匯聚節點近的成員節點;
(b)按與簇首節點的距離由近到遠對節點排序并賦予距離權值;
(c)按剩余能量由大到小對節點排序并賦予能量權值;
(d)將各節點的距離和能量權值相加,權值和最小的節點即為簇首節點的下一跳轉發節點。
如果本簇內沒有滿足條件的節點,轉到6)。
5)轉發節點繼續選擇下一跳節點。與簇首節點選擇方法不同,轉發節點選取的下一跳節點需同時滿足剩余能量要求和能距比[7]小的原則。具體步驟如下:
(a)在轉發節點與匯聚節點的連線上選擇距離轉發節點為最佳發送距離的點為圓心,選出在最佳發送距離為圓心內的本簇節點;
(b)按與圓心的距離由遠到近對節點排序并賦予距離權值;
(c)按剩余能量由大到小對節點排序并賦予能量權值;
(d)將各節點的距離和能量權值相加,權值和最小的節點即為本轉發節點的下一跳轉發節點。
6)若本簇內找不到滿足要求的下一跳轉發節點,可在相鄰簇內進行選擇。在進行鄰簇選取時,節點需向鄰簇發送一個包含自己位置信息的詢問,最先收到信息的節點按第 5)步的方法進行節點選取,并把選出節點的位置信息告知發出詢問信息的那個節點。
7)轉發節點將信息發送到匯聚節點。
設信號u在變換基Ψ上是稀疏的,對其作如下變換:

其中,u,f是N×1的向量,Ψ是N×N的變換矩陣。向量f中僅有k(k<<N)個非零系數。然后把稀疏信號f投影到觀測矩陣Φ上得到觀測向量y。

在實際系統中CS的觀測值常常包含噪聲,觀測噪聲是均值為零,方差σ2未知的高斯白噪聲,用n表示。則觀測向量y可以表示為

引入高斯概率模型則式(4)可以表示為

CS重構問題就變為對權值和噪聲方差的后驗估計。貝葉斯 CS[8]就是利用稀疏貝葉斯學習中的相關向量機原理[9,10]去實現對權值和噪聲方差的后驗估計,從而解決CS重構問題。大部分壓縮感知算法的觀測矩陣是固定的,系統無法根據實際情況來選擇需要的觀測向量,這就缺乏靈活性,容易造成觀測向量的冗余或不足。而貝葉斯 CS算法很好地解決了這一問題,通過計算信號的熵來選擇算法所需要的觀測向量。原始信號的熵可用式(6)計算

首先,由于無線傳感器網絡中,節點的能耗是必須考慮的一個問題,而貝葉斯CS檢測算法只考慮了原信號的熵,這樣選出來的節點可能在能耗約束上不一定有效,因此文中提出了一種能量約束的貝葉斯CS檢測算法,算法在選擇觀測向量時,不僅考慮了原始信號的熵,同時考慮了所選節點的能量,這樣就可以達到使網絡中所有節點的能量消耗的更加均衡。能量約束的貝葉斯CS檢測算法把選擇新觀測向量的熵式中加入了能量約束成分得到新的信號熵如下

其次,為了更好地減少簇頭的能量消耗,均衡網絡中所有節點的能量,在開始收集信息時采用改進分簇算法[7]傳輸信息至匯聚節點。同時之后選擇的節點由于只是單個節點,在信息傳輸至匯聚節點前,并不需要簇頭進行信息融合,所以為了減少簇頭的能量消耗,被選擇的節點被重新定位為該簇的簇頭。又由于這時簇頭收集和發送的信息只是本身的信息,簇頭的負擔并不重,這時若找較近的,剩余能量較大的節點轉發,而不考慮能距比的要求,將會造成節點能量的浪費,因此在轉發節點選取過程中,將按照同時滿足剩余能量要求和能距比[7]小的原則來選擇轉發節點,即按照改進的分簇算法[7]的第5)步來選擇轉發節點。
能量約束貝葉斯CS檢測算法過程如下。
1)簇頭節點先收集簇內各節點的信息并對其融合之后,按照改進的分簇算法[7]來選擇傳輸路徑,把信息發送給匯聚節點,然后匯聚節點利用這些節點的信息去重構信號f。
2)對重構后的信號f的精度進行判斷,如滿足系統要求,算法停止,否則進行第3)步。
4)匯聚節點把這個節點的觀測向量,觀測值與之前的觀測向量,觀測值相結合。利用結合后的觀測向量,觀測值去重構信號 f,之后返回第2)步。
仿真中,將 M(M=100)個傳感器節點隨機分布于大小為100m×100m的區域內,區域的頂點即坐標為(100,100)的匯聚節點,任何一個傳感器節點都能直接和匯聚節點進行通信。K(K< 為了檢驗2種算法的檢測性能,本文引入了漏檢概率pm和虛檢概率pf作為檢測性能的判別標準,其中,pm為每次未檢測出來的目標占實際總目標源的個數,pf為檢測到虛假目標源個數與實際總目標源個數的百分比,pf理論上可以大于 1。為了減少虛假目標源的個數,提高檢測性能,本文通過設置閾值(0≤ε≤1)來改善重構性能,當所檢測到的目標源向量中元素的值小于ε時,則設為0,即在該位置不存在目標源。 圖1是K=5時,貝葉斯CS檢測算法和能量約束貝葉斯CS檢測算法檢測原信號的分布。 圖1 信號f的分布 由圖1可知:兩算法均能準確地恢復出信號源的位置,圖中看不出有什么區別,但是兩算法有時候可能不能完全檢測出目標,或者檢測到虛假目標。在K=5,ε=0.5時,通過1 000檢測實驗,得到了貝葉斯壓縮感知算法和能量約束檢測算法的平均漏檢概率分別為7.10%和10.24%;虛檢概率分別為8.67%和9.64%,由上述的概率可以看出貝葉斯CS檢測算法性能稍優于能量約束貝葉斯CS檢測算法,這是由于貝葉斯CS檢測算法在選擇觀測向量時只考慮重構性能,而能量約束檢測貝葉斯CS檢測算法還需要考慮節點的能量,因此它的檢測性能會稍差于貝葉斯壓縮感知算法,然而通過 10次實驗得到貝葉斯 CS檢測算法和能量約束貝葉斯 CS檢測算法的網絡平均生存時間分別為 212min和385min,網絡的生存時間得到了很大的提高,這對于無線傳感器這種能量受限的網絡來說,在檢測性能犧牲不大的情況下,極大地提高了網絡的生存時間還是值得的。 如圖2(a)、圖2(b)所示分別為目標源個數K=10時,取不同的閾值ε得到的2種算法的pm和pf的性能對比。 圖2 2種檢測算法的檢測性能對比 從圖2中曲線可以看出:pm值隨著閾值ε的增大而增大,而pf值隨著閾值ε的增大而減小。這是由于較小的閾值時,將保留大量的目標源,但是隨著閾值的增大,正確的目標源也會被認為是虛假的目標源,因此選擇一個合理的閾值對于算法的檢測效果至關重要。 表1是通過100次實驗得到的貝葉斯CS檢測算法和能量約束貝葉斯CS檢測算法的網絡平均生存時間對比。從表中可以看出貝葉斯CS檢測算法由于在選擇最優的節點沒有考慮節點的能量,它的網絡生存時間幾乎只有考慮了節點能量情況下的能量約束檢測算法的網絡生存時間的十分之六。由此可以看出能量約束貝葉斯CS檢測算法大大地提高了網絡的生存時間,也就是說能量約束貝葉斯CS檢測算法更符合在這種對能量缺乏的無線傳感器網絡中使用。 表1 網絡平均生存時間對比 由于算法精確檢測出信號位置所消耗的時間主要是看算法選擇的觀測向量上,因此2種算法的收斂速度可以用檢測出信號位置所需節點的觀測數目來代替。表2是通過1 000次實驗,在K=5,ε=0.5時,得到的貝葉斯CS檢測算法和能量約束貝葉斯CS檢測算法精確檢測出信號位置所需的觀測節點的平均數目。由表2可以看出貝葉斯CS檢測算法由于在選擇最優的節點只考慮使信號的熵值變小的方向而不用考慮網絡節點的能量,因此所需的觀測節點數較少,而能量約束貝葉斯CS檢測算法由于考慮了信號的熵值和網絡節點的能量,所以所需的觀測節點數較多,即貝葉斯CS檢測算法相比于能量約束貝葉斯CS檢測算法的收斂性能要好一些。 表2 收斂性能對比 本文提出了一種新的WSN的目標檢測算法。算法有效地利用改進分簇算法的優點同時改進貝葉斯CS算法的缺點,是其更適用于WSN網絡。1)初始收集信息時,使用LEACH算法進行數據融合減少信息量,同時利用改進分簇算法去選擇傳輸至匯聚節點的最佳路徑,減少簇頭節點的能量消耗。2)選擇的節點為單個節點,因此傳輸其信息時,按照剩余能量要求和能距比[7]小的原則選擇傳輸路徑,防止節點能量浪費。3)對貝葉斯CS算法選擇觀測向量的過程中加入了能量約束條件,以使網絡中各個節點的能量更加均衡。該算法相對于貝葉斯CS檢測算法,極大地增加了網絡的生存時間。通過仿真實驗可以看出,盡管在檢測性能上能量約束貝葉斯CS檢測算法稍遜于傳統的貝葉斯CS檢測算法,但是能量約束檢測貝葉斯CS檢測算法相對于傳統的貝葉斯CS檢測算法能夠有效地提高網絡的生存時間,這對于無線傳感網絡這種能量受限的網絡來說,犧牲一點檢測性能去換取網絡生存時間的較大提高還是可以接受的。 [1] DONOHO D L. Compressed sensing[J]. IEEE Trans Information Theory, 2006, 52(4): 1289-1306. [2] CANDS E J. Compressive sampling[A]. International Congress of Mathematicians[C]. Madrid, Spain: European Mathematical Socirty,2006.1433-1452. [3] 唐亮,周正,石磊等.基于 LEACH和壓縮感知的無線傳感器網絡目標探測[J]. 北京郵電大學學報, 2011, 34(3): 8-11.TANG L, ZHOU Z, SHI L, et al. Source detection in wireless sensor network by LEACH and compressive sensing[J]. Journal of Beijing University of Posts and Telecommunications, 2011, 34(3): 8-11. [4] 許力. 無線傳感器網絡的安全和優化[M]. 北京:電子工業出版社,2010.XU L. The Security and Optimization of Wireless Sensor Network[M].Beijing: Publishing House of Electronics Industry, 2010. [5] 馮健勝.基于LEACH和WMC的無線傳感器網絡路由協議的研究與優化[D]. 廣州:暨南大學, 2008.FENG J S. Researching and Optimizing of Routing Protocols in Wireless Sensor Network Based on LEACH and WMC[D]. Guangzhou:Jinan University, 2008. [6] HEINZELMAN W R, CHANDRAKASAN A, BALAKRISHNAN H.Energy-efficient communication protocol for wireless microsensor networks[A]. Proceedings of the 33rd Hawaii International Conference on System Sciences[C]. Hawaii, USA, 2000. 1-10. [7] 郭書城, 盧昱, 許定根. 基于分簇無線傳感器網絡的路由算法研究[J]. 通信學報, 2010, 8A(31): 63-69.GUO S C, LU Y, XU D G. Research on a routing algorithm for clustered wireless sensor networks[J]. Journal on Communications, 2010,8A(31): 63-69. [8] JI S H, XUE Y, CARIN L. Bayesian compressive sensing[J].IEEE Trans on Signal Processing,2008,56(6): 2346-2356. [9] TIPPING M E. Sparse Bayesian learning and the relevance vector machine[J]. Journal of Machine Learning Research, 2001, (1): 211-244. [10] TIPPING M E, FAUL A. Fast marginal likelihood maximisation for sparse Bayesian models[A]. Proceedings of the Ninth International Workshop Artificial Intelligence and Statistics[C]. 2003.1-8. [11] JOHNSEN K, ROGERS A, JENNINGS N R. Decentralized control of adaptive sampling in wireless sensor networks[J]. ACM Transactions on Sensor Networks, 2009, 5(3): 19-52.



6 結束語