《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 無線傳感網(wǎng)中的一種能量均衡算法的研究
無線傳感網(wǎng)中的一種能量均衡算法的研究
2017年微型機(jī)與應(yīng)用第7期
傅彬
紹興職業(yè)技術(shù)學(xué)院,浙江 紹興 312000
摘要: 如何能夠降低無線傳感網(wǎng)中的節(jié)點(diǎn)能量消耗一直都是研究的熱門。針對基本Leach路由算法存在節(jié)點(diǎn)能量消耗大、負(fù)載不均衡的缺點(diǎn),文章一方面在Leach算法的簇頭選擇中首先進(jìn)行最優(yōu)解計算,其次通過遺傳算法的染色體編碼概念對簇內(nèi)其他節(jié)點(diǎn)能量排序進(jìn)行優(yōu)化,得到最優(yōu)簇頭;另一方面在簇間路由中進(jìn)行最優(yōu)跳數(shù)的確定,引入轉(zhuǎn)發(fā)概率函數(shù)和最優(yōu)中間點(diǎn)的選擇提高路由效率。在仿真實驗中,與基本Leach算法相比,改進(jìn)算法在節(jié)點(diǎn)死亡時間、數(shù)據(jù)包接收和能量消耗方面都具有明顯的改善。
關(guān)鍵詞: 無線傳感 LEACH 簇頭 簇間
Abstract:
Key words :

  傅彬

  (紹興職業(yè)技術(shù)學(xué)院,浙江 紹興 312000)

        摘要:如何能夠降低無線傳感網(wǎng)中的節(jié)點(diǎn)能量消耗一直都是研究的熱門。針對基本Leach路由算法存在節(jié)點(diǎn)能量消耗大、負(fù)載不均衡的缺點(diǎn),文章一方面在Leach算法的簇頭選擇中首先進(jìn)行最優(yōu)解計算,其次通過遺傳算法的染色體編碼概念對簇內(nèi)其他節(jié)點(diǎn)能量排序進(jìn)行優(yōu)化,得到最優(yōu)簇頭;另一方面在簇間路由中進(jìn)行最優(yōu)跳數(shù)的確定,引入轉(zhuǎn)發(fā)概率函數(shù)和最優(yōu)中間點(diǎn)的選擇提高路由效率。在仿真實驗中,與基本Leach算法相比,改進(jìn)算法在節(jié)點(diǎn)死亡時間、數(shù)據(jù)包接收和能量消耗方面都具有明顯的改善。

  關(guān)鍵詞:無線傳感;Leach;簇頭;簇間

  中圖分類號:TP393文獻(xiàn)標(biāo)識碼:ADOI: 10.19358/j.issn.1674-7720.2017.07.021

  引用格式:傅彬.無線傳感網(wǎng)中的一種能量均衡算法的研究[J].微型機(jī)與應(yīng)用,2017,36(7):70-73,77.

0引言

  如何能夠降低無線傳感網(wǎng)中的能量消耗一直都是研究的熱門方向,這主要是因為無線傳感網(wǎng)的數(shù)據(jù)之間傳輸逐漸增多,能量消耗也在不斷增大。文獻(xiàn)[1]提出一種兼顧節(jié)點(diǎn)密度的能耗均衡分簇算法,仿真實驗表明該算法能夠有效地降低節(jié)點(diǎn)消耗的能量;文獻(xiàn)[2]挑選出最小跳數(shù)和能量高的路徑傳輸,可以有效地降低網(wǎng)絡(luò)的能量消耗,避免節(jié)點(diǎn)的負(fù)載過大;文獻(xiàn)[3]利用節(jié)點(diǎn)自身的剩余能量和周圍鄰居節(jié)點(diǎn)的平均剩余能量計算簇頭報文發(fā)送的標(biāo)志,進(jìn)一步降低了無效節(jié)點(diǎn)的能量消耗;文獻(xiàn)[4]提出了一種能量潛能機(jī)會路由算法,取得了比較好的效果;文獻(xiàn)[5]提出一種基于能量均衡的WSN路由算法,該算法采用回退機(jī)制實現(xiàn)節(jié)點(diǎn)的自適應(yīng)調(diào)整,有效地保證節(jié)點(diǎn)以較高的幾率成為簇首,該算法能夠有效延長網(wǎng)絡(luò)壽命;文獻(xiàn)[6]提出將監(jiān)測區(qū)域看成以基站為中心的扇形區(qū)域,并將此劃分為多個弧形方塊并成為簇,采用單跳和多跳相結(jié)合來實現(xiàn)簇間通信;文獻(xiàn)[7]提出將區(qū)域劃分為4個大小相同的局部區(qū)域,然后選擇節(jié)點(diǎn)能量方差最小的局部區(qū)域作為路由選擇區(qū)域,采用概率機(jī)制選擇路徑傳輸節(jié)點(diǎn);文獻(xiàn)[8]提出一種能量負(fù)載均衡的多跳路由協(xié)議,采用遺傳模擬退火算法進(jìn)行分簇,并計算每個簇的聚類中心,在簇間路由階段,采用最短路徑進(jìn)行多跳路由選擇;文獻(xiàn)[9]提出采用布爾傳感模型確定覆蓋率與單位面積內(nèi)傳感器節(jié)點(diǎn)密度的函數(shù)關(guān)系,依靠Prim算法的貪心策略,有效地降低整個網(wǎng)絡(luò)中的能量消耗。

  本文在以上研究的基礎(chǔ)上,從改進(jìn)Leach算法作為解決能量負(fù)載不均衡入手,對算法的簇頭進(jìn)行最優(yōu)解計算,通過遺傳算法中的染色體概念對簇內(nèi)節(jié)點(diǎn)能量排序,同時引入轉(zhuǎn)發(fā)概率函數(shù)在最優(yōu)中間點(diǎn)中進(jìn)行選擇,提高了算法性能,并通過實驗說明了本文算法具有明顯的改善。

1路由算法與能量消耗關(guān)系簡述

  無線傳感網(wǎng)中的路由選擇是非常關(guān)鍵的,它主要負(fù)責(zé)將數(shù)據(jù)從源節(jié)點(diǎn)傳送到目的節(jié)點(diǎn)。由于其中節(jié)點(diǎn)的能量有限,因此能量均衡是路由算法需要考慮的問題。在無線傳感網(wǎng)中節(jié)點(diǎn)能量有限,路由算法在設(shè)計過程中需要將節(jié)點(diǎn)權(quán)重作為參考權(quán)重,使用過濾機(jī)制,去除大量冗余的數(shù)據(jù),將節(jié)點(diǎn)采集的數(shù)據(jù)進(jìn)行融合,減少不必要的能量消耗;同時應(yīng)該保持通信負(fù)載的網(wǎng)絡(luò)平衡,在設(shè)計路由算法時增加對路由選擇的隨機(jī)性,避免最優(yōu)路徑節(jié)點(diǎn)頻繁使用而位置較差的節(jié)點(diǎn)使用少而導(dǎo)致節(jié)點(diǎn)過早死亡。因此下一跳的節(jié)點(diǎn)剩余能量的選擇需要結(jié)合路由算法來進(jìn)行考慮。

  Leach協(xié)議是一種經(jīng)典的層次路由協(xié)議,其過程是循環(huán)更新簇。首先隨機(jī)選擇簇頭節(jié)點(diǎn)并進(jìn)行分簇,其他未加入簇的節(jié)點(diǎn)選擇通信代價最小的簇節(jié)點(diǎn)加入;其次是所有節(jié)點(diǎn)采集到的數(shù)據(jù)發(fā)給自己所在的簇節(jié)點(diǎn),簇節(jié)點(diǎn)將各個成員的節(jié)點(diǎn)進(jìn)行信息處理,通過數(shù)據(jù)融合將數(shù)據(jù)傳遞給基站,通過不斷地迭代,將簇節(jié)點(diǎn)的能量分?jǐn)偨o簇內(nèi)每一個節(jié)點(diǎn),降低能量消耗,但其自身存在簇節(jié)點(diǎn)選擇隨機(jī)性、負(fù)載不均衡性和未考慮簇節(jié)點(diǎn)與基站距離等缺點(diǎn)。

2基于改進(jìn)的能量均衡算法的研究

  針對Leach算法存在的不足,本文假設(shè)在以下前提下進(jìn)行研究:傳感器節(jié)點(diǎn)已經(jīng)知道自己的位置,節(jié)點(diǎn)之間的傳輸耗能相同。從簇頭選擇和簇間路由進(jìn)行改進(jìn)。

  2.1Leach簇頭選擇

  簇頭選擇在無線傳感網(wǎng)中的分簇算法中是非常重要的,它決定了整個網(wǎng)絡(luò)的性能。如果一個簇頭的位置不好或者能量不足就會導(dǎo)致整個網(wǎng)絡(luò)資源的消耗增加,并且還有可能使網(wǎng)絡(luò)性能下降,因此如何選擇簇頭成為解決問題的關(guān)鍵。遺傳算法是一種基于自然選擇的生物進(jìn)化算法,通過染色體編碼進(jìn)行優(yōu)化,從而找到最優(yōu)解。遺傳算法能夠自動地控制優(yōu)化的搜索方向,因此非常適合用于復(fù)雜度高的分簇方法。

  2.1.1最優(yōu)簇頭計算

  在無線傳感網(wǎng)中,假設(shè)有N個節(jié)點(diǎn)分布在m×m區(qū)域中,分配h個簇,因此每個簇內(nèi)平均有N/h個節(jié)點(diǎn),其中N/h-1為簇內(nèi)非簇頭節(jié)點(diǎn),設(shè)定網(wǎng)絡(luò)中的簇頭節(jié)點(diǎn)都是按照多跳傳輸方式進(jìn)行發(fā)送數(shù)據(jù),設(shè)定傳輸距離為D,簇頭的能量消耗包括簇內(nèi)成員的信息、數(shù)據(jù)融合和數(shù)據(jù)傳送三個部分的能量消耗。因此每個簇頭節(jié)點(diǎn)的能量消耗為:

  HKLFYXCL@280S{G13(VJ4ZA.png

  式中,k為數(shù)據(jù)包大小,EDA為數(shù)據(jù)融合消耗的能量,D是簇頭節(jié)點(diǎn)發(fā)送數(shù)據(jù)的距離。因此簇內(nèi)節(jié)點(diǎn)與簇頭之間通信的能耗為:

  Enon-CH=kEelect+kξfsd2toCH(2)

  其中,dtoCH為成員節(jié)點(diǎn)與簇頭之間的距離。設(shè)定該區(qū)域為圓形,簇頭位于簇中間位置,則得到:

  R%Q$%H8P(695KIKK{H7G7VT.png

  結(jié)合無線傳感網(wǎng)中網(wǎng)絡(luò)節(jié)點(diǎn)均勻分布的特點(diǎn),將式(2)和式(3)結(jié)合:

  (48]AXPS48NSSG~((]}7R1F.png

  因此,簇內(nèi)發(fā)送整個一幀數(shù)據(jù)的能量消耗為:

  JC9$LI1{_7{4LN8)%HK5F49.png

  在覆蓋區(qū)域中,簇內(nèi)發(fā)送一幀數(shù)據(jù)的的總能耗為:

  9)RRYQ3Z0HDK~(YC0VIWJ1V.png

  對式(6)求導(dǎo),取其極小值得到最優(yōu)簇頭數(shù)為:

  %[E}14~TKYQ{B8)YXA8NDUR.png

  2.1.2染色體編碼

  得到最優(yōu)簇頭數(shù)目之后,采用遺傳算法中的固定長度的染色體編碼,將最優(yōu)簇頭數(shù)目設(shè)定為染色體長度。編碼按照節(jié)點(diǎn)剩余能量標(biāo)準(zhǔn)來進(jìn)行衡量。在整個無線傳感網(wǎng)中,剩余能量采用如下方法來獲得:

  QO()4PIV_`FU{)97H15%@5B.png

  式中,Eave表示整個無線傳感網(wǎng)中的剩余平均能量,將節(jié)點(diǎn)剩余能量大于Eave的節(jié)點(diǎn)從1到M編號來代替染色體中的0,1編碼。

  2.2簇間路由選擇

  在無線傳感網(wǎng)中,當(dāng)簇形成之后,簇頭節(jié)點(diǎn)收到來自簇內(nèi)成員的數(shù)據(jù)之后,通過融合,向基站發(fā)送數(shù)據(jù)。當(dāng)遠(yuǎn)離基站時,簇頭節(jié)點(diǎn)就會消耗過多的能量,因此采用傳統(tǒng)的多跳方式顯然不是很好的解決辦法,本文將多跳與單跳方式相結(jié)合來降低簇頭與基站之間的信號消耗。

  2.2.1最優(yōu)跳數(shù)的確定

  在半徑為R的無線傳感區(qū)域內(nèi)分布了N個節(jié)點(diǎn),將節(jié)點(diǎn)與基站的距離劃分為n個區(qū)域,半徑為r1,r2,…rn。為了簡化計算,假設(shè)簇頭位于區(qū)域中間位置,每個區(qū)域的寬度為r,大致估算出r1區(qū)域簇頭半徑為r/2,依次類推rn區(qū)域簇頭的半徑為n+(r/2)。當(dāng)處于r1區(qū)域的簇頭節(jié)點(diǎn)向基站發(fā)送數(shù)據(jù)為k時,每個簇頭能量消耗為:

  GCWSRL)WNZOL]%_`49MQJ~K.png

  因此,總體耗能為:

  JQJEPUZRD9O~@Y09I]@}MC0.png

  式(11)中,當(dāng)簇頭與基站的距離小于d0時,使用單跳傳輸;否則,采用多跳傳輸。

  2.2.2轉(zhuǎn)發(fā)概率函數(shù)

  在基站點(diǎn)附近的多跳路由都具有節(jié)點(diǎn)能量消耗快的特點(diǎn),因此造成了靠近基站的節(jié)點(diǎn)能量容易過早消耗的現(xiàn)象,雖然本文之前描述了單跳和多跳傳輸?shù)倪x擇,但仍然存在這樣的問題。根據(jù)這種情況,本文設(shè)定一個轉(zhuǎn)發(fā)概率函數(shù)來使得簇間的路由在單跳和多跳中進(jìn)行選擇,盡可能地避免因為距離的問題而產(chǎn)生能耗不均勻的問題。轉(zhuǎn)發(fā)公式如下:

  Fb=rρ×Elast(12)

  式中,r為簇頭與基站之間的距離,Elast為簇頭內(nèi)的剩余能量,ρ為均衡系數(shù)。通過概率轉(zhuǎn)發(fā)函數(shù)可以選擇比較好的路由,均衡簇頭之間的能量消耗,有效延長簇頭壽命。

  2.2.3最優(yōu)中間節(jié)點(diǎn)選擇

  簇與簇之間的信息轉(zhuǎn)發(fā)都是通過中間節(jié)點(diǎn)傳輸?shù)竭_(dá)基站的,因此中間節(jié)點(diǎn)能量消耗也是無線傳感網(wǎng)中能耗的重要組成部分。假設(shè)中間節(jié)點(diǎn)1、中間節(jié)點(diǎn)2和基站從左到右依次排列,節(jié)點(diǎn)1發(fā)送數(shù)據(jù)到基站必須經(jīng)過節(jié)點(diǎn)2。節(jié)點(diǎn)1到節(jié)點(diǎn)2的距離為r1,節(jié)點(diǎn)2到基站的距離為r2,節(jié)點(diǎn)1到基站的距離為r,當(dāng)節(jié)點(diǎn)1向基站發(fā)送數(shù)據(jù)時,節(jié)點(diǎn)1到節(jié)點(diǎn)2,以及節(jié)點(diǎn)2到基站的能量消耗為:

  Enode1=kξfsr21+kEelect(13)

  Enode2=kξfsr22+kEelect(14)

  因此傳輸?shù)哪芰靠傁臑椋?/p>

  Etotal=kξfs(r21+r22)+2kEelect(15)

  節(jié)點(diǎn)1到基站之間的能量消耗表達(dá)如下:

  Etotal=kξfs((r-r2)2+r22)+2kEelect(16)

  通過式(16)得到r2=r/2時,Etotal達(dá)到最小,根據(jù)這個原理,無線傳感網(wǎng)中的簇頭節(jié)點(diǎn)到基站的距離為d時,最優(yōu)的跳數(shù)為dd0,因此轉(zhuǎn)發(fā)距離為:

  0TWP3DY4HE_R{E6P0EKF8YT.png

  綜上所述,當(dāng)簇頭節(jié)點(diǎn)的坐標(biāo)為(x,y)時,最優(yōu)下一步的中間點(diǎn)的坐標(biāo)為(xopt,yopt),且:

  F(3@U$L(ZTR}[T55%[N)O}T.png

3仿真實驗

  3.1仿真環(huán)境

  為了進(jìn)一步說明本文算法在降低能量消耗方面的作用,模擬真實環(huán)境,節(jié)點(diǎn)數(shù)量為1 000個,分布在100 m×100 m的區(qū)域中,基站處于區(qū)域的中心位置(50 m,50 m),節(jié)點(diǎn)之間的最大通信距離為85 m,能量比較高的節(jié)點(diǎn)占據(jù)總節(jié)點(diǎn)數(shù)量的10% ,傳輸能耗ξfs為1×10-11J。 硬件系統(tǒng)CPU采用酷睿i3,內(nèi)存為4 GB,硬盤容易為500 GB。軟件采用Windows 7,仿真環(huán)境為MATLAB2010。

  3.2仿真結(jié)果分析

  3.2.1節(jié)點(diǎn)死亡時間

  圖1表示了仿真環(huán)境下的節(jié)點(diǎn)有效生存時間。從圖中可以發(fā)現(xiàn)基本Leach算法的第一個節(jié)點(diǎn)死亡時間比本文算法的節(jié)點(diǎn)死亡時間早,這說明基本Leach算法的網(wǎng)絡(luò)效率開始下降,當(dāng)經(jīng)過一段時間之后,Leach算法仍然有一部分節(jié)點(diǎn)存活時間長,這說明Leach算法負(fù)載不均衡導(dǎo)致了節(jié)點(diǎn)的使用效率低。本文算法的第一個節(jié)點(diǎn)死亡時間要晚于基本Leach算法,這是因為本文算法在簇頭節(jié)點(diǎn)的選擇上使用了單跳與多跳相結(jié)合的方式來降低網(wǎng)絡(luò)整體的能量消耗。 在整個網(wǎng)絡(luò)中,本文算法比基本Leach算法具有更好的曲線傾斜度,這說明整個無線傳感網(wǎng)的節(jié)點(diǎn)死亡時間更加集中,具有更好的負(fù)載性。

001.jpg

  3.2.2數(shù)據(jù)包接收

 

002.jpg

  圖2表示了基站接收數(shù)據(jù)包的數(shù)據(jù)量與時間的關(guān)系。在算法運(yùn)行初期,本文算法與基本Leach算法數(shù)據(jù)包是一致的,經(jīng)過一段時間后,Leach算法接收的數(shù)據(jù)包有所下降,主要是因為Leach算法中存在的負(fù)載不均衡問題容易導(dǎo)致部分節(jié)點(diǎn)能耗過大而失效。而本文算法采用單跳與多跳相結(jié)合的方式使得負(fù)載均衡,無線傳感網(wǎng)絡(luò)的生命周期有所增長,數(shù)據(jù)包接收數(shù)量較基本Leach算法多。

  3.2.3能量消耗

003.jpg

  圖3為能量消耗與時間的關(guān)系,與基本的Leach算法相比,本文算法的總體能量消耗趨于平穩(wěn),這是因為在算法初期,本文算法采用了多跳路由算法與基站進(jìn)行通信,一定程度上降低了節(jié)點(diǎn)的能耗,經(jīng)過一段時間之后,由于圖3能量消耗與輪數(shù)的關(guān)系

  大部分節(jié)點(diǎn)已經(jīng)失效,本文算法的覆蓋面積要大于基本Leach算法,因此能耗比較大。從整個過程來看,本文算法的網(wǎng)絡(luò)一直保持比較穩(wěn)定的能量消耗速度,說明本文算法具有很好的穩(wěn)定性,這主要是由于簇頭節(jié)點(diǎn)選擇和簇間路由方面都考慮了節(jié)點(diǎn)負(fù)載的均衡性,達(dá)到了在無線傳感網(wǎng)中的能量均衡目的。

4結(jié)束語

  針對無線傳感網(wǎng)中的能量消耗問題,本文在Leach算法的基礎(chǔ)上,對其進(jìn)行改進(jìn),提高了算法的有效性能,降低了能耗。仿真實驗表明,通過與基本Leach算法在節(jié)點(diǎn)死亡時間、數(shù)據(jù)包接收和能量消耗方面進(jìn)行對比,本文方法都具有明顯的改善。

  參考文獻(xiàn)

 ?。?] 曹立志,陳瑩.基于學(xué)習(xí)自動機(jī)的無線傳感網(wǎng)能量均衡分簇算法[J].傳感技術(shù)學(xué)報,2013,26(11):1590-1596.

  [2] 樊志平,謝冬青,金政哲.無線傳感網(wǎng)絡(luò)能量有效負(fù)載均衡的多路徑路由策略[J].小型微型計算機(jī)系統(tǒng),2013,34(2):253-257.

  [3] 陳志.一種能量感知的無線傳感網(wǎng)拓?fù)淇刂扑惴ǎ跩].傳感技術(shù)學(xué)報,2013,26(3):382-387.

  [4] 田賢忠,肖赟.一種能量捕獲無線傳感網(wǎng)絡(luò)機(jī)會路由算法[J].計算機(jī)科學(xué),2016,41(s1):288-290.

 ?。?] 李運(yùn)濤,朱敏,劉昊霖,等.基于能量均衡的無線傳感網(wǎng)絡(luò)路由算法[J].四川大學(xué)學(xué)報(自然科學(xué)版),2012,49(1):69-74.

  [6] 張偉龍,郭成芳.基于能量均衡的無線傳感器網(wǎng)絡(luò)路由算法[J].激光雜志,2014,35(12):96-98.

  [7] 吳三斌,柳強(qiáng),李成博.基于能量均衡的無線傳感器網(wǎng)絡(luò)路由算法[J].計算機(jī)應(yīng)用研究,2012,29(4):1465-1469.

  [8] 張世偉,張海濤,張士杰.基于固定分簇和能量均衡的無線傳感器網(wǎng)絡(luò)多跳路由算法[J].傳感器與微系統(tǒng),2013,32(8):117-120.

  [9] 鄔學(xué)軍.基于能量控制的無線傳感網(wǎng)絡(luò)最優(yōu)化算法研究[J].傳感技術(shù)學(xué)報,2011,24(3):436-439.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。