方旺盛,萬(wàn)良香,胡中棟
(江西理工大學(xué) 信息工程學(xué)院,江西 贛州 341000)
無(wú)線傳感器網(wǎng)絡(luò)(wireless sensor networks,WSNs)[1]一直作為重要的工具,廣泛運(yùn)用于各類場(chǎng)合中,例如醫(yī)療康復(fù)[2]、野外戰(zhàn)場(chǎng)環(huán)境監(jiān)測(cè)、國(guó)家邊境防御裝備等。由于傳感器節(jié)點(diǎn)(Node)部署后一般不可移動(dòng)且難以蓄電,因此如何節(jié)省網(wǎng)絡(luò)能耗一直是研究的熱點(diǎn)。分簇路由算法[3]與非層次路由算法相比較更節(jié)省能耗,所以分簇路由算法為當(dāng)下研究重點(diǎn)。
文獻(xiàn)[4]基于經(jīng)典分簇路由LEACH協(xié)議算法思想上,提出了以節(jié)點(diǎn)與簇頭及節(jié)點(diǎn)與基站的距離信息作為簇內(nèi)節(jié)點(diǎn)是否與基站直接通信的判定條件,以節(jié)省網(wǎng)絡(luò)能耗。文獻(xiàn)[5]提出模糊邏輯算法改進(jìn)簇頭選取機(jī)制及簇群尺寸,以選取更合適的簇頭。文獻(xiàn)[6]基于EEUC協(xié)議,引入了能量因素和節(jié)點(diǎn)度以改進(jìn)競(jìng)爭(zhēng)半徑及閾值的設(shè)定,最終提高網(wǎng)絡(luò)執(zhí)行效率。文獻(xiàn)[7]提出了加權(quán)值應(yīng)用于簇首節(jié)點(diǎn)閾值,提升簇頭選取質(zhì)量。文獻(xiàn)[8]提出環(huán)狀網(wǎng)絡(luò)區(qū)域,以劃分區(qū)域的方式改進(jìn)數(shù)據(jù)傳遞效率,提高網(wǎng)絡(luò)生命周期。文獻(xiàn)[9]提出了將無(wú)線傳感器網(wǎng)絡(luò)劃分為不同大小的圓環(huán),以改善“熱區(qū)”問(wèn)題。文獻(xiàn)[10]提出K-means算法與LEACH協(xié)議結(jié)合,以減少傳輸能耗。
以上算法大多都是基于LEACH模型進(jìn)行的改進(jìn),雖分簇思想能夠有效提高生命周期,以上文獻(xiàn)也均有考慮到節(jié)點(diǎn)能量因素,或綜合考慮能量因素和位置因素,但是對(duì)于網(wǎng)絡(luò)簇群分布不均問(wèn)題仍然沒(méi)有很好的改善。
因此,本文基于LEACH協(xié)議的思想上,為改善網(wǎng)絡(luò)簇群分布不均問(wèn)題,提出DMBC(distance measurement method based clustering algorithm for wireless sensor network)算法,該算法的主要思想是利用節(jié)點(diǎn)間距離作為重要指標(biāo)改進(jìn)K-means算法,使得簇群分布位置更加均勻,再利用節(jié)點(diǎn)的能量特性、位置特性優(yōu)化每個(gè)簇群簇首選擇,最終延長(zhǎng)WSNs網(wǎng)絡(luò)生命周期。
本文假定所有節(jié)點(diǎn)服從均勻分布且一旦部署后不可移動(dòng),其它具體特征如下:①Sink節(jié)點(diǎn)有且僅有一個(gè),所有節(jié)點(diǎn)位置N(Xi,Yi)已知且不可移動(dòng);②每一個(gè)節(jié)點(diǎn)有相同的初始能量Eo;③部署節(jié)點(diǎn)可根據(jù)接收到信息的信號(hào)強(qiáng)度計(jì)算出發(fā)送節(jié)點(diǎn)到接收節(jié)點(diǎn)的距離;④每一個(gè)節(jié)點(diǎn)有唯一的標(biāo)識(shí)號(hào)i,(i=1,2,…,N);⑤假定各節(jié)點(diǎn)均可相互通信,且所有節(jié)點(diǎn)均可與Sink節(jié)點(diǎn)直接通信;⑥所有節(jié)點(diǎn)均具備融合數(shù)據(jù)的能力。
網(wǎng)絡(luò)節(jié)點(diǎn)在無(wú)線通信過(guò)程使用的能耗模型采用與文獻(xiàn)[11]相同的無(wú)線通信模型,將l比特?cái)?shù)據(jù)傳輸至距離d處位置時(shí)所需要的能耗公式如下
(1)
式中:Eelec表示發(fā)射模塊在電路中消耗的能量,傳輸距離存在閾值d0作為能耗分界線,其計(jì)算式如下
(2)
當(dāng)傳輸距離d小于閾值d0時(shí),網(wǎng)絡(luò)在傳輸數(shù)據(jù)的過(guò)程中采用自由空間模型;否則網(wǎng)絡(luò)在傳輸數(shù)據(jù)的過(guò)程中采用多路徑衰減模型,εfs、εmp分別是兩模型中功率放大所需要消耗的能量。
分簇路由協(xié)議中,數(shù)據(jù)融合技術(shù)被采用于減少傳輸能耗,即當(dāng)簇首節(jié)點(diǎn)接收到簇內(nèi)成員傳輸?shù)臄?shù)據(jù)具有相關(guān)性時(shí),簇首則將簇內(nèi)成員發(fā)送的信息量壓縮為lbits,此時(shí)節(jié)點(diǎn)對(duì)數(shù)據(jù)融合所需能耗EDA由式(3)計(jì)算所得
EDA(l)=l*5nJ/bit
(3)
LEACH協(xié)議的網(wǎng)絡(luò)聚簇效果是和簇頭選取過(guò)程共同完成的,但簇頭選取機(jī)制考慮因素單一,最終成簇效果不佳,簇群分布不均。因此,本文將網(wǎng)絡(luò)聚簇過(guò)程和簇頭選取過(guò)程分開(kāi)進(jìn)行,先將網(wǎng)絡(luò)劃分成簇,而后在劃分好的簇內(nèi)選取合適的簇首節(jié)點(diǎn)。聚簇過(guò)程是利用改進(jìn)的K-means算法模型獲得,而簇首選舉機(jī)制也加入了能量因素、位置因素,本文先將網(wǎng)絡(luò)劃分成簇可以使得網(wǎng)絡(luò)保持較好的成簇效果,簇首選取機(jī)制的改進(jìn)也能使得條件更佳的節(jié)點(diǎn)成為簇首。
K-means模型可以根據(jù)距離相似度將分布在網(wǎng)絡(luò)的節(jié)點(diǎn)進(jìn)行聚類,主要的步驟如下:
(1)在網(wǎng)絡(luò)中隨機(jī)選取K個(gè)節(jié)點(diǎn)作為初始的中心聚類節(jié)點(diǎn),其它節(jié)點(diǎn)選取距離最近的中心聚類節(jié)點(diǎn)加入成簇,形成K個(gè)初始聚類。
(2)計(jì)算簇群的質(zhì)心節(jié)點(diǎn),每個(gè)簇群中與質(zhì)心節(jié)點(diǎn)距離最小的節(jié)點(diǎn)成為新的中心聚類節(jié)點(diǎn),而后所有節(jié)點(diǎn)加入最近的中心聚類節(jié)點(diǎn)產(chǎn)生簇群。
(3)算法迭代步驟(1)、步驟(2),直到標(biāo)準(zhǔn)測(cè)度函數(shù)開(kāi)始收斂,或者是算法迭代多次直到中心聚類節(jié)點(diǎn)不再改變,得出聚類結(jié)果。
K-means算法比較簡(jiǎn)易,但是存在以下因素影響成簇效果:
(1)初始中心聚類節(jié)點(diǎn)隨機(jī)選取,如果中心聚類節(jié)點(diǎn)過(guò)于集中會(huì)使得簇群過(guò)于集中,形成局部最優(yōu),導(dǎo)致成簇效果不佳。
(2)通過(guò)計(jì)算每個(gè)簇群的質(zhì)心,距離質(zhì)心最近的節(jié)點(diǎn)成為新的中心節(jié)點(diǎn),簇群容易受個(gè)別“偏僻”節(jié)點(diǎn)影響,導(dǎo)致中心節(jié)點(diǎn)反而偏離大多數(shù)節(jié)點(diǎn)。
2.2.1 最優(yōu)分簇
本文利用K-means算法思路進(jìn)行聚類,初始需選取K個(gè)中心節(jié)點(diǎn),K值根據(jù)文獻(xiàn)[12]確定,其表達(dá)式為
(4)
式中:N為區(qū)域中節(jié)點(diǎn)個(gè)數(shù),X為區(qū)域邊長(zhǎng),dtoBS為基站至網(wǎng)絡(luò)中節(jié)點(diǎn)的平均距離,εfs是自由空間信道模型的放大功率所需能耗,εmp是多徑衰落信道模型的放大功率能耗。式中簇群個(gè)數(shù)K,隨著節(jié)點(diǎn)個(gè)數(shù)N的投放量增加以及區(qū)域半徑X擴(kuò)大而增加,反之則減少;基站至節(jié)點(diǎn)距離dtoBS也是改變簇群個(gè)數(shù)的可變量,基站距離網(wǎng)絡(luò)節(jié)點(diǎn)越近其簇群個(gè)數(shù)越多。
2.2.2 中心點(diǎn)選取過(guò)程
在K-means路由算法中,隨機(jī)性的在網(wǎng)絡(luò)中選取K個(gè)普通節(jié)點(diǎn),根據(jù)質(zhì)心位置變化迭代聚類,算法實(shí)現(xiàn)難度低,但是聚類過(guò)程中,容易陷入局部最優(yōu)。當(dāng)節(jié)點(diǎn)距離分布較近時(shí),在迭代過(guò)程中,中心點(diǎn)可能過(guò)近甚至出現(xiàn)重合,兩個(gè)簇群容易融合為一個(gè)簇群;當(dāng)中心點(diǎn)距離分布遠(yuǎn)且在網(wǎng)絡(luò)的各個(gè)方向分布,則成簇效果會(huì)更加合理。因此,針對(duì)以上的不足點(diǎn),本文利用節(jié)點(diǎn)間最遠(yuǎn)距離作為K個(gè)初始中心節(jié)點(diǎn)選取的指標(biāo)[13]。最大距離法的一般公式如下
{dis(d1,dk)*dis(d2,dk)*…*dis(dk-1,dk)≥ dis(d1,di)*dis(d2,di)*…*dis(dk-1,di),di≠d1,d2,…,dk-1}
(5)
式中:dk是網(wǎng)絡(luò)中選取出來(lái)的中心聚類節(jié)點(diǎn),di是網(wǎng)絡(luò)中除已選中的中心聚類節(jié)點(diǎn)外的任意節(jié)點(diǎn)。
利用上述公式,中心點(diǎn)的優(yōu)化選取過(guò)程如下:
(1)計(jì)算N個(gè)節(jié)點(diǎn)兩兩間的距離dis{i,j},找出滿足:dis(d1,d2)≥dis(di,dj),(i,j=1,2,…,N)的兩個(gè)節(jié)點(diǎn),滿足條件的兩個(gè)節(jié)點(diǎn)成為初始簇群的中心聚類節(jié)點(diǎn)d1、d2。
(2)在剩余的N-2個(gè)節(jié)點(diǎn)中,找出節(jié)點(diǎn)距離條件滿足:{dis(d1,d3)*dis(d2,d3)≥dis(d1,di)*dis(d2,di),(di≠d1,d2)}的節(jié)點(diǎn)成為中心聚類節(jié)點(diǎn)d3。
(3)在剩余的N-3個(gè)節(jié)點(diǎn)中,找到節(jié)點(diǎn)間距離條件滿足{dis(d1,d4)*dis(d2,d4)*dis(d3,d4)≥dis(d1,di)*dis(d2,di)*dis(d3,di),(di≠d1,d2,d3)}滿足條件的節(jié)點(diǎn)成為第4個(gè)中心聚類節(jié)點(diǎn)d4。
(4)依此類推,剩余K-4個(gè)中心節(jié)點(diǎn)根據(jù)上述方法得出。
由于傳統(tǒng)的聚類方法是計(jì)算簇群質(zhì)心獲取的,但是中心點(diǎn)容易受邊界點(diǎn)影響,造成中心點(diǎn)偏移的狀況。因此本文利用了節(jié)點(diǎn)距離度量法使得選取的中心點(diǎn)更加貼合簇群,其主要思想:
(1)首先每個(gè)節(jié)點(diǎn)根據(jù)和各中心節(jié)點(diǎn)距離,距離條件需滿足:Min{Dis.center(a),(a=1,2,…,K)},其中Dis.center(a)表示節(jié)點(diǎn)和各中心聚類節(jié)點(diǎn)距離,節(jié)點(diǎn)加入簇群后分配簇群的唯一標(biāo)識(shí)號(hào)a,簇群表示為Clustera,(a=1,2,…,K)。
(2)其次在每個(gè)Clustera簇群中,各節(jié)點(diǎn)計(jì)算與該簇內(nèi)其余節(jié)點(diǎn)的距離(聚類節(jié)點(diǎn)除外),其距離表達(dá)式為Dis.nodei(a,j),(i,j∈Clustera,i,j≠dk),同時(shí)也計(jì)算上一輪中心聚類節(jié)點(diǎn)與該簇群節(jié)點(diǎn)的距離,表達(dá)式為:Dis.ctna(i),(i∈Clustera)。
(3)將Dis.nodei(a,j)、Dis.ctna(i)兩距離進(jìn)行比較,并利用該距離獲取每個(gè)節(jié)點(diǎn)的鄰居節(jié)點(diǎn),其鄰居節(jié)點(diǎn)獲取表達(dá)式如下:Ni.Vic={Dis.nodei(a,j)≥Dis.ctna(i)|i,j∈Clustera},鄰居節(jié)點(diǎn)集合中的節(jié)點(diǎn)數(shù)量越多,表示該節(jié)點(diǎn)在簇群中與各節(jié)點(diǎn)距離都比較近,因此將集合數(shù)目最大的節(jié)點(diǎn)更新為新的中心聚類節(jié)點(diǎn),剩余節(jié)點(diǎn)重新加入中心節(jié)點(diǎn)成簇,直至算法迭代至簇群位置不再更新。
在上述的聚類思想中,聚類指標(biāo)是節(jié)點(diǎn)間距離相似度,聚類中心根據(jù)距離相似度將符合標(biāo)準(zhǔn)的節(jié)點(diǎn)納入所在簇群,最終聚類出簇大小和簇內(nèi)成員相似的簇群。
普通節(jié)點(diǎn)僅需發(fā)送信息傳輸能耗,而簇首節(jié)點(diǎn)兼具收發(fā)任務(wù),還需將簇內(nèi)成員信息融合后再發(fā)送至Sink節(jié)點(diǎn),因此簇頭節(jié)點(diǎn)能量耗損最快,容易出現(xiàn)節(jié)點(diǎn)間能量差異大的現(xiàn)象,所以簇頭選擇至關(guān)重要。本文對(duì)簇頭選舉機(jī)制進(jìn)行了改進(jìn),簇頭閾值計(jì)算過(guò)程引入能量調(diào)節(jié)因子、質(zhì)心因子、距離因子3個(gè)制約因素,以此改進(jìn)閾值計(jì)算。
2.4.1 能量調(diào)節(jié)因子
網(wǎng)絡(luò)劃分成簇后,因根據(jù)距離相似度劃分的簇群,位置分布不同的簇群其大小不一,并且隨著信息傳遞,節(jié)點(diǎn)間接收和發(fā)送數(shù)據(jù)是能量不斷消耗的過(guò)程,但每個(gè)簇群的能耗有所差異,因此能量調(diào)節(jié)因子定義如下
(6)
2.4.2 質(zhì)心因子
簇頭選舉過(guò)程中,節(jié)點(diǎn)的位置要顧慮到大多數(shù)節(jié)點(diǎn)傳遞信息至簇頭節(jié)點(diǎn)時(shí)的距離要較小,從而節(jié)省傳輸能耗。在此,每個(gè)節(jié)點(diǎn)定義了質(zhì)心因子
(7)
2.4.3 距離因子
簇頭不僅僅需要接收簇內(nèi)節(jié)點(diǎn)的信息,還需要將信息融合后傳遞至匯聚節(jié)點(diǎn),所以仍然需要考慮節(jié)點(diǎn)至匯聚節(jié)點(diǎn)的距離,其距離因子定義為
(8)
式中:distoSink表示網(wǎng)絡(luò)所有節(jié)點(diǎn)至匯聚節(jié)點(diǎn)的平均距離,disi表示節(jié)點(diǎn)i至匯聚節(jié)點(diǎn)的距離。
根據(jù)上述的能量、質(zhì)心、距離因子,最終得出每個(gè)節(jié)點(diǎn)的閾值表達(dá)式如下
(9)
式中:β1、β2、β3為加權(quán)系數(shù),β1表示能量因子加權(quán)系數(shù);β2表示質(zhì)心因子加權(quán)系數(shù);β3表示距離因子加權(quán)系數(shù)。
式(9)結(jié)合式(6)可知,節(jié)點(diǎn)閾值T(n)與其剩余能量Eres相關(guān),當(dāng)節(jié)點(diǎn)剩余能量越高,閾值越大,成為簇頭可能性越大,降低剩余能量少的節(jié)點(diǎn)成為簇頭的可能;結(jié)合式(7)中,節(jié)點(diǎn)到質(zhì)心距離distoc與簇內(nèi)節(jié)點(diǎn)至質(zhì)心距離成反比,即靠近質(zhì)心的節(jié)點(diǎn)成為簇首節(jié)點(diǎn)的可能性越大;結(jié)合式(8)同理可知,簇內(nèi)靠近匯聚節(jié)點(diǎn)的節(jié)點(diǎn)其閾值越高,節(jié)點(diǎn)成為簇頭節(jié)點(diǎn)后可減少越多傳輸能耗。顯然,算法綜合了候選節(jié)點(diǎn)的剩余能量、地理位置優(yōu)化簇頭選舉機(jī)制,從而避免能量低且位置不佳的節(jié)點(diǎn)成為簇首節(jié)點(diǎn)的可能性。
2.4.4 加權(quán)系數(shù)變化
在網(wǎng)絡(luò)運(yùn)行全過(guò)程中,所有節(jié)點(diǎn)不可移動(dòng),在網(wǎng)絡(luò)初始運(yùn)行階段所有節(jié)點(diǎn)能量差異小,但能量在簇頭選取過(guò)程中起重要作用,由此設(shè)定初始階段能量加權(quán)系數(shù)β1=0.5,質(zhì)心加權(quán)系數(shù)β2=0.25和距離加權(quán)系數(shù)β3=0.25。隨著網(wǎng)絡(luò)持續(xù)運(yùn)行,全網(wǎng)總能耗不斷下降,節(jié)點(diǎn)剩余能量成為選取簇頭的關(guān)鍵,因此能量加權(quán)系數(shù)β1應(yīng)隨著總能量下降而增大,相對(duì)應(yīng)的質(zhì)心加權(quán)系數(shù)β2和距離加權(quán)系數(shù)β3相應(yīng)減少,加權(quán)系數(shù)的增減與以下公式相關(guān)
(10)
(1)當(dāng)Rate(r)=0.2時(shí),即全網(wǎng)總能量下降為初始總能量的20%時(shí),能量加權(quán)系數(shù)β1增加0.1,對(duì)應(yīng)的加權(quán)系數(shù)β2、β3均減少0.5,即β1=0.6,β2=0.2,β3=0.2。
(2)當(dāng)Rate(r)=0.4時(shí),即全網(wǎng)總能量下降為初始總能量的40%時(shí),能量加權(quán)系數(shù)β1增加0.2,對(duì)應(yīng)的加權(quán)系數(shù)β2、β3均減少0.1,即β1=0.7,β2=0.15,β3=0.15。
(3)當(dāng)Rate(r)≥0.6時(shí),即全網(wǎng)總能量下降為初始總能量的60%及以上時(shí),能量加權(quán)系數(shù)β1增加0.3,對(duì)應(yīng)的加權(quán)系數(shù)β2、β3均減少0.15,即β1=0.8,β2=0.1,β3=0.1。
根據(jù)上述步驟調(diào)節(jié)加權(quán)系數(shù)β1、β2、β3的值,可以使得簇頭選取機(jī)制更加靈活,在網(wǎng)絡(luò)初始運(yùn)行階段,節(jié)點(diǎn)間能量差異小,則重點(diǎn)考慮簇頭節(jié)點(diǎn)的位置因素;當(dāng)網(wǎng)絡(luò)總剩余能量下降幅度開(kāi)始大于初始總能量的20%時(shí),則簇頭節(jié)點(diǎn)選取的重要因素逐步放在節(jié)點(diǎn)剩余能量上;當(dāng)網(wǎng)絡(luò)總剩余能量?jī)H有初始能量的60%時(shí),此時(shí)部分節(jié)點(diǎn)能量?jī)H剩初始能量的一半,網(wǎng)絡(luò)也已經(jīng)出現(xiàn)部分死亡節(jié)點(diǎn),為均衡網(wǎng)絡(luò)能耗簇頭選舉以剩余能量作為主要的參考因素。
此次實(shí)驗(yàn)使用MATLAB R2017B仿真軟件對(duì)LEACH路由協(xié)議、LEACH-improved路由協(xié)議、DMBC路由協(xié)議進(jìn)行仿真對(duì)比。仿真環(huán)境為100×100 m的正方形區(qū)域,假定區(qū)域內(nèi)節(jié)點(diǎn)均勻分布。
表1為實(shí)驗(yàn)仿真所使用的基本參數(shù),為對(duì)比協(xié)議效果,Sink節(jié)點(diǎn)設(shè)置于兩個(gè)不同位置。
表1 仿真參數(shù)的設(shè)置
設(shè)定在100 m×100 m的網(wǎng)絡(luò)中,隨即部署100個(gè)節(jié)點(diǎn),對(duì)于LEACH路由協(xié)議算法中成簇效果的不均勻性以及隨機(jī)性導(dǎo)致節(jié)點(diǎn)能耗過(guò)快問(wèn)題,本文使用節(jié)點(diǎn)間距離相似度而改進(jìn)的K-means算法聚類成簇,令聚類個(gè)數(shù)K=5。為避免不必要變量對(duì)實(shí)驗(yàn)效果產(chǎn)生影響,則對(duì)比算法中簇首個(gè)數(shù)盡量與本算法相等,設(shè)定LEACH協(xié)議的節(jié)點(diǎn)成為簇首的概率p=0.05,使得兩協(xié)議簇頭數(shù)目基本保持一致。
3.1.1 初始聚類仿真分析
本文利用最大距離法選取初始中心節(jié)點(diǎn)優(yōu)化的K-means算法,其初始成簇效果如圖1所示。
圖1 網(wǎng)絡(luò)初始成簇
根據(jù)圖1可以看出,其中心聚類節(jié)點(diǎn)的位置在網(wǎng)絡(luò)各方向均有分布,每個(gè)聚類中心的簇內(nèi)成員數(shù)大小差異不大,以此初始中心節(jié)點(diǎn)方向進(jìn)行中心聚類節(jié)點(diǎn)位置更新,不容易造成中心聚類節(jié)點(diǎn)距離過(guò)近,從而形成局部最優(yōu)的問(wèn)題。
3.1.2 聚類結(jié)果仿真分析
為更好對(duì)比聚簇的實(shí)驗(yàn)效果,LEACH路由協(xié)議放入4組在不同輪次中的成簇效果,將其與DMBC協(xié)議的聚類結(jié)果進(jìn)行對(duì)比。實(shí)驗(yàn)結(jié)果如圖2所示。
圖2為隨機(jī)選取輪次的LEACH協(xié)議成簇效果,圖3為改進(jìn)過(guò)聚類方法的K-means算法最終成簇效果。根據(jù)圖2(a)、圖2(b)、圖2(c)、圖2(d)顯示,LEACH協(xié)議的簇首節(jié)點(diǎn)分布隨機(jī)性強(qiáng)但簇群大小差異大,簇頭節(jié)點(diǎn)分布位置也不均,從而導(dǎo)致部分節(jié)點(diǎn)死亡過(guò)快,造成能耗不均的問(wèn)題。而改進(jìn)的K-means算法形成的各簇群節(jié)點(diǎn)個(gè)數(shù)差異較小,且簇群位置根據(jù)初始成簇方向迭代形成,簇群分布均勻。從圖中的成簇效果也可以看出,中心點(diǎn)位置并沒(méi)有因?yàn)榇厝褐械倪吔绻?jié)點(diǎn)而偏移至邊界點(diǎn)方向,在數(shù)據(jù)傳輸過(guò)程中能夠更好均衡網(wǎng)絡(luò)能耗。
圖2 LEACH協(xié)議成簇實(shí)驗(yàn)結(jié)果
圖3 優(yōu)化K-means算法成簇效果
隨著網(wǎng)絡(luò)運(yùn)行時(shí)間的增加,區(qū)域中的存活節(jié)點(diǎn)數(shù)反映出網(wǎng)絡(luò)生命周期的長(zhǎng)短,而生命周期也是表示算法是否改進(jìn)的重要指標(biāo)。通過(guò)不同算法的存活節(jié)點(diǎn)數(shù)能夠更加直觀對(duì)比生命周期的變化,實(shí)驗(yàn)結(jié)果均取自多次實(shí)驗(yàn)的平均值,結(jié)果如下:
圖4 死亡節(jié)點(diǎn)與輪次關(guān)系(Sink位于中心)
圖4與圖5比較了Sink節(jié)點(diǎn)不同方位時(shí),各路由算法死亡節(jié)點(diǎn)隨輪次變化的差異性。其中,圖4是在Sink節(jié)點(diǎn)坐標(biāo)為(50,50)場(chǎng)景下,死亡節(jié)點(diǎn)隨運(yùn)行時(shí)間變化關(guān)系。根據(jù)多次實(shí)驗(yàn)統(tǒng)計(jì)的平均值,得出以下結(jié)論:DMBC路由協(xié)議第一個(gè)死亡節(jié)點(diǎn)出現(xiàn)時(shí)間相較于LEACH-improved協(xié)議延長(zhǎng)了百輪以上,并且DMBC路由算法在網(wǎng)絡(luò)運(yùn)行至1500輪之后僅僅只有10個(gè)以內(nèi)的節(jié)點(diǎn)死亡,說(shuō)明優(yōu)化的K-means聚類算法能夠有效的均衡網(wǎng)絡(luò)能耗縮短簇頭節(jié)點(diǎn)死亡的時(shí)間,而整個(gè)網(wǎng)絡(luò)所有節(jié)點(diǎn)死亡時(shí)間相較于其它兩算法也有效的往后延長(zhǎng)至2000輪之后。
由于在多數(shù)場(chǎng)景中,Sink節(jié)點(diǎn)可能遠(yuǎn)離于傳感器節(jié)點(diǎn)部署區(qū)域。因此,圖5是匯聚節(jié)點(diǎn)坐標(biāo)為(100,100)時(shí),各算法死亡節(jié)點(diǎn)數(shù)的情況。由圖可知,LEACH協(xié)議的生命周期最短,而LEACH-improved算法效果會(huì)比Sink節(jié)點(diǎn)位于中心時(shí)效果更優(yōu),但是即使不改變DMBC閾值中調(diào)節(jié)系數(shù)的情況下,其死亡節(jié)點(diǎn)數(shù)仍然相較LEACH-improved協(xié)議更少。
圖5 死亡節(jié)點(diǎn)與輪次關(guān)系(Sink位于邊界)
網(wǎng)絡(luò)中衡量節(jié)點(diǎn)利用率的重要指標(biāo)是節(jié)點(diǎn)剩余能量,圖6為區(qū)域100×100,100個(gè)節(jié)點(diǎn),Sink節(jié)點(diǎn)位于中心,假定節(jié)點(diǎn)的初始總能量為0.5 J,初始總能量為50 J的仿真結(jié)果。在相同輪次時(shí),如圖所示,當(dāng)輪次運(yùn)行至1000輪時(shí),LEACH協(xié)議總體能量所剩不足10 J,而LEACH-improved協(xié)議所剩能量還有10 J~15 J,而DMBC路由協(xié)議剩余能量還有初始總能量的一半以上。由此可知,本文路由協(xié)議均衡網(wǎng)絡(luò)能耗的效果最佳,生命周期延長(zhǎng)效果最好。
圖6 總剩余能量與輪次關(guān)系
本文提出了節(jié)點(diǎn)間距離度量法聚類的無(wú)線傳感器網(wǎng)絡(luò)路由算法——DMBC。結(jié)合最優(yōu)簇頭數(shù),最大距離以及節(jié)點(diǎn)間距離度量法的優(yōu)化的K-means算法,該算法將網(wǎng)絡(luò)節(jié)點(diǎn)劃分為K個(gè)非均勻的簇群進(jìn)行網(wǎng)絡(luò)分區(qū),簇群均勻分布在區(qū)域各方向,能夠改善在數(shù)據(jù)傳輸階段能耗不均的問(wèn)題;改進(jìn)聚類方式的同時(shí)也改進(jìn)了簇頭選舉機(jī)制。通過(guò)實(shí)驗(yàn)仿真對(duì)比,相比于LEACH協(xié)議和LEACH-improved協(xié)議,本文協(xié)議改善了簇頭分布不均問(wèn)題,也解決了網(wǎng)絡(luò)運(yùn)行時(shí)簇頭個(gè)數(shù)太多或太少的問(wèn)題;在網(wǎng)絡(luò)傳輸過(guò)程中,LEACH協(xié)議及LEACH-improved協(xié)議中簇群過(guò)大或者是過(guò)小的問(wèn)題均得到改進(jìn)。因此,在能耗均衡和網(wǎng)絡(luò)生命周期仿真結(jié)果,DMBC路由協(xié)議的效果均有較明顯的提升。