寸怡鵬 唐濤 王 菲 姜德航 謝卓然
摘 要
無源無線傳感器網(wǎng)絡(luò)中選擇多跳路由進(jìn)行數(shù)據(jù)傳輸時(shí),很容易出現(xiàn)傳感器節(jié)點(diǎn)選擇不合理引發(fā)的過載現(xiàn)象,嚴(yán)重時(shí)會(huì)導(dǎo)致網(wǎng)絡(luò)癱瘓,這對(duì)網(wǎng)絡(luò)傳輸性能會(huì)產(chǎn)生很不利影響。本文對(duì)這種問題產(chǎn)生原因進(jìn)行分析,而引入時(shí)分多址技術(shù),并結(jié)合網(wǎng)絡(luò)拓?fù)涮卣鳎岢鲆环N通過合理分配超幀時(shí)隙和選擇中繼節(jié)點(diǎn)的多跳路由算法。在無源無線傳感器網(wǎng)絡(luò)中部署多節(jié)點(diǎn)進(jìn)行多跳路由傳輸測(cè)試,驗(yàn)證了該多跳路由算法的可行性。
關(guān)鍵詞
無源無線傳感器網(wǎng)絡(luò);多跳路由;時(shí)分多址
中圖分類號(hào): TN929.5;TP212.9 ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.19694/j.cnki.issn2095-2457.2020.11.017
0 引言
隨著目前傳感器節(jié)點(diǎn)的尺寸功耗不斷降低,性能日益提升,其應(yīng)用領(lǐng)域開始迅速擴(kuò)大[1]。傳感器節(jié)點(diǎn)大部分都用到移動(dòng)電源提供能量,這對(duì)其環(huán)境適用性產(chǎn)生一定不利影響。為有效地避免這一問題,無源無線傳感器網(wǎng)絡(luò)被研發(fā)出。無源無線傳感器網(wǎng)絡(luò)是指能夠收集能量,并且能采集數(shù)據(jù)、計(jì)算、組網(wǎng)傳輸數(shù)據(jù)的網(wǎng)絡(luò),通常用于沒有穩(wěn)定供電的應(yīng)用場(chǎng)景[2]。
1 研究背景
圖1顯示了這種網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)情況,分析可知其中的組成單元主要有傳感器節(jié)點(diǎn)和網(wǎng)關(guān)??苫趥鞲衅鞴?jié)點(diǎn)的位置進(jìn)行劃分,而將這種網(wǎng)絡(luò)劃分為不同的區(qū)域,從1到H區(qū)。其中H代表總區(qū)數(shù),各區(qū)域中的傳感器節(jié)點(diǎn)為4個(gè),對(duì)這些節(jié)點(diǎn)依據(jù)順序編碼序,各區(qū)域內(nèi)的節(jié)點(diǎn)依據(jù)逆時(shí)針順序編碼,全部節(jié)點(diǎn)一直編碼從1到N,通過編碼相關(guān)十六進(jìn)制數(shù)描述這些節(jié)點(diǎn)的位置。其中第一個(gè)區(qū)域的中繼節(jié)點(diǎn)為網(wǎng)關(guān),由其他區(qū)域的中繼節(jié)點(diǎn)基于對(duì)應(yīng)的方案確定。在進(jìn)行傳感器節(jié)點(diǎn)的數(shù)據(jù)傳輸時(shí),依據(jù)從h+1到h區(qū)的順序進(jìn)行。
對(duì)這種網(wǎng)絡(luò)而言,節(jié)點(diǎn)一般通過多跳路由網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸,每個(gè)節(jié)點(diǎn)均有可能被選為中繼節(jié)點(diǎn)。如果某節(jié)點(diǎn)長(zhǎng)時(shí)間執(zhí)行數(shù)據(jù)轉(zhuǎn)發(fā)的任務(wù),則該節(jié)點(diǎn)的電量將消耗殆盡,與此同時(shí),鄰居節(jié)點(diǎn)由于沒有進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),其剩余電量仍然較多,將造成網(wǎng)絡(luò)中能耗分布不均的問題。利用無源無線傳感器網(wǎng)絡(luò)可以收集能量的特點(diǎn),設(shè)計(jì)一種保證節(jié)點(diǎn)間能耗均衡的多跳路由算法成了無線傳感器領(lǐng)域的研究熱點(diǎn)。
在無源無線傳感器網(wǎng)絡(luò)多跳路由過程中通常采用載波偵聽多路訪問(CSMA)機(jī)制來調(diào)度節(jié)點(diǎn)訪問無線網(wǎng)絡(luò)的順序和時(shí)間。但是采用該機(jī)制可能導(dǎo)致信息在傳輸信道上相互沖突而遭到破壞,為此CSMA采用了CSMA/CA(Collision Avoidance)和CSMA/CD(Collision Detection)的方法來減少或者避免沖突的發(fā)生。這兩種方法均會(huì)通過隨機(jī)等待一段時(shí)間發(fā)送數(shù)據(jù)來避免沖突的發(fā)生,存在無法保證傳輸實(shí)時(shí)性的問題。
2 多跳路由算法改進(jìn)
節(jié)點(diǎn)在進(jìn)行數(shù)據(jù)傳輸過程中需要消耗能量,為了解決網(wǎng)絡(luò)中能耗分布不均的問題,需要合理選擇每個(gè)區(qū)的中繼節(jié)點(diǎn),使得每個(gè)區(qū)內(nèi)節(jié)點(diǎn)根據(jù)自身情況輪流承擔(dān)數(shù)據(jù)轉(zhuǎn)發(fā)的任務(wù)。為了能改進(jìn)多跳路由算法,本文分配了超幀時(shí)隙并且設(shè)計(jì)了中繼節(jié)點(diǎn)選擇方案。
2.1 超幀時(shí)隙
為有效地避免這種傳感器網(wǎng)絡(luò)中CSMA機(jī)制造成的通信沖突問題,本文使用了無線傳感器網(wǎng)絡(luò)通信技術(shù)中的時(shí)分多址方式[3]。
在將時(shí)分多址技術(shù)應(yīng)用于多跳路由算法的過程中,需要對(duì)超幀的時(shí)隙進(jìn)行合理分配。下圖2顯示了超幀時(shí)隙的分配相關(guān)情況,具體分析可知其中,t代表節(jié)點(diǎn)運(yùn)行在第t個(gè)活躍周期。對(duì)這種周期而言,其對(duì)應(yīng)的超幀可進(jìn)一步劃分為7個(gè)時(shí)隙段,可實(shí)現(xiàn)的功能主要如重選通知、選擇結(jié)果反饋、數(shù)據(jù)采集、休眠等。其中各時(shí)隙段可進(jìn)一步劃分為Hi個(gè)時(shí)隙,各時(shí)隙長(zhǎng)表示為L(zhǎng)slot,這樣就可計(jì)算出時(shí)隙段長(zhǎng)度表示為HiLslot,一般情況下Lslot為10ms。
2.2 中繼節(jié)點(diǎn)選擇方案
首先,提出了一種根據(jù)網(wǎng)絡(luò)中節(jié)點(diǎn)的多種指標(biāo)來動(dòng)態(tài)選擇中繼節(jié)點(diǎn)的方法;其次,中繼節(jié)點(diǎn)需要根據(jù)自身的剩余電量和能量收集速率來決定是否需要重新選擇中繼節(jié)點(diǎn);最后,以網(wǎng)絡(luò)中節(jié)點(diǎn)的一個(gè)工作周期為例,設(shè)計(jì)了中繼節(jié)點(diǎn)選擇方案的流程。
2.2.1 中繼節(jié)點(diǎn)動(dòng)態(tài)選擇
在選擇中繼節(jié)點(diǎn)過程中應(yīng)用了不同權(quán)重系數(shù)多種指標(biāo)的能耗均衡策略[4]。對(duì)與此相關(guān)的中繼節(jié)點(diǎn)進(jìn)行選擇時(shí),單純選擇節(jié)點(diǎn)剩余電量等指標(biāo)為依據(jù)。為更好地滿足所選中繼節(jié)點(diǎn)的質(zhì)量要求,對(duì)多種指標(biāo)都進(jìn)行分析,在剩余電量基礎(chǔ)上,還分析了其功耗和RSSI值[5]。根據(jù)指標(biāo)相關(guān)的信息量進(jìn)行分析,設(shè)置出合理的權(quán)重系數(shù)給各指標(biāo)。確定出全部指標(biāo)和對(duì)應(yīng)權(quán)重系數(shù)乘積之和,然后進(jìn)行對(duì)比分析,確定出值最大的節(jié)點(diǎn),將此節(jié)點(diǎn)當(dāng)作為目標(biāo)節(jié)點(diǎn)。
首先,確保在一個(gè)周期數(shù)據(jù)傳輸過程中,傳感器節(jié)點(diǎn)不會(huì)出現(xiàn)中斷的現(xiàn)象,為此需要設(shè)定一個(gè)閾值電量Eth進(jìn)行判斷,在發(fā)現(xiàn)傳感器節(jié)點(diǎn)的剩余電量低于設(shè)定的閾值情況下結(jié)束工作。設(shè)當(dāng)前節(jié)點(diǎn)的剩余電量為Eremain,傳輸數(shù)據(jù)時(shí)的功耗為Psend,分配的發(fā)送時(shí)隙時(shí)間具體表示為Tsend。對(duì)全部的待選節(jié)點(diǎn)進(jìn)行遍歷,如果發(fā)現(xiàn)其符合條件Eremain-PsendTsend>Eth,則認(rèn)為結(jié)束此周期的傳輸后其剩余電量高于閾值,如果不滿足此條件則不選擇其當(dāng)作為中繼節(jié)點(diǎn),結(jié)束后對(duì)列表進(jìn)行更新。
其次,通過公式評(píng)分法對(duì)中繼節(jié)點(diǎn)進(jìn)行評(píng)分,相應(yīng)的流程如下:根據(jù)要求設(shè)置適當(dāng)?shù)闹笜?biāo)和相關(guān)權(quán)重系數(shù),,在此分析過程中假設(shè)X1為剩余電量,X2為發(fā)射功率,X3表示RSSI值,Wi為指標(biāo)i的權(quán)重系數(shù)。在對(duì)各指標(biāo)的權(quán)重系數(shù)進(jìn)行分析時(shí),選擇了信息量權(quán)數(shù)法,這種方法在設(shè)置時(shí)主要依據(jù)指標(biāo)的信息量進(jìn)行,基于變異系數(shù)法進(jìn)行判斷,設(shè)置的權(quán)重系數(shù)大小和變異幅度正相關(guān)。
體系中包含m個(gè)指標(biāo),設(shè)其中的指標(biāo)Xi有n個(gè)樣本,設(shè)的應(yīng)用其均值,Si為相關(guān)的標(biāo)準(zhǔn)差,這種情況下可通過如下表達(dá)式確定出其變異系數(shù)為:
將CV設(shè)置為不同指標(biāo)的權(quán)重得分,進(jìn)行歸一化處理后就可確定出的對(duì)應(yīng)指標(biāo)的權(quán)重系數(shù)。在此過程中還應(yīng)該確定出此種系數(shù)的正負(fù)號(hào),也就是指標(biāo)值增加后,對(duì)應(yīng)的貢獻(xiàn)變化方向。選擇中繼節(jié)點(diǎn)應(yīng)該依據(jù)一定的原則,主要是剩余電量多,這樣可確保在運(yùn)行過程中網(wǎng)絡(luò)全部節(jié)點(diǎn)的能耗均衡,提高網(wǎng)絡(luò)運(yùn)行的穩(wěn)定性。因而應(yīng)該設(shè)置剩余電量指標(biāo)的權(quán)重系數(shù)為正。而功耗小則節(jié)點(diǎn)被選擇為中繼節(jié)點(diǎn)的可能性較高,在選擇后設(shè)置發(fā)射功率為對(duì)應(yīng)子節(jié)點(diǎn)的,由此分析可確定出發(fā)射功率指標(biāo)的這種系數(shù)為負(fù)。最后,相關(guān)RSSI值大的節(jié)點(diǎn)被選擇為中繼節(jié)點(diǎn),此參數(shù)和兩節(jié)點(diǎn)的間距存在負(fù)相關(guān)關(guān)系,其數(shù)值大則說明在數(shù)據(jù)傳輸中不容易受到環(huán)境因素的干擾,因而此指標(biāo)的權(quán)重系數(shù)為正??稍谝陨戏治龌A(chǔ)上確定出三類指標(biāo)的權(quán)重系數(shù)結(jié)果如下:
接著設(shè)xi為Xi的第n個(gè)樣本,這樣可通過如下的表達(dá)式確定出選擇參數(shù)RN
進(jìn)行對(duì)比分析,確定出RN值最大的節(jié)點(diǎn),將其設(shè)置為目標(biāo)節(jié)點(diǎn),后者對(duì)狀態(tài)進(jìn)行調(diào)整后,依據(jù)超幀時(shí)隙相關(guān)要求進(jìn)行子節(jié)點(diǎn)數(shù)據(jù)的接收。
2.2.2 中繼節(jié)點(diǎn)周期更換
在確定出合適的中繼節(jié)點(diǎn)后,接著應(yīng)分析怎樣情況下需要更換中繼節(jié)點(diǎn)。根據(jù)實(shí)際的經(jīng)驗(yàn)可知,節(jié)點(diǎn)在運(yùn)行過程中可收集附近的環(huán)境能量,這可基于支持向量回歸發(fā)放進(jìn)行預(yù)測(cè)[6]。中繼節(jié)點(diǎn)可通過這種方法預(yù)測(cè)出下一個(gè)數(shù)據(jù)處理周期內(nèi)收集的能量,并計(jì)算確定出此周期結(jié)束后的剩余電量。在判斷發(fā)現(xiàn)剩余的電量低于閾值情況下,為滿足其后的正常運(yùn)行要求,其會(huì)給自己的子節(jié)點(diǎn)發(fā)送重選廣播,讓后者重新選擇中繼節(jié)點(diǎn)。
在此設(shè)置的訓(xùn)練數(shù)據(jù)為最近一段時(shí)間內(nèi)收集的能量數(shù)據(jù),其中Ei對(duì)應(yīng)于i周期收集的能量,可據(jù)此預(yù)測(cè)出下周期可收集的能量。
支持向量回歸過程中,需要確定出一個(gè)線性函數(shù),控制此函數(shù)與訓(xùn)練數(shù)據(jù)差值低于ε,設(shè)線性函數(shù)可具體表示如下:
代入訓(xùn)練數(shù)據(jù)就能確定出此線性函數(shù),然后就可預(yù)測(cè)出下周期中繼節(jié)點(diǎn)收集的能量Eharvest。如式(14),而下周期結(jié)束后其剩余電量Enext可基于如下表達(dá)式確定出
在對(duì)比分析發(fā)現(xiàn)剩余電量小于設(shè)定的閾值時(shí),則認(rèn)為下一周期數(shù)據(jù)傳輸完畢后,中繼節(jié)點(diǎn)的電量不足而關(guān)閉,此時(shí),條件下中繼節(jié)點(diǎn)會(huì)發(fā)送重選信息給子節(jié)點(diǎn)。
2.2.3 中繼節(jié)點(diǎn)選擇方案流程
以下以一個(gè)工作周期為例,設(shè)計(jì)出選擇中繼節(jié)點(diǎn)的流程,具體情況如圖3。在此選擇過程中先初步選擇中繼節(jié)點(diǎn),且計(jì)算確定出鄰居區(qū)節(jié)點(diǎn)的剩余電量。然后依據(jù)條件將其中不滿足要求的節(jié)點(diǎn)排除。接著依據(jù)剩余電量、發(fā)射功率和RSSI值相關(guān)指標(biāo)進(jìn)行計(jì)算確定出各候選節(jié)點(diǎn)的RN值,進(jìn)行對(duì)比分析確定出最大值對(duì)應(yīng)的節(jié)點(diǎn),將其設(shè)置為中繼節(jié)點(diǎn)。后者在運(yùn)行過程中采集和傳輸結(jié)束后預(yù)測(cè)分析下一個(gè)周期內(nèi)收集的能量,然后進(jìn)行判斷,如發(fā)現(xiàn)不滿足條件,則發(fā)送重選信息給子節(jié)點(diǎn),其后進(jìn)入休眠狀態(tài)。
3 測(cè)試驗(yàn)證
3.1 測(cè)試拓?fù)?/p>
圖4顯示出這種網(wǎng)絡(luò)的測(cè)試拓?fù)鋱D,分析可知此網(wǎng)絡(luò)包含十六個(gè)節(jié)點(diǎn),可總體上劃分為4個(gè)區(qū),對(duì)其中各區(qū)內(nèi)的節(jié)點(diǎn)依據(jù)逆時(shí)針順序編號(hào)。網(wǎng)關(guān)用于對(duì)全部節(jié)點(diǎn)發(fā)送的數(shù)據(jù)進(jìn)行接收,和這種網(wǎng)絡(luò)數(shù)據(jù)傳輸相關(guān)的報(bào)文主要含有中繼節(jié)點(diǎn)初選廣播包、中繼節(jié)點(diǎn)重選廣播包和路由轉(zhuǎn)發(fā)數(shù)據(jù)包等,相關(guān)情況如下所示[7]。
3.2 中繼節(jié)點(diǎn)選擇測(cè)試
在此測(cè)試過程中設(shè)置第3區(qū)全部節(jié)點(diǎn)開始選擇中繼節(jié)點(diǎn),對(duì)此區(qū)域中的9-12號(hào)節(jié)點(diǎn)進(jìn)行對(duì)比分析,確定出中繼節(jié)點(diǎn),在選擇時(shí)依據(jù)圖2相關(guān)的超幀時(shí)隙進(jìn)行,在中繼節(jié)點(diǎn)確定出之后進(jìn)行數(shù)據(jù)的傳輸。
3.3 中繼節(jié)點(diǎn)更換測(cè)試
中繼節(jié)點(diǎn)在運(yùn)行過程中預(yù)測(cè)下一個(gè)工作周期內(nèi)收集的能量,并計(jì)算分析確定出此周期結(jié)束后的剩余電量。在對(duì)比發(fā)現(xiàn)剩余電量值低于設(shè)定值情況下,其會(huì)發(fā)送重選廣播包到子節(jié)點(diǎn),然后對(duì)中繼節(jié)點(diǎn)進(jìn)行重選擇。9號(hào)節(jié)點(diǎn)在進(jìn)行中繼節(jié)點(diǎn)的更換時(shí),依據(jù)圖6相關(guān)的順序進(jìn)行。在確定出下一周期的中繼節(jié)點(diǎn)后后,通過其進(jìn)行數(shù)據(jù)的轉(zhuǎn)發(fā)。在中繼節(jié)點(diǎn)更換過程中,6號(hào)節(jié)點(diǎn)發(fā)送了這種重選廣播包,5、7、8號(hào)節(jié)點(diǎn)則傳輸了初選廣播包,9號(hào)傳輸了反饋廣播包,7號(hào)傳輸了確認(rèn)廣播包。在以上操作基礎(chǔ)上,9號(hào)節(jié)點(diǎn)的重選工作實(shí)現(xiàn),中繼節(jié)點(diǎn)從6號(hào)變?yōu)?號(hào)。
3.4 數(shù)據(jù)傳輸測(cè)試
在三次廣播選擇完畢后,節(jié)點(diǎn)發(fā)送自身采集的信息到中繼節(jié)點(diǎn)。以第3區(qū)9號(hào)節(jié)點(diǎn)的數(shù)據(jù)傳輸為例進(jìn)行說明,此節(jié)點(diǎn)選擇了6號(hào)節(jié)點(diǎn)當(dāng)作自己中繼節(jié)點(diǎn),這樣其需要發(fā)送數(shù)據(jù)包給6號(hào)節(jié)點(diǎn)。
路由轉(zhuǎn)發(fā)數(shù)據(jù)包的具體過程如下圖7,分析此圖可知,節(jié)點(diǎn)的數(shù)據(jù)包源和目標(biāo)地址分別為0x0009、0x0006。在此條件下9號(hào)節(jié)點(diǎn)被選中為中繼節(jié)點(diǎn),因而對(duì)應(yīng)的角色值為0x01。網(wǎng)絡(luò)報(bào)文類型值為0x06,其中包含了80個(gè)字節(jié)信息,并且對(duì)應(yīng)的序列段值為0x0000,進(jìn)而判斷出其屬于一個(gè)路由轉(zhuǎn)發(fā)數(shù)據(jù)包。
4 結(jié)論
本文對(duì)無源無線傳感器網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行論述,且針對(duì)這種網(wǎng)絡(luò)而設(shè)置了一類多跳路由算法,介紹了多跳路由的網(wǎng)絡(luò)拓?fù)?,設(shè)計(jì)了超幀時(shí)隙和中繼節(jié)點(diǎn)選擇方案,并通過分析傳感器節(jié)點(diǎn)在中繼節(jié)點(diǎn)選擇、中繼節(jié)點(diǎn)更換以及數(shù)據(jù)傳輸過程的網(wǎng)絡(luò)報(bào)文對(duì)多跳路由算法進(jìn)行了測(cè)試驗(yàn)證。驗(yàn)證結(jié)果表明,節(jié)點(diǎn)可通過該多跳路由算法在無源無線傳感器網(wǎng)絡(luò)中實(shí)現(xiàn)數(shù)據(jù)的傳輸。
參考文獻(xiàn)
[1]Ilyas M,Mahgoub I.Smart Dust:Sensor network applications,architecture and design[M].CRC press,2016.
[2]羊威.車載無源無線傳感器網(wǎng)絡(luò)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京交通大學(xué),2018. 1-12.
[3]YANG D,XU Y,WANG H,et al.Assignment of segmented slots enabling reliable real-time transmission in industrial wireless sensor net-works[J].IEEE Transactions on Industrial Electronics,2015,62(6):3966-3977.
[4]Wu Y,Qian L P,Huang L,et al.Optimal Relay Selection and Power Control for Energy-Harvesting Wireless Relay Networks[J].IEEE Transactions on Green Comm unications & Networking,2017,2(2):471-481.
[5]Awang A,Lagrange X,Ros D.RSSI-Based Forwarding for Multihop Wireless Sensor Networks[C].Open European Summer School &Ifip Tc66 Workshop on the Internet of the Future.Springer-Verlag,2009.
[6]Smola A J,Sch?lkopf B.A tutorial on support vector regression[J].Statistics and com puting,2004,14(3):199-222.
[7]802.15.4e-2012–IEEE Approved Draft Standard for Local and Metropolitan Area Networks Part 15.4:Low Rate Wireless Personal Area Networks(LR-WPANs) Amendment to the MAC sub-layer,2012.