何少尉
(浙江郵電職業技術學院,浙江 紹興 312366)
隨著無線通信、傳感器等技術的快速發展,無線傳感器網絡將逐漸進入人類生活并對人類的工作、學習和生活產生巨大的影響[1]。無線傳感器網絡中,各節點具有良好的感知能力、通信能力和計算能力,可以按照預先設計好的算法協議自組織,對網絡分布區域內的感知對象進行實時檢測和采集,對采集到的信息進行處理和傳送,有效拓展了現有通信網的功能和服務范圍[2]。無線傳感器網絡的運行需要消耗能源,網絡內通信協議對各節點均進行了一定程度的節能處理,但隨著傳感器節點布點數的增加,如何采用功率控制算法進一步降低無線傳感器網絡的總功耗是非常必要的。無線傳感器網絡中的節點通常密集部署,如果每個節點都通過大功率進行通信,不僅會增加每個節點的傳輸能耗,還會加劇節點之間的干擾,使傳輸誤碼率上升,降低通信效率,導致網絡的能量在很大程度上被浪費;另外,如果節點選擇的發射功率過小,就會對網絡的連通性造成影響。因此,各節點根據其通信需求通過動態調整其發射功率,在保證網絡拓撲結構連通的基礎上,盡可能降低各節點的能耗,為構建綠色無線傳感器網絡而服務[3]。
S-MAC協議由SC 9636-006協議發展而來,主要負責降低無線傳感器網絡的能耗。該協議采用固定的占空比和周期性的睡眠來減少能耗。研究表明,該協議能有效降低無線傳感器網絡的能耗,但由于該協議中對任何數據流均采用相同的睡眠周期,致使節能效果不佳,且增加了網絡的傳輸延遲,降低了系統的吞吐量[4]。本文針對這一不足,提出一種改進的自適應調整占空比的功率控制算法,為降低網絡能耗、延長網絡生存時間提供新的方法。
不同于其他的傳統型無線通信網絡,無線傳感器網絡采用自組織的方式來部署網絡節點。因此,無線傳感器網絡內各節點必須要有較強的自適應性、自組織性和魯棒性。另外,無線傳感器網絡是一種典型的資源受限網絡,其網絡節點的計算能力、能量和存儲量都較為有限[5]。功率控制在無線傳感器中主要應用于鏈路層和網絡層,通過優化站點和節點的發送功率,使每個數據包都能有效傳送至網絡節點,保障網絡的拓撲和路由有效運行,使無線傳感器網絡的整體性能處于最優狀態。
在無線傳感網絡中,無線信道的訪問通常由介質訪問控制(Medium Access Control,MAC)協議來決定。MAC協議對無線傳感器網絡的高效穩定運行有著非常重要的作用。MAC協議分為兩大類:基于競爭的MAC協議和基于調度的MAC協議。其中,S-MAC協議屬于基于競爭的MAC協議,是由IEEE 802.11 MAC發展而來的一種MAC協議,采用定期監聽和睡眠循環來降低功耗。該協議使用低占空比的周期性睡眠/偵聽[6]。
在S-MAC協議中采用了周期性偵聽/睡眠機制,其基本思想是減少節點的偵聽時間,盡量讓節點處于功耗較低的睡眠狀態,S-MAC協議的節能機制原理為[7]:
當節點a開始工作時,首先進行偵聽。在偵聽的時間段內,如果節點b收到其鄰居節點的SYNC幀,節點b會按照SYNC幀內的時間調度表開始周期性的睡眠、喚醒,并在監聽時段接收和發送數據。還會向其鄰居節點的下一個偵聽階段廣播SYNC幀。節點a被進一步劃分為SYNC、RTS、CTS 3個階段,如圖1所示。

圖1 S-MAC原理
與IEEE 802.11 MAC相比,S-MAC協議在節能方面進行了很大的改善,其所采用的周期性偵聽/睡眠機制有效地降低了網絡的整體能耗。但該方式所采用的固定睡眠機制以固定占空比實現偵聽和睡眠,沒能充分考慮網絡傳輸流量的變化。若網絡內傳輸流量較大,固定的占空比降低了信息傳輸效率,增加了傳輸延遲。若網絡內傳輸流量較低或沒有通信需求時,保持固定的偵聽,會導致網絡的功耗增加,縮短網絡的生存時間[8]。
S-MAC協議中使用固定的偵聽/睡眠策略,以固定的占空比在每幀內分別分配偵聽階段和睡眠階段。當有通信任務時,節點處于偵聽階段;當完成通信任務時,節點會切換到睡眠狀態,并將采集到的數據緩存并等待下一個工作狀態時再次通信,避免了在全幀中保持工作狀態,可有效降低功耗。S-MAC協議采用協議采用固定的占空比和周期性的睡眠導致網絡傳輸效率下降,節能效果有待提高。
因此,針對S-MAC協議的這一不足,提出一種改進的S-MAC協議自適應占空比功率控制算法(Self-Adaption S-MAC,SA S-MAC),利用先前5幀內的網絡吞吐量,對當前節點的吞吐量進行預判并自適應地調整其占空比。當先前5幀內的吞吐量較大時,可以判斷出當前節點的吞吐量也較大,此時調高其占空比;當先前5幀內的吞吐量較小時,可以判斷出當前節點的吞吐量也較小,此時調低其占空比。采用自適應機制是根據傳輸的吞吐量來動態調整占空比,令當前幀為第i幀,其時間間隔為spi,在spi內的吞吐量為Mi,SA S-MAC算法如下:
步驟1:令節點第i幀的占空比的初始值和吞吐量分別為ηi和Mi;
步驟2:第i幀先前N(N=5)幀的吞吐量分別為Mi-k(1 ≤k≤5),計算第i幀先前5幀的吞吐量的平均值Qi。

步驟3:節點在第i+1幀的占空比ηi+1為:

步驟4:式(1)的占空比η用于取代S-MAC協議中的固定占空比,繼續進行信息傳輸直至數據傳輸結束。
為了研究SA S-MAC算法的性能,采取NS2-3.31軟件建立仿真平臺,仿真平臺為某7節點線性拓撲的無線傳感器網絡,其拓撲結構如圖2所示,網絡中的每個節點被假定為300 J的初始能量值。節點有效數據接收范圍為250 m,載波偵聽范圍為550 m。由源節點周期性地向目標節點發送looobyte的cBR流,傳輸層采用UDP協議。具體參數配置見表1所示。

圖2 仿真拓撲結構

表1 具體參數配置
參照式(1),對不同數據發送間隔下的最佳占空比進行研究,見圖3。這表明S-MAC協議中對不同數據發送間隔下的數據流均采用固定占空比不是最優的選擇。
兩種算法的網絡功耗對比如圖4所示。在數據發送間隔短、網絡流量大的條件下,SA S-MAC協議的網絡功耗低于S-MAC協議。數據發送間隔短會加大網絡的流量,此時S-MAC協議中固定占空比機制會引起數據傳送沖突,導致網絡擁塞和延遲。而SA S-MAC協議采用自適應占空比,能根據無線傳感器網絡中流量大小調節數據發送間隔。當數據流量大時,縮短發送間隔,提高占空比,從而降低網絡能耗,提高網絡的能效。研究同時發現,當數據發送間隔達到8 s及更高時,S-MAC協議和SA S-MAC協議的能耗是一樣的,這是由于發送間隔足夠大,網絡中的數據量偏小,自適應占空比算法未能發揮效用。

圖3 不同數據發送間隔下的最佳占空比情況

圖4 兩種算法的能耗對比
兩種算法的吞吐量對比如圖5所示。在數據發送間隔短、網絡流量大的條件下,SA S-MAC協議的網絡吞吐量高于S-MAC協議。在網絡流量大時,SA S-MAC協議能自適應調節占空比,縮短數據發送間隔來提高網絡的吞吐量。當數據量下降,數據發送間隔達到8 s及更高時,S-MAC協議和SA S-MAC協議的網絡吞吐量是一樣的,這是由于發送間隔足夠大,網絡中的數據量偏小,自適應占空比算法未能發揮效用。

圖5 兩種算法下網絡吞吐量的對比
兩種算法的端到端的平均延時對比如圖6所示。在數據發送間隔短、網絡流量大的條件下,SA S-MAC協議的端到端的平均延時低于S-MAC協議。在網絡流量大時,SA S-MAC協議能自適應調節占空比,縮短數據發送間隔來降低端到端的平均延時。當數據量下降,數據發送間隔達到8 s及更高時,S-MAC協議和SA S-MAC協議的端到端的平均延時是一樣的,這是由于發送間隔足夠大,網絡中的數據量偏小,自適應占空比算法未能發揮效用。

圖6 兩種算法下端到端的平均延時對比
通過分析無線傳感器網絡MAC功率控制協議中的不足,提出一種基于S-MAC協議的自適應占空比改進功率控制算法(SA S-MAC協議),以達到降低網絡整體功耗的目標。仿真結果表明,根據網絡流量來自適應地調整占空比,可以達到降低能耗、縮短延時、提高網絡吞吐量的目標,對保障無線傳感器網絡的正常運行有著非常重要的作用。今后,將進一步分析在網絡拓撲結構較為復雜的場景下,探索該自適應功率控制算法的應用。