王自力,鄭 鑫
(1.駐馬店職業(yè)技術(shù)學(xué)院,信息工程系,河南 駐馬店 463000;2.黃淮學(xué)院 信息工程學(xué)院,河南 駐馬店 463000)
盡管無線傳感網(wǎng)絡(luò)(Wireless Sensor Networks,WSNs)已在多類領(lǐng)域使用[1],如智能家居、環(huán)境檢測,但WSNs的能耗問題一直是研究人員的關(guān)注焦點(diǎn)。WSNs內(nèi)的節(jié)點(diǎn)屬微型設(shè)備,多數(shù)節(jié)點(diǎn)是小型電池供電。而且WSNs常部署于野外環(huán)境,當(dāng)電池電量耗盡,也不便于更換電池[2]。據(jù)此,如何充分利用WSNs的有限能量是亟待解決的問題。
傳輸數(shù)據(jù)消耗了節(jié)點(diǎn)的大部分能量。換而言之,以低能耗地傳輸數(shù)據(jù)能夠降低能耗。而有效的路由就能高效、低能耗地完成數(shù)據(jù)傳輸。其中簇路由[3]是解決WSNs能耗問題的有效方法。
圖1顯示了典型的簇路由拓?fù)浣Y(jié)構(gòu)。先依據(jù)節(jié)點(diǎn)位置、距離等信息形成簇。每個(gè)簇產(chǎn)生一個(gè)簇頭(Cluster Head, CH)。由CH收集簇內(nèi)節(jié)點(diǎn)的感測數(shù)據(jù),并由CH負(fù)責(zé)簇與簇間的通信。最終,由CHs構(gòu)建了向基站(Base Station)傳輸數(shù)據(jù)的路徑,如圖1所示的黑色箭頭線所示。
圖1 典型的簇路由拓?fù)浣Y(jié)構(gòu)
盡管簇路由能夠降低能耗,但如何構(gòu)建簇以及CH的輪換機(jī)制影響能量消耗問題。事實(shí)上,構(gòu)建簇本身是需要消耗節(jié)點(diǎn)能量[4]。在構(gòu)建簇初始階段,節(jié)點(diǎn)需收集鄰居節(jié)點(diǎn)信息,競爭產(chǎn)生簇頭。這個(gè)過程,需要消耗節(jié)點(diǎn)能量。此外,CH不但需收集簇內(nèi)節(jié)點(diǎn)數(shù)據(jù),還需承擔(dān)簇間通信。CH的能耗速度大于節(jié)點(diǎn)的能耗速度。因此,需引用輪換機(jī)制,由不同的節(jié)點(diǎn)承擔(dān)CH,進(jìn)而平衡節(jié)點(diǎn)間的能耗。
CH的輪換機(jī)制就涉及到簇的重構(gòu)問題。文獻(xiàn)[5-7]對簇的構(gòu)建進(jìn)行較深入的探討。但是,它們在構(gòu)建簇時(shí)均采用固定周期。在每一輪(Round)內(nèi)就構(gòu)建一簇,這必然加大了構(gòu)建簇的能量消耗。即在第一輪構(gòu)簇,而在下一輪再重構(gòu)簇,文獻(xiàn)[5-15]均采用了此策略。
依據(jù)基于輪的策略中,如果一輪過長,則CHs承擔(dān)的任務(wù)過多,這將消耗了CHs的過多能量。反之,若輪過短,則簇的拓?fù)鋵㈩l繁地變化,將在建立階段消耗過多的能量,而不是在數(shù)據(jù)傳輸階段。因此,決定一輪的時(shí)長是非常關(guān)鍵的。
為此,提出基于模糊干擾系統(tǒng)的構(gòu)簇策略(Fuzzy inference-based Clustering-Task Scheduling, FI-CTS),并形成FI-CTS路由。FI-CTS路由充分利用模糊干擾系統(tǒng)在決策方面的優(yōu)勢,并由模糊干擾系統(tǒng)決策輪的長度。FI-CTS引用復(fù)輪概念,一個(gè)復(fù)輪由多個(gè)輪構(gòu)建。并非每輪都構(gòu)建簇,而是一個(gè)復(fù)輪內(nèi)才構(gòu)建一次簇。仿真數(shù)據(jù)表明,提出的FI-CTS路由能有效地降低能耗,延長網(wǎng)絡(luò)壽命。
引用圖2所示的能耗模型[12]。節(jié)點(diǎn)每傳輸q比特的數(shù)據(jù)所消耗的能量ETX(q,d):
其中,d為傳輸距離。Eelec表示傳輸單比特?cái)?shù)據(jù)能耗。Efrris、Etworay分別表示自由空間、雙徑傳播模型下能耗參數(shù)[14-15]。
圖2 無線電能量消耗模型
節(jié)點(diǎn)每接收q比特的數(shù)據(jù)所消耗的能量ERX(q):
ERX(q)=q*Eelec
(2)
(3)
FI-CTS路由引用復(fù)輪策略。每個(gè)復(fù)輪內(nèi)含有多個(gè)輪,且第一輪內(nèi)有簇建立階段和數(shù)據(jù)傳輸階段。與傳統(tǒng)的輪結(jié)構(gòu)不同,F(xiàn)I-CTS路由規(guī)定只在復(fù)輪內(nèi)的第一個(gè)輪的簇建立階段構(gòu)建簇,而后面的輪內(nèi)并不構(gòu)建簇,如圖3所示。
圖3 復(fù)輪結(jié)構(gòu)圖
依圖3可知,盡管一個(gè)復(fù)輪內(nèi)含有多個(gè)輪,但是并非每個(gè)輪內(nèi)都啟動簇構(gòu)建工作。那如何控制復(fù)輪的長度呢?即一個(gè)復(fù)輪內(nèi)含有多少個(gè)輪?復(fù)輪長度決策了路由協(xié)議性能。為此,引用模糊干擾系統(tǒng)決策復(fù)輪長度。
1.4.1 模糊干擾系統(tǒng)
模糊干擾系統(tǒng)(Fuzzy Inference System, FIS)能夠有效地處理多輸入單輸出的決策問題。而復(fù)輪的長度受多個(gè)因素決定。因此,F(xiàn)I-CTS路由利用FIS決定復(fù)輪長度[14]。
將簇頭CH的剩余能量以及簇頭CH離基站的距離信息作為FIS系統(tǒng)輸入,輸出為復(fù)輪的長度。若剩余能量越高,復(fù)輪長度就可越長。反之,剩余能量越低,就需馬上輪換CH,復(fù)輪長度越低。
如圖4所示,將可用能量百分比和相對距離表征節(jié)點(diǎn)的剩余能量和相對距離。
圖4 FIS系統(tǒng)
令Uei表示簇頭CHi可用能量百分比,其定義如式(4)所示:
(4)
令Dri表示CHi的相對距離,其定義如式(5)所示:
(5)
其中Di,BS表示節(jié)點(diǎn)i離基站(Base Station, BS)的距離。而Dmax、Dmin分別表示鄰居節(jié)點(diǎn)中離基站的最遠(yuǎn)、最小的距離。節(jié)點(diǎn)利用RSSI估計(jì)距離。
將Uei、Dri作為FIS輸入,輸出為Ot。再由Ot決定本次復(fù)輪長度Lsr,其定義如式(6)所示:
(6)
1.4.2 隸屬函數(shù)
模糊干擾系統(tǒng)的輸入為語言變量。為此,將可用能量百分比Uei設(shè)置5級語言變量,分別為:復(fù)低(very low)、低(low)、中(medium)、高(high)、復(fù)高(very high)。類似地,將相對距離設(shè)置為3級語言變量,分別為:近(close)、適中(adequate)和遠(yuǎn)(far)。圖5顯示了輸入變量的隸屬函數(shù)。
圖5 輸入變量隸屬函數(shù)
表1表述了的模糊干擾系統(tǒng)的邏輯規(guī)則。模糊干擾系統(tǒng)依據(jù)這些規(guī)則[15],將輸入變量轉(zhuǎn)化成輸出變量。從表1可知,輸出變量分為了8個(gè)等級:
Ot={Verylow,low,ratherlow,mediumlow,medium,
mediumhigh,ratherhigh,high,veryhigh}
(7)
表1 規(guī)則庫
為了更好地分析FI-CTS路由的性能,依據(jù)Matlab軟件建立平臺[15]。仿真參數(shù)如表2所示。每次仿真獨(dú)立重復(fù)50次,取平均值作為最終的數(shù)據(jù)。
表2 仿真參數(shù)
同時(shí),為了更好地分析FI-CTS路由的性能,選用EHEED路由和EDIT路由進(jìn)行比較。EHEED路由是基于HEED路由的改進(jìn),它采用多跳路徑完成簇間通信。而EDIT算法降低了在簇構(gòu)建過程中的消息交互,并且將節(jié)點(diǎn)剩余能量作為CH選擇的基本指標(biāo)。
在仿真過程中,選擇EHEED路由和EDIT路由進(jìn)行進(jìn)行同步仿真,并進(jìn)行性能分析。主要分析的簇開銷、數(shù)據(jù)包傳遞時(shí)延、傳輸時(shí)延和能耗問題。其中,用網(wǎng)絡(luò)壽命表征能耗。
2.1.1 實(shí)驗(yàn)一
本次實(shí)驗(yàn)分析復(fù)輪長度變化。實(shí)驗(yàn)數(shù)據(jù)如圖6所示。
圖6 復(fù)輪長度
從圖6可知,復(fù)輪長度隨時(shí)間在變化。這也說明FI-CTS路由能夠動態(tài)地依據(jù)簇頭CH能量和距離,調(diào)整復(fù)輪長度。在仿真時(shí)間最初,復(fù)輪長度很長。原因在于:最初CHs的能量充足,能夠承擔(dān)一段時(shí)間內(nèi)的簇開銷。然而在基于輪的策略中,能量充足的CHs必須在每輪重構(gòu)簇,浪費(fèi)了能量。隨著時(shí)間推移,節(jié)點(diǎn)剩余能量逐漸下降,加快了負(fù)載平衡的節(jié)奏。
2.1.2 實(shí)驗(yàn)二
本次實(shí)驗(yàn)分析構(gòu)簇開銷隨輪的變化情況,實(shí)驗(yàn)數(shù)據(jù)如圖7所示。
圖7 重構(gòu)簇能耗比例
圖7顯示了重構(gòu)簇所消耗的能量占總能耗的比例。從圖7可知,F(xiàn)I-CTS路由的重構(gòu)簇能耗最低。這主要是因?yàn)椋篎I-CTS路由動態(tài)地調(diào)整復(fù)輪長度,并非在每輪產(chǎn)生簇頭,減少了重構(gòu)簇的次數(shù)。但EHEED路由在重構(gòu)簇消耗了最多能量。
2.1.3 實(shí)驗(yàn)三
本次實(shí)驗(yàn)分析網(wǎng)絡(luò)壽命性能,其分析了離基站距離對網(wǎng)絡(luò)壽命的影響。
從圖8可知,離基站距離遠(yuǎn)長,網(wǎng)絡(luò)壽命逐漸縮短。原因在于:距離越長,傳輸數(shù)據(jù)的路徑越長,能耗越大。從式(1)可知,能耗與傳輸距離直接相關(guān)。從圖8可知,F(xiàn)I-CTS路由的網(wǎng)絡(luò)壽命最長,遠(yuǎn)高于EDIT和EHEED路由。例如,在距離100m,EDIT和EHEED路由的網(wǎng)絡(luò)壽命低于1100輪,但FI-CTS路由的網(wǎng)絡(luò)壽命達(dá)到1300輪。
圖 8 離基站距離對網(wǎng)絡(luò)壽命的影響
2.1.4 實(shí)驗(yàn)四
本次實(shí)驗(yàn)分析FI-CTS路由的數(shù)據(jù)傳輸時(shí)延,節(jié)點(diǎn)數(shù)從150~450變化。
從圖9可知,F(xiàn)I-CTS路由和EHEED路由的傳輸時(shí)延相近,但遠(yuǎn)低于EDIT路由的時(shí)延。盡管FI-CTS路由旨于在降低重構(gòu)簇能耗,但是其并沒有降低傳輸性能。但FI-CTS路由的傳輸時(shí)延并不優(yōu)于EHEED路由。
圖9 數(shù)據(jù)傳輸?shù)亩说蕉藗鬏敃r(shí)延
2.1.5 實(shí)驗(yàn)五
最后,分析FI-CTS路由的數(shù)據(jù)包傳遞率。數(shù)據(jù)包傳遞率等于基站成功接收的數(shù)據(jù)包數(shù)與節(jié)點(diǎn)所發(fā)送的數(shù)據(jù)包數(shù)的比值。數(shù)據(jù)包傳遞率越高,表明路由傳輸性能越好。
從圖10可知,提出的FI-CTS路由的數(shù)據(jù)包傳遞率最高,優(yōu)于EDIT和EHEED路由。這要?dú)w結(jié)于:FI-CTS路由選擇剩余能量高的節(jié)點(diǎn)作為簇頭,并由簇頭的剩余能量和距離信息決策復(fù)輪長度,避免節(jié)點(diǎn)因能耗殆盡而失效。失效節(jié)點(diǎn)數(shù)越少,數(shù)據(jù)傳輸越順利。最終,提高了數(shù)據(jù)包傳遞率。
圖10 數(shù)據(jù)包傳遞率
針對WSNs簇路由的能耗問題,提出FI-CTS路由。FI-CTS路由在不降低簇路由性能條件下,減少重構(gòu)簇的次數(shù),進(jìn)而減少構(gòu)簇能耗。FI-CTS路由利用簇頭能量和離基站距離信息作為模糊干擾系統(tǒng)的輸入,由系統(tǒng)輸出量決策復(fù)輪長度,進(jìn)而動態(tài)地調(diào)整復(fù)輪長度。仿真結(jié)果表明,提出的FI-CTS路由能夠有效地降低能耗,并提高了數(shù)據(jù)傳輸性能。