劉 宏,關業歡,呂孟偉
(江西理工大學 電氣工程與自動化學院,江西 贛州 341000)
無線傳感器網絡(Wireless Sensor Networks,WSN)是由無線通信方式形成的一個多跳自組織網絡,網絡通過實時監測和收集處理信息,可廣泛應用于軍事、智能交通、環境監測、醫療及生活等多個領域[1,2].由于傳感器節點能量限制,若沒有充分利用網絡資源,節點能量會消耗過快,導致縮短網絡生存時間.因此國內外眾多學者紛紛研究如何降低節點的能耗,路由協議做為節點降低耗能的重要手段已成為當今研究熱點.
路由協議按拓撲結構可分為平面路由協議和分簇路由協議[3].而分簇路由協議以其自適應性、節能性以及擴展性等優勢引起國內外學者廣泛關注:文獻[4]提出了基于能量感知的無線傳感器網絡路由協議,該協議在初始化階段將監測區域分成多個扇形區域,然后將每個扇形區域分層,形成大小不等的簇,在監測階段引入周期、異步工作/休眠機制,減少了連續發送同步信息的能量消耗,但在數據轉發的過程中只考慮能耗均衡性,選擇剩余能量最大的節點作為下一跳節點,會導致數據傳輸的總跳數增加,增加了通信能耗.文獻[5]提出一種基于分享式學習的多級分簇路由算法,該算法利用節點分享和收集所接收的網絡環境數據,在運行時協助簇首做出決策降低了網絡開銷,但在數據轉發過程中只考慮通信能耗,選擇最短路徑轉發數據,導致處在最短路徑上的節點能量消耗快,產生節點能量消耗不均衡的問題.文獻[6]提出基于非均勻分簇的無線傳感器網絡分層路由協議,該協議采用貪婪算法建立最小代價函數來建立簇間多跳路由,最小代價函數綜合考慮了簇間數據傳輸能耗和均衡性問題,但簇頭選舉沒有考慮節點的剩余能量、分布密度及地理位置等影響因素,致使簇頭分布不合理.文獻[7]提出改進協議LEACH-improve,該協議是對LEACH協議的改進,綜合考慮剩余能量、地理位置及附近節點密度等因素優化簇頭的選擇,且對各個因素進行加權處理,減緩了節點的能耗速度,但普通節點僅根據信號強度選擇入簇,存在簇頭能耗過大問題.文獻[8]提出雙簇頭的分簇路由協議,該協議中主簇頭負責收集融合簇內數據,副簇頭負責轉發數據,將簇頭的職責分配給兩個層次的簇頭來完成,可以降低簇頭的能耗,但是兩簇頭之間轉發消耗了額外的能量,且兩簇頭之間的協調增加了算法的復雜度.
綜上所述,從均衡傳感器網絡節點能量消耗出發,設計了自適應權重無線傳感器網絡分簇路由協議(Clustering routing protocol based on adaptive weight for Wireless Sensor Networks,CRPAW).CRPAW協議在選擇簇頭階段,選取待選節點剩余的能量、鄰居節點集合以及與匯聚節點的距離為簇頭待選指標,通過這些待選指標定義指標影響度,從而得到簇頭選舉函數選舉出簇頭;在入簇階段,綜合考慮節點及簇頭的剩余能量、簇內成員節點數以及節點與簇頭間距離等做為入簇指標,并對這些入簇指標設置權重系數,權重系數根據節點剩余能量自適應動態調整,由此建立節點入簇函數,節點根據入簇函數選擇相應的簇加入.最后簇頭之間采用多跳傳輸方式實現信息的傳輸.
假設的無線傳感器網絡有以下特性:
1)大量的傳感器節點和一個匯聚節點;
2)節點分布在監測區域內,具有唯一的ID;
3)所有節點固定并且能量一定;
4)所有節點具有相同的采集、處理、通信功能,且地位相等;
5)節點之間通過接收信號的強度來估算距離;
6)下一跳節點限定在向前區域內;
7)節點可以根據發送距離的遠近調整自身的發射功率.
無線傳感器網絡的能量消耗主要包括三部分:感知能耗、計算能耗和通信能耗[9].感知能耗和計算能耗比通信能耗低得多,所以協議僅考慮通信能耗.根據發送節點和接收節點的通信距離設定了自由空間模型和多路徑衰減模型[10].節點發送k比特數據所消耗能量如式(1)所示:
(1)
式中,Eelec為發射電路損耗的能量;εfs和εmp分別為自由空間模型和多路徑衰減模型中的功率放大能量損耗,d為節點間距離.
節點接收k比特數據消耗的能量如式(2)所示:
ERX(k)=kEelec
(2)
3.1.1 簇頭競爭半徑
設節點si為待選簇頭,則根據式(3)計算其競爭半徑Ri[11]:
(3)
式中,dmax和dmin分別為簇內節點到匯聚節點的最大值和最小值;di,Sink為待選簇頭si到匯聚節點的距離;Rmax為待選簇頭競爭半徑的最大值;c為簇半徑取值范圍的控制參數,取值[0,1]之間.
3.1.2 簇頭選舉指標
簇頭除了要完成本簇數據的收集、處理和發送外,還要收發其他簇的數據,故簇頭的能耗要大于普通成員節點的能耗.為了均衡節點的能耗,簇頭應在各節點中輪選,選舉簇頭指標如下.
1)待選簇頭si剩余能量Ei.節點剩余能量是當選簇頭的重要指標,剩余能量越多的節點當選為簇頭優勢越大,待選簇頭si剩余能量Ei計算如式(4)所示:
(4)
式中,E0為節點初始能量;n為當前輪數.
2)待選簇頭si的鄰居節點集合Ni.鄰居節點集合越大,簇建立時信息傳輸可選路徑就越多,平均消耗能量也就越少,計算待選簇頭si的鄰居節點集合Ni如式(5)所示:
Ni={sj|di,j≤Ri,si≠sj}
(5)
式中,di,j為節點si與sj之間的距離;Ri為si節點的競爭半徑.
3)待選簇頭si與匯聚節點的距離Di.簇頭的負載能耗較大,簇頭與匯聚節點之間的傳輸是簇頭耗能的重要因素之一,CRPAW協議采用接收信號強度(RSSI)測量待選簇頭與匯聚節點的距離[12],RSSI測距模型如式(6)所示:
(6)
式中,RSSI(d)和RSSI(d0)分別為接收端和發射端之間距離為d和d0接收到的RSSI強度值;n是路徑損耗指數;Xσ是零均值的高斯隨機變量.
根據上述三個指標對簇頭選舉的影響度大小,設定相應的值,如表1所示,待選簇頭剩余能量Ei是影響度最高的指標,可分成高、中、低、很低四個級別,用111、011、001、000等三位二進制數表示,其值分別為7、3、1、0;待選節點si鄰居節點集合Ni是影響度次之的指標,分成高、中、低三個級別,用11、01、00等兩位二進制數表示;待選節點si與匯聚節點的距離Di是影響度最低的指標,分成高、低兩級別,用1、0一位二進制數表示.
表1 簇頭選舉指標
Table 1 Cluster head election indicators

選舉指標 影響度位數級別二進制值節點剩余能量Ei大3很低0000低0011中0113高1117鄰居節點集合Ni中2低000中011高113與匯聚節點的距離Di小1低00高11
根據簇頭選舉指標及其影響度,定義簇頭選舉函數f(si)如式(7)所示,計算待選簇頭函數值,選取值最大的擔任簇頭:
(7)
簇頭選擇的步驟流程如圖1所示.

圖1 簇頭選舉流程圖Fig.1 Cluster head election flow chart
簇頭選舉成功后,通常其余節點根據就近的原則選擇最近的簇頭入簇[13,14].但這一方法會使部分簇內節點數較多,而有的簇內節點數又較少,甚至出現“熱區”問題,造成網絡能耗不均衡.為了合理地利用有限的節點能量,CRPAW協議綜合考慮節點入簇條件,除考慮節點與簇頭的距離,還結合節點與簇頭的剩余能量、簇內節點總數等因素,決定該節點加入哪一個簇.
在網絡運行初期,由于節點剩余能量充足,CRPAW協議入簇指標主要考慮簇內節點數,而隨著運行輪數的增加,節點剩余能量逐漸減少,入簇指標逐漸加大節點剩余能量的權重.因此根據節點剩余能量在網絡運行過程中的變化,自適應地設定權重比例,權重系數可定義如式(8)所示:
(8)
式中,Ej為簇頭sj的剩余能量,E0為節點初始能量.權重系數αj與簇頭剩余能量比關系如圖2所示.

圖2 權重系數αj與簇頭剩余能量比關系圖Fig.2 Relationship between weight coefficient αj and residual energy ratio of cluster head
CRPAW協議中節點與簇頭關系函數的建立參考庫侖定律,庫侖定律指出兩個靜止點電荷之間的作用力,跟兩個點電荷的電量的乘積成正比,跟兩個點電荷之間的距離的平方成反比[15],如式(9)所示:
(9)
式中q1和q2分別為兩個電荷的電量,r為兩電荷之間的距離;K是靜電力常量.
在此定義節點與簇頭之間關系函數如式(10)所示:
(10)
式中,Ei為普通節點si的剩余能量,Ej為簇頭sj的剩余能量,E0為節點初始能量;N0為網絡中傳感器節點數,Nj為簇頭sj的成員節點數;di,j為普通節點si到簇頭節點sj的距離,dmax為節點最大通信距離.
CRPAW協議中當簇頭到匯聚節點的距離小于等于閾值距離d0時,簇頭直接將數據發送至匯聚節點;當簇頭到匯聚節點的距離大于閾值距離d0時,簇頭從鄰居簇頭中選擇中轉節點,以多跳傳輸方式傳輸數據.
假設簇頭si將數據傳輸到簇頭sj后中轉再傳送到匯聚節點,那么該路徑傳輸節簇頭通信總能耗可用式(11)表示:
ETX(k,d(i,Sink))=
ETX(k,d(i,j))+ETX(k,d(j,Sink))
(11)
式中,ETX(k,d(i,j))為簇頭si傳輸k比特數據到簇頭sj消耗的能量,ETX(k,d(j,Sink))為簇頭sj傳輸k比特數據到匯聚節點消耗的能量.數據傳輸根據式(11)可選出最小能耗的路徑,為了達到均衡能量的目的,避免剩余能量小的簇頭選作轉發節點,CRPAW協議綜合考慮通信能耗和簇頭剩余能量,建立通信消耗函數來選擇中繼節點,如式(12)所示:
(12)
根據式(12)比較并選擇最小通信消耗值的簇頭作為中繼節點.通信能耗越大,簇頭的剩余能量越小,該簇頭被選為中繼節點的可能性就越小.
完成了簇的生成和簇間通信路徑選擇,CRPAW協議進入穩定傳輸階段,簇頭建立TDMA調度,簇內成員把采集到的原始數據向各自的簇頭發送,簇頭將收到的數據進行融合,并轉發給下一跳節點,最后到達匯聚節點.每經過一段時間,無線傳感器網絡釋放所有簇結構,重新組建新的簇結構和選擇不同的簇間通信線路.
路由協議總體流程圖如圖3所示.
實驗采用MATLAB仿真,參數設置如表2所示.將CR-PAW協議與EBMC[5]協議和LEACH-improve[7]協議進行比較,從節點的存活個數、節點剩余能量和節點剩余能量方差及簇頭能耗等四方面性能分析評估.
表2 參數設置
Table 2 Parameter settings

參數 值 參數值檢測區域m×m100×100εfs/(pJ/bit/m2)10總節點數100εmp/(pJ/bit/m4)0.0013節點初始能量/J0.5EDA/(nJ/bit)5數據包大小bits5000Eelec/(nJ/bit)50Sink位置(150,50)c0.3

圖3 路由協議總流程圖Fig.3 General flow chart of routing protocols
仿真三種協議節點存活數,結果如圖4所示,由仿真結果可看出EBMC協議在355輪就開始出現節點死亡,在865輪時全部節點死亡;LEACH-improve協議在593輪出現死亡節點,到1140輪時節點全部死亡;而CRPAW協議出現死亡節點最晚,在811輪時才開始出現節點死亡,比EBMC提高了128.5%,比LEACH-improve提高了36.8%,CRPAW協議直到1248輪時節點才全部死亡,比EBMC提高了44.3%,比LEACH-improve提高了9.5%;由此得出CRPAW協議較好延長了網絡生存時間.

圖4 節點存活數比較仿真圖Fig.4 Simulation diagram of node survival number comparison
仿真三種協議剩余能量變化的結果如圖5所示,由仿真結果可看出:三種協議中EBMC協議節點剩余能量下降斜率最陡,能量消耗最快,到865輪時節點能量全部消耗完畢;LEACH-improve協議節點剩余能量下降斜率次之,到1140輪時節點能量全部消耗完畢;而CRPAW協議節點剩余能量下降斜率較平緩,能量消耗最慢,直到1248輪才全部消耗完節點能量.因為CRPAW協議綜合考慮節點剩余能量、密度和地理位置等多個因素,合理選擇簇頭,減少了簇內節點通信消耗的能量,并且采用自適應調節權重系數的策略有效的降低網絡節點能耗.相比EBMC協議提高了44.3%,相比LEACH-improve協議提高了9.5%.

圖5 節點剩余能量比較仿真圖Fig.5 Simulation diagram of node residual energy comparison
仿真協議節點剩余能量方差如圖6所示,由仿真結果可看出EBMC協議的剩余能量方差波幅最大,在407輪時達到最大值1.41×10-3,因為EBMC協議在建立多跳路由時僅考慮能耗最小化,忽略了能耗的均衡性;LEACH-improve協議的剩余能量方差波幅次之,在586輪時達到最大值0.91×10-3, LEACH-improve協議中普通節點以自身能耗最小為標準選擇入簇,造成簇規模分布不合理,簇頭能耗不均衡;而CRPAW協議的剩余能量方差波幅最平緩,CRPAW協議采用虛擬力成簇的方法較好地均衡了節點能量消耗,在850輪方差達到最大時只有0.52×10-3,比EBMC協議降低了171.2%,比LEACH-improve協議降低了75%.

圖6 節點剩余能量方差比較仿真圖Fig.6 Simulation diagram of variance comparison of node residual energy
仿真這三種協議簇頭能耗,實驗隨機抽取10輪數據,結果如圖7所示:在這10輪簇頭能量消耗中,EBMC協議平均每輪消耗0.0297J;LEACH-improve協議平均每輪消耗0.0207J;而CRPAW協議平均每輪只消耗0.0104J,且能耗波動較小,相比EBMC協議降低了185.6%,相比LEACH-improve協議降低了99%.因為CRPAW協議中簇頭選擇考慮較全面,簇頭分布合理,簇頭節點數穩定,另外,簇頭采用多跳傳輸方式時,不僅考慮簇頭的剩余能量,還考慮了路由通信能耗問題,使得網絡中每輪簇頭能耗低且波動小.

圖7 簇頭能耗比較仿真圖Fig.7 Simulation diagram of cluster head energy consumption comparison
基于自適應權重的無線傳感器網絡分簇路由協議(CRPAW)以降低和均衡節點的能量消耗為目標,改進了簇頭選舉和普通節點入簇策略.在簇頭選舉階段綜合考慮節點剩余能量、分布密度、地理位置等因素,提高了簇頭選舉的質量;針對網絡的“熱區”問題,協議在節點入簇階段對入簇指標采用自適應權重優化;最后簇頭將簇內的數據融合后以多跳方式傳輸到匯聚節點.仿真結果分析表明:CRPAW協議較好地均衡了網絡節點的能量損耗,有效地延長了網絡生存時間.