段 蒙,陳 嵐,呂 超,盧 威
(中國科學院微電子研究所,北京100029)
無線傳感器網絡,是一種由大量傳感器節點以無線通信的方式,自組織形成的多跳無線通信網絡。無線傳感器網絡具有低功耗、低成本、分布式和自組織等特征[1],能夠在惡劣特殊環境下提供通信支持[2],在軍事、環境檢測、醫療與智能家居等方面獲得廣泛應用。
為實現環境信息的精密感知和保證節點能量的有效性,節點間的協同感知和傳輸已成為傳感器網絡研究的熱點問題。節點在無工作需要時自動進入睡眠狀態,并根據業務需要,周期性的喚醒。通過調整節點喚醒/睡眠的占空比[3],使節點能量得到最大的合理化利用,是目前傳感器網絡節能常用的方法之一。S-MAC[4],T-MAC[5]等協議就是傳感器節點結合自己業務需要進行自主、自適應調整喚醒/睡眠占空比的典型的傳感器網絡 MAC 協議,IEEE802.15.4[6]的超幀結構是基于這一思想設計的。
無線傳感器網絡具有異構特點[7],異構傳感器網絡包含了多種傳感器節點,各自的傳輸帶寬、數據長度、喚醒周期等差別較大。為實現整個多跳網絡的通信暢通,節點間的協同傳輸成為首要解決的問題之一。在IEEE802.15.4中,協同節點周期性廣播信標幀,實現與子節點的同步,這種方法在星狀網絡中得到很好的應用。由于信標幀不經過CSMA/CA直接發送,在多跳網絡中造成嚴重的沖突。同時,信標幀的收發過程,對部分無需喚醒的節點帶來無效偵聽功耗。
本文提出的跨層自適應喚醒算法,是在IEEE802.15.4非信標模式下,傳感器節點MAC層參考網絡層提供的下一跳節點的信息進行休眠/喚醒狀態的自適應的調整,通過多跳網絡的協同傳輸,提高了異構無線傳感網絡的可靠性和能效性。自適應喚醒算法通過下行ACK幀進行協同信息交互,不僅解決了IEEE802.15.4標準中beacon幀機制與輪詢機制在多跳中網絡中節能效率低的問題,而且保持了與IEEE802.15.4標準的兼容性。
本文將在第1節介紹無線傳感器網絡MAC層協議的研究現狀;第2節結合具體的數學模型分析異構傳感器網絡傳輸存在的問題;在第3節闡述自適應喚醒算法;最后,通過詳細的仿真與實驗結果驗證算法的有效性和先進性。
S-MAC[4],T-MAC[5]通過松弛同步的周期性的喚醒/睡眠降低了節點的占空比,從而減少了空閑偵聽;引入RTS/CTS機制預約信道[3]減少了串音與空閑偵聽。但是,在數據包較小的應用場景中,RTS/CTS開銷造成了通信資源與能量資源的浪費。且采用S-MAC的網絡中,不同調度的簇的邊界節點會過早消耗掉能量[8]。S-MAC的同步機制增加了額外的同步偵聽時間,也浪費了一定的能量。然而無線傳感器網絡協議設計的重要因素就是能耗[9]。
B-MAC[10]使用擴展前導和低功率偵聽技術實現按需同步,但是前導序列過長會造成過度偵聽,浪費能量;X-MAC[11]發送若干較小的頻閃前導來避免過度偵聽。而且,在B-MAC和X-MAC中,如果接收節點長時間沒有喚醒,發送節點會一直廣播前導序列,降低了網絡的吞吐量,甚至使整個網絡無法正常工作。
IEEE802.15.4[6]的 MAC 中有兩種模式:信標使能,非信標使能。信標使能模式,協調器與設備之間的同步需要大量的信標幀,易造成碰撞,同時也會增加無效偵聽帶來的能量浪費;非信標使能模式,設備與協調器之間通過輪詢進行數據傳輸與同步,存在大量的過度偵聽,也會增加無效偵聽帶來的能量浪費。
異構傳感器網絡中,傳感器節點的自然喚醒周期與各自的業務需求密切相關。大規模異構傳感器網絡中,傳感器節點之間的自然喚醒周期分布相互獨立且服從泊松分布[12]:

其中,T自然喚醒周期,λ為自然喚醒周期的期望,k為正整數。
因此,為保證數據傳輸成功,異構傳感器節點間需要進行時鐘同步,在數據傳輸過程中發射節點與接收節點保持喚醒。為了簡化數學分析,假設所有節點的喚醒周期為正整數。
定理節點s與節點d分別表示樹狀網絡的子節點和父節點(即數據包只能由s向d傳輸),喚醒周期分別表示為Ts和Td,則s與d間通信的最大收包率為:

其中,LCM(Ts,Td)表示Ts與Td的最小公倍數,γ表示節點s與d間的無線鏈路質量系數,γ∈[0,1],為了更加關注父子節點的同步問題,可令γ=1。
證明令t0=LCM(Ts,Td),即 s與 d喚醒狀態一致的自然周期為 t0,那么在 t=k×t0(k=1,2,3…)時節點s與節點d同時喚醒,則

此時,節點s向d發送了m個數據包,其中k個數據包在兩節點同時喚醒時發送,則收包率可表示為

將式(2)代入式(3)得出:

則在一個由N互相連通的節點組成的無線傳感器網絡中,假設發射節點與接收節點只要在通信過程中同時處于喚醒狀態,數據包即通信成功。則網絡中所有鏈路的收包率的期望值可表示為:

其中Ti,Tj分別為發送節點與接收節點的自然喚醒周期。
圖1給出了λ在1到100的變化過程中,鏈路收包率α的變化曲線。由于各個節點的周期獨立同分布,所以在源節點到目的節點的n跳路徑中各跳的收包率也是獨立同分布的,則整個網絡收包率的期望值小于αn,即收包率隨著跳數的增加呈指數下降,無法保證網絡的正常通信。

圖1 收包率期望值

S-MAC[5],T-MAC[7],IEEE802.15.4[4]的 MAC 層協議通過加入控制包交換,使每一跳的趨于1即改善兩跳之間的收包率的期望值即趨于1,這樣在n跳鏈路上,由于每一跳收包率的局部改善使得全局多跳鏈路的收包率趨于1。然而這3種MAC層協議要求各節點喚醒周期相同,這樣會在異構傳感器網絡中增加過度偵聽浪費的能量。同時,IEEE802.15.4的MAC層協議中存在大量的用于同步的超幀,且這些超幀的發送不經過CSMA/CA[4],不僅會引發導致碰撞導致重傳浪費能量,而且也會增加過度偵聽的能量消耗。
在IEEE802.15.4 MAC層協議中,子節點加入網絡時會按照路由策略搜索父節點并與其進行關聯[4],父節點收到關聯請求后會向子節點發送關聯響應。本文提出的跨層自適應喚醒算法正是基于這個關聯過程的。在子節點關聯成功之前它會一直處于喚醒狀態并向父節點發送關聯請求,當父節點判斷這個節點關聯成功時會向它發送關聯響應,并在關聯響應中加入父節點的周期T,喚醒時間長度Tw和父節點下一個自然喚醒周期開始的時間t0。從t0時刻開始父節點與子節點同時啟動各自的自然喚醒周期,其過程如圖2所示。

圖2 初始階段時序圖
當子節點要向父節點發送數據包時,查詢已獲取的父節點自然喚醒周期T與下一次喚醒時間t0,計算該節點的主動喚醒時間向父節點發送數據包。為了盡量減小時鐘偏差和傳輸延時對計算精度的影響,不僅在選擇發送時機的時候有25%的冗余而且每次發包成功都會在ACK中加入最新t0值來更新舊的t0值。這樣就不需要通過超幀或者輪詢來進行同步與發送數據,而且每個節點的都可以工作在獨立的自然喚醒周期,這樣減少了較多過度偵聽與協議控制所帶來的能量消耗。自適應喚醒算法的的具體步驟如下:
Step 1:子節點與父節點進行關聯,關聯成功后子節點獲取父節點的 T,Tw,t0。
Step 2:t0時刻子節點與父節點同時進入自然喚醒周期。
Step 3:如果子節點在t時刻要向父節點發送數據則計算距離父節點的最近一個周期起始時刻時間長度Δt=t-nT其中n為(t-t0)/T的整數部分。
Step 4:如果Δt<75%·Tw則直接向父節點發送數據。
Step 5:否則緩存包,并等待τ=T-ts后再發送。
Step 6:如果此時子節點處于喚醒狀態直接發送,如果處于睡眠狀態則喚醒子節點再發送。
Step 7:父節點接收到數據包后回復ACK幀中包含新的t0值。
Step 8:子節點收到ACK確認發送成功,并更新t0值。
算法流程圖如圖3所示。

圖3 算法流程圖
NS-2是一個開源的系統級網絡仿真平臺,它所包含的模塊幾乎涉及到了網絡技術的所有方面,是目前被廣泛采用和認可的網絡模擬與評估平臺。結合Zigbee芯片CC2430數據手冊,仿真環境參數設置如表1所示,拓撲結構如圖4所示。
為了驗證跨層自適應喚醒算法的性能,進行了兩組對比仿真實驗,每組又各進行了兩種場景的仿真,并分別對鏈路收包率與節點能量利用效率進行了分析。

表1 仿真參數表

圖4 仿真拓撲結構(各點的水平或垂直距離為10 m,整個區域范圍為60 m×60 m)
4.1.1 收包率分析
在本組仿真驗證中,場景1,各節點占空比隨機均勻分布在5%到20%,使用IEEE802.15.4標準的MAC層協議的非信標模式;場景2,各節點占空比隨機均勻分布在5%到20%,使用本文提出的跨層自適應喚醒算法。
對仿真結果進行統計分析,每一跳對應的收報率如表2所示。

表2 跳數與收包率關系
表2表明在異構傳感器網絡中如果各節點沒有任何同步措施,經過多跳收包率會趨于0,而加入了跨層自適應喚醒算法之后收包率保持在99%左右,提高了網絡可靠性。
4.1.2 節能效果分析
在本組仿真驗證中,場景1,各節點占空比都分布在20%,使用IEEE802.15.4標準的MAC層協議的信標模式;場景2,各節點占空比隨機均勻分布在5%到20%,使用本文提出的自適應喚醒算法。
對仿真結果進行統計分析,對比跨層自適應喚醒算法與IEEE802.15.4MAC信標模式的能量節省效率與跳數的關系如表3所示。

表3 節能效率
表3表明在幾種不同跳數情況下,使用跨層自適應喚醒算法時所有節點的剩余能量總和比使用IEEE802.15.4MAC信標模式時所有節點剩余能量總和要高出20%左右,提高了能量效率。
本次實驗使用的無線傳感器節點通信芯片是TI公司的CC2430,實驗場景如圖5所示。共8個節點,其中節點8為源節點,節點1為目的節點,其余均為轉發節點。

圖5 實驗場景
本次進行了兩組實驗,第1組是使用IEEE802.15.4MAC層協議,節點8一共發送了100個數據幀,每個節點統計偵聽到的 beacon幀、數據幀和ACK幀的數量(包括不屬于自己即過度偵聽的),其中節點1還會統計自己所收到的節點2轉發的數據包,源節點發給自己的數據幀。第2組使用了本文提出的自適應喚醒算法,各節點所統計的數據與第1組相同。其中beacon幀的長度為59 byte,數據幀長度為127 byte,ACK幀的長度為12 byte。兩組實驗的結果分別如表4與表5所示。

從表4與表5可以看出在數據幀從源節點到目的節點的過程中,各個節點都會偵聽到無效幀,相對于自適應喚醒算法使用IEEE802.15.4的 MAC層協議時各節點中不僅存在更多的無效數據幀與ACK幀而且還存在大量的beacon幀,這些都會造成能量浪費。我們可以根據接收到的幀的數量與長度來評估各個節點的接收機消耗的能量為:其中Ur,Ir分別為接收機接收數據時的工作電流與電壓,L為所接受數據的長度,Vr為數據傳輸速率。從CC2430的手冊可知其接收時的工作電流為Ir=27 mA,工作電壓為Ur=1.8 V,數據傳輸速率為250 kbit/s。根據這些參數與上述能量式(7)可以計算出第一組即使用IEEE802.15.4MAC層協議時,發送100個數據包整個網絡所消耗的能量為1.635 J,第2組即使用本文所提出的算法時,發送100個數據包整個網絡所消耗的能量為0.832 J。

表4 第1組實驗結果

表5 第2組實驗結果
從表4、表5可知使用本文算法的第2組實驗收包率為92%,略低于使用IEEE802.15.4MAC層協議的第1組實驗收包率為96%。但是第2組實驗的消耗的能量只有第1組所消耗的50.92%。由此可知,跨層自適應喚醒算法不僅能保證異構無線傳感器網絡的可靠性,而且也提高了其能效性。
感知節點根據業務需求調整喚醒與睡眠狀態,并保持節點的同步,是無線傳感器網絡提高能量效率,保證可靠性的主要手段。本文基于IEEE802.15.4標準,提出了跨層自適應喚醒算法,提高了異構無線傳感器網絡的可靠性和能量利用效率,通過仿真分析與實驗測試驗證了其有效性和先進性。
[1]Akyildiz I F,Melodia T,Chowdhury K R.Wireless Sensor Networks:A Survey[J].Computer Networks(ELSEVIER),2002,38:393-422.
[2]王境,徐楨,劉曉春.基于鏈路質量的無線傳感器網絡抗干擾路由協議[J].傳感技術學報,2012,25(1):87-93.
[3]孫利民,李建中,陳渝,等.無線傳感器網絡[M].清華大學出版社,2005
[4]Wei Ye,John Heidemann,Deborah Estrin.An Energy-Efficient Mac Protocol for Wireless Sensor Networks[C]//Proceedings of the IEEE Infocom,1567-1576,New York,NY,June 2002.IEEE.
[5]van Dam T,Langendoen K.An Adaptive Energy-Efficient MAC Protocol for Wireless Sensor Networks[C]//Proc 1st Int’l Conf on Embedded Networked Sensor System(SenSys),Nov.5-7,2003,Los Angeles,CA.2003
[6]IEEE 802.15.4 2006:Wireless Medium Access Control(MAC)and Physical Layer(PHY)Specifications for Low-Rate Wireless Personal Area Networks(LR-WPANs)[S].
[7]梁天,周暉,徐晨,等.無線感知執行網的智能協作機制研究[J].傳感技術學報,2012,25(5):665-672.
[8]Yuan Li,Wei Ye,Heidemann J.Energy and Latency Control in Low Duty Cycle MAC Protocols[C]//Wireless Communications and Networking Conference,2005 IEEE,2005,2:676-682.
[9]尚鳳軍,任東海.無線傳感器網絡中分布式多跳路由算法研究[J].傳感技術學報,2012,25(4):529-535.
[10]Polastre J,Hill J,Culler D.Versatile Low Power Meida Access for Duty-Cycled Wireless Sensor Networks[C]//Processing of ACM SenSys,2004.95-107.
[11]Buettne M,Yee G,Anderson E,et al.X-MAC:A Short Preamble MAC Protocol for Duty-Cycled Wireless Sensor Networks[C]//Processing of ACM SenSys,2006,307-320.
[12]王辛果,異步無線傳感網的跨層網絡協議研究[D].中國科學技術大學博士論文,2011.