CSMA協(xié)議在無線傳感器網(wǎng)絡(luò)中的實(shí)現(xiàn)
2.2 信道活動(dòng)狀態(tài)判斷的擴(kuò)展規(guī)則
擴(kuò)展規(guī)則是為了處理基本規(guī)則不能解決的問題。擴(kuò)展規(guī)則其實(shí)就是擴(kuò)展m次采樣,在這m次的擴(kuò)展采樣中使用對(duì)應(yīng)的擴(kuò)展規(guī)則來判定信道狀態(tài)。擴(kuò)展規(guī)則涉及一些統(tǒng)計(jì)的方法,需要維護(hù)一個(gè)extCSVal的統(tǒng)計(jì)變量。擴(kuò)展規(guī)則如下:
①擴(kuò)展采樣中,判定信道繁忙的規(guī)則與基本規(guī)則一樣。只要檢查到采樣RSSI值大于等于minSignal,就判定為信道忙,然后結(jié)束擴(kuò)展采樣。
②信道空閑的判定與基本規(guī)則不同,因?yàn)橐呀?jīng)處于擴(kuò)展采樣,所以只要檢查到采樣RSSI值小于noiseLevel,就可判定信道為空閑,同時(shí)給出更新閾值的標(biāo)志。
?、廴绻跀U(kuò)展采樣中并沒有出現(xiàn)以上兩種情況,那么就必須要計(jì)算extCSVal來做判斷。先說明賦給extCS2Val的初值,如果最后一次基本采樣的RSSI值介于兩閾值之間,那么直接將這個(gè)RSSI值賦給extCSVal;如果最后一次基本采樣讀取RSSI失敗,那么將第一次擴(kuò)展采樣得到的介于兩閾值之間的RSSI值賦給extCSVal。如果extCSVal已經(jīng)賦值,而擴(kuò)展采樣中又得到了介于兩閾值之間的RSSI值,那么更新extCSVal值:extCSVal=(ex2tCSVal+RSSI)m1(即取平均值)。
?、苋绻鹠次擴(kuò)展采樣,依靠前兩個(gè)規(guī)則仍然不能判斷信道狀態(tài),且最后一次擴(kuò)展采樣的結(jié)果仍然介于兩者之間,那就使用統(tǒng)計(jì)值extCSVal來輔助判斷。規(guī)則如下:如果extCSVal>=((minSignal+noiseLevel)m1),那么就判定信道忙;反之,則判定信道空閑。
?、葑詈笫亲顗牡囊环N情況:當(dāng)擴(kuò)展采樣的最后一次采樣發(fā)生錯(cuò)誤,讀取RSSI值失敗時(shí),并不知道信道的實(shí)際狀況,但也不能一直擴(kuò)展下去,所以判斷為信道繁忙以避免出錯(cuò)。
評(píng)論