摘 要:在核輻射監(jiān)測傳感器網(wǎng)絡中,傳感器監(jiān)測節(jié)點要進行信息監(jiān)測、數(shù)據(jù)傳輸與聚合等任務,減小能耗從而延長其生命周期成為其關鍵問題。本文在LEACH算法的基礎上提出ECLEACH改進算法,算法考慮了傳感器節(jié)點剩余能量、節(jié)點傳輸距離等因素,使得簇頭節(jié)點的分布更加均勻,仿真結果表明,與LEACH算法相比較,ECLEACH算法使整個網(wǎng)絡的能耗更加均衡,有效地延長了網(wǎng)絡的生命周期。
關鍵詞:數(shù)據(jù)聚合;核輻射監(jiān)測;LEACH;剩余能量
中圖分類號:TN929.5;TP274
基于WSN的核輻射監(jiān)測系統(tǒng)將核輻射探測器裝置與傳感器節(jié)點作為一個監(jiān)測設備,探測器裝置負責采集數(shù)據(jù)信息,傳感器節(jié)點通過單跳方式或者多跳方式把數(shù)據(jù)送到匯聚節(jié)點,匯聚節(jié)點將整個區(qū)域內(nèi)的數(shù)據(jù)傳送到用戶。該系統(tǒng)存在大范圍、多點位和實時監(jiān)測等特點,由于網(wǎng)絡覆蓋區(qū)域內(nèi)節(jié)點不能更換電池,如何減低能耗以避免因能源耗盡而使監(jiān)測節(jié)點或網(wǎng)絡失效成為一個關鍵問題。數(shù)據(jù)融合技術是解決資源限制的有效方法,其思想是融合來自不同數(shù)據(jù)源的信息,去除冗余信息,減小傳輸數(shù)據(jù)量,從而達到節(jié)省能耗、延長網(wǎng)絡生命周期、提高數(shù)據(jù)收集效率和準確度的目的,成為近年來的研究熱點之一。
1 相關工作
在層次型網(wǎng)絡結構中,基于簇的數(shù)據(jù)融合方法得到了廣泛的關注。它將整個網(wǎng)絡組織成若干個簇區(qū)域,傳感器節(jié)點監(jiān)測到數(shù)據(jù)后將數(shù)據(jù)直接發(fā)送到它所在簇的簇頭節(jié)點,簇頭節(jié)點對簇內(nèi)數(shù)據(jù)進行融合處理后轉發(fā)給基站節(jié)點。LEACH(low energy adaptive clustering hierarchy)是一種經(jīng)典的基于簇的數(shù)據(jù)收集協(xié)議。它的執(zhí)行過程是周期性的,每輪循環(huán)分為簇的建立階段與穩(wěn)定的數(shù)據(jù)通信階段。在簇的建立階段,相鄰節(jié)點動態(tài)地形成簇,為了將能量負載均勻地分配到各節(jié)點上,在每一輪中對簇頭進行輪換,隨機產(chǎn)生簇頭;在數(shù)據(jù)通信階段,簇頭將聚合其收到的各成員節(jié)點的采集信息,并將聚合信息直接傳輸?shù)交尽S捎诿總€節(jié)點能等概率地擔任簇頭節(jié)點,均衡了網(wǎng)絡整體能耗,且減少了與基站直接通信的節(jié)點數(shù)量以及通信量,LEACH協(xié)議可以有效地延長網(wǎng)絡生命周期。但是,LEACH算法也存在很多不足,如沒有考慮剩余能量、簇頭分布不均勻、簇頭數(shù)量不穩(wěn)定等。
2 算法改進
2.1 能量模型
本文假設所有節(jié)點隨機部署在監(jiān)測區(qū)域,節(jié)點和基站的位置固定,基站節(jié)點具有無限的能源供應,其它的傳感器節(jié)點具有相等的初始能量值;所有節(jié)點都知道自己的位置信息,并且可以感知剩余能量。網(wǎng)絡節(jié)點計算和通信能量模型采用一階順序通信模型。
Etx(k,d)=Eelec×k+εamp×k×d2 (1)
Erx(k)=Eelec×k (2)
Etx(k,d)為發(fā)送k位數(shù)據(jù)時所消耗的能量,Erx(k)為接收k位數(shù)據(jù)時所消耗的能量,k為收發(fā)數(shù)據(jù)的倍數(shù),d為數(shù)據(jù)傳輸距離,Eelec為收發(fā)電路收發(fā)一位數(shù)據(jù)耗散的能量,在本文中,假定傳輸距離d少于距離門限值,故采用自由空間功率損耗模型,εamp為自由空間功率損耗模型信號放大器的放大倍數(shù)。則從源節(jié)點i經(jīng)過距離k發(fā)送k位數(shù)據(jù)到目的節(jié)點j所消耗的能量Ei,j(k,d)為:
Ei,j(k,d)=Etx(k,d)+Erx(k)=k×(2×Eelec+εamp×d2) (3)
2.2 算法改進與描述
在基于簇的數(shù)據(jù)融合方法中,簇頭節(jié)點擔任著數(shù)據(jù)聚合(如求和、求均值、取最大或最小值),與簇內(nèi)傳感器節(jié)點及基站進行數(shù)據(jù)傳輸?shù)热蝿眨芰肯暮芸?,如何減少簇頭節(jié)點的能量消耗及在網(wǎng)內(nèi)各節(jié)點間均衡消耗能量成為一個關鍵問題。數(shù)據(jù)聚合任務消耗能量與簇頭節(jié)點的拓撲結構無關,因此,簇頭節(jié)點消耗的能量與簇頭節(jié)點到簇內(nèi)傳感器節(jié)點的距離及到基站節(jié)點的距離密切相關。
由于LEACH的簇首選舉過程中沒有充分考慮剩余能量和距離因素,選擇簇首具有隨機性,導致簇頭節(jié)點分布不均勻,進而擴大了各簇頭節(jié)點消耗能量的差距。我們提出一個ECLEACH算法,由于基站擁有無限的資源,如功率供應、存儲和計算等,ECLEACH采用集中式的簇頭節(jié)點選擇辦法,基站負責簇頭節(jié)點的選擇。我們定義各候選簇頭節(jié)點的閾值T(n)如下:
T(n)= (4)
其中,RE(n)為傳感器節(jié)點n的剩余能量,m為網(wǎng)絡中傳感器節(jié)點個數(shù),D(i,n)為節(jié)點i與節(jié)點n間的距離,當i=n時D(i,n)取值0,RE(i)為傳感器節(jié)點i的剩余能量。由式(4)可以看出,閾值T(n)與兩個因素有關:1)與候選簇頭節(jié)點n自身的剩余能量成正比,剩余能量多的候選簇頭節(jié)點能以更高的概率當選簇頭節(jié)點;2)與網(wǎng)絡中其它節(jié)點到候選簇頭節(jié)點的距離跟它們的剩余能量的除數(shù)之和成反比,距離低剩余能量值傳感器節(jié)點比較近的候選簇頭節(jié)點能優(yōu)先當選簇頭節(jié)點,低剩余能量值傳感器節(jié)點因距離簇頭節(jié)點較近從而減少了它們的能量消耗,延長它們的生存周期。簇頭節(jié)點的選擇算法如下:
Step1 在每一輪的開始為網(wǎng)絡中每一個傳感器節(jié)點計算閾值T(n),并遞減排序;
Step2 選擇所有傳感器節(jié)點中閾值最高的節(jié)點作為當前簇頭節(jié)點,并將該節(jié)點加入簇頭節(jié)點集合;
Step3 比較當前簇頭節(jié)點與它的下一個節(jié)點的距離,如果距離大于或等于MDBECHAN(兩相鄰簇頭節(jié)點最小距離),則將該節(jié)點加入簇頭節(jié)點集合,并使之作為當前簇頭節(jié)點,如果距離小于MDBECHAN,則取它的下一個節(jié)點,重復Step3,本步驟一直進行到所有簇頭節(jié)點集合滿或者再也找不到滿足條件的節(jié)點為止;
Step4 如果簇頭節(jié)點集合未滿,則調整(減?。㎝DBECHAN的值,轉Step3,一直到簇頭節(jié)點集合滿;
Step5 基站廣播新一輪簇頭節(jié)點列表。
簇頭節(jié)點選擇算法偽代碼如下:
1 for n = 0 to NOSN-1 do //計算各傳感器節(jié)點閾值T(n);
2 Initialize Sum to 0;
3 for i = 0 to NOSN-1 do
4 Sum = Sum + DList (i,n)/RE(i )
5 end
6 TList (n) = RE(n)/Sum ;
7 end
8 Sort (Tlist); //對Tlist按T(n)減序進行排序;
9 NLSNSCH= NNlist (0) ;CHlist .add(NLSNSCH); //將T(n)值最大的節(jié)點加入簇頭節(jié)點集合;
10 n= 1;
11 do //查找滿足條件的其它傳感器節(jié)點并加入簇頭節(jié)點集合
12 if Tlist (n).isnotcluster and DList (NNlist (n), NLSNSCH) ≥ MDBECHAN then
13 CHlist .add(NNlist (n));
14 NLSNSCH = NNlist (n);
15 else
16 n=(n+1) mod NOSN;
17 end
18 until CHlist.isfull;
其中,NOSN:傳感器節(jié)點個數(shù);DList:傳感器節(jié)點間距離表;Tlist:傳感器節(jié)點閾值表;NNlist:Tlist中各傳感器節(jié)點閾值的節(jié)點編號表;CHlist:被選為簇頭節(jié)點的傳感器編號表;RE(i):傳感器節(jié)點SNi的剩余能量;Sort(Tlist):對Tlist按減序進行排序函數(shù);MDBECHAN:每相鄰簇頭節(jié)點間最小距離;NLSNSCH:最后選為簇頭節(jié)點編號。
3 仿真與結果分析
在本文中,我們用兩個指標來衡量改進算法ECLEACH與LEACH的性能:第一節(jié)點死亡時間和平均剩余能量。第一個指標需要最大化,因為每個傳感器節(jié)點覆蓋的一個重要組成部分,失去它意味著失去這塊區(qū)域的數(shù)據(jù)。而第二個指標需要最小化,平均剩余能量是所有傳感器剩余能量的總和除以傳感器節(jié)點的總數(shù)量,這個指標在第一個節(jié)點死亡時計算,如果這個度量小,意味著在所有的傳感器節(jié)點間有一個更好的平衡能源消費方式。
在本實驗中,所有傳感器節(jié)點隨機分布在100×100m2的區(qū)域內(nèi),基站節(jié)點位置固定在位置(0,0),傳感器節(jié)點最初的能量為5J,無線傳輸范圍為150米,傳感器節(jié)點傳送數(shù)據(jù)大小相等都為500字節(jié),廣播消息為100字節(jié),廣播消息包含當前簇頭節(jié)點信息。每輪的時間間隔為100分鐘,Eelec為50×10?9J,εamp為100×10?12J。
在實驗方案一中,傳感器節(jié)點的數(shù)量固定為100,而簇頭節(jié)點的數(shù)量介于5和40(5、10、20、30、40)之間,MDBECHAN設置為50米,不同簇頭節(jié)點數(shù)量對性能的影響如圖1所示。
圖1 不同簇頭節(jié)點數(shù)兩種協(xié)議第一節(jié)點死亡時間及平均剩余能量比較
從圖1可以看出,ECLEACH的性能比LEACH要好,這是兩個原因造成的。首先,ECLEACH不是隨機選擇簇頭節(jié)點,而是根據(jù)自身的剩余能量、其它節(jié)點的剩余能量及到其它節(jié)點的距離來決定的,其次,ECLEACH簇頭節(jié)點間有一個最小距離的約束,因此,簇頭節(jié)點的分布更加的均勻,每個傳感器節(jié)點都可以找到一個更近的簇頭,從而減少能源消耗,延長電池使用時間。
在實驗方案二中,簇頭節(jié)點的比例是固定的(為傳感器節(jié)點的10%),而傳感器節(jié)點的數(shù)量在50和400(50、100、200、300和400)之間變化。MDBECHAN設置為60米,傳感器節(jié)點的數(shù)量的變化對性能的影響如圖2所示。
圖2 不同傳感器節(jié)點數(shù)兩種協(xié)議第一節(jié)點死亡時間及平均剩余能量比較
從圖2可以看出,第一節(jié)點死亡時間和平均剩余能量這兩個指標都隨著傳感器節(jié)點規(guī)模的增大而變得更好。原因是在同一大小的網(wǎng)絡中傳感器節(jié)點數(shù)量的增加會導致簇頭節(jié)點數(shù)量的增加,從而導致節(jié)點間傳輸距離的縮短,因此減少了能源消耗。同理,ECLEACH的性能比LEACH要好。
4 結束語
在核輻射監(jiān)測傳感器網(wǎng)絡中,傳感器監(jiān)測節(jié)點要進行信息監(jiān)測、數(shù)據(jù)傳輸與聚合等任務,減小能耗從而延長其生命周期成為一個關鍵問題。本文在 LEACH 算法的基礎上提出ECLEACH改進算法,算法基于候選簇頭節(jié)點剩余能量、節(jié)點傳輸距離、其它節(jié)點剩余能量去選舉簇頭節(jié)點,兩簇頭節(jié)點間必須滿足最小距離的要求,以至于簇頭節(jié)點的分布更加均勻。仿真結果表明,ECLEACH算法在第一節(jié)點死亡時間及平均剩余能量兩個指標上優(yōu)于LEACH算法,整個網(wǎng)絡的能耗更加均衡,有效地延長了網(wǎng)絡的生命周期。使得基于無線傳感器網(wǎng)絡的核輻射監(jiān)測系統(tǒng)能夠高效、穩(wěn)定地實時監(jiān)測環(huán)境。
參考文獻:
[1]孫利民,李建中,陳渝.無線傳感器網(wǎng)絡[M].北京:清華大學出版社,2005.
[2]Heinzelman WR,Chandrakasan A, Balakrishnan H.Energy-Efficient communication protocol for wireless microsensor networks.In:Proc.of the Hawaii Int’l Conf.on System Sciences.San Francisco:IEEE Computer Society,2000:3005?3014.
[3]Gao,T,Jin,R.,Song,J,Xu,T, Wang,L.(2012).Energy-efficient cluster head selection scheme based on multiple criteria decision making for wireless sensor networks.Wireless Personal Communications,63(4):871-894.
[4]Zhu,Y,Wu,W.,Pan,J., Tang,Y.(2010).An energy-efficient data gathering algorithm to prolong lifetime of wireless sensor networks.Computer Communications,33(5):639-647.
作者簡介:李悛(1974-),男,湖南衡陽人,教師,碩士,研究方向:傳感器網(wǎng)絡。
作者單位:南華大學計算機科學與技術學院,湖南衡陽 421001;衡陽財經(jīng)工業(yè)職業(yè)技術學院,湖南衡陽 421001
基金項目:湖南省教育廳科學研究項目(No.11C1096)。