一種基于信息熵的WSN節(jié)點(diǎn)擁塞避免機(jī)制
1.2 WSN中信息熵的數(shù)學(xué)定義
在此基于WSN的網(wǎng)絡(luò)模型和信息論,給出WSN節(jié)點(diǎn)的信息熵的數(shù)學(xué)定義。
定義1:節(jié)點(diǎn)信息熵:根據(jù)香農(nóng)的定義,自信息的數(shù)學(xué)期望為信息熵,因此節(jié)點(diǎn)信息熵表示節(jié)點(diǎn)N每發(fā)送一個(gè)數(shù)據(jù)包所提供的平均信息量:
式中:q表示ai(i=1,2,…,q-1,q)的取值有q種可能性;P(ai)為字符ai出現(xiàn)的概率,節(jié)點(diǎn)信息熵H(X)表征了傳感器節(jié)點(diǎn)整體的統(tǒng)計(jì)特征,是總體平均不確定性的量度(單位:比特/數(shù)據(jù)包)。式(1)中的單位取決于對數(shù)函數(shù)的底數(shù)。本文中,取對數(shù)函數(shù)底數(shù)為2,即表示每個(gè)數(shù)據(jù)包含有1比特的信息量。
在無線傳感器網(wǎng)絡(luò)中,節(jié)點(diǎn)感知到的數(shù)據(jù)既存在一定的差異又有一定的冗余,為了表征節(jié)點(diǎn)之間的這種關(guān)系,下面引入了節(jié)點(diǎn)相對信息熵。
定義2:節(jié)點(diǎn)相對信息熵:假設(shè)P和Q是兩個(gè)概率分布函數(shù),則定義P相對于Q的信息距離即節(jié)點(diǎn)相對信息熵為:
式中:Pi和Qi為一個(gè)字符在節(jié)點(diǎn)中所出現(xiàn)的概率。
節(jié)點(diǎn)相對信息熵可用于計(jì)算任意兩節(jié)點(diǎn)之間節(jié)點(diǎn)信息熵的差異性的大小。它的物理意義是兩組概率分布之間的差異性程度,因而對于兩組不同的概率分布P和Q,計(jì)算其節(jié)點(diǎn)相對信息熵D(P‖Q),如果這個(gè)值越小,表明兩組概率分布越接近,這兩個(gè)節(jié)點(diǎn)之間的數(shù)據(jù)相似程度越大,則節(jié)點(diǎn)P就可以減少向節(jié)點(diǎn)Q發(fā)送數(shù)據(jù)包以保證網(wǎng)絡(luò)的暢通。對于極限情況,當(dāng)D(P‖Q)=0時(shí),表示兩組概率分布完全相等,則這兩個(gè)節(jié)點(diǎn)之間的數(shù)據(jù)幾乎一樣,此時(shí),節(jié)點(diǎn)P可以暫停向節(jié)點(diǎn)Q發(fā)送數(shù)據(jù)包。
1.3 基于節(jié)點(diǎn)信息熵的擁塞避免策略
在一種路由協(xié)議機(jī)制下,若一個(gè)數(shù)據(jù)包從節(jié)點(diǎn)u發(fā)送至鄰居節(jié)點(diǎn)d,則稱u是d的上游節(jié)點(diǎn),d是u的下游節(jié)點(diǎn)。在本文的網(wǎng)絡(luò)模型中,總是假設(shè)路由機(jī)制是靜態(tài)的或是很少進(jìn)行更新的,因此可知每個(gè)下游節(jié)點(diǎn)d總是可以知道有多少個(gè)上游節(jié)點(diǎn)u。按照上述基本假設(shè),本文提出的擁塞避免策略過程如圖2所示。本文引用地址:http://butianyuan.cn/article/161901.htm
1.4 算法的分析與實(shí)現(xiàn)
在這里以雙重身份節(jié)點(diǎn)m(節(jié)點(diǎn)m既可以看作下游節(jié)點(diǎn),也可以看作上游節(jié)點(diǎn))作為主要考慮節(jié)點(diǎn),首先當(dāng)節(jié)點(diǎn)m作為上游節(jié)點(diǎn)時(shí),向其自己的上游節(jié)點(diǎn)發(fā)送消息req>,然后根據(jù)上游節(jié)點(diǎn)集反饋回來的消息req>來計(jì)算節(jié)點(diǎn)相對信息熵的大小,根據(jù)計(jì)算出來的節(jié)點(diǎn)相對信息熵的大小來決定其分配的發(fā)送數(shù)據(jù)窗的大小。其中消息req>主要包含發(fā)送節(jié)點(diǎn)的id、各數(shù)據(jù)包的信息量大小以及統(tǒng)計(jì)特性等信息。具體的擁塞避免算法實(shí)現(xiàn)過程如下:
(1)如果節(jié)點(diǎn)m發(fā)送數(shù)據(jù)窗SDWm>0且當(dāng)前信道可用,則節(jié)點(diǎn)m根據(jù)其收到的下游節(jié)點(diǎn)發(fā)送的廣播消息LMS>來決定發(fā)送自己的數(shù)據(jù)窗大??;
(2)否則節(jié)點(diǎn)m發(fā)送數(shù)據(jù)窗SDWm=0,然后向其上游節(jié)點(diǎn)集發(fā)送消息req>;
(3)如果僅作為上游節(jié)點(diǎn)u的發(fā)送數(shù)據(jù)窗SDWm>0,則上游節(jié)點(diǎn)u退出上游節(jié)點(diǎn)集,此時(shí)上游節(jié)點(diǎn)u不響應(yīng)下游節(jié)點(diǎn)d發(fā)送的req>,也不發(fā)送消息req>;
(4)如果僅作為上游節(jié)點(diǎn)u發(fā)送數(shù)據(jù)窗SDWm=0,上游節(jié)點(diǎn)集則向下游節(jié)點(diǎn)發(fā)送消息(req>;
(5)下游節(jié)點(diǎn)m收到消息req>開始計(jì)算節(jié)點(diǎn)相對信息熵的大?。?br /> (6)根據(jù)計(jì)算得到節(jié)點(diǎn)相對信息熵的大小向上游節(jié)點(diǎn)集廣播消息LMS>,通知上游節(jié)點(diǎn)u各自發(fā)送數(shù)據(jù)窗的大小,然后上游節(jié)點(diǎn)u根據(jù)收到的發(fā)送數(shù)據(jù)窗的大小來決定向下游節(jié)點(diǎn)發(fā)送一定數(shù)量的數(shù)據(jù)包,其中廣播消息LMS>主要包括發(fā)送節(jié)點(diǎn)id及相應(yīng)發(fā)送數(shù)據(jù)窗的大小,且各發(fā)送數(shù)據(jù)包的大小之和小于本地可用緩沖區(qū)間。
在上述過程中,若上游節(jié)點(diǎn)u當(dāng)前的發(fā)生數(shù)據(jù)窗大于0,則不響應(yīng)下游節(jié)點(diǎn)d發(fā)送的req>,也不發(fā)送消息req>,此時(shí)下游節(jié)點(diǎn)d不為上游節(jié)點(diǎn)u重新分配發(fā)送數(shù)據(jù)窗;若上游節(jié)點(diǎn)u完成了當(dāng)前的發(fā)生數(shù)據(jù)窗,則等待下游節(jié)點(diǎn)d發(fā)送下一個(gè)消息req>。因此每個(gè)上游節(jié)點(diǎn)只有在收到消息LMS>和之后的req>之間發(fā)送數(shù)據(jù)包,可得知下游節(jié)點(diǎn)d處不會產(chǎn)生數(shù)據(jù)擁塞,整個(gè)網(wǎng)絡(luò)的節(jié)點(diǎn)擁塞因此而避免發(fā)生。
2 實(shí)驗(yàn)仿真
為了驗(yàn)證本文所提出的避免節(jié)點(diǎn)擁塞機(jī)制的性能,選取經(jīng)典的CODA算法作比較。現(xiàn)假設(shè)本文的仿真實(shí)驗(yàn)環(huán)境設(shè)置如下:
(1)選取200個(gè)節(jié)點(diǎn)隨機(jī)部署在600×600的正方形區(qū)域內(nèi),基站選擇在該區(qū)域邊界上;
(2)節(jié)點(diǎn)的位置是固定的,且節(jié)點(diǎn)之間的通信半徑R=50,網(wǎng)絡(luò)帶寬設(shè)置為1 Mb/s;
(3)信道質(zhì)量相對可靠,可忽略信道對誤碼率的影響,源節(jié)點(diǎn)產(chǎn)生的數(shù)據(jù)包大小相同,且報(bào)文的產(chǎn)生率為每單位時(shí)間10個(gè)數(shù)據(jù)包,節(jié)點(diǎn)可用最大緩沖區(qū)間為15個(gè)數(shù)據(jù)包。
評論