趙菊敏, 張子辰, 李燈熬
(太原理工大學 信息工程學院,山西 太原 030024)
無線傳感器網(wǎng)絡是由布設在某檢測區(qū)域內(nèi)大量的無線傳感器節(jié)點所構成。其通過無線信號傳輸通信的方式,組成一個自組網(wǎng)絡,并通過節(jié)點間多跳的方式傳播信號[1],最終將信號傳送到相應基站(中心匯聚節(jié)點)。無線傳感器網(wǎng)絡具有對其所覆蓋的環(huán)境進行數(shù)據(jù)采集、環(huán)境監(jiān)控、時間同步定位等功能,已經(jīng)大量應用到軍事國防、生物醫(yī)療、搶險救災等領域[2]。
在無線傳感器網(wǎng)絡中,路由的選擇極為重要,一個較好的路由可以增長網(wǎng)絡的存活時間,提高網(wǎng)絡的穩(wěn)定性。現(xiàn)階段LEACH( low energy adaptive clustering hierarchy)路由協(xié)議是一種最經(jīng)典最成熟的路由協(xié)議。其利用分簇的方式,將網(wǎng)絡分為幾個小部分,在簇內(nèi)各個節(jié)點將信號傳遞給簇頭,再由簇頭傳送給基站。LEACH協(xié)議具有一定的局限性,在特定環(huán)境下可能會造成網(wǎng)絡不穩(wěn)定和不能正常工作的情況。本文設計以LEACH算法為基礎,提出了一種適應長直空間環(huán)境,信號從內(nèi)部單向傳輸?shù)酵獠?基站位置)的鏈式傳輸分簇路由路由協(xié)議(cluster-based routing protocols of chain transmission,CRPCT)。本協(xié)議中簇頭節(jié)點不是直接將信號傳遞給基站,而是由空間內(nèi)部的簇頭采用鏈式的方法逐一向外部傳輸,克服了內(nèi)部節(jié)點死亡過快的問題。同時,簇內(nèi)也采用鏈式傳輸。在簇頭和成簇半徑的選擇上也做了改進,穩(wěn)定了成簇個數(shù)。最終降低了網(wǎng)絡的能量消耗,提高了穩(wěn)定性。
本文采用隨機播撒無線傳感器的方法布設傳感器節(jié)點,這種方法可以較為均勻的隨機布設傳感器節(jié)點,這樣在部分節(jié)點死亡后,整個網(wǎng)絡依然可以保證正常的工作,大大提高了整體網(wǎng)絡的穩(wěn)定性。同時假設傳感器網(wǎng)絡滿足以下條件:
1)無線傳感器節(jié)點被隨機的分布在某個M1×M2的區(qū)域,同時,每個傳感器節(jié)點在整體工作網(wǎng)絡中只有唯一身份(地址)標識。
2)所有傳感器節(jié)點都應安裝有GPS模塊,并可以在所布設的環(huán)境條件下準確地測算出自身地理位置。
3)基站和所有節(jié)點在網(wǎng)絡生存周期內(nèi)都是靜止不動的,并且基站搭建在離傳感區(qū)域不遠的某位置。同時,傳感器節(jié)點與基站之間的通信能耗應遠大于普通節(jié)點相互之間正常通信的能耗。
4)在網(wǎng)絡中,所有傳感器都為同一種傳感器,并且節(jié)點都是能量受限的。
5)節(jié)點可根據(jù)數(shù)據(jù)傳輸距離的不同,小幅度地調(diào)整傳感器自身的發(fā)射功率。
6)傳感器節(jié)點能量都由自身電池提供并且不能更換,當節(jié)點初始能量耗盡后節(jié)點即死亡。
7)基站能量不受限制,計算和存儲能力較強。
傳感器節(jié)點所消耗的總體能量由接收模塊、發(fā)送模塊等因素組成;發(fā)送模塊的能耗由信號發(fā)送電路消耗的能量和放大電路所消耗的能量共同組成,如圖1所示。
圖1 網(wǎng)絡能耗模型
發(fā)送模塊發(fā)送電路消耗能量數(shù)學模型為[3]
ET=ET×Efs+Efs×dλ=Eelec×k+Efs×k×d2,d≤d0,
(1)
ET=ET×Efs+Efs×dλ
=Eelec×k+Eamp×k×d4,d>d0.
(2)
接收模塊所消耗的能量數(shù)學模型為[3]
ER=Eelec×k,
(3)
式中ET,ER分別為發(fā)送部分與接收部分傳感器所消耗的能量,k為數(shù)據(jù)量值參數(shù),Eelec為發(fā)送1 bit數(shù)據(jù)電路的消耗。由于無線通信存在遠距離傳送信號,因此,傳輸模式分為自由空間模型和多徑衰落模型。當d≤d0,采取自由空間模型,同時,Efs為自由空間衰減放大器的能量消耗模型參數(shù)[4]。當d>d0,采取多徑衰落模型,Eamp為多徑衰落放大器的能量消耗模型參數(shù)[4]。
無線傳感器網(wǎng)絡在某一長直空間內(nèi)進行通信,通信信號需要由內(nèi)部(最深處)傳輸?shù)酵獠?,基站位于長直空間的最外端。很明顯較深處的節(jié)點要比靠外的節(jié)點消耗能量多,因此,LEACH協(xié)議在這種長直空間內(nèi)應用會遇到多種困難,例如:較深處節(jié)點死亡過快,分簇不均勻等。為了適應此環(huán)境,本文設計了新的簇頭選擇方式,采用不同的分簇方法,節(jié)點鏈式聯(lián)通結構和簇頭節(jié)點多跳的傳輸方式來克服長直空間內(nèi)節(jié)點數(shù)據(jù)單向傳輸?shù)葐栴}。通信數(shù)據(jù)流向如圖2。
圖2 數(shù)據(jù)流向圖
由圖2非常明顯看出:在空間較深處(距離基站較遠)的節(jié)點在進行傳輸數(shù)據(jù)時,需要傳輸更遠的距離(相比于空間中距離基站較近的節(jié)點)。因此,會損耗更多的能量。
1)在簇建立階段,針對于LEACH的簇頭分布不均勻和能量過小的節(jié)點仍有可能被選為簇頭的不足,本算法采用一種適長直空間的閾值設定方法[5]
n∈G.
(4)
2)在數(shù)據(jù)采集融合階段,簇頭采用多跳的傳輸方式,這樣更加適合長直空間的數(shù)據(jù)傳輸。簇頭節(jié)點不再單獨直接傳送數(shù)據(jù)給基站,而是將全部簇頭節(jié)點根據(jù)其剩余能量與到基站的距離;首先確定根節(jié)點,再將每個簇頭以多跳的方式聯(lián)接起來。設立權重值
(5)
其中,Ec為節(jié)點剩余能量,Estart為節(jié)點初始能量,Dsink為節(jié)點到基站距離。[6]各個簇頭通過公式計算出權值,選擇權值大于自己,并且距離自身最近的簇頭為自己的父節(jié)點;以此類推,網(wǎng)絡中權值最大將成為最終根節(jié)點,簇首應該距離基站較近,并且直接發(fā)送信息給基站,其示意圖如圖3,圖4。
圖3 簇頭將數(shù)據(jù)直接傳送到基站
圖4 簇頭采用多跳方式傳輸數(shù)據(jù)
3)普通簇節(jié)點是成鏈的方式向簇頭節(jié)點傳送數(shù)據(jù),簇成員分別從簇頭的2個方向以貪婪算法形成2個節(jié)點鏈,匯聚到簇頭上。這樣,每個簇節(jié)點就可以只接收發(fā)送融合數(shù)據(jù)1次,大大降低了節(jié)點的能耗。節(jié)點能耗模型如下
Ec=2×k×(Eelec+Ed).
(6)
其中,Eelec為發(fā)送1 bit數(shù)據(jù)消耗的能量,Ed為融合1 bit數(shù)據(jù)所消耗的能量[7],k為傳送數(shù)據(jù)量。LEACH算法的節(jié)點能耗模型為
Eleach=(n-1)×k×(Eelec+Ed).
(7)
因此
ΔE=Eleach-Ec=(n-3)×k×(Eelec+Ed).
(8)
很明顯,采用鏈式傳輸結構可以節(jié)省節(jié)點消耗能量。
本算法采用與LEACH相似的的執(zhí)行方法,整個流程分為簇建立和穩(wěn)定階段2個階段。簇的建立又包括簇頭的選擇和分簇等階段,之后還要進行簇間多跳和簇內(nèi)成鏈的簇重組階段。穩(wěn)定階段主要是數(shù)據(jù)采集和傳輸。一個輪次的時間就是簇建立階段的時間和穩(wěn)定時間的總和,這其中穩(wěn)定階段的時間必須大于簇建立階段的時間[8]。其示意圖如圖5。
圖5 算法協(xié)議的運作周期圖
算法執(zhí)行步驟如下:
簇頭選取過程中,各節(jié)點計算自身剩余能量,并且計算出修改后的閾值和權值后,確定簇頭節(jié)點。確定簇頭節(jié)點后,各個簇頭節(jié)點向外廣播簇頭信息Head_massege,告訴周圍節(jié)點自己是簇頭并廣播自身ID和權值,同時建立3個集合cluster_choices ,cluster_M和cluster_Dist分別存放其他簇頭ID,其他簇頭的權值和其他簇頭到本簇頭的距離;之后,等待普通節(jié)點發(fā)送join信息。各個節(jié)點根據(jù)成簇半徑Ri計算自身位置,根據(jù)接收簇頭信號的強度和ID選擇離自己距離較近的簇首發(fā)送 Node_massege信息和join信息要求加入該簇,簇建立完成。
分簇完成后進行簇頭多跳和簇間鏈式傳輸?shù)拇刂亟M階段。首先各個簇頭通過上次收到得其他簇頭權值,確定根節(jié)點與自身父親節(jié)點。在自身的Head_next中存儲自己父親節(jié)點的ID,準備在發(fā)送信息的時候將信息直接發(fā)送給父親節(jié)點。簇成員節(jié)點也采用成鏈的方式進行數(shù)據(jù)傳輸。在一個簇內(nèi)兩端距離簇頭最遠的2個節(jié)點向簇頭以貪婪算法形成2個節(jié)點鏈,向簇頭傳遞信息[9]。節(jié)點分布圖如圖6、圖7。
圖6 LEACH算法節(jié)點分布圖
圖7 CRPCT節(jié)點與分簇分布圖
由圖6中LEACH節(jié)點分布圖可以看出實心節(jié)點為簇頭節(jié)點,簇頭節(jié)點明顯分布不均勻,而且有的簇頭節(jié)點相鄰過近,這樣會在很大程度上影響算法的執(zhí)行,增大能耗。圖7中顯示簇內(nèi)節(jié)點的鏈式連接結構,虛線為簇頭多跳連接示意,實線圓圈為簇頭成簇半徑,實直線范圍內(nèi)為每一塊的分簇范圍。CRPC算法的簇頭明顯分布均勻,克服了LAECH算法分簇不均的問題。
圖8、圖9分別為算法的死亡節(jié)點示意圖,小星號是死亡節(jié)點,CRPCT死亡節(jié)點從左下方基站位置開始,符合算法要求。
圖8 LEACH算法死亡節(jié)點示意圖
圖9 CRPCT算法死亡節(jié)點示意圖
數(shù)據(jù)采集階段,本算法采用以TDMA[10]時隙數(shù)據(jù)從簇成員傳輸鏈最外端的簇節(jié)點向簇頭傳輸數(shù)據(jù),并最終將數(shù)據(jù)傳輸給簇頭。簇頭進行數(shù)據(jù)融合處理后,再以CDMA編碼方式進行簇間數(shù)據(jù)傳輸,目的是為了減小簇間干擾并最終以多跳的方式傳輸?shù)交?。算法的?zhí)行流程如圖10。
圖10 算法執(zhí)行流程圖
為了測試CRPCT性能,本文采用Matlab進行模擬仿真。實驗設計參數(shù)如下:
1)整個無線傳感器網(wǎng)絡覆蓋區(qū)域為200 m×200 m的區(qū)域內(nèi);
2)基站位置為坐標(-50,-50)m點;
3)傳感器節(jié)點個數(shù)為200;
4)每個節(jié)點的初始能量為0.5 J;
5)數(shù)據(jù)分組大小為2 000 bits;
6)發(fā)送1 bit數(shù)據(jù)消耗的能量Eelec為50 nJ;
7)融合1 bit數(shù)據(jù)所消耗的能量Ed為5 nJ。
本文將對系統(tǒng)生命周期和總體能耗進行的仿真,對比LEACH算法與CRPCT算法,突出本算法的優(yōu)越性。
圖11為系統(tǒng)生命周期圖, LEACH算法大概在180輪時出現(xiàn)第一個死亡節(jié)點,620輪左右節(jié)點全部死光,而CRPCT算法大約在700輪左右才出現(xiàn)第一個死亡節(jié)點,1000輪左右節(jié)點才全部死光,很明顯CRPCT算法大大推遲了節(jié)點死亡的時間,并且從圖中可以看出CRPCT算法的曲線相對平滑,這證明本算法比LEACH更加穩(wěn)定。
圖11 系統(tǒng)生命周期圖
圖12為網(wǎng)絡總體能耗圖,很明顯CRPCT算法在1 000輪左右能量消耗完,而LEACH算法在600輪左右能量就已經(jīng)消耗完,CRPCT比LEACH提高了近70%,大大節(jié)省了能量,并且曲線平滑,提高了穩(wěn)定性。
圖12 網(wǎng)絡總體能耗圖
本文采取鏈式傳輸路由協(xié)議去解決長直空間內(nèi)較深處加點能量消耗過大和節(jié)點死亡過快問題。顯著特點為:1)添加簇頭閾值參數(shù),使能量消耗分布均勻,避免簇頭節(jié)點相鄰過近,同時適應長直空間環(huán)境。2)簇內(nèi)形成鏈式傳輸,簇間簇頭成鏈多跳傳輸,減少節(jié)點間傳輸能量消耗,提高系統(tǒng)的穩(wěn)定性。同時,本算法繼承了LEACH算法的操作簡單,算法執(zhí)行率高的特點,有很高的可行性和創(chuàng)新性。
參考文獻:
[1] 嚴 英,郭 麗,許建真.一種基于 LEACH 與 PEGASIS 協(xié)議的分層成鏈優(yōu)化路由算法[J].傳感技術學報,2011(9):1311-1312.
[2] 張 鵬.基于能量優(yōu)化的無線傳感器網(wǎng)絡LEACH路由協(xié)議的研究與仿真[D].武漢:武漢理工大學,2010:2-3.
[3] 杜 寬.無線傳感器網(wǎng)絡路由節(jié)能算法[D].沈陽:沈陽工業(yè)大學,2011:26-27.
[4] 劉鐵流,巫詠群.一種新型的基于分簇的無線傳感器網(wǎng)絡多跳節(jié)能路由協(xié)議[J].信息與控制,2012(2):27-31.
[5] 李振科,陳國定,王淑華.基于 LEACH 協(xié)議的改進路由算法[J].計算機應用,2009(12): 63-65.
[6] 李推卿.基于分簇無線傳感器網(wǎng)絡低能耗安全路由協(xié)議的研究[D].武漢:武漢理工大學,2009:49-50.
[7] 王聲榮.無線傳感器網(wǎng)絡LEACH協(xié)議的研究與改進[D].濟南:山東大學,2008: 17-19.
[8] Heinzelman W.Application specific protocol architectures for wireless networks[D]. Boston: Massachusetts Institute of Technology,2000.
[9] Akcan H,Bronnimann H.A new determi-nistic data aggregation method for wireless sensor networks[J].Signal Processing,2007,87(12): 2965 -2977.
[10] 杜 衛(wèi).無線傳感器網(wǎng)絡路由協(xié)議研究[D].南京:南京郵電大學,2008:21-22.