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