劉靜 李暉
【摘要】 在無(wú)線傳感器網(wǎng)絡(luò)(WSN)協(xié)議研究中,降低節(jié)點(diǎn)的能量消耗、延長(zhǎng)網(wǎng)絡(luò)的生命周期是路由協(xié)議設(shè)計(jì)的關(guān)鍵問(wèn)題。針對(duì)LEACH協(xié)議的設(shè)計(jì)特點(diǎn)和影響因素,提出了一種改進(jìn) LEACH協(xié)議。它首先考慮節(jié)點(diǎn)自身剩余能量進(jìn)行選舉簇頭,然后從每個(gè)簇中選舉出能量剩余最多,位置離基站最近的節(jié)點(diǎn)作為候補(bǔ)簇頭,在簇頭能量不足5%時(shí),擔(dān)當(dāng)數(shù)據(jù)包轉(zhuǎn)發(fā)給基站的任務(wù)。仿真實(shí)驗(yàn)結(jié)果表明,改進(jìn)后的算法比原來(lái)的協(xié)議網(wǎng)絡(luò)生存時(shí)間延長(zhǎng)了近70%。
【關(guān)鍵詞】 路由協(xié)議 簇頭閾值 候補(bǔ)簇頭
引言
無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)由成千上萬(wàn)個(gè)傳感器節(jié)點(diǎn)組成,傳感器節(jié)點(diǎn)進(jìn)行持續(xù)采集監(jiān)測(cè)環(huán)境中的數(shù)據(jù),并可以實(shí)現(xiàn)數(shù)據(jù)融合、傳輸、交換等功能[1]。傳感器節(jié)點(diǎn)體積小、功耗低,但是數(shù)據(jù)傳輸?shù)臏?zhǔn)確性受帶寬、傳輸延時(shí)、能量等因素影響,因此在進(jìn)行無(wú)線傳感器網(wǎng)絡(luò)路由設(shè)計(jì)過(guò)程中,關(guān)鍵技術(shù)是要考慮降低節(jié)點(diǎn)的能量消耗,延長(zhǎng)網(wǎng)絡(luò)的生命周期。
一、LEACH 協(xié)議算法
在目前的路由協(xié)議中,LEACH[2]( Low Energy Adaptive Clustering Hierarchical )協(xié)議是由MIT的Heinzelman 提出的一種經(jīng)典的分層路由協(xié)議,其將無(wú)線傳感器網(wǎng)絡(luò)分為幾個(gè)大小均勻的簇,簇內(nèi)由簇頭節(jié)點(diǎn)和普通節(jié)點(diǎn)組成,普通節(jié)點(diǎn)將數(shù)據(jù)發(fā)給簇頭,簇頭將數(shù)據(jù)融合后轉(zhuǎn)發(fā)給Sink,而不是節(jié)點(diǎn)直接將數(shù)據(jù)傳遞給Sink,這樣就提高了能量利用效率。因?yàn)榇仡^能量消耗較大,而節(jié)點(diǎn)輪流成為簇頭節(jié)點(diǎn),這就使得能量消耗能夠均衡地分?jǐn)偟胶芏喙?jié)點(diǎn)。
1.1 簇的組成
LEACH運(yùn)行過(guò)程中可以用輪的概念來(lái)描述。每個(gè)輪可以分成兩個(gè)階段: 簇的建立和數(shù)據(jù)傳輸。在簇的建立階段,傳感器節(jié)點(diǎn)根據(jù)概率模型選舉出簇頭。每個(gè)節(jié)點(diǎn)產(chǎn)生一個(gè)0到1 之間的隨機(jī)數(shù)[2]。假如這個(gè)隨機(jī)數(shù)小于閾值T (n ),該節(jié)點(diǎn)被選舉為簇頭。閾值的計(jì)算公式如下:
式中,r 是輪數(shù),p 是簇頭數(shù)量比例,G 是在前r mod(1 / p) 輪沒(méi)有當(dāng)選簇頭的節(jié)點(diǎn)集合。節(jié)點(diǎn)被選為簇頭后,就向外廣播自己成為簇頭節(jié)點(diǎn)的消息,成員節(jié)點(diǎn)根據(jù)收到的廣播信息信號(hào)的強(qiáng)弱選擇加入到相應(yīng)的簇,并向簇頭發(fā)送加入簇的請(qǐng)求,如下圖1。簇頭收到請(qǐng)求后,將成員節(jié)點(diǎn)的信息加入自己的路由表中,并為每個(gè)節(jié)點(diǎn)設(shè)定一個(gè)TDMA分配時(shí)間表[3]。
1.2 穩(wěn)定數(shù)據(jù)通信
簇建立好后,節(jié)點(diǎn)根據(jù)TDMA機(jī)制分配的時(shí)間間隙進(jìn)行數(shù)據(jù)通信[3]。節(jié)點(diǎn)在自己的TDMA 時(shí)間間隙時(shí),將采集到的數(shù)據(jù)發(fā)送給簇頭節(jié)點(diǎn)。簇頭接收數(shù)據(jù)后進(jìn)行融合處理發(fā)送給sink。數(shù)據(jù)穩(wěn)定通信一段時(shí)間后,重新開始組簇,進(jìn)入到下一輪工作,一直循環(huán),直到網(wǎng)絡(luò)中的節(jié)點(diǎn)能量完全消耗掉。
二、LEACH的局限性
盡管LEACH能夠?qū)崿F(xiàn)節(jié)點(diǎn)節(jié)能和延長(zhǎng)網(wǎng)絡(luò)生命周期,但它還是有如下的問(wèn)題:
I 選擇簇頭時(shí)沒(méi)有考慮節(jié)點(diǎn)剩余能量。LEACH 協(xié)議選舉簇頭時(shí)的隨機(jī)性可能使剩余能量低的節(jié)點(diǎn)成為簇頭,盲簇節(jié)點(diǎn)的出現(xiàn)導(dǎo)致網(wǎng)絡(luò)過(guò)早死亡[4], 網(wǎng)絡(luò)的負(fù)載平衡程度下降。
II 網(wǎng)絡(luò)規(guī)模很大的時(shí)候,簇頭節(jié)點(diǎn)給基站傳輸數(shù)據(jù)會(huì)很快的消耗大量能量,LEACH協(xié)議比較適合部署區(qū)域較小的網(wǎng)絡(luò)[5]。
三、LEACH 協(xié)議的改進(jìn)
3.1 簇頭選擇改進(jìn)
在簇頭選擇階段,節(jié)點(diǎn)的剩余能量是動(dòng)態(tài)變化的,所以傳感器節(jié)點(diǎn)定時(shí)向sink發(fā)送自己的能量剩余情況, 若節(jié)點(diǎn)剩余能量低于平均能量, 則降低其成為簇頭的概率。因此將閾值改進(jìn)成了下式
N 為節(jié)點(diǎn)總數(shù),M 為節(jié)點(diǎn)分布區(qū)邊長(zhǎng),dtoBS為節(jié)點(diǎn)到sink 的距離。然后基于節(jié)點(diǎn)剩余能量和距離基站位置,每個(gè)簇中選舉出一個(gè)候補(bǔ)簇頭。
3.2 對(duì)協(xié)議流程改進(jìn)
在LEACH協(xié)議中,簇頭負(fù)責(zé)把收集數(shù)據(jù)包并傳輸給基站,這就相應(yīng)的增加了節(jié)點(diǎn)能量的消耗,特別是在大型網(wǎng)絡(luò)中更為嚴(yán)重。為了解決這一問(wèn)題,提出一種改進(jìn)路由算法。在簇頭能量將要耗盡的時(shí)候,候補(bǔ)簇頭來(lái)?yè)?dān)當(dāng)轉(zhuǎn)發(fā)數(shù)據(jù)包給基站的任務(wù)。
改進(jìn)的LEACH協(xié)議工作分為3個(gè)階段:
I選擇簇頭和候補(bǔ)簇頭II簇頭建立III數(shù)據(jù)傳輸。
I選擇簇頭和候補(bǔ)簇頭階段。簇頭按照LEACH協(xié)議的方式選舉,剩余能量最多和離基站最近的非簇頭節(jié)點(diǎn)被選為候補(bǔ)簇頭。
II簇頭建立階段。選舉出簇頭之后,每個(gè)簇頭向成員節(jié)點(diǎn)廣播通知信息,成員節(jié)點(diǎn)根據(jù)自己所收到信息的信號(hào)強(qiáng)度來(lái)選擇加入哪個(gè)簇,然后成員節(jié)點(diǎn)用自己的ID傳輸一條確認(rèn)信息給它想加入的簇頭,簇頭把加入自己簇的成員節(jié)點(diǎn)信息記錄下來(lái)。
候補(bǔ)簇頭建立方式與此非常相似。在簇頭剩余能量不足5%時(shí),候補(bǔ)簇頭向成員節(jié)點(diǎn)發(fā)送接收數(shù)據(jù)包的消息,簇頭將成員節(jié)點(diǎn)的信息發(fā)送給候補(bǔ)簇頭,進(jìn)行任務(wù)交接。候補(bǔ)簇頭同樣采用CDMA機(jī)制分配成員數(shù)據(jù)傳輸時(shí)隙,并將信息發(fā)給成員節(jié)點(diǎn)。
III數(shù)據(jù)穩(wěn)定傳輸階段。每個(gè)節(jié)點(diǎn)按照設(shè)定的TDMA 時(shí)隙把收集到的信息發(fā)送給簇頭,簇頭將數(shù)據(jù)進(jìn)行融合后轉(zhuǎn)發(fā)sink。當(dāng)簇頭節(jié)點(diǎn)能量不足5%時(shí),候補(bǔ)簇頭擔(dān)任轉(zhuǎn)達(dá)數(shù)據(jù)包的責(zé)任,這樣能提高能量利用效率。
四、仿真結(jié)果及分析
本文在MATLAB 的環(huán)境中對(duì)改進(jìn)路由協(xié)議進(jìn)行了仿真。網(wǎng)絡(luò)模型如下:
100 個(gè)初始能量為0.5J 的傳感器節(jié)點(diǎn)隨機(jī)的分布在100×100 m 的正方形區(qū)域內(nèi)。假定它們按照定時(shí)發(fā)送的機(jī)制發(fā)送收集的數(shù)據(jù)并且不會(huì)自己移動(dòng)?;驹冢▁=50,y=50)的位置。當(dāng)節(jié)點(diǎn)的剩余能量為0J 時(shí),則認(rèn)為其死亡。
考慮到簇頭既要融合簇內(nèi)數(shù)據(jù)又要轉(zhuǎn)發(fā)數(shù)據(jù)包,從而導(dǎo)致能量消耗太快,利用候補(bǔ)簇頭分擔(dān)簇頭的任務(wù),使網(wǎng)絡(luò)中的節(jié)點(diǎn)能耗均衡,以此達(dá)到提高每輪簇穩(wěn)定數(shù)據(jù)通信時(shí)間,進(jìn)而延長(zhǎng)網(wǎng)絡(luò)的生存時(shí)間。使用matlab對(duì)改進(jìn)后的LEACH協(xié)議進(jìn)行仿真,結(jié)果表明改進(jìn)的LEACH 延長(zhǎng)了網(wǎng)絡(luò)生存時(shí)間近70%。
參 考 文 獻(xiàn)
[1] 鄧亞平,鄧?yán)?無(wú)線傳感器網(wǎng)絡(luò)的能量有效加權(quán)分簇算法[J].計(jì)算機(jī)工程與設(shè)計(jì),2011(4) : 1216-1219.
[2] Heinzelman W B,et al.An application specific protocol architecture for wireless microsensor networks[J].IEEE Trans on wireless Commumications,2002,1(4):660-670.
[3] BAI F,WANG L,MA Y,et al.Algorithm analysis of routing protocols-LEACH for wireless sensor networks [J].Journal of Taiyuan University of Technology,2009,40( 4) : 248 - 252.
[4] 胡鋼,謝冬梅,吳元忠.無(wú)線傳感器網(wǎng)絡(luò)路由協(xié)議LEACH 的研究與改進(jìn)[J].傳感技術(shù)學(xué)報(bào), 2007, 20(6): 1391-1396.
[5]Mahmoud M.salim,Hussein A.Elsayed,Salwa H.El Ramly . PR-LEACH:Approach for Balanceing Energy Dissipation of LEACH Protocol for Wireless Sensor Networks.31st National Radio Science Conference(NRSC2014).