文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.09.024
中文引用格式: 王智超. PTTC:無線傳感網(wǎng)絡分簇算法[J].電子技術應用,2016,42(9):91-94.
英文引用格式: Wang Zhichao. PTTC:Clustering algorithm for Wireless Sensor Networks[J].Application of Electronic Technique,2016,42(9):91-94.
0 引言
無線傳感網(wǎng)絡WSNs(Wireless Sensor Networks)中的傳感節(jié)點通常以隨機方式分布于網(wǎng)絡,并且這些節(jié)點的能量供應具有有限性,且能量更換不便。這種能量的局限性影響了網(wǎng)絡壽命。因此,能量有效利用是無線傳感網(wǎng)絡的研究熱點[1-2]?;?a class="innerlink" href="http://ihrv.cn/tags/簇" title="簇" target="_blank">簇的網(wǎng)絡結(jié)構是延長網(wǎng)絡壽命的有效算法。
文獻[3]提出了基于低能量自適應簇結(jié)構算法(Low-Energy Adaptive Clustering Hierarchy,LEACH),這是典型的簇結(jié)構算法。在LEACH中,傳感節(jié)點劃分為簇,每個簇選舉一個簇頭CH,其負責收集簇內(nèi)其他節(jié)點的數(shù)據(jù),并向基站傳輸。LEACH算法在選擇簇頭CH時,采用等概率算法,即每個節(jié)點被選舉為簇頭CH的概率相同,在選擇簇頭時并沒有考慮節(jié)點的能量等其他信息。
文獻[4]提出了EDACH(Energy-Driven Adaptive Clus-
tering Hierarchy)算法。EDACH算法采用代理節(jié)點策略,一旦原簇頭CH失效,代理節(jié)點就擔任當前的簇頭CH。隨后,文獻[5]提出了EECH(Energy Efficient Clustering Hierarchy)算法。EECH算法將能量高的節(jié)點賦予被選舉為簇頭CH的概率更高。此外,簇頭CH采用多跳轉(zhuǎn)發(fā)策略向基站傳輸數(shù)據(jù)。文獻[6]提出了基于LEACH的改進算法EECHS。EECHS算法考慮了節(jié)點的剩余能量、距離信息選擇簇頭CH。然而,這些算法并沒有從全局角度,考慮簇的分布情況。
據(jù)此,本文提出一種新的分簇PTTC(Prim based Tree Topology Clustering algorithm for Wireless Sensor)算法。PTTC算法在選擇簇頭CH時,考慮了節(jié)點的剩余能量、節(jié)點被選舉為簇頭CH的頻率以及被選舉為簇頭的概率。仿真結(jié)果表明,提出的PTTC算法能夠有效地降低能量消耗,提高網(wǎng)絡壽命,并提高數(shù)據(jù)傳輸效率。
1 約束條件及能量模型
1.1 約束條件
考慮N個傳感節(jié)點si,i=1,2,…,N隨機分布于監(jiān)測區(qū)域。傳感節(jié)點周期地形成簇,并且有足夠的傳輸功率將數(shù)據(jù)傳輸至基站BS。所有傳感節(jié)點是同構的,具有相同數(shù)據(jù)處理能力,并且每個節(jié)點具有唯一的識別號?;緵]有能量限制,且一般遠離監(jiān)測區(qū)域。同時將時間劃分等間隔的輪,每輪執(zhí)行一次PTTC算法,并產(chǎn)生簇頭。此外,網(wǎng)絡壽命LT被定義為:
其中rfirst_death表示網(wǎng)絡內(nèi)第一個失效節(jié)點所發(fā)生的輪數(shù)。
1.2 能量模型
引用文獻[6]的無線電模型。為了推導每類節(jié)點的能量消耗情況,基于傳輸距離的不同,采用兩種信道模型:自由空間和多徑衰落。相距為d的兩節(jié)點間傳輸l bit的數(shù)據(jù)信息所消耗的能量:
其中Eelec為運行發(fā)射器或接收器的能量消耗。dth為距離門限值,其決定信道模型。由于在同一簇內(nèi),簇頭CH離簇內(nèi)成員節(jié)點的距離小,一般采用自由空間模型,而簇頭與基站BS相距較遠,采用多徑衰落模型。
相應地,節(jié)點接收l bit的消息所消耗的能量ERx:
其中和分別為自由空間和多徑衰落的放大器因子。在本文中,設定和?著=。此外,為了簡化能量計算,假定所有消息包含相同的比特數(shù),數(shù)據(jù)融合所消耗的能量。
2 PTTC算法
首先,計算最優(yōu)的簇頭CH個數(shù)。若簇頭CH個數(shù)過少,一些傳感節(jié)點需要向遠處的CH傳輸數(shù)據(jù)耗,加大了能量消耗;反之,若簇頭CH個數(shù)過多,多數(shù)節(jié)點需要與BS直接通信,也加速了能量消耗。因此,需要對簇頭個數(shù)CH進行優(yōu)化。
其次,每個傳感節(jié)點成為簇頭CH的概率應不相同,應依據(jù)各自節(jié)點的信息決定其概率。若低能量的節(jié)點被選舉為簇頭CH,由于簇頭CH任務繁重,其能量將很快耗盡,這必然縮短了網(wǎng)絡壽命。因此,需要依據(jù)最優(yōu)的簇頭CH個數(shù)和節(jié)點的剩余能量決定一個門限值,進而合理地選擇簇頭CH。
2.1 最優(yōu)簇頭數(shù)kopt
為了減少能量消耗,從簇頭CH的能量消耗角度推導簇頭CH個數(shù)的最優(yōu)值。簇頭CH承擔了3項任務:數(shù)據(jù)接收、數(shù)據(jù)整合、將融合后的數(shù)據(jù)傳輸至基站BS。由于簇頭CH與基站BS相距較遠,采用多徑衰落信道模型。據(jù)此,每輪簇頭CH消耗的能量ECH:
其中l(wèi)表示每個數(shù)據(jù)包中的比特數(shù)。N1是簇內(nèi)的節(jié)點數(shù)。EDA表示融合數(shù)據(jù)所消耗的能量,dtoBS表示簇頭CH離基站的距離。
為了融合所有數(shù)據(jù),每個簇頭CH需要處理n/kopt個長度為l的信號。每個簇內(nèi)節(jié)點的平均數(shù)[7]:
其中分別表示簇頭CH的密度、節(jié)點密度。且。此外,是泊松分布密度。是節(jié)點數(shù),其中A是監(jiān)測方形區(qū)域的面積。k是簇頭個數(shù),p表示節(jié)點被選舉為簇頭CH的概率。
不失一般性,假定基站BS位于監(jiān)測區(qū)域的中心。因此,簇頭CH離監(jiān)測區(qū)域的平均距離:
其中D1表示泊松分布變量,表征簇頭CH離基站的距離,且(x,y)是簇頭的位置坐標。PA表示在區(qū)域A內(nèi)簇頭CH的概率密度。
依據(jù)式(5)和式(6),式(4)可表示為:
由于每個簇內(nèi)成員節(jié)點需要向它的簇頭CH傳輸l bit的數(shù)據(jù),假定它們間的距離表示為dtoCH。不失一般性,dtoCH比較短,采用自由空間信道模型。因此,每個簇內(nèi)成員節(jié)點所消耗的能量Enon-CH:
其中dtoCH[7]:
其中L1為泊松變量,表示簇內(nèi)成員節(jié)點至簇頭距離。因此簇內(nèi)成員節(jié)點離簇頭的平均距離E[L1]:
因此:
據(jù)此,每一輪內(nèi)一個簇所消耗的能量Ecluster:
一輪內(nèi)所有簇所消耗的總能量Etotal:
依據(jù)式(7)、式(11)、式(12),式(13)可轉(zhuǎn)換為:
需要得到最優(yōu)的簇頭個數(shù),進而能量消耗最少。因此,對式(14)求關于k導數(shù),并令其等于零:
由于,可得。式(15)的解便是最優(yōu)的簇頭個數(shù)kopt:
因此,節(jié)點成為簇頭的概率popt:
2.2 簇頭CH的選擇
LEACH算法采用隨機機制選擇簇頭CH,這使得簇頭CH分布不均勻,也導致節(jié)點能量消耗不平衡,降低了網(wǎng)絡壽命。為此,PTTC算法引用3個參數(shù)選擇簇頭CH。第一參數(shù)就是剩余能量,其次是輪數(shù),最后是節(jié)點已被選為簇頭的輪數(shù)。對于節(jié)點i,其被選為簇頭概率T(i):
其中:Cch表示目前節(jié)點被選為簇頭的次數(shù),Eresidual表示節(jié)點的剩余能量,Einit為節(jié)點的初始能量,r為輪數(shù)。一旦被選舉為簇頭CH,節(jié)點就向鄰居節(jié)點廣播通告消息Mes_adver。當其他節(jié)點接收了Mes_adver消息后,就向該簇頭CH回復,并發(fā)送加入該簇消息Mes_join。接收了Mes_join消息后,簇頭CH就依據(jù)Mes_join消息識別節(jié)點ID,并記錄簇內(nèi)成員節(jié)點號,最終形成簇。
2.3 樹的構建
形成簇后,再利用普里姆(Prim)算法構建樹。假定N={V,E}表示連通網(wǎng)絡。首先從一頂點h出發(fā),再選擇與它關聯(lián)的具有最小權值的邊(h,v),然后將其頂點加入到生成樹的頂點集合U中。以后每一步均從一個頂點在U中而另一個頂點不在U中的各條邊中選擇權值最小的邊(u,v),并把該邊加入到生成樹的邊集中,把它的頂點加入到集合U中。一直重復執(zhí)行,直到網(wǎng)絡中的所有頂點都加入到生成樹頂點集合U中為止。普里姆(Prim)算法建立最小spanning樹的示例如圖1所示。
在PTTC算法中,節(jié)點i的權值Weight(i):
其中、棕2為權值系數(shù),Eresidual(i)表示節(jié)點的剩余能量,d(i,CH)表示節(jié)點離簇頭CH的距離。
利用Prim算法建立的樹簇網(wǎng)絡結(jié)構如圖2所示。形成了樹簇結(jié)構后,便可開始進行數(shù)據(jù)傳輸。葉節(jié)點向父節(jié)點傳輸數(shù)據(jù)。融合了自己數(shù)據(jù)后,父節(jié)點再將數(shù)據(jù)傳輸?shù)剿母腹?jié)點。
3 性能分析
利用MATLAB R2012b建立仿真平臺。考慮100 m×100 m的區(qū)域,基站位于區(qū)域中心位置,具體仿真參數(shù)如表1所示。每次實驗重復50次,取平均值作為最終數(shù)據(jù)。仿真時間為500 s。
此外,選擇LEACH、 EDACH、EECHS與提出的PTTC算法進行同步仿真,比較這4個算法在失效簇頭CH數(shù)、第一個節(jié)點失效所發(fā)生的輪數(shù)FND(First Node Die)和一半活動節(jié)點所在的輪數(shù)HNA(Half of the Nodes alive)、能量消耗速度以及數(shù)據(jù)丟失率。
3.1 能量消耗
表2列舉了4個算法的能量消耗情況。從表2可知,在能量消耗了近50%時,提出的PTTC算法已運行至1 000多輪,而LEACH、EDACH和EECHS分別運行了477輪、478和729輪。從能量消耗數(shù)據(jù)可知,PTTC算法比LEACH、EDACH算法的能量消耗利用率分別提升了127.0%、126.6%。例如,在運行800輪時,提出的PTTC算法僅消耗了22%能量,而LEACH、EDACH分別消耗了48.6%、47.5%能量。
3.2 數(shù)據(jù)丟失率
圖3比較了4個算法的數(shù)據(jù)丟失率情況。如圖3所示,提出PTTC算法的數(shù)據(jù)包丟失率最低,這主要是因為它在選擇簇頭CH時從全局考慮了剩余能量,并且使得簇頭CH分布更均勻, 同時建立樹簇結(jié)構,提高了數(shù)據(jù)傳輸效率。而LEACH算法的數(shù)據(jù)丟失率最高,這也進一步證實隨機選擇簇頭容易導致簇頭CH失效,致使無法工作,導致數(shù)據(jù)丟失。
4 總結(jié)
本文提出了基于Prim的樹簇拓撲的無線傳感網(wǎng)絡分簇PTTC算法,平衡能量消耗,進而提高網(wǎng)絡壽命。首先,從優(yōu)化能量消耗角度,推導了最優(yōu)簇頭個數(shù),然后依據(jù)節(jié)點剩余能量、位置信息計算節(jié)點被選為簇頭CH的概率,再形成簇。最后,利用Prim算法,構建樹,形成樹簇結(jié)構,并依據(jù)樹簇拓撲傳輸數(shù)據(jù)。仿真結(jié)果表明,提出的PTTC算法比LEACH算法的能量利用率提升了近127.0%,數(shù)據(jù)丟失率降低了近50%,有效地提升了網(wǎng)絡壽命和數(shù)據(jù)傳輸效率。
參考文獻
[1] YOUNIS O,FAHMY S.HEED:A hybrid,energy-efficient,distributed clustering approach for ad hoc sensor networks[J].IEEE Trans.Mobile Comput.,2014,3(4):366-379.
[2] KUMAR P,SINGH M P,TRIAR U S.A review of routing protocols in wireless sensor network[J].International Journal of Engineering Research & Technology,2012,1(4):1-14.
[3] HEINZELMAN W R,CHANDRAKASAN A,BALAKRISHNAN H.Energy-efficient communication protocol for wireless micro-sensor networks[C].In Proc.HICSS,2000:1-10.
[4] KIM K T,YOUNG H Y.Energy-driven adaptive clustering hierarchy(EDACH) for wireless sensor networks[J].LNCS,2005,38(23):1098-1107.
[5] HU Y,LI W,KANG Z.Study on energy efficient hierarchical routing protocols of wireless sensor network[C].In Proc.ICIE,2009:325-328.
[6] RAY A,DE D.Energy efficient clustering hierarchy protocol for wireless sensor network[C].in Proc.ICCIA,2011:1-4.
[7] FOSS S G,ZUYEV S A.On a voronoi aggregative process related to a bivariate poisson process[J].Advances in Applied Probability,1996(28):965-981.