
圖2 BCMAC調(diào)度協(xié)議
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ù)傳輸三步。

圖3 IM—TDMA調(diào)度方案
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)值。

圖4 幀結(jié)構(gòu)圖
下面以一個實例來說明:
假設有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時隙中進行傳輸??梢钥闯霰編偟膫鬏敃r隙數(shù)為5(為下一幀的h值)。