莫崢嶸,陳子原,齊天一
(中國人民解放軍海軍工程大學 電子工程學院 二大隊5 隊,湖北 武漢 430000)
能量效率和能量供應能力是無線傳感網絡(Wireless Sensor Networks,WSNs)的熱點議題[1]?;谀芰啃实腗AC 協議,設計有效的路由是建立能量采集策略的關鍵。路由協議的基本目的,不僅是向目的節(jié)點傳輸數據,還需提高能量效率,進而提高WSNs 的網絡壽命[2-3]。
面向傳統的同構WSNs,研究人員提出許多路由協議。在同構WSNs 中,傳感節(jié)點具有相同的通信能力[4]、功率和處理數據能力。最近,基于異構WSN 框架的物聯網(Internet-of-Things,IoT)應用受到廣泛關注?;谶@個應用,必須考慮WSN 的異構性和能量采集能力。實際上,基于傳統的同構WSNs 的路由協議難以直接應用于復雜的異構網絡。因此,針對基于異構WSNs 的IoT 應用,提出新的路由協議是非常必要的。
能量采集(Energy Harvesting,EH)是部署基于WSNs的IoT 應用的關鍵技術[5]。利用EH 技術,傳感節(jié)點能夠從可再生能源(如太陽、機械振動或無線頻率(RF)輻射)獲取能量。先進的EH 技術的出現給基于EH-WSN 的路由協議的發(fā)展提供了基礎。在能量采集感知的路由協議中,能量采集率是發(fā)展路由成本函數的重要指標。文獻[6]提出能量-機會權重最小能量算法,其通過可用節(jié)點能量和能量采集率計算每個節(jié)點成本。文獻[7]提出基于隨機化最小路徑恢復時間(Randomized Minimum Path Recovery Time,R-MPRT)算法,R-MPRT 給每個鏈路計算成本。文獻[8]提出分布式能量采集感知路由算法(DEHAR),DEHAR 算法利用可用節(jié)點能量和跳數,計算離信宿的最短路徑。而文獻[9]提出能量采集感知的自組按需距離矢量路由(AODV-EHA)。AODV-EHA算法充分利用現存的AODV 在處理WSN 的自組特性的優(yōu)勢,再利用節(jié)點的能量采集能力去決定具有最少傳輸成本的路由。
盡管上述路由算法降低了能量消耗,擴延了傳感節(jié)點的壽命,但它們仍存在一定的局限性。例如,文獻[6]和文獻[10]并沒有考慮在采集區(qū)間所采集的能量數量。而文獻[10-11]對網絡內所有傳感節(jié)點采用固定的更新率,因此,它們無法處理周圍能量源的統計特性。 此外,文獻[6-7]依據全局網絡信息建立路由表,進而轉發(fā)數據包。然而,在異構WSNs 中的獲取全局信息是非常困難的。
為此,本文提出能量-采集-感知算法(Energy-Harvesting-Aware Routing Algorithm,EHARA)。EHARA 算法強調了能量效率、服務質量(QoS)和網絡壽命。EHARA 路由依據節(jié)點所消耗的能量、所采集的能量和剩余能量信息,計算路由成本,進而選擇最佳路由。實驗數據表明,EHARA 算法有效地提高了路由性能和能量效率。
考慮異構多跳WSNs,其由多個傳感節(jié)點和一個信宿組成,如圖1所示。傳感節(jié)點具有無線連通及能從周圍環(huán)境采集能量的能力,而信宿不受能量限制。
圖1 網絡模型Fig.1 Network model
節(jié)點可能是傳感節(jié)點,也可作為路由器,這兩者均稱為節(jié)點。作為傳感節(jié)點,它感測環(huán)境數據,并將此數據包傳輸至信宿;作為路由器,它能夠通過鏈路將數據傳輸至信宿。
本文考慮三類典型的可再生能量源,如太陽、振動(移動車輛)和RF 輻射。所有節(jié)點能夠以不同的能量采集率從這三個能量源中任意一個收集能量。如圖1所示,紅色、紫色和綠色節(jié)點分別表示由基于太陽能的EH、基于移動車輛的EH 和基于RF 的EH。
圖2顯示了所有傳感節(jié)點和路由器的內部模塊。每個節(jié)點由用于數據處理的低功耗微型控制器、基于IEEE 802.15.4 的低功耗的RF 發(fā)射器、功率管理單元和能量采集器以及能量存儲設備(如電池)組成。為了管理所采集的能量,本文考慮基于存儲能量協議,允許節(jié)點存儲電子能量。如果所采集的能量大于能量消耗,則可將多余能量存儲,供后期使用。
圖2 節(jié)點模型Fig.2 Node model
為了設計有效的路由協議,考慮每個節(jié)點傳輸一個數據包所消耗的能量是非常必要的。這些能耗由傳輸、接收或轉發(fā)數據包所發(fā)生的能耗組成。此外,節(jié)點在監(jiān)聽到達的數據包或等待下一個突好事件時,需要消耗能量。
式中,幀序號BO 和超幀序號SO 分別表示幀間隔(Bea-con Interval,BI)和超幀時長[11]。
如果節(jié)點i為源節(jié)點(Tx),則而如果節(jié)點i為目的節(jié)點(Rx),則
節(jié)點i的剩余能量則可表述為:
由于周圍能量源的隨機性,可將能量采集活動作為統計過程。假定采集能量的過程與傳輸、接收、空閑監(jiān)聽和休眠四個階段獨立。為了提高采集過程中能量采集率,引用能量預測模型是非常必要的。
為此,EHARA 引用基于標準 Kalman 濾波 KF[12]的預測模型,通過KF 估算能量采集率。
為了更充分使用節(jié)點能量,首先對節(jié)點當前剩余能量進行等級劃分。如果節(jié)點的當前剩余能量仍能維持基本操作,就只利用節(jié)點休眠時間采集能量;若節(jié)點的當前剩余能量過低(小于預定的門限值),就拓延退僻時間,加大節(jié)點采集能量時間。
具體而言,首先考慮傳感節(jié)點的能量級別,將節(jié)點能量劃分三個等級,如圖3所示。Level 3 表示傳感節(jié)點維持以上操作的最小能量等級。依據節(jié)點i的剩余能量考慮以下兩種情況:
節(jié)點i將在休眠時期收集能量。因此,節(jié)點i所收集的能量按式(6)計算:
圖3 傳感節(jié)點的剩余能量Fig.3 Remaining energy of sensing nodes
在這種情況下,節(jié)點i可能沒有足夠的能量去維持正常操作。因此,在這種情況下,節(jié)點必須暫時性關掉發(fā)射器,進入休眠狀態(tài),從而保存能量,直到電池能量恢復高于Level 3。通過這種策略,傳感節(jié)點能夠減少能耗,維持網絡壽命。為了拓延能量采集時間,加大退避時間,即通過新參數extrabackoff 產生新的額外退避過程,目的在于延長傳統的IEEE 802.15.4 CSMA/CA 協議的退避時間。通過延長退避時間,使得節(jié)點能夠有更多時間等待和從周圍能量源中采集能量。延長退避時間的策略如算法1所示。每B個Beacon 間隔(BIs)執(zhí)行一次算法 1。在每B個 BIs 后,節(jié)點就計算在當前B個 BIs 中的所消耗的能量然后,再計算在下一個B個 BIs 的extrabackoff所需要時間:
1)AfterBcurrent BIs
2)DetermineEic,cur,λih,pre,andpipe3)CompareEirand Level3
4)Calculatetibousing 式(7)
5)CalculatetihandEihusing 式(8)
節(jié)點i的能量收集時間及所收集的能量數可定義為:
數據傳輸的關鍵在于鏈路的選擇。EHARA 算法選用成本最高的鏈路作為數據傳輸通道,為此,依據extrabackoff的執(zhí)行過程,鏈路成本的定義如下:
式中:Ci,j表示由節(jié)點i至節(jié)點j的鏈路表示目標節(jié)點j的能量消耗表示源節(jié)點i的剩余能量;參數au 為單位退避時期。從式(11)可知,具有高Ci,j鏈路的連通時間更長;計算鏈路成本是依據節(jié)點和鏈路的局部信息。因此,它能夠很容易融入傳統距離矢量路由。此外,從式(7)~式(10)可知,引用長的退避時間,在傳輸前,節(jié)點需等待更長時間。通過更長的時間,節(jié)點能量收集更多能量。除了增加能量采集數量之除,EHARA路由必須滿足以下QoS:
式中:pl,th 分別表示信宿的數據包丟失率和吞吐量;而相應的數據包丟失率的門限值PLmax和吞吐量的門限值(THmin,THmax)可依據不同應用設定。
利用Matlab 建立仿真平臺。將V個異構傳感節(jié)點隨機分布于100 m×100 m。在仿真過程中引用基于IEEE 802.15.4 CSMA 的MAC 協議,具體的仿真參數如表1所示。此外,為了更好地分析EHARA 性能,選用文獻[9]的 R-MPRT 和 AODV-EHA 算法作為參照。
表1 仿真參數Table 1 Simulation parameters
本次實驗分析平均每個數據包所消耗的能量和總體剩余能量。實驗數據如圖4、圖5所示。
圖4 平均每個數據包所消耗的能量Fig.4 Average energy consumption of data packets of different algorithms
圖5 網絡剩余能量Fig.5 Remaining energy of network of different algorithms
從圖5可知,R-MPRT 算法消耗了更多能量,而提出的EHARA 算法能量消耗最少。原因在于,EHARA 算法減少了每個節(jié)點的平均能耗。
圖5顯示了在8 000 s 仿真期間,各算法的剩余能量數據,剩余能量隨時間推移逐漸下降。在仿真時間結束時,EHARA 算法和AODV-EHA 算法的分別消耗了50%,92.5%能量,分別剩余12.5 J 和2.5 J(網絡總能量為 25 J)。對于 R-MPRT 算法,它在運行了 5 000 s 后,所有傳感節(jié)點的能量已耗盡。這些數據表明,相比于AODV-EHA 算法和 R-MPRT 算法,EHARA 算法的網絡壽命提高了40%和50%。
本次實驗分析EHARA 算法的QoS 性能,包括數據包丟失率、吞吐量,實際數據如圖6、圖7所示。從圖6可知,數據包丟失率隨節(jié)點數的增加呈上升趨勢。相比于 R-MPRT 和 AODV-EHA 算法,EHARA 算法的數據包丟失率得到有效控制。當V=100 時,EHARA 算法比AODV-EHA 算法的數據包丟失率下降了60%。原因在于,EHARA 算法通過維持更多的活動節(jié)點,提高了路由的穩(wěn)定性和可靠性。
圖6 數據包丟失率Fig.6 Loss ratio of data packet of different algorithms
圖7 吞吐量Fig.7 Throughput of different algorithms
最后,分析了信宿的吞吐量。從圖7可知,節(jié)點數的增加,提高了算法的吞吐量。相比于AODV-EHA 和RMPRT,EHARA 算法的吞吐量得到有效提高。例如,當源節(jié)點V=100 時,AODV-EHA 算法吞吐量最低,EHARA算法比AODV-EHA 算法的吞吐量提高了41%。
本文針對基于WSN 的物聯網應用,提出能量采集感知路由EHARA。EHARA 路由充分考慮了物聯網應用的特點,利用節(jié)點采集能量,彌補傳感節(jié)點的能量不足。同時,定義鏈路成本,再選擇最佳的鏈路轉發(fā)數據包。實驗數據表明,提出的EHARA 路由能夠有效地保存能量,最終實現延長網絡壽命的目的。