基于SMAC的無線傳感器網(wǎng)絡(luò)MAC協(xié)議的分析與優(yōu)化
1.2.6 自適應(yīng)偵聽機(jī)制
自適應(yīng)偵聽機(jī)制的基本思想是:當(dāng)一個節(jié)點(diǎn)收到RTS或者CTS數(shù)據(jù)包,偵聽到鄰居節(jié)點(diǎn)有數(shù)據(jù)通信,就進(jìn)入睡眠,同時記錄它的通信時間。對通信時間的記錄幫助節(jié)點(diǎn)通信結(jié)束后能夠醒來,在一個較短的時間內(nèi)偵聽信道查看是否有數(shù)據(jù)包需要傳遞,這種偵聽同樣是通過是否接收RTS數(shù)據(jù)包和CTS數(shù)據(jù)包來實(shí)現(xiàn)的。通信結(jié)束后節(jié)點(diǎn)會醒來,這個時候節(jié)點(diǎn)進(jìn)入工作狀態(tài),偵聽是否有數(shù)據(jù)包到達(dá),如果有數(shù)據(jù)包到達(dá)則建立信道進(jìn)行通信,如果沒有數(shù)據(jù)包到達(dá),則結(jié)束偵聽,繼續(xù)進(jìn)入睡眠,按照既定調(diào)度方式工作。
2 改進(jìn)的MAC協(xié)議ATC-SMAC
如前面所述,S-MAC協(xié)議由于采用了固定的占空比,它不能根據(jù)網(wǎng)絡(luò)中數(shù)據(jù)流的延遲情況動態(tài)調(diào)整占空比大小,造成了兩個主要的問題。本節(jié)提出了一種新的無線傳感器網(wǎng)絡(luò)的MAC層協(xié)議——ATC-SMAC(Automation of Time Controlled-SMAC),該協(xié)議在S-MAC協(xié)議的基礎(chǔ)上改進(jìn)了固定占空比的劣勢,采用根據(jù)每個節(jié)點(diǎn)上的數(shù)據(jù)包的平均延遲調(diào)整占空比的策略。
2.1 ATC-SMAC協(xié)議的工作原理
ATC-SMAC協(xié)議支持傳感器網(wǎng)絡(luò)中的不同節(jié)點(diǎn)擁有不同的占空比。現(xiàn)在假設(shè)節(jié)點(diǎn)的初始化占空比為P,幀長為T,睡眠時間為Tsleep,工作時間為Tactive,顯然有,P=Tactive/T。設(shè)數(shù)據(jù)包在某節(jié)點(diǎn)的平均阻塞延遲為Tblock。
ATC-SMAC的節(jié)點(diǎn)占空比調(diào)整策略如下:如果Tblock的變化超過了Pctr,那么占空比也要調(diào)整相應(yīng)的比例;不論這種變化是增加還是減少,只要變化的范圍超過了Pctr,占空比都會調(diào)整;根據(jù)Tblock變化的幅度,占空比調(diào)整的幅度也會相應(yīng)地變化。本文中Pctr選為20%,經(jīng)過后面的仿真實(shí)驗(yàn)驗(yàn)證,Pctr為20%的ATC-SMAC協(xié)議要比自適應(yīng)的S-MAC協(xié)議更加優(yōu)秀。為了通過減少節(jié)點(diǎn)的計(jì)算量從而達(dá)到節(jié)省節(jié)點(diǎn)能量的目的,節(jié)點(diǎn)的數(shù)據(jù)包平均時延為兩個同步周期計(jì)算一次。節(jié)點(diǎn)統(tǒng)計(jì)在剛剛過去的兩個同步周期內(nèi)自己轉(zhuǎn)發(fā)的所有數(shù)據(jù)包的延遲。對于每一個數(shù)據(jù)包,在它進(jìn)入節(jié)點(diǎn)的緩沖隊(duì)列的時候,從數(shù)據(jù)包的報(bào)頭中可以看到上一個節(jié)點(diǎn)發(fā)送出該數(shù)據(jù)包的時刻Tin,忽略數(shù)據(jù)在物理介質(zhì)中傳播的時間,記錄該數(shù)據(jù)包從本節(jié)點(diǎn)上發(fā)送出去的時刻Tout,該節(jié)點(diǎn)的延遲Ti=Tout-Tin。對于該節(jié)點(diǎn)轉(zhuǎn)發(fā)的數(shù)據(jù)包1,2,…,n,統(tǒng)計(jì)得出它們的延遲T1,T2,…,Tn,得到該節(jié)點(diǎn)的平均延遲Teven為:
Teven=(T1+T2+…+Tn)/n (1)
節(jié)點(diǎn)除了計(jì)算剛剛過去的兩個同步周期內(nèi)的平均延遲外,還保存上兩個同步周期內(nèi)的平均延遲Tpast。
如果在剛剛過去的兩個同步周期內(nèi),節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)包的量比較大,延遲較高,Teven>Tpast,那么計(jì)算Teven高于Tpast的百分比P,如果P不到20%,那么該節(jié)點(diǎn)的占空比不做調(diào)整;如果P高于20%(包括20%)小于40%,那么該節(jié)點(diǎn)在下一個同步周期的時候?qū)⒆约旱恼伎毡壬险{(diào)20%;如果P高于40%(包括40%)小于60%,那么占空比往上調(diào)整40%;依次類推,如果P高于C%(包括C%,其中C為20的整數(shù)倍)而小于(C+20)%,那么占空比往上調(diào)整C%。
同理可得向下調(diào)整占空比的方式:如果在剛剛過去的兩個同步周期內(nèi),節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)包的量比較小,延遲較低,TevenTpast,那么計(jì)算Teven低于Tpast的百分比P,如果P不到20%,那么該節(jié)點(diǎn)的占空比不做調(diào)整;如果P高于20%(包括20%)小于40%,那么該節(jié)點(diǎn)在進(jìn)入下一個同步周期的時候?qū)⒆约旱恼伎毡认抡{(diào)20%;如果P高于40%(包括40%)小于60%,那么占空比往下調(diào)整40%;依次類推,如果P高于C%(包括C%,其中C為20的整數(shù)倍)而小于(C+20)%,那么占空比往下調(diào)整C%。
占空比向上調(diào)整過程的偽代碼表示如下:
2.2 ATC-SMAC的節(jié)能策略分析
Pctr為20%的基于ATC-SMAC協(xié)議的傳感器在吞吐量、端到端延時以及能量消耗上都要略優(yōu)于動態(tài)的S-MAC協(xié)議。與使用固定占空比的S-MAC協(xié)議相比,ATC-SMAC在吞吐量上平均要比S-MAC協(xié)議高大約1倍;在端到端延時這項(xiàng)上,ATC-SMAC的數(shù)據(jù)包平均時延大約為S-MAC協(xié)議的0.6倍;ATC-SMAC平均每字節(jié)消耗的能量大概為S-MAC協(xié)議的0.4倍。與動態(tài)調(diào)整的S-MAC協(xié)議相比,ATC-SMAC協(xié)議的平均端到端時間大概為動態(tài)S-MAC協(xié)議的70%,ATC-SMAC協(xié)議的平均吞吐量大概為動態(tài)S-MAC協(xié)議的1.2倍,ATC-SMAC平均傳輸每字節(jié)消耗的能量大概為動態(tài)S-MAC協(xié)議的75%。
3 結(jié)語
ATC-SMAC協(xié)議在SMAC協(xié)議的基礎(chǔ)上進(jìn)行了改進(jìn),使用了更加優(yōu)秀的動態(tài)調(diào)整占空比的算法。它可以讓節(jié)點(diǎn)根據(jù)自己流量的變化動態(tài)地調(diào)整自身的占空比。通過仿真結(jié)果,可以看出ATC-SMAC協(xié)議在端到端延遲、能量使用效率以及網(wǎng)絡(luò)吞吐量等方面較S-MAC協(xié)議(自適應(yīng)和非自適應(yīng)兩種)都有一定程度的提高。本文引用地址:http://www.ex-cimer.com/article/161289.htm
評論