閆會芹,何加銘,2,鄭紫微,曾興斌,2
(1.寧波大學(xué)通信技術(shù)研究所,浙江寧波 315211;2.浙江省移動網(wǎng)應(yīng)用技術(shù)重點實驗室,浙江寧波 315211)
WSN 網(wǎng)絡(luò)(Wireless Sensor Network,WSN)[1,2]是由大量微型傳感器節(jié)點通過自組織的方式構(gòu)成。這些傳感器節(jié)點將覆蓋區(qū)域內(nèi)收集到的信息通過協(xié)作感知、采集、處理和傳輸?shù)炔僮靼l(fā)送給Sink節(jié)點。如果說網(wǎng)絡(luò)改變了人們之間的溝通方式從而構(gòu)成了邏輯上的信息世界,那么WSN則是將邏輯世界與物理世界結(jié)合到一起,進(jìn)而改變了人類與自然界交互的方式[3]。
由于傳感器節(jié)點的能量有限且不可補給,所以降低節(jié)點能量消耗、延長網(wǎng)絡(luò)生存時間是無線傳感器網(wǎng)絡(luò)路由設(shè)計的重要目標(biāo)。WSN路由協(xié)議從網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的角度常分為平面路由協(xié)議和層次路由協(xié)議[4,5]。其中 LEACH(low-energy adaptive clustering hierarchy)協(xié)議[6]是 Heinzelman 等人提出的最具有代表性的層次路由協(xié)議。與一般的平面協(xié)議相比LEACH協(xié)議可以將網(wǎng)絡(luò)的生命周期延長15%。CHEF[7]是 Jong-Myoung 和 Seon-Ho 提出的一種利用模糊邏輯推理的方法實現(xiàn)簇頭選舉的分簇路由協(xié)議,該協(xié)議主要針對分布均勻的網(wǎng)絡(luò),通過簇頭競爭半徑是簇頭節(jié)點能耗均衡。文獻(xiàn)[8,9]提出,針對非均勻分布的傳感器網(wǎng)絡(luò)劃分簇頭的競爭半徑。提出基于模糊邏輯的分簇路由協(xié)議(Double Fuzzy Logic Clustering Protocol,DFLCP),考慮節(jié)點的剩余能量、位置以及分布密度,采用模糊推理選取簇頭,實現(xiàn)網(wǎng)絡(luò)能量負(fù)載均衡,延長網(wǎng)絡(luò)生存時間。
Leach算法在每輪成簇過程中主要包括下面幾個階段:① 簇頭選舉階段;② 簇的形成階段;③ 數(shù)據(jù)傳輸階段[4,10]。
簇頭選舉中,每個節(jié)點隨機產(chǎn)生一個0~1之間的數(shù)值,如果這個隨機數(shù)小于閾值T(n),則該節(jié)點成為簇頭并廣播消息,在第0輪的時候,每個節(jié)點當(dāng)選為簇頭的概率為p,被選為簇頭的節(jié)點在后面的幾輪中將不能再次當(dāng)選為簇頭節(jié)點。隨著每一輪的進(jìn)行,剩下可以當(dāng)選為簇頭的節(jié)點數(shù)量在不斷地變小,但是T(n)在不斷地變大,且能夠保持每輪當(dāng)選的簇頭個數(shù)是一樣的。經(jīng)過了若干輪后,T(n)=1,所有未當(dāng)選為簇頭的節(jié)點都當(dāng)選為簇頭節(jié)點,接下來的一輪,所有節(jié)點又可以重新當(dāng)選為簇頭節(jié)點。未當(dāng)選的節(jié)點根據(jù)接收到的信號強弱決定加入哪個簇,并向該簇簇頭回復(fù)消息,全部節(jié)點都加入簇后,簇的形成階段就結(jié)束了。在數(shù)據(jù)傳輸階段,簇內(nèi)節(jié)點按照TDMA時刻表所確定的時隙,將信息發(fā)送給簇頭節(jié)點。在數(shù)據(jù)傳輸經(jīng)歷一段時間以后,整個網(wǎng)絡(luò)進(jìn)入下輪的簇頭選舉和簇的形成。
式中,P為網(wǎng)絡(luò)中簇首數(shù)量與總節(jié)點數(shù)量的百分比,r為當(dāng)前的輪數(shù),G為最近1/P輪沒有成為過簇首的節(jié)點集。
模糊邏輯是有多個真值的多值邏輯,使用連續(xù)的多值或在0和1之間的隸屬度函數(shù)值。模糊邏輯能夠描述和處理事物的模糊性和系統(tǒng)中的不確定性。
模糊推理系統(tǒng)的結(jié)構(gòu)如圖1所示,主要由4部分組成:模糊產(chǎn)生器、模糊推理、模糊規(guī)則庫以及解模糊化器。常用的模糊推理類型有Mamdani方法和Sugeno方法[12],它們唯一的區(qū)別在與獲取輸出的方式不同。文中使用的是Mamdani模糊推理方法,2次使用到模糊推理規(guī)則,首先在簇頭選舉的過程中輸入節(jié)點的剩余能量、節(jié)點位置和節(jié)點周圍密度通過模糊推理計算簇頭的競爭半徑;在簇頭選舉時,通過節(jié)點的剩余能量和節(jié)點到Sink節(jié)點的距離計算節(jié)點成為簇頭的概率。
圖1 模糊推理系統(tǒng)
輸入變量,書寫模糊規(guī)則,經(jīng)過推理得到想要的輸出值。在解模糊化階段中使用矩心centroid算法。
假設(shè)隨機分布100個節(jié)點在200*200的區(qū)域中,并且WSN有如下的屬性:
①所有節(jié)點都是隨機分布的,且有相同的初始能量,計算能力等;
②每個節(jié)點具有唯一的ID;
③節(jié)點和Sink節(jié)點都是靜止的;
④節(jié)點和Sink節(jié)點的位置都是已知的;
⑤Sink節(jié)點在WSN中。
采用自由空間(d2)信道模型和多徑衰落(d4)信道模型[11,13],其無線電模型如圖 2 所示。
圖2 模糊推理系統(tǒng)
在這種模式下,每個節(jié)點發(fā)送l位數(shù)據(jù)消耗的能量為:
每個節(jié)點接收l位數(shù)據(jù)消耗的能量為:
式中,Eelec為接收電路或者發(fā)送電路單位比特所消耗的能量,d為數(shù)據(jù)在兩節(jié)點間傳輸?shù)木嚯x,當(dāng)d<d0時,為自由空間模型,εfs該模型下功率放大所需要的能耗;當(dāng)d≥d0時,為多徑衰落模型,εmp為該模型下功率放大所需能耗。
在文獻(xiàn)[10]中提出非均勻分簇的概念,使得簇頭的分布能夠相對均勻。在DFLCP協(xié)議中,利用模糊邏輯計算出簇頭節(jié)點的競爭半徑。在計算時考慮到節(jié)點到Sink節(jié)點的距離、剩余能量和分布密度3個節(jié)點參數(shù)。根據(jù)計算結(jié)果劃分預(yù)選簇頭節(jié)點的競爭區(qū)域,在競爭區(qū)域內(nèi)選出真正簇頭節(jié)點。
DFLCP協(xié)議的部分代碼:
在簇頭選舉過程中,每個節(jié)點隨機生成一個0~1之間的隨機數(shù),若隨機數(shù)比閾值函數(shù)T(n)小,則該節(jié)點成為預(yù)選簇頭;然后利用模糊邏輯計算預(yù)選簇頭的競爭半徑,并廣播消息其中包括節(jié)點的ID、競爭半徑、節(jié)點的成為簇頭的概率(其中,節(jié)點成為簇頭的概率是利用節(jié)點的剩余能量和節(jié)點到Sink節(jié)點的距離通過模糊邏輯計算得到)。若某節(jié)點A接收到節(jié)點B廣播的消息,A節(jié)點在B節(jié)點的競爭半徑內(nèi),則比較兩節(jié)點的成為簇頭的概率,若A.chance大于B.chance,則B節(jié)點放棄成為簇頭,否則B節(jié)點成為簇頭。其中2次使用模糊邏輯。在計算簇頭的競爭半徑時,利用節(jié)點到Sink節(jié)點的距離、節(jié)點剩余能量、節(jié)點分布密度3個變量(圖3)通過模糊邏輯確定預(yù)選簇頭節(jié)點競爭半徑。輸出函數(shù)(圖 4)共有 11 種變量(very small、small、little small、little medium、medium、higher medium、little strong、strong、very strong、lager、very lager)和 27 條模糊規(guī)則。節(jié)點到Sink節(jié)點的距離越近,節(jié)點的剩余能量越高,節(jié)點的分布密度越小,則預(yù)選簇頭節(jié)點的競爭半徑越大。
圖3 模糊邏輯輸入變量
圖4 模糊邏輯輸出變量—節(jié)點競爭半徑
在計算節(jié)點成為簇頭的概率大小時,考慮節(jié)點的剩余能量以及節(jié)點到Sink節(jié)點的距離2個變量通過模糊邏輯計算得出。其中節(jié)點的剩余能量分為very low、low、medium和high 4種情況。
為了驗證算法的性能,采用MATLAB進(jìn)行仿真實驗,設(shè)置仿真參數(shù)如表1所示。仿真結(jié)果如圖5所示。
表1 仿真參數(shù)
圖5為850輪時的節(jié)點分布圖,從圖5中可以看出,節(jié)點的分布相對較為均勻。節(jié)點密度大時簇頭分布較多,簇頭競爭半徑較小;節(jié)點密度小時簇頭分布較少,簇頭競爭半徑較大。在簇頭半徑內(nèi)不存在其他簇頭節(jié)點,避免2個簇節(jié)點相距很近,且簇頭半徑按照節(jié)點到Sink節(jié)點的距離和節(jié)點剩余能量、節(jié)點分布密度各不相同。其中小實心節(jié)點代表已死亡的節(jié)點,圓的圓心表示簇頭節(jié)點,小圓圈節(jié)點代表普通節(jié)點。
圖5 節(jié)點分布圖
圖6 每輪中網(wǎng)絡(luò)剩余能量
圖7為LEACH協(xié)議和DFLCP協(xié)議中每輪節(jié)點的存活數(shù)目,從圖中可以看出,DFLCP協(xié)議的第一個節(jié)點死亡的輪數(shù)為794,LEACH協(xié)議第一個死亡的節(jié)點為704輪。DFLCP協(xié)議中50%的節(jié)點死亡輪數(shù)為1214,LEACH協(xié)議中50%的節(jié)點死亡的輪數(shù)為1085。結(jié)果表明DFLCP協(xié)議采用模糊邏輯均衡能量消耗,可以更好地延長網(wǎng)絡(luò)壽命。
圖7 節(jié)點存活數(shù)目
由仿真結(jié)果比較可以看出DFLCP協(xié)議的效果比LEACH協(xié)議可以更好地延長網(wǎng)絡(luò)壽命。因為LEACH協(xié)議在簇頭選舉時是隨機的,沒有考慮到節(jié)點的剩余能量和分布密度等信息,會造成網(wǎng)絡(luò)能量消耗不均衡,而DFLCP協(xié)議在選取簇頭時,均衡各個節(jié)點的能量消耗,通過競爭半徑控制簇頭的分布密度,從而可以更好地延長網(wǎng)絡(luò)壽命。
圖6比較了LEACH協(xié)議和DFLCP協(xié)議中每輪網(wǎng)絡(luò)剩余能量。第500輪時,LEACH協(xié)議剩余總能量為30.62 J,DFLCP的剩余總能量為33.08 J;第900輪時,LEACH協(xié)議剩余總能量為11.46 J,DFLCP的剩余總能量為15.65 J。從整體來看,第700輪開始LEACH協(xié)議的能量衰減較快。初始能量相同,在每輪中DFLCP協(xié)議網(wǎng)絡(luò)剩余總能量均高于LEACH協(xié)議。
針對無線傳感器分簇路由協(xié)議提出DFLCP協(xié)議,該協(xié)議利用模糊邏輯原理根據(jù)節(jié)點的剩余能量、節(jié)點到Sink節(jié)點的距離和節(jié)點分布密度計算出簇的半徑,實現(xiàn)非均勻分簇。通過仿真結(jié)果表明,DFLCP協(xié)議可以有效地延長網(wǎng)絡(luò)壽命,降低節(jié)點能量消耗。但是DFLCP仍然有很大的提升空間,仍需對分簇中算法進(jìn)行研究,提出高效并支持移動性的分簇算法。
[1]AKYILDIZ I F,SU W,SANKARASUBRAMANIAM Y,et al.A Survey on Sensor Networks [J].Communications Magazine,IEEE,2002,40(8):102 -114.
[2]SINGH S K,SINGH M P,SINGH D K.A Survey of Energy-efficient Hierarchical Cluster-based Routing in Wireless Sensor Networks[J].International Journal of Advanced Networking and Application(IJANA),2010,2(2):570-580.
[3]CALLAWAY E H. Wireless Sensor Networks:Architectures and Protocols[M].USA:CRC press,2004.
[4]沈波,張世永,鐘亦平.無線傳感器網(wǎng)絡(luò)分簇路由協(xié)議[J].軟件學(xué)報,2006,17(7):1588 -1600.
[5]李建中,高宏.無線傳感器網(wǎng)絡(luò)的研究進(jìn)展[J].計算機研究與發(fā)展,2008,45(1):1 -15.
[6]HEINZELMAN W R, CHANDRAKASAN A,BALAKRISHNAN H.Energy-efficientCommunication Protocol for Wireless Microsensor Networks[C]∥System Sciences,2000.Proceedings of the 33rd Annual Hawaii International Conference on.IEEE,2000,2:10 -13.
[7]KIM J M,PARK S H,HAN Y J,et al.CHEF:cluster Head Election Mechanism Using Fuzzy Logic in Wireless Sensor Networks [C]∥ Advanced CommunicationTechnology,ICACT 2008.10th International Conference on.IEEE,2008:654 -659.
[8]BAGCI H,YAZICI A.An Energy Aware Fuzzy Approach to Unequal Clustering in Wireless Sensor Networks[J].Applied Soft Computing,2013,13(4):1741 -1749.
[9]MIN X,WEI-REN S,CHANG-JIANG J,et al.Energy Efficient Clustering Algorithm for Maximizing Lifetime of Wireless Sensor Networks[J].AEU-International Journal of Electronics and Communications,2010,64(4):289 -298.
[10]DENG Y P,CHEN Z.Group Clustering Protocol Based on Energy Balance for Wireless Sensor Networks[J].Journal of Computer Applications,2011,6:6 -11.
[11]HEINZELMAN W B, CHANDRAKASAN A P,BALAKRISHNAN H.An Application-specific Protocol Architecture for Wireless Microsensor Networks [J].IEEE Transactions on Wireless Communications,2002,1(4):660-670.
[12]MAMDANI E H,ASSILIAN S.AnExperimentin Linguistic Synthesis with a Fuzzy Logic Controller[J].International Journal of Man-machine Studies,1975,7(1):1-13.
[13]蔣暢江,石為人,唐賢倫,等.能量均衡的無線傳感器網(wǎng)絡(luò)非均勻分簇路由協(xié)議[J].軟件學(xué)報,2012,23(5):1223-1232.