徐金鵬,李曉卉+,丁月民,張 尉,張 震
(1.武漢科技大學(xué) 信息科學(xué)與工程學(xué)院,湖北 武漢 430081;2.天津理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,天津 300384;3.武漢市農(nóng)業(yè)科學(xué)技術(shù)研究院 農(nóng)業(yè)機(jī)械化科學(xué)研究所,湖北 武漢 430345;4.深圳市柳丁網(wǎng)科技有限公司,廣州 深圳 518040)
在智能家居無(wú)線傳感器網(wǎng)絡(luò)(wireless sensor networks in smart home,WSNSH)的實(shí)際部署中,復(fù)雜房屋結(jié)構(gòu)往往會(huì)帶來(lái)復(fù)雜的電磁環(huán)境,從而影響WSNSH網(wǎng)絡(luò)性能[1-3]。例如傳感器節(jié)點(diǎn)間的無(wú)線信道會(huì)受到地面、墻面及人體移動(dòng)等的反射與散射影響,鏈路連通狀態(tài)不穩(wěn)定,通信會(huì)發(fā)生頻繁中斷[4]。在這種鏈路不穩(wěn)定的狀態(tài)下,智能家居中某些重要的安全預(yù)警信息可能無(wú)法及時(shí)傳出,從而造成嚴(yán)重的安全隱患。
目前ZigBee網(wǎng)絡(luò)被廣泛用于WSNSH工程實(shí)踐中[5],其默認(rèn)路由算法AODVjr通常通過(guò)洪泛路由請(qǐng)求包的方式,確保在衰落環(huán)境下找到一條有效路由[6]。但存在以下兩個(gè)問(wèn)題:其一,AODVjr洪泛路由開銷較大,其本身并未考慮室內(nèi)信道衰落對(duì)路由穩(wěn)定性的影響,無(wú)法預(yù)測(cè)路由過(guò)程中室內(nèi)信道的質(zhì)量并做出自適應(yīng)調(diào)整的行為,故其在WSNSH室內(nèi)衰落環(huán)境中表現(xiàn)出的實(shí)際性能不高;其二,ZigBee節(jié)點(diǎn)鄰居表中雖然用鏈路質(zhì)量指示(link quality indicator,LQI)來(lái)評(píng)估鏈路狀態(tài),可以被用來(lái)輔助路由決策,但是LQI需通過(guò)反復(fù)收發(fā)信標(biāo)幀來(lái)確定其值[7],這給路由造成額外開銷。
針對(duì)以上兩個(gè)問(wèn)題,本文提出一種基于鏈路狀態(tài)感知的智能家居無(wú)線傳感器網(wǎng)絡(luò)路由算法(link state aware routing,LSAR-AODVjr),該算法在AODVjr的基礎(chǔ)上引入ETX-SH(expected transmission count for smart home)替代LQI表征衰落環(huán)境中WSNSH無(wú)線鏈路的狀態(tài),并在ADOVjr中使用定向路由發(fā)現(xiàn)提高數(shù)據(jù)包投遞率減少路由開銷,自適應(yīng)建立狀態(tài)更優(yōu)的路由路徑。
WSNSH的結(jié)構(gòu)一般如圖1所示。該網(wǎng)絡(luò)通常由終端節(jié)點(diǎn)、路由節(jié)點(diǎn)與協(xié)調(diào)器節(jié)點(diǎn)組成[8],網(wǎng)絡(luò)中節(jié)點(diǎn)通常都是固定節(jié)點(diǎn),其中終端節(jié)點(diǎn)一般用于采集傳感信息,如溫濕度、可燃?xì)怏w、紅外監(jiān)測(cè)等[9];路由節(jié)點(diǎn)用于將數(shù)據(jù)轉(zhuǎn)發(fā)至協(xié)調(diào)器節(jié)點(diǎn)[10];協(xié)調(diào)器節(jié)點(diǎn)則負(fù)責(zé)網(wǎng)絡(luò)的建立與數(shù)據(jù)的匯總[11]。
圖1 智能家居無(wú)線傳感器網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
對(duì)WSNSH中的節(jié)點(diǎn)做如下規(guī)定:①每個(gè)節(jié)點(diǎn)都具有相同發(fā)射功率PTx;②每個(gè)節(jié)點(diǎn)具有相同的最小接收靈敏度PRx。令鏈路衰落程度Ψ=PTx/PR(分貝形式為ΨdB=10lg(PTx/PR)),其中PR為信號(hào)經(jīng)過(guò)信道傳輸后被接收時(shí)的信號(hào)強(qiáng)度,則當(dāng)接收信號(hào)強(qiáng)度大于最小接收靈敏度,即PR≥PRx時(shí),該信號(hào)可被正確接收。
(1)
式中:ζ=10/ln10,μΨdB為ΨdB的均值,σΨdB為ΨdB的標(biāo)準(zhǔn)差。
(2)
為感知并快速預(yù)測(cè)鏈路狀態(tài)的變化,本文引入ETX-SH(expected transmission count for smart home)用以表征衰落環(huán)境中WSNSH無(wú)線鏈路的狀態(tài)?;贓TX-SH與AODVjr,本文提出一種適用于衰落環(huán)境下的WSNSH路由算法——LSAR-AODVjr。
由于WSNSH中節(jié)點(diǎn)能量有限,為盡量降低獲取鏈路狀態(tài)帶來(lái)的額外開銷,本文引入ETX-SH快速預(yù)測(cè)通過(guò)某條鏈路發(fā)送數(shù)據(jù)包所需的傳輸次數(shù)(包括重傳次數(shù))以預(yù)測(cè)鏈路狀態(tài)。在預(yù)測(cè)到所需傳輸次數(shù)較高,即鏈路狀態(tài)不穩(wěn)定時(shí),自適應(yīng)調(diào)整路由路徑,達(dá)到優(yōu)化網(wǎng)絡(luò)性能的效果。
ETX-SH由兩部分組成:初始值與預(yù)測(cè)值。初始值用于預(yù)測(cè)在從未發(fā)生投遞過(guò)程的鏈路上投遞數(shù)據(jù)包所需的傳輸次數(shù);預(yù)測(cè)值用于根據(jù)當(dāng)前投遞所用的實(shí)際傳輸次數(shù)快速預(yù)測(cè)后續(xù)時(shí)刻投遞所需的傳輸次數(shù)。
2.1.1 ETX-SH初始值
ETX-SH初始值的定義為數(shù)據(jù)包投遞成功率的倒數(shù),可根據(jù)節(jié)點(diǎn)性能預(yù)測(cè)初始狀態(tài)下節(jié)點(diǎn)間無(wú)線鏈路的穩(wěn)定性,任意兩節(jié)點(diǎn)vi與vj間鏈路eij的ETX-SH初始值可由下述公式計(jì)算
(3)
(4)
式中:ΨT為鏈路衰落閾值,p(Ψ)為式(1)所知的概率密度函數(shù)。在沒(méi)有歷史收發(fā)狀況的情況下,根據(jù)節(jié)點(diǎn)性能來(lái)預(yù)測(cè)鏈路的初始ETX-SH值,用以表征初試狀態(tài)下的鏈路穩(wěn)定性。
2.1.2 ETX-SH預(yù)測(cè)值
為快速預(yù)測(cè)后續(xù)時(shí)刻無(wú)線鏈路的ETX-SH值,本文引入一次指數(shù)平滑法,通過(guò)歷史投遞情況,預(yù)測(cè)未來(lái)的鏈路ETX-SH值。預(yù)測(cè)方法如式(5)所示
(5)
考慮到ETX-SH能較好地表征WSNSH節(jié)點(diǎn)間無(wú)線鏈路的穩(wěn)定性,可將ETX-SH預(yù)測(cè)值替代WSNSH節(jié)點(diǎn)鄰居表中原有的LQI指標(biāo)。由于節(jié)點(diǎn)鄰居表有著每次收到任意幀都可更新條目的特性,采用ETX-SH替換LQI,既能在每次數(shù)據(jù)包投遞后,根據(jù)捎帶的投遞信息自動(dòng)快速更新ETX-SH值,保證節(jié)點(diǎn)與其鄰居節(jié)點(diǎn)間鏈路的ETX-SH預(yù)測(cè)值一直都是最新的,又能避免LQI值低效且耗能的主動(dòng)反復(fù)收發(fā)信標(biāo)幀的獲取方式帶來(lái)的額外開銷。
為了解決傳統(tǒng)WSN路由算法在鏈路不穩(wěn)定情況下丟包率高、時(shí)延高以及路由開銷大等問(wèn)題,本文提出LSAR-AODVjr算法。該算法較之AODVjr主要有以下兩點(diǎn)改進(jìn):
(1)引入ETX-SH,并用其替代LQI作為路由判據(jù),根據(jù)其值自適應(yīng)建立投遞成功率高的路由路徑;
(2)采用定向路由發(fā)現(xiàn)。由于WSNSH中一般都是固定節(jié)點(diǎn),即節(jié)點(diǎn)的地理位置信息都是可提前預(yù)知的,可在WSNSH組網(wǎng)過(guò)程中由協(xié)調(diào)器下發(fā)包含地理位置信息的拓?fù)浔斫o各節(jié)點(diǎn)。因此可通過(guò)已知的位置信息限制路由發(fā)現(xiàn)包的洪泛方向與區(qū)域,以源節(jié)點(diǎn)和目的節(jié)點(diǎn)間的連線作為軸線建立半徑為R的圓柱體虛擬管道,使源節(jié)點(diǎn)洪泛發(fā)出的路由發(fā)現(xiàn)包僅在該虛擬管道內(nèi)收發(fā),避免盲目地全局洪泛,在增加路由發(fā)現(xiàn)精準(zhǔn)性的同時(shí)也能減少開銷。
LSAR-AODVjr算法流程如圖2所示。
為評(píng)估LSAR-AODVjr在WSNSH中的性能,本文基于MATLAB在模擬WSNSH環(huán)境中對(duì)相關(guān)算法進(jìn)行仿真對(duì)比分析,且在仿真對(duì)比本文提出的LSAR-AODVjr與ZigBee默認(rèn)路由算法AODVjr的同時(shí),引入被廣泛應(yīng)用于不穩(wěn)定環(huán)境的Ad-hoc網(wǎng)絡(luò)中的多徑路由算法AOMDV進(jìn)行對(duì)比分析[13],以此從更多角度展現(xiàn)各算法特點(diǎn)。
仿真智能家居布網(wǎng)區(qū)域?yàn)?0*10米的房屋區(qū)域??紤]到不同WSNSH應(yīng)用場(chǎng)景所需網(wǎng)絡(luò)規(guī)模不同,本次仿真分別采用10至40個(gè)隨機(jī)分布在該網(wǎng)絡(luò)區(qū)域內(nèi)的固定節(jié)點(diǎn)模擬實(shí)際應(yīng)用場(chǎng)景。信道衰落閾值根據(jù)TI公司CC2530芯片的額定收發(fā)功率比值確定[14]。仿真參數(shù)見表1。
本文在仿真中主要評(píng)估以下3種性能指標(biāo)來(lái)分析上述3種算法在WSNSH中的性能差異:
(1)數(shù)據(jù)包投遞率——目的節(jié)點(diǎn)成功接收到的數(shù)據(jù)包數(shù)量與源節(jié)點(diǎn)發(fā)送的數(shù)據(jù)包數(shù)量之比。該值可用于表征數(shù)據(jù)包投遞成功的概率。
(2)平均跳數(shù)——數(shù)據(jù)包由源節(jié)點(diǎn)傳輸?shù)侥康墓?jié)點(diǎn)所需經(jīng)過(guò)的路由節(jié)點(diǎn)的平均數(shù)量。該值可表征數(shù)據(jù)包投遞過(guò)程中所用時(shí)間,與時(shí)延成正比。
(3)路由開銷——路由過(guò)程中命令包的數(shù)量。該值可用于表征網(wǎng)絡(luò)的擁塞程度,與時(shí)延成正比。
3.3.1 數(shù)據(jù)包投遞率
如圖3所示,隨著節(jié)點(diǎn)數(shù)量的增多,路由投遞過(guò)程中的可選鏈路增加,3種算法的投遞率均隨之增大。在節(jié)點(diǎn)數(shù)量相同時(shí),LSAR-AODVjr算法較AODVjr有著更高的投遞率,這是因?yàn)樵谛诺浪ヂ錀l件下的數(shù)據(jù)包投遞中,AODVjr算法無(wú)法保證該路由路徑上的鏈路狀態(tài),易發(fā)生丟包。而LSAR-AODVjr引入ETX-SH作為路由判據(jù),會(huì)根據(jù)節(jié)點(diǎn)間鏈路實(shí)時(shí)預(yù)測(cè)的預(yù)計(jì)傳輸次數(shù)來(lái)優(yōu)化路由決策,找出預(yù)測(cè)的ETX-SH較小,即鏈路穩(wěn)定性較高的路由路徑進(jìn)行數(shù)據(jù)包投遞,在一定程度上保證了投遞的成功率。在節(jié)點(diǎn)較少時(shí),AOMDV的投遞率并不高,但隨著節(jié)點(diǎn)數(shù)量的增加,其投遞率提升迅速,與LSAR-AODVjr大體相當(dāng),這是因?yàn)樾∫?guī)模網(wǎng)絡(luò)不易發(fā)揮多徑優(yōu)勢(shì),網(wǎng)絡(luò)規(guī)模的增大會(huì)給AOMDV算法帶來(lái)更多的備用鏈路,在主鏈路投遞失敗時(shí)能及時(shí)切換到備用鏈路嘗試重新投遞,采用多徑的機(jī)制降低了WSNSH的衰落環(huán)境帶來(lái)的影響。
圖2 LSAR-AODVjr算法流程
3.3.2 平均跳數(shù)
平均跳數(shù)仿真結(jié)果如圖4所示,隨著節(jié)點(diǎn)數(shù)量的增加,網(wǎng)絡(luò)規(guī)模逐漸增大,數(shù)據(jù)包投遞所需路由節(jié)點(diǎn)的數(shù)量增加,從而導(dǎo)致3種算法投遞數(shù)據(jù)包所需的路由跳數(shù)均隨之增大。在節(jié)點(diǎn)數(shù)量相同時(shí),AOMDV算法所用跳數(shù)最多,其原因?yàn)樗ヂ洵h(huán)境下,AOMDV由于主鏈路狀態(tài)不佳而切換到其它鏈路,從而產(chǎn)生了多次投遞,由此帶來(lái)了較高的路由跳數(shù)。與此同時(shí),LSAR-AODVjr算法所需路由跳數(shù)較AODVjr多,這是由于LSAR-AODVjr為保證數(shù)據(jù)傳輸成功率會(huì)嘗試選擇預(yù)測(cè)的ETX-SH值較小的鏈路,可能會(huì)因?yàn)樽疃搪窂缴系逆溌窢顟B(tài)不佳而繞過(guò)該衰落鏈路,從而導(dǎo)致路由跳數(shù)較AODVjr有所增加。
表1 仿真場(chǎng)景參數(shù)
圖3 數(shù)據(jù)包投遞率仿真對(duì)比
圖4 平均路由跳數(shù)仿真對(duì)比
3.3.3 路由開銷
路由開銷仿真結(jié)果如圖5所示,隨著節(jié)點(diǎn)數(shù)量的增加,網(wǎng)絡(luò)復(fù)雜度逐漸上升,在路由過(guò)程中需要收發(fā)更多的命令包,從而導(dǎo)致3種算法的路由開銷均隨節(jié)點(diǎn)數(shù)量的上升而增加。在節(jié)點(diǎn)數(shù)量相同時(shí),LSAR-AODVjr算法的路由開銷最低,該結(jié)果主要由兩方面產(chǎn)生,一是LSAR-AODVjr采用ETX-SH代替LQI,較AODVjr而言減少了獲取LQI需要反復(fù)收發(fā)信標(biāo)幀帶來(lái)的開銷,二是由于LSAR-AODVjr采用了定向路由,限制了路由發(fā)現(xiàn)的方向與區(qū)域,較AODVjr與AOMDV全局洪泛廣播的方式有效了減少路由發(fā)現(xiàn)時(shí)的開銷。與此同時(shí),AOMDV算法的路由開銷高于AODVjr,這是因?yàn)樵诼酚蛇^(guò)程中,AOMDV建立并維護(hù)多徑傳輸所需的路由表需要耗費(fèi)更多的命令包。
圖5 路由開銷仿真對(duì)比
綜上所述,在陰影衰落的條件下,LSAR-AODVjr算法在投遞率與路由開銷等方面較AODVjr與AOMDV算法存在一定優(yōu)勢(shì),既保證了數(shù)據(jù)投遞的成功率,避免投遞失敗時(shí)多次重傳帶來(lái)的額外開銷,又降低了高路由開銷帶來(lái)廣播風(fēng)暴的風(fēng)險(xiǎn),有效增強(qiáng)網(wǎng)絡(luò)性能。對(duì)于時(shí)延方面,從圖4中可看出,LSAR-AODVjr所需平均路由跳數(shù)僅比AODVjr多出1~2跳,考慮到在鏈路狀態(tài)良好的情況下,多出的1~2跳所耗時(shí)間幾乎可忽略不計(jì),且路由開銷的減少帶來(lái)的時(shí)延的降低又能在一定程度上抵消多出的跳數(shù)帶來(lái)的時(shí)延??偠灾?,LSAR-AODVjr算法較AODVjr與AOMDV而言更能滿足在陰影衰落條件下的智能家居環(huán)境中快速穩(wěn)定地傳輸數(shù)據(jù)的需求。
針對(duì)房屋等家居環(huán)境會(huì)對(duì)無(wú)線信號(hào)造成陰影衰落的特點(diǎn),本文提出了一種適用于在陰影衰落環(huán)境下保證WSNSH網(wǎng)絡(luò)性能的算法——LSAR-AODVjr,該算法的核心思想一是構(gòu)造出鏈路的ETX-SH值,并根據(jù)實(shí)際投遞情況快速預(yù)測(cè)后續(xù)時(shí)刻的ETX-SH值,以此值輔助路由決策,盡量避開衰落鏈路,選擇預(yù)測(cè)的穩(wěn)定性較好的鏈路進(jìn)行數(shù)據(jù)包投遞以保證投遞率,二是采用定向路由,限制路由發(fā)現(xiàn)的區(qū)域,提高路由精準(zhǔn)性的同時(shí)可有效減少開銷。仿真結(jié)果表明,在帶有信道衰落特征的WSNSH網(wǎng)絡(luò)中,LSAR-AODVjr算法相比ZigBee默認(rèn)路由算法AODVjr與采用多徑機(jī)制以增強(qiáng)網(wǎng)絡(luò)魯棒性的AOMDV而言,增大了投遞率,減少了路由開銷,有效提高了WSNSH的網(wǎng)絡(luò)性能。