引言
無線傳感器網(wǎng)絡(luò)是近年無線通信技術(shù)的研究熱點之一,。受體積和成本的限制,,能耗問題成為無線傳感器網(wǎng)絡(luò)的難點和關(guān)鍵問題,。針對能耗問題,,許多學(xué)者先后提出了不同的解決方案,。其中,,W.B.Heinzelman,、A.P.Chandrakasan和H.Balakrishman等首先在網(wǎng)絡(luò)層協(xié)議方面提出了適用于無線傳感器網(wǎng)絡(luò)的簇結(jié)構(gòu)分層協(xié)議LEACH(Low-EnergyAdaptiveClusteringHierarchy)協(xié)議,。他們討論了簇首的選擇算法,、簇的形成算法以及基于中心控制的改進(jìn)協(xié)議LEACH-C,并對LEACH協(xié)議的能耗模型進(jìn)行了初步研究,。在LEACH協(xié)議的基礎(chǔ)上,,又有不少學(xué)者設(shè)計了基于分簇結(jié)構(gòu)的多跳路由協(xié)議。其中,,文獻(xiàn)提出了改進(jìn)LEACH協(xié)議一Multihop-LEACH,,它以最近的鄰居簇首作為下一跳路由;文獻(xiàn)采用了MTE路由算法,,并引入沖突避免機制,;文獻(xiàn)則采用中心控制思想,由基站基于路徑損耗進(jìn)行路由選擇,。
由于無線傳感器網(wǎng)絡(luò)通常工作在惡劣的環(huán)境,,信道衰落嚴(yán)重,而MIMO技術(shù)能很好地對抗多徑衰落,,因此,,MIMO技術(shù)在無線傳感器網(wǎng)絡(luò)的應(yīng)用也備受重視。文獻(xiàn)研究了STBC(Space-TimeBlockCode-Encoded)和MIMO技術(shù)對無線傳感器網(wǎng)絡(luò)性能的改善,,其中文獻(xiàn)考慮了合作節(jié)點的同步問題,,文獻(xiàn)研究了最優(yōu)合作節(jié)點數(shù)的問題。
分層簇結(jié)構(gòu)、多跳路由和MIMO技術(shù)都在一定程度上改善了無線傳感器網(wǎng)絡(luò)的性能,,因此形成了“跨層設(shè)計(Cross-layerDesign)”思想,,即將網(wǎng)絡(luò)分層模型中的若干層聯(lián)合起來綜合考慮,使不相鄰的層之間也能傳遞信息,,以得到最優(yōu)的網(wǎng)絡(luò)性能,。文獻(xiàn)將多跳路由和MIMO技術(shù)嵌入LEACH協(xié)議進(jìn)行跨層設(shè)計,大大延長了無線傳感器網(wǎng)絡(luò)的生命周期(Lifetime),;文獻(xiàn)采用半中心控制思想對文獻(xiàn)的有關(guān)算法進(jìn)行了改進(jìn),。
在研究方法上,目前大多數(shù)的研究都是基于Matlab,、C語言等通用仿真工具,,以網(wǎng)絡(luò)生命周期為衡量指標(biāo),沒有充分考慮網(wǎng)絡(luò)實際工作過程中的相關(guān)問題和能量損耗,。因此,,本文以UCLA(UniversityofCaliforniaatLosAngeles)提出的SersorSim仿真架構(gòu)為基礎(chǔ),在J-sim仿真平臺實現(xiàn)了一個貼近實際的模擬無線傳感器網(wǎng)絡(luò)系統(tǒng),,并提出了一種基于距離矢量的改進(jìn)路由算法,。在此基礎(chǔ)上,研究了多跳路由技術(shù),、MIMO技術(shù)對改善LEACH協(xié)議性能的問題,。其方法和結(jié)果對于無線傳感器網(wǎng)絡(luò)的協(xié)議優(yōu)化及其應(yīng)用具有一定的參考價值。
1系統(tǒng)模型與改進(jìn)路由算法
1.1系統(tǒng)模型
系統(tǒng)采用與文獻(xiàn)基本架構(gòu)相同的無線傳感器網(wǎng)絡(luò)跨層設(shè)計模型,,圖1所示是結(jié)合MIMO技術(shù)的多跳LEACH協(xié)議工作模型,。系統(tǒng)按照LEACH協(xié)議不斷重復(fù)簇的重構(gòu)過程,每次重構(gòu)稱為一個回合,。數(shù)據(jù)傳輸時,,在網(wǎng)絡(luò)層采用了多跳路由技術(shù),在物理層嵌入了MIMO技術(shù),,源節(jié)點采集到的數(shù)據(jù)以多跳MIMO方式傳送到基站,。簇內(nèi)采用具有二次衰落特性的高斯白噪聲信道,簇間采用非頻率選擇性慢衰落瑞利信道模型,。
假設(shè)各節(jié)點具有全局唯一的標(biāo)識ID且已知基站位置,,各節(jié)點具有相同的初始能量且發(fā)射功率可調(diào)。系統(tǒng)的工作過程分為一個個回合,,每個回合又分為建立階段和穩(wěn)定階段,。
1.1.1建立階段
各節(jié)點按照leach協(xié)議的分布式算法決定自己在本回合是否成為簇首節(jié)點(ClusterHead,CH),,各簇首節(jié)點用同樣大小的發(fā)射功率Pout廣播一個通告信息(AdvertisementMessage,,ADV),。這里采用非堅持CSMAMAC層協(xié)議,ADV包括簇首節(jié)點的ID和地理狀態(tài)信息,。如果簇首節(jié)點接收到ADV,,貝丫將其加入鄰居節(jié)點列表,用于構(gòu)建路由表,,具體的路由算法將在后面詳細(xì)說明,;如果非簇首節(jié)點接收到ADV,則選擇接收信號強度最大的一個作為其簇首并發(fā)送一個加入簇請求信息(JoinRequestMessage,,Join-REQ),。
簇建立后,各簇首節(jié)點選擇J個簇內(nèi)節(jié)點作為合作節(jié)點(CooperativeNodes,,CNs),,充當(dāng)MIMO的多根天線,為簡化模型,,本文以就近原則選擇合作節(jié)點,。然后,各簇首節(jié)點生成一個TDMA時間調(diào)度表,,并進(jìn)行簇內(nèi)廣播,,廣播信息包括TDMA調(diào)度表、合作節(jié)點ID和天線序號以及下一跳簇首節(jié)點ID,。各節(jié)點接收到TDMA調(diào)度表后,,查看自己是否被選為合作節(jié)點,。如果是,,則繼續(xù)監(jiān)聽,否則進(jìn)入睡眠狀態(tài),。
1.1.2穩(wěn)定階段
簇建立后進(jìn)入穩(wěn)定階段,,各源節(jié)點采集的數(shù)據(jù)以多跳MIMO的方式接力傳送給基站。由于沖突,、丟包等原因,,在某一回合,某一節(jié)點可能沒有成功加入簇,,或者沒有接收到TDMA調(diào)度表,,導(dǎo)致空簇、找不到合作節(jié)點等問題,,相關(guān)文獻(xiàn)都沒有或者較少考慮這些具體的細(xì)節(jié)問題,。本文對這些問題進(jìn)行了較全面的研究,由此設(shè)計了一個貼近實際的模擬網(wǎng)絡(luò)系統(tǒng),。其具體的數(shù)據(jù)轉(zhuǎn)發(fā)流程如下:
普通節(jié)點判斷是否被分配到TDMA時間片,。如果是,則在自己的TDMA時間片內(nèi)將數(shù)據(jù)發(fā)送給簇首節(jié)點,其他時間進(jìn)入睡眠狀態(tài),;否則直接進(jìn)入睡眠狀態(tài),。
簇首節(jié)點判斷簇內(nèi)是否存在其他節(jié)點。如果是,,則在接收完簇內(nèi)所有節(jié)點的數(shù)據(jù)后,,與自身數(shù)據(jù)一起進(jìn)行數(shù)據(jù)融合,然后轉(zhuǎn)(3),;否則直接轉(zhuǎn)(3),。
簇首節(jié)點判斷是否存在合作節(jié)點。如果是,,則將數(shù)據(jù)廣播給合作節(jié)點,,轉(zhuǎn)(4);否則轉(zhuǎn)(5),。
?。?)合作節(jié)點根據(jù)自己的天線序號對接收到的數(shù)據(jù)進(jìn)行STBC編碼后發(fā)送給下一跳簇首節(jié)點,轉(zhuǎn)(6),。
?。?)簇首節(jié)點直接將數(shù)據(jù)發(fā)送給下一跳簇首節(jié)點。
簇首節(jié)點接收到來自上一跳的數(shù)據(jù)后,,判斷是否為STBC編碼數(shù)據(jù),。如果是,則等待接收完各天線數(shù)據(jù)后進(jìn)行STBC解碼,;否則直接轉(zhuǎn)(7),。
重復(fù)(3)?(6),,直到數(shù)據(jù)發(fā)送到基站(BS),。
為減少碼間干擾和沖突,系統(tǒng)采用與文獻(xiàn)相同的直接序列擴頻技術(shù)和CSMA發(fā)送方式,。
1.2基于距離矢量的改進(jìn)路由算法
文獻(xiàn)采用的是傳統(tǒng)的距離失量算法,,最初路由表中只包含鄰居節(jié)點,通過各節(jié)點不斷地廣播和更新,,最終收斂到最優(yōu)的路由表,。這種路由方式需要一定的機制和算法來保證路由表收斂,甚至還可能出現(xiàn)目標(biāo)不可達(dá)的情況,。為此,,本文提出了一種基于距離矢量的改進(jìn)路由算法。算法具體描述如下:
?。?)在簇首廣播狀態(tài)信息階段,,簇首節(jié)點接收其他簇首的廣播消息,,將其標(biāo)識為鄰居簇首,并計算各鄰居簇首到BS的直接傳輸能量損耗,。
?。?)如果存在鄰居簇首,則以BS為目標(biāo)節(jié)點,,用MTE算法找出最優(yōu)局部路由,,并初始化路由表;否則將路由表初始化為單跳傳輸?shù)紹S,。
?。?)如果存在非下一跳簇首,則以最遠(yuǎn)的非下一跳簇首的傳輸能量廣播自己的路由表,。
?。?)簇首節(jié)點接收到某一簇首節(jié)點的路由表后,計算將該簇首節(jié)點作為下一跳的總傳輸損耗,。如果比當(dāng)前路由路徑耗能更小,,則更新路由表,然后重復(fù)(3)(4),。
由于目標(biāo)節(jié)點已知,,不需要從鄰居節(jié)點開始初始化路由表,可以直接把目標(biāo)節(jié)點加入路由表,,而且只需加入這一項,,這樣,就不會出現(xiàn)目標(biāo)不可達(dá)的問題,,同時,,整個路由表建立過程所需的廣播次數(shù)和廣播數(shù)據(jù)量也會大大減少。算法充分利用了原來實現(xiàn)LEACH協(xié)議所需的簇首廣播消息,,求出最優(yōu)局部路由路徑,,再次減少了需要的廣播次數(shù)。最后,,由于LEACH協(xié)議是一種不斷重構(gòu)的動態(tài)協(xié)議,即使路由不收斂,,也只是在本回合部分簇首找不到最優(yōu)路由路徑,,但不會形成廣播風(fēng)暴。
2能量模型
節(jié)點的能量消耗來自射頻模塊和CPU模塊,,射頻模塊采用與LEACH[2]類似的簡單模型,,所不同的是,文獻(xiàn)[2]以距離劃分,,而本文以簇劃分,。
發(fā)射機的能耗包括射頻電路損耗和功率放大器能耗,,分別用Eg(l)和琮*叫(/0)表示。假設(shè)簇間信道具有三次衰落特性,,簇內(nèi)信道具有二次衰落特性,,則發(fā)射/位數(shù)據(jù)的能耗為:
Etx(l,d)=(I)+&5(I,d)=‘輜吳+f,4,簇內(nèi)
IEeiec十mpd,簇間
?。?)
接收機只有電路損耗部分,,即:
Erx(l,d)=ERx-elec(l)=lEelec(2)
其中,服為射頻電路損耗系數(shù),,誑和細(xì)取決于射頻放大電路,。
CPU模塊分活躍、空閑,、睡眠三種狀態(tài),,能耗表達(dá)式如下:
R曇xt,活躍狀態(tài)
EcPU(th=-RiteXt,空閑狀態(tài)(3)
?RtarXt,睡眠狀態(tài)
其中,PyPldle和Psleep分別為CPU在三種狀態(tài)下的功率,。由于加入了CPU能耗模塊,,由系統(tǒng)采用的協(xié)議、算法的復(fù)雜度帶來的能耗代價也考慮在內(nèi),,仿真結(jié)果會更全面,,更符合實際,這也是目前大部分文獻(xiàn)沒有考慮的問題,。
3仿真分析
為了分析前面所建立的有關(guān)算法和模型的有效性,,同時進(jìn)一步分析多跳路由技術(shù)和MIMO技術(shù)對LEACH協(xié)議帶來的性能改善問題,并便于比較,,本文對下述三個模型進(jìn)行了仿真,,具體特點如圖2所示。其中,,模型一為文獻(xiàn)[1-2]的單跳LEACH模型,,模型二為加入本文提出的改進(jìn)路由算法之后的多跳LEACH模型,模型三為加入改進(jìn)路由算法并結(jié)合MIMO的多跳LEACH模型,。需要說明的是,,圖2中的橫坐標(biāo)表示時間,縱坐標(biāo)表示節(jié)點的剩余能量,。各模型采用相同
的仿真場景,,系統(tǒng)具有23個節(jié)點,隨機分布在100mX30m的二維平面區(qū)域,,基站位于坐標(biāo)原點,,簇的一個回合為25s,其中,,建立階段5s,,穩(wěn)定階段20s,。能量模塊相關(guān)參數(shù)取值如下:elec=50nJ/bit,sfs=24.08nJ/(m2-bit),,smp=24.08nJ/(m3-bit),,PActive=2.9mJ/s,Pidie=200uJ/s,,Psieep=2.2nJ/s,。
(a)模型一的節(jié)點能耗特點
?。╞)模型二的節(jié)點能耗特點
?。╟)模型三的節(jié)點能耗特點
圖2節(jié)點能耗特點仿真圖
3.1網(wǎng)絡(luò)生命周期和節(jié)點能耗特點
圖2比較了三種模型下網(wǎng)絡(luò)生命周期和節(jié)點能耗特點。仿真中采用與文獻(xiàn)[8-9]相同的假設(shè):當(dāng)網(wǎng)絡(luò)存活節(jié)點數(shù)少于60%時,,則認(rèn)為網(wǎng)絡(luò)死亡,。由圖2可知,三個模型的網(wǎng)絡(luò)生命周期分別為1139s,、1817s和1845s,。改進(jìn)的路由算法使LEACH協(xié)議的網(wǎng)絡(luò)生命周期延長至1.6倍,而模型三的網(wǎng)絡(luò)生命周期比模型二略有提高,,但改善幅度不大,。
比較圖2中各曲線的特點還可以發(fā)現(xiàn),模型一具有非常明顯的周期性陡峭邊緣,,代表簇首節(jié)點能量的急劇下降,,這是直接到基站的長距離射頻傳輸損耗造成的;模型二相對比較平緩,,這說明通過多跳傳送,,節(jié)點的射頻能量損耗大大減小,;模型三的陡峭邊緣已經(jīng)難以區(qū)分,,這說明通過MIMO技術(shù)進(jìn)行協(xié)作通信,進(jìn)一步降低了節(jié)點的發(fā)射功率,,射頻能耗已經(jīng)可以跟電路損耗相比擬了,。這也是模型三與模型二網(wǎng)絡(luò)生命周期比較相近的原因,,因為MIMO技術(shù)雖然降低了射頻損耗,,但電路損耗和CPU損耗會有所增加。
3.2BER,,性能
圖3比較了模型二與模型三的BER性能,,其中橫坐標(biāo)為節(jié)點編號,0號節(jié)點為基站,,可見模型三通過MIMO技術(shù)降低了節(jié)點射頻發(fā)射機所需的發(fā)射功率,。另外,,由圖3可以看出,即使降低了發(fā)射功率,,模型三的BER性能仍優(yōu)于模型二,。另外,兩種模型的BER都比較大,,約為7X10'3,這是因為仿真中兩者的射頻發(fā)射功率(也即信號功率)都較低,,或者說信噪比較低,上面已經(jīng)提到,,MIMO技術(shù)只能降低射頻能量損耗,,但會帶來額外的電路損耗和CPU損耗。事實上,,在考慮了電路損耗和CPU損耗等因素后,,MIMO技術(shù)仍具有降低無線傳感器網(wǎng)絡(luò)能耗,可延長網(wǎng)絡(luò)生命周期的潛能,,但在低信噪比條件下能耗改善幅度不大,。
3.3死亡節(jié)點分布
圖4比較了三種模型的死亡節(jié)點分布情況,圖中的橫坐標(biāo)和縱坐標(biāo)分別代表節(jié)點分布區(qū)域的二維平面坐標(biāo),,基站位于坐標(biāo)原點,,數(shù)字表示節(jié)點死亡的順序。
從圖4中可以看到,,模型一的死亡節(jié)點集中在離基站最遠(yuǎn)的地方,;模型二通過多跳路由技術(shù)遠(yuǎn)距離節(jié)點的能耗由各中繼節(jié)點分擔(dān),靠近基站的節(jié)點也較早死亡,,因為這些節(jié)點要中繼更多的數(shù)據(jù)包,;而模型三通過MIMO技術(shù)簇首節(jié)點的能耗由合作節(jié)點分擔(dān),使得死亡節(jié)點的分布更加均勻,。
4結(jié)語
本文采用更符合實際情況的多跳簇結(jié)構(gòu)無線傳感器網(wǎng)絡(luò)系統(tǒng)模型,,提出了一種基于距離矢量的改進(jìn)路由算法,在此基礎(chǔ)上研究了多跳路由技術(shù)和MIMO技術(shù)對LEACH協(xié)議性能的改善作用,,仿真結(jié)果證明了改進(jìn)路由算法的有效性,。另外,研究結(jié)果表明在考慮了電路損耗和CPU損耗等因素后,,MIMO技術(shù)仍具有降低無線傳感器網(wǎng)絡(luò)能耗,,延長網(wǎng)絡(luò)生命周期的潛能,但在低信噪比條件下BER性能改善幅度不大,。本文中搭建的無線傳感器網(wǎng)絡(luò)系統(tǒng)模型及改進(jìn)路由算法均考慮到了許多相關(guān)文獻(xiàn)沒有考慮到的具體問題,,因此具有更高的應(yīng)用參考價值。