無線傳感網中一種基于即時信息的TDMA方案
0 引言
無線傳感網絡(Wireless Sensor Network)是由許多在空間中分布的自動裝置組成的一種無線通信網絡,這些裝置使用傳感器監控不同位置的物理或環境狀況(比如溫度.聲音.振動.壓力.運動或污染物),并相互協作,共享信息.無線傳感網絡最初起源于戰場監測等軍事應用,現已被應用于很多民用領域,如環境與生態監測.健康監護.家居自動化以及交通控制等.其應用價值,已引起世界多國軍事部門.工業界和學術界的廣泛關注.
無線傳感網有TDMA 和CSMA 兩種基本的MAC 協議方案.其中基于TDMA的MAC協議實現信道分配的機制簡單成熟,它沒有CSMA競爭機制的碰撞和重傳問題,而是為傳感器網絡中每個節點分配獨立的時隙用于數據發送或接收,數據傳輸時不需要過多的控制信息,且節點在空閑時能夠及時進入睡眠狀態.因而在節點無移動且網絡部署情況已知的場景,采用TDMA 方式進行通信,可避免信道沖突以及沖突引起的丟包和能量損耗;保證數據傳輸的實時性和可靠性;令節點在不工作期間進入睡眠狀態,以保存能量.這些特點很適合無線傳感網中的節能要求.近年來,有很多基于TDMA的改進方案,像LEACH.BCMAC等.這些新的方案雖然在資源節約.性能提高上有了一些改進,卻存在調度方式復雜.時延過大.信道利用率低.資源浪費等不合理性.因此尋求新的方案以改進存在的問題,仍然是業界面臨的迫切任務.
1 問題描述
現有無線傳感網中,基于TDMA 的MAC 協議大多是與簇的組網方式相結合.將網絡劃分為若干個簇,每個簇選舉一個簇頭節點做為集中控制點,對簇內成員進行TDMA 調度,各簇內成員在其分配的時隙內發送數據.
典型的有LEACH協議,該協議以輪為單位周期性執行簇的重構過程.如圖1所示,每輪分為簇的形成階段和簇的穩定階段.簇的形成階段,主要完成簇頭節點的選擇.廣播.建立和調度機制的生成.簇的穩定階段,分為調度階段和數據傳輸階段.調度階段,簇頭根據收集來的簇內節點的信息,將數據傳輸階段分配為n個長度相等的幀,每個幀內的時隙又固定分配給簇內的成員,每輪只調度分配一次.數據傳輸階段,根據調度結果,每個簇內成員在每幀中的固定時隙內進行數據傳輸.每輪數據傳輸階段之后進行下一輪的簇重構過程.這種基于簇的TDMA協議,采用周期性的選舉簇頭的方法,使得各簇頭節點的能量得到均衡,延長了網絡的工作壽命;但是在每一輪中只進行一次調度,且n 個幀的長度相等,各節點在幀內的時隙固定.如圖1 所示,假設在一個幀內只有第1.5.m 三個節點有數據需要傳輸(圖中的陰影時隙,即表示有數據傳輸),則無數據傳送節點所占用的固定時隙就會被浪費,從而造成了信道利用率低下,時延加大.同時由于簇頭起到的是轉發信息的功能,因而在整個幀內,簇頭都需要保持監聽狀態,浪費了簇頭的能量.
類似的還有BCMAC協議,如圖2 所示,該協議與LEACH協議在簇的形成階段相似.在穩定階段對TDMA協議進行了一些改進,即在每幀開始時,由那些有數據傳輸的節點向簇頭發送申請,簇頭節點根據申請情況來分配時隙,并向簇內節點廣播調度方法,每個需要發送數據的節點獲得一個確定的發送時間,沒有數據需要發送的節點則處于睡眠狀態,并在下一幀開始時蘇醒.假設只有三個節點有數據傳輸,則簇頭節點將節點信息收集起來進行時隙分配.由于簇頭無需在整個幀長內保持偵聽且無數據傳輸的節點可以處于睡眠狀態,因而節約了大量的能量.同時由于采用了固定幀長,仍然會有時隙被浪費,因而沒有提高信道利用率,時延依然很大.該方案中,簇頭需要廣播各個節點的ID 號及調度方案,增加了調度開銷,增加了能量消耗.本文提出的IM-TDMA 方案是在現有TDMA 協議的基礎上,通過變長幀長來適應網絡流量變化,提高信道利用率,降低時延;并通過計數器管理方式來進行TDMA 調度,降低調度復雜性,減少調度開銷,降低能耗;同時選取合適的時隙大小,進一步優化網絡性能.
2 IM-TDMA方案描述
2.1 基本算法
IM-TDMA方案與LEACH 協議和BCMAC協議在簇形成階段類似,如圖3所示,仍是按輪運行的,每一輪由簇形成階段和簇穩定階段組成.簇形成階段,完成成簇.簇頭選舉及時鐘同步的任務;簇穩定階段,根據節點的流量,分為n個長度不等的幀,即每幀有幾個節點需要傳輸數據就分配幾個時隙.如圖3所示,假設一幀中有3個節點有數據傳輸,則該幀就只由3個時隙組成.該方案將每幀分為時隙申請.調度和數據傳輸三步.
2.1.1 時隙申請
這一階段主要按照節點ID 順序,給每個節點分配一個信令小時隙,每個信令小時隙占用1 b用于向簇頭申請時隙.有數據需要傳輸的節點在自己的信令小時隙內發送申請時隙的信息,觸發簇頭計數器,隨著申請節點數的增加,計數器值依次增加,每個節點觸發計數器得到的計數值即為該節點在本幀的時隙位置值.由于各節點在各自不同的信令小時隙內向簇頭發送申請時隙的信息,因此不會發生碰撞.在此過程中,對上一幀中未傳完的數據節點優先分配信令時隙,即在每幀開始時先給在上一幀中未傳完數據的節點申請時隙,以讓續傳信息優先完成數據傳輸,然后再給在本幀中有數據傳送的節點申請時隙,且每幀中每個節點只能進行一次時隙申請.具體的時隙分配過程如圖4所示,每一幀信令時隙S0由兩部分組成,第一部分S0為續傳申請時隙,其由h個信令小時隙組成,h為前一幀數據傳輸所占用的總時隙數,且在每輪數據的第一幀,h值為0.第二部分S02由m個信令小時隙組成,m為該簇內的所有節點數.由于每幀每個節點只能發送一次申請時隙的信令信息,因而在S01中申請時隙的節點不會在S02中重復申請時隙.如果某個節點在上一幀中有未傳輸完的數據,需要在本幀中傳輸,假定其在上一幀中的第i個時隙傳送,則在本幀中S01時隙的第S01i個信令小時隙發送申請時隙信息,觸發簇頭計數器加1,計數器的值即為該節點在本幀中傳送的時隙位;如果某個節點在本幀中有需要傳輸的數據,假定其信令小時隙是第j個,則在S02時隙中的第S02j個信令小時隙中發送申請時隙信令,觸發簇頭計數器加1,計數器的值即為該信息在本幀中傳送的時隙位.計數器在每輪開始時,初始化為0,并在每幀時隙申請完成之后立刻置0.
2.1.2 調度分配
這一階段簇頭根據時隙申請及觸發計數器生成的計數結果,廣播一個調度結果.該調度分配結果將數據時隙分為兩部分.第一部分是在S01申請續傳的時隙,假設有p個;第二部分是在S02申請新傳的時隙,假設有q個.
這兩部分所占用的時隙數之和,即為下一幀用于申請續傳信息的信令小時隙的h(h = p + q)值.
下面以一個實例來說明:
假設有m個節點,如圖5所示,用Ip表示第p個節點所傳的數據信息內容,用Sq表示第q個時隙,用S01i表示S01信令時隙中第i個信令小時隙,用S02j表示S02信令時隙中第j個信令小時隙.計數器的值在系統形成時已初始化為0.假設在第一幀中節點3.5.8有數據傳輸,因為是第一幀,所以不存在續傳信息,即沒有S01信令時隙,只有S02信令時隙.節點3在S02時隙中的第S023個信令小時隙中向簇頭發送申請時隙的信息,觸發計數器,因為該幀開始時,計數器初始化為0,因而觸發后其值為1,故節點3的數據在第1時隙中傳輸,可表示為I3在S1中傳;同理節點5在S02時隙中第S025個信令小時隙中向簇頭發送申請時隙的信息,觸發記數器,記數器值增為2,表明節點5的數據在第2時隙中傳輸,表示為I5在S2中傳;同樣的道理可得節點8的數據在第3個時隙中傳輸,即I8在S3中傳.第一幀時隙申請完之后,將計數器置為0.這樣在第一幀中,節點3.5.8的數據依次在S1.S2.S3三個時隙中傳輸.第一幀的時隙總數為3(即下一幀的h值).在第二幀中,假設節點3.8的數據在第一幀中未傳送完,需要在第二幀中續傳,同時節點1.4.9在本幀中有數據需要傳輸.由于前一幀的時隙總數為3,因而本幀的h值為3,即S01時隙中有3個信令小時隙,因為節點3在前一幀中所占的是第一時隙,因而節點3在S01時隙中的第S011個信令小時隙中發送申請時隙信息,觸發計數器,故節點3的續傳信息在本幀中的第1時隙傳送,可表示為I3在S1中傳;同理節點8在前一幀的第3時隙傳送數據,因而節點8在該幀中的S01時隙的第S013個信令小時隙發送申請時隙信息,觸發計數器,計數器值加1,故節點8在該幀中的續傳信息在第2 時隙傳送,可表示為I8在S2中傳.接著分配本幀中需要傳送信息的節點的時隙位置,節點1 在本幀中有數據需要傳輸,因而節點1 在S02時隙的第S021個信令小時隙發送申請時隙信息,繼續觸發計數器,計數器值加1,故節點1在該幀中的第3時隙傳送,可表示為I1在S3中傳;同理節點4在本幀中有數據需要傳輸,因而在S02時隙的第S024個信令小時隙發送申請時隙信息,觸發計數器,計數器值加1,故節點4在該幀中的第4時隙傳送,可表示為I4在S4中傳;同理可得節點9在該幀中的第5時隙傳送,可表示為I9在S5中傳.由于每幀中每個節點只能申請一次時隙,因而續傳信息的節點不會在S02時隙中重復進行時隙申請.本幀節點申請完時隙后,計數器初始化為0.這樣在第二幀中節點3.8的數據分別在第1.2時隙中進行續傳,而節點1.4.9的數據分別在第3.4.5時隙中進行傳輸.可以看出本幀總的傳輸時隙數為5(為下一幀的h值).
2.1.3 數據傳輸
這一階段各個節點按照簇頭發送的調度信息,在各自分配的數據時隙中傳輸數據.如果節點在下一幀中仍有數據傳輸,則繼續在下一幀信令時隙S01時隙中對應的信令小時隙進行時隙申請,完成調度,然后在分配的時隙中進行數據傳輸即可.
在這種調度分配中,難免會遇到需要傳輸的數據極少甚至無數據傳輸的情況,為了避免調度的頻繁進行或睡眠時間過長,需要設定一個最小幀長,這個需要依據實際應用中要求的而定.本方案中依據所占用的平均時隙數而定.
2.2 時隙計算
在此調度方案中,使用的是幀長不定.時隙定長的方法,需要對時隙定義一個合適的長度,過大會使空閑時間過長,浪費資源,過小又會使調度次數增多.按照節點的負載與信道容量的關系,給出如下時隙計算公式:
式中:ts表示所選的時隙大小;bavg表示各節點產生的業務通信負載的平均量;bk表示各個節點可能產生的業務負載量的值;m表示簇中的節點數;C表示信道容量.
3 仿真實驗及結果分析
3.1 仿真參數設置
為了驗證本方法的有效性和通用性,在不同負載情況下,對IM-TDMA,BCMAC和傳統的TDMA協議的平均時延和平均能量消耗進行了仿真對比實驗.仿真環境如下:
無線網絡的覆蓋范圍為100 m×100 m,節點數為50,數據包大小為512 B,模擬時間為1 000 s,簇半徑為30 m,數據包由CBR流量產生器產生.
3.2 仿真結果分析
三種協議在平均時延方面的對比如圖6 所示.可以看出,IM-TDMA協議比TDMA協議和BCMAC協議的時延都小,這是因為IM-TDMA 協議根據節點流量來動態調節幀長,提高了信道利用率,因而數據的傳輸時延較小.
三種協議在平均能量消耗方面的比較如圖7 所示.由圖7可以看出,當網絡數據流量較大時,TDMA協議的能耗較小;而當網絡數據流量較小時,IM-TDMA協議的能耗較小.這是因為當數據量較大時,簇頭調度開銷所消耗的能量占主導地位,因而TDMA的能耗較BC-MAC和IM-TDMA協議較小.當網絡數據較小時,由于TDMA在沒有數據傳輸時也要保持偵聽狀態,因此能耗較大.而BCMAC 協議雖然不用在整個過程中保持偵聽,但幀長度固定,因而能耗較IM-TDMA協議大.
從仿真結果可以看出,IM-TDMA 協議較TDMA 協議和BCMAC協議在能耗和時延方面更優.
4 結語
本方案是對無線傳感網的MAC協議方案進行的設計.傳統的TDMA 分配方案在時隙分配上采用固定幀長的方式,信道利用率低;在調度方法上偵聽時間過長.過程復雜,造成能量的浪費.文中的IM-TDMA 調度方案能夠克服上述不足,在時隙分配上,采用依據即時信息,動態改變幀長的方式,提高了信道利用率;在調度方法上,采用計數器管理方式,簡化了調度復雜性,節約了能量的消耗.仿真結果表明,本方案效果極好.
評論