◆于俊勇 譚敏生 向 婷 江君祥
一種基于LEACH算法的無線傳感網(wǎng)絡(luò)節(jié)能研究與改進
◆于俊勇 譚敏生 向 婷 江君祥
(南華大學(xué)計算機科學(xué)與技術(shù)學(xué)院 湖南 421001)
無線傳感網(wǎng)絡(luò)的能耗問題是目前亟待解決的?;贚EACH協(xié)議的研究是最普遍的。但是這些研究大都主要幾種在節(jié)點的剩余能量,簇頭的個數(shù)研究,但是簇頭分布的均勻性和各個簇間的普通節(jié)點過量的冗余,卻很少顧及。本文首先通過平均能量分組的方法產(chǎn)生分組,再在每個組內(nèi)選擇合適的簇頭,然后讓簇內(nèi)的部分不同節(jié)點選擇行的進行休眠。這樣來減少普通節(jié)點的的能耗、減少簇頭的數(shù)據(jù)融合能耗,進而減少整個網(wǎng)絡(luò)的能耗。實驗證明,這種方法能夠很好的延長網(wǎng)絡(luò)的生存時間。
無線傳感網(wǎng)絡(luò);LEACH;簇頭選舉;能量消耗
無線傳感網(wǎng)絡(luò)(Wireless Sensor Networks,WSN)[1],[2]是部署在監(jiān)控區(qū)域內(nèi)大量的廉價的傳感器節(jié)點通過無線通信的的方式形成的多跳自組織網(wǎng)絡(luò)。傳感器的節(jié)點的體積小于1立方厘米[3],因此每個節(jié)點攜帶的能量是有限的。由于其在監(jiān)控區(qū)域數(shù)量多、分布廣,這樣為其能量的補充增加了難度。延長網(wǎng)絡(luò)的生存時間,成為了無線傳感網(wǎng)絡(luò)研究的重點。路由協(xié)議的研究是常見的,特別是分層路由協(xié)議。典型的是LEACH協(xié)議[4]。
在LEACH協(xié)議下,首先提到“輪”的概念。不再是通過泛洪進行數(shù)據(jù)的交換,答題包括簇頭的選舉和簇的建立以及穩(wěn)定階段數(shù)據(jù)采集、傳輸。
1.1 LEACH簇頭的選舉和簇的建立
首先要進行簇頭的選舉。該算法進行簇頭選擇的方法如下:在每輪開始時,節(jié)點隨機產(chǎn)生一個[0,1]的隨機數(shù),該隨機數(shù)和閥值T(n)進行比較,如果小于該閥值就成為該輪的簇頭,反之就準(zhǔn)備加入相應(yīng)的簇。
其中:P為節(jié)點成為簇頭節(jié)點的概率,r為當(dāng)前輪數(shù),G為在最近的1/p輪中未當(dāng)選簇頭的節(jié)點集合。簇頭節(jié)點選定以后,向周圍廣播自己成為簇頭的消息,節(jié)點根據(jù)接受到的信號的強度來決定要加入的簇。然后,簇頭節(jié)點采用TDMA的方式為簇內(nèi)的所有的成員分配傳送數(shù)據(jù)的時隙。這樣就完成了簇的建立。
在穩(wěn)定階段,傳感器節(jié)點在相應(yīng)的時隙將采集到的數(shù)據(jù)先發(fā)送到簇頭,簇頭對接收到數(shù)據(jù)進行分析、數(shù)據(jù)融合再將數(shù)據(jù)傳送到匯集節(jié)點,匯聚節(jié)點最后將數(shù)據(jù)傳送到監(jiān)控中心進行數(shù)據(jù)的處理。至此,一輪已經(jīng)完成,網(wǎng)絡(luò)重新進入下一輪的簇的重建,不斷循環(huán)。
1.2 LEACH算法的不足
LEACH算法選擇簇頭節(jié)點一定時不能均勻分布。向簇頭傳輸數(shù)據(jù)造成大量的信息冗余,并且簇頭的融合也要消耗能量[5]。針對以上不足,提出了一下改進:使簇頭的分布更加均勻;成簇的規(guī)模更加合理。
2.1 網(wǎng)絡(luò)模型
本文采用的傳感器網(wǎng)絡(luò)模型具有以下性質(zhì):
(1)所有的傳感器的節(jié)點在一個正方形區(qū)域中;
(2)基站是固定的、可維護的、并且有足夠的能量;
(3)所有的傳感器的節(jié)點的能量是有限的,每個節(jié)點都知道自身的位置信息;
(4)所有的傳感器的節(jié)點都具有功率控制能力,可以改變自己的發(fā)射功率;
(5)所有的傳感器的節(jié)點都具有相同的配置,都可以進行數(shù)據(jù)的融合,都可以根據(jù)一定的條件改變自己的發(fā)射功率。
2.2 能量消耗模型
本文采用如下無線通信能耗模型。節(jié)點發(fā)射l位的數(shù)據(jù)到距離為d的位置消耗的能量ETX(l,d)由發(fā)射電路的消耗和功率放大的損耗組成,功率放大的消耗則根據(jù)發(fā)送者和接收者的距離分別采用自由空間模型和多路徑衰減模型,即:
式中Eelec為發(fā)射每位數(shù)據(jù)電路的消耗能量。εfs、εamp分別是2種通信信道模型下功率放大所需要的能量。若傳輸距離d小于閥值d0(d0為常數(shù)),功率放大消耗采用自由空間模型,當(dāng)d大于閥值d0時,采用多路徑衰減模型。
與LEACH算法類似的,該算法也是周期性的。每輪循環(huán)包括簇的建立階段和穩(wěn)定的工作階段。
3.1 簇頭的選取
假設(shè)一個區(qū)域內(nèi)隨機分布n個傳感器節(jié)點,首先基站向該區(qū)域內(nèi)發(fā)送一個消息(ACTION),區(qū)域內(nèi)的節(jié)點收到這個消息以后,報告自己現(xiàn)在的能量Ei( i=1,2,...n)(剛開始時每個節(jié)點的能量完全相等),并且返回一個確認(rèn)的消息(DEAL),當(dāng)基站收到每個節(jié)點的確認(rèn)消息以后簇頭的選取流程開始?;居嬎愠鲈撦啈?yīng)該產(chǎn)生出的簇頭的個數(shù)K,基站根據(jù)接收到的每個節(jié)點的能量計算出每個簇的平均的能量Eavg=Etotal/k ,然后最后一個響應(yīng)的節(jié)點i成為第一個組頭,基站向該節(jié)點發(fā)送消息包括分組的編號H1、分組的個數(shù)K,能量閥值Eavg,該節(jié)點接收到消息以后就向周圍廣播成為組頭的消息,節(jié)點收到信號后假如該組。當(dāng)接收未分組的能量高于閥值時,該節(jié)點成為第二個組頭節(jié)點。同樣的上個組頭節(jié)點將向該節(jié)點發(fā)送消息包括分組的編號H2、分組的個數(shù)K,能量閥值Eavg,該組頭繼續(xù)按照上面的方式成組,如此循環(huán)知道形成k個組。
3.2 簇的形成
不再像以前的算法那樣每個簇中的普通節(jié)點都要進行數(shù)據(jù)的采集并且傳遞給簇頭節(jié)點。下面選擇出該論實際工作的m節(jié)點,首先在該簇內(nèi)選擇一個節(jié)點,與簇頭節(jié)點的距離在一定的閥值范圍內(nèi),然后偏移一定的角度再選擇一個節(jié)點,同樣滿足節(jié)點距離在一定的范圍內(nèi)。這樣本輪工作的m個節(jié)點就選擇出來了,簇內(nèi)的其他節(jié)點本輪關(guān)機。
4.1 數(shù)據(jù)源
本文采用MATLAB作為仿真工具。以隨機的方式在N*N的區(qū)域內(nèi)部署傳感器節(jié)點。試驗中的各個參數(shù)取值如下: