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