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