基于能量均衡的無(wú)線傳感器網(wǎng)絡(luò)算法的改進(jìn)
分析此式可以看出,由于節(jié)點(diǎn)的剩余能量總是小于其初始能量的,所以改進(jìn)后的門(mén)限值一定比原T(n)值要小。雖然降低了剩余能量少的節(jié)點(diǎn)成為簇頭節(jié)點(diǎn)的可能性,但同時(shí)也減小了整個(gè)網(wǎng)絡(luò)中能夠擔(dān)當(dāng)簇頭節(jié)點(diǎn)的機(jī)會(huì)。針對(duì)這一現(xiàn)象,本文將節(jié)點(diǎn)當(dāng)前剩余能量和當(dāng)前網(wǎng)絡(luò)平均能量兩個(gè)參數(shù)綜合考慮進(jìn)去。
式中,是節(jié)點(diǎn)當(dāng)前的剩余能量,是當(dāng)前網(wǎng)絡(luò)平均能量。這樣一來(lái),即保證了節(jié)點(diǎn)被選為簇頭節(jié)點(diǎn)的可能性與其剩余能量的多少相關(guān),又保證了一輪中選舉出來(lái)的簇頭節(jié)點(diǎn)數(shù)與期望數(shù)相同。
在許多文獻(xiàn)中已經(jīng)證實(shí),網(wǎng)絡(luò)中簇頭的個(gè)數(shù)也是影響網(wǎng)絡(luò)壽命一個(gè)的重要因素,因此本文也將簇頭個(gè)數(shù)的優(yōu)化方案融入了改進(jìn)的協(xié)議。本文當(dāng)中的簇頭最優(yōu)個(gè)數(shù)是采用中的方法確定的,如式(4)所示。
式中,是無(wú)線傳感器網(wǎng)絡(luò)覆蓋區(qū)域面積, N 是區(qū)域內(nèi)節(jié)點(diǎn)數(shù)量, 是信號(hào)放大器的放大倍數(shù), 是每發(fā)送或接收1比特?cái)?shù)據(jù),電路自身消耗的能量, 是簇頭節(jié)點(diǎn)的最遠(yuǎn)覆蓋距離。
2.2 改進(jìn)算法的具體實(shí)現(xiàn)
算法進(jìn)行優(yōu)化后詳細(xì)描述如下。
1)在簇的建立階段,簇頭由所有節(jié)點(diǎn)自主決定,在每一輪中自行生成k 個(gè)簇。k 的值由(4)式?jīng)Q定。
2)將每個(gè)節(jié)點(diǎn)的剩余能量與上一輪中預(yù)計(jì)的當(dāng)前網(wǎng)絡(luò)平均能量進(jìn)行比較,若剩余能量大于網(wǎng)絡(luò)的當(dāng)前平均能量,則有資格成為簇頭候選節(jié)點(diǎn);否則只能等待簇頭廣播簇類信息。
3)能量大于當(dāng)前網(wǎng)絡(luò)平均能量的節(jié)點(diǎn),判斷自己生成的隨機(jī)數(shù)是否小于門(mén)限值T(n)(即上文中已作改進(jìn)的(3)式),若小于則成為簇頭節(jié)點(diǎn);若大于門(mén)限值則為成員節(jié)點(diǎn),等待簇頭發(fā)送告知信息 。至此,簇頭的選舉階段完成。
4)成為簇頭的節(jié)點(diǎn),要以一定的功率發(fā)送簇頭告知信息,但不是全網(wǎng)廣播。該消息只包括簇頭節(jié)點(diǎn)的ID 和消息標(biāo)識(shí)符。在此之后簇頭將等待簇成員的加入信息。
5)成員節(jié)點(diǎn)根據(jù)接收到的ADV 消息的信號(hào)強(qiáng)弱來(lái)選擇一個(gè)信號(hào)強(qiáng)的簇頭節(jié)點(diǎn),并向其發(fā)送一個(gè)請(qǐng)求加入的消息,該消息只包括節(jié)點(diǎn)的ID 和簇頭節(jié)點(diǎn)的ID。
6)簇頭花費(fèi)一定時(shí)間來(lái)等待接收成員節(jié)點(diǎn)的加入簇信息,之后將停止接收并根據(jù)所收到的信息數(shù)量來(lái)安排簇內(nèi)節(jié)點(diǎn)發(fā)送消息的TDMA 時(shí)隙。簇頭將TDMA 時(shí)隙以最小功率發(fā)送給簇內(nèi)成員,以確保成員節(jié)點(diǎn)與簇頭節(jié)點(diǎn)通信時(shí)不會(huì)產(chǎn)生沖突。這樣網(wǎng)絡(luò)中某一輪的簇就已建立起來(lái)。圖1 為改進(jìn)后的簇建立階段算法流程圖。
7) 簇建立好后,開(kāi)始進(jìn)行數(shù)據(jù)的傳輸階段。每個(gè)節(jié)點(diǎn)按照既定規(guī)則在自己的 TDMA 時(shí)隙內(nèi)發(fā)送收集到的信息?;驹谑盏礁鱾€(gè)簇頭發(fā)送來(lái)的整合信息后,分析傳感到的數(shù)據(jù)并反應(yīng)到上層人機(jī)交流界面上。根據(jù)信息中包含的簇頭和節(jié)點(diǎn)的ID 以及其發(fā)送信息時(shí)的功率強(qiáng)度,估計(jì)下一輪發(fā)送消息時(shí)網(wǎng)絡(luò)中節(jié)點(diǎn)的平均能量,并將此信息廣播到網(wǎng)絡(luò),為下一輪循環(huán)做準(zhǔn)備。至此,本輪結(jié)束。
圖 1 改進(jìn)后的簇建立階段算法流程圖
評(píng)論