本發(fā)明涉及無線傳感器網(wǎng)絡技術,具體是一種適用于異構無線傳感網(wǎng)的改進型分布式能量有效成簇方法。
背景技術:
近年來,無線傳感器網(wǎng)絡(wireless sensor networks,WSN)廣泛應用在各個領域,如軍事,環(huán)境監(jiān)測,醫(yī)療健康等。無線傳感器是一種新型的無線網(wǎng)絡,與傳統(tǒng)的無線網(wǎng)絡相比,它具有低成本、低功耗、多功能等優(yōu)點。WSN的傳感器節(jié)點不僅具備信息采集的能力,同時也具備數(shù)據(jù)處理和無線通信的能力,這些傳感器節(jié)點被密集部署在指定的目標區(qū)域內,通過無線通信和自組織方式用來感知、采集和處理目標區(qū)域內各種數(shù)據(jù)信息,并將所感知和采集到的數(shù)據(jù)和信息傳送給監(jiān)控中心或終端用戶,協(xié)作完成指定的任務。
在無線傳感網(wǎng)絡中,傳感器節(jié)點的能量通常是受限的,因此會存在能量有限、消耗過快的問題。采用成簇算法在實現(xiàn)能量有效性上非常有效,現(xiàn)有的成簇算法一般分為集成式和分布式兩種,而分布式成簇算法因為只需要知道網(wǎng)絡節(jié)點的部分信息而顯得更加實用。
現(xiàn)有的適用于異構無線傳感網(wǎng)絡的成簇算法主要包括DEEC(Distributed energy efficient Clustering algorithm)、EDEEC(Enhanced Distributed Energy-Efficient Clustering)、EDDEEC(Enhanced Developed Distributed Energy-Efficient Clustering algorithm)。DEEC基于剩余能量與平均剩余能量的比值以及初始能量來進行簇頭選擇,EDEEC將DEEC拓展到三層模型,EDDEEC通過以一種動態(tài)方式改變簇頭選擇概率來增強節(jié)點的能量有效性。但是,現(xiàn)有的此類型算法依然存在許多問題,第一,算法機制比較復雜,運行時間較長,難以將其用于實際。第二,能量的估計模型比較粗糙,能量估計比較隨意。第三,這類算法的簇頭選擇機制都會造成每輪簇頭的數(shù)量波動較大,當簇頭數(shù)量遠離最佳簇頭數(shù)時,能量的消耗會大大增加。
技術實現(xiàn)要素:
針對上述問題,本發(fā)明提出了一種適用于異構無線傳感網(wǎng)的改進型分布式能量有效成簇方法,通過簡化簇頭概率闕值計算公式,優(yōu)化網(wǎng)絡平均能量的估計,降低算法復雜性,增強能量估計模型,并降低簇頭的波動,從而降低網(wǎng)絡的能量消耗。
本發(fā)明提供的適用于異構無線傳感網(wǎng)的改進型分布式能量有效成簇方法,實現(xiàn)步驟如下:
步驟1,初始化網(wǎng)絡區(qū)域規(guī)模、節(jié)點初始能量、基站位置和最佳簇頭數(shù)量;
其中,設在M*M的方型區(qū)域內隨機分布有N節(jié)點,基站距離該區(qū)域的距離為a;設簇頭數(shù)占總數(shù)的最佳概率為Popt,最佳簇頭數(shù)量為NPopt;
步驟2,計算網(wǎng)絡每輪消耗的平均能量Eround;
步驟3,計算網(wǎng)絡的生存時間R和每輪網(wǎng)絡的平均剩余能量
其中,r表示網(wǎng)絡傳輸?shù)妮啍?shù),Etotal表示網(wǎng)絡的總能量;
步驟4,基于節(jié)點剩余能量和平均剩余能量確定簇頭選擇概率pi;
其中,pi表示節(jié)點si被選為簇頭的概率,為第r輪傳輸時的平均剩余能量,Ei(r)表示第r輪傳輸時節(jié)點si的剩余能量;
步驟5,節(jié)點si被選為簇頭的闕值T(si)=pi;
步驟6,為每個節(jié)點生成0-1之間的一個隨機數(shù);設為節(jié)點si生成的隨機數(shù)為hi,若hi大于T(si),則節(jié)點si為普通成員,否則,節(jié)點si選為簇頭;
步驟7,簇頭向網(wǎng)絡中節(jié)點廣播其坐標,網(wǎng)絡節(jié)點選擇最近的簇頭成為其簇成員并記錄與簇頭的距離;
步驟8,完成本輪數(shù)據(jù)傳輸,計算每個節(jié)點的剩余能量,節(jié)點的剩余能量由上輪的剩余能量減去本輪消耗的能量得到;
步驟9,判斷存活節(jié)點數(shù)是否大于0,如果是,轉到步驟3進入下一輪網(wǎng)絡傳輸;否則,結束本方法。
本發(fā)明的優(yōu)點與積極效果在于:本發(fā)明針對異構無線傳感器網(wǎng)絡所存在的能量有限,能量消耗較快問題,對傳統(tǒng)的分布式能量有效成簇方法進行改進,克服了傳統(tǒng)方法存在的模型粗糙、運行復雜、簇頭波動太大的缺點。本發(fā)明通過優(yōu)化網(wǎng)絡能量估計模型,簡化簇頭選擇概率和闕值計算方法,降低了算法復雜性,減少了算法運行時間,使其更加適用于實際用途。本發(fā)明方法降低了簇頭數(shù)量的波動,避免了當簇頭數(shù)量遠離最佳簇頭數(shù)的過多能量消耗,從而提高了網(wǎng)絡的生存時間,提高了網(wǎng)絡的能量有效性,提升了網(wǎng)絡生存時間。
附圖說明
圖1是異構無線傳感網(wǎng)絡區(qū)域的一個模型示意圖;
圖2是本發(fā)明的改進型分布式能量有效成簇方法的整體步驟示意圖。
具體實施方式
下面將結合附圖和實施例對本發(fā)明作進一步的詳細說明。
對現(xiàn)有的分布式成簇算法進行分析,發(fā)現(xiàn)造成簇頭數(shù)量波動問題的原因主要有兩方面,第一個原因是,這類算法繼承了低功耗自適應集簇分層型協(xié)議(LEACH)的簇頭闕值計算公式,該公式如下:
式中,T(si)表示節(jié)點si被選為簇頭的闕值,選擇簇頭時每個節(jié)點會生成一個隨機數(shù),如果該隨機數(shù)不小于闕值,則該節(jié)點被選為簇頭。pi表示節(jié)點si能被選為簇頭的概率。G代表能被選為簇頭的集合,只有在最近的1/pi輪中沒有被選為簇頭的節(jié)點才屬于該集合。r表示簇頭的選舉輪次,整個網(wǎng)絡進行一次完整的傳輸為一輪。
公式(1)只適用于節(jié)點能量相同的同構無線傳感網(wǎng)絡,在同構無線傳感網(wǎng)絡中,每個節(jié)點的pi相等,所以當一個節(jié)點被選為簇頭,在接下來的1/pi輪不能被選為簇頭可以保證節(jié)點能量的平均消耗,并且這種機制同時還能使得每一輪的節(jié)點數(shù)為總節(jié)點數(shù)的pi。但在異構情況下,每個節(jié)點的簇頭選擇概率不相等,pi會隨著節(jié)點剩余能量的改變而變化,此時若節(jié)點被選為簇頭,接下來休息的輪數(shù)繼續(xù)為1/pi時會使每一輪的節(jié)點數(shù)遠離總節(jié)點數(shù)的pi倍。
造成簇頭數(shù)量波動的第二個原因是將節(jié)點初始能量作為簇頭的選擇參考,如果只將剩余能量和平均能量作為簇頭選擇參考,如下式:
式中,Popt表示簇頭數(shù)占總數(shù)的最佳概率。為第r輪傳輸時的平均剩余能量。Ei(r)表示第r輪傳輸時節(jié)點si的剩余能量。
由公式(2)可得每輪簇頭總數(shù)為
其中,N為區(qū)域內的節(jié)點總數(shù)。
此時,每輪簇頭總數(shù)理論上等于最佳的簇頭數(shù),但如果考慮初始能量,將使該等式不成立,從而造成了簇頭數(shù)的波動。而且,因為節(jié)點的剩余能量會隨著網(wǎng)絡運行而變動,初始能量高的節(jié)點可能剩余能量會變少,此時再考慮初始能量反而會造成剩余能量少的更有可能被選為簇頭,何況節(jié)點初始能量其實就是初始剩余能量,兩者的同時考慮顯得冗余。
本發(fā)明對現(xiàn)有的分布式成簇算法進行了改進,通過優(yōu)化網(wǎng)絡平均能量的估計,改進闕值計算和簇頭選擇概率估算方法,簡化并提升了可分布式能量有效成簇算法的性能,降低了無線傳感網(wǎng)絡的能耗,提升了網(wǎng)絡生存時間,并減少了算法的運行時間。
本發(fā)明改進的適用于異構無線傳感網(wǎng)的改進型分布式能量有效成簇方法,如圖2所示,下面詳細說明各實現(xiàn)步驟。
步驟1,初始化網(wǎng)絡:初始化網(wǎng)絡區(qū)域規(guī)模、節(jié)點初始能量、基站位置、最佳簇頭數(shù)量。
本發(fā)明方法的應用場景,可簡化如圖1所示,在一個M*M的方型區(qū)域內隨機分布有N個不同的節(jié)點,基站(BS)位于遠離該區(qū)域距離為a的位置處。
設置簇頭數(shù)占總數(shù)的最佳概率Popt,則最佳簇頭數(shù)量為NPopt。Popt根據(jù)實際情況設定。
步驟2,根據(jù)公式(4)計算異構無線傳感網(wǎng)絡每輪消耗的平均能量Eround,如下:
式中,N表示網(wǎng)絡中的總節(jié)點數(shù),k表示當前輪中簇頭數(shù)。L表示每輪傳送的數(shù)據(jù)量,單位為bit。Eelec表示發(fā)射機和接收機每bit的能量消耗,EDA表示簇頭整合每bit數(shù)據(jù)消耗的能量,dtoCH表示簇內成員與簇頭之間的平均距離,dtoBS表示簇頭到基站的平均距離,εfs和εmp則為傳輸放大器在單位距離傳輸每bit的能量消耗,εfs=10pJ/bit/m2,εmp=0.0013pJ/bit/m4。根據(jù)公式(5)和(6)所示,表示簇頭到基站距離四次方的平均值,所表示簇間節(jié)點到簇頭距離平方的平均值。
其中,(x,y)表示傳感器節(jié)點的坐標,ρ(x,y)表示節(jié)點的分布。此處設節(jié)點為均勻分布。
根據(jù)公式(7)獲得網(wǎng)絡的生存時間R。
其中,Etotal表示網(wǎng)絡的總能量。
步驟3,根據(jù)公式(8)計算第r輪網(wǎng)絡傳輸時的平均剩余能量
式中,r表示網(wǎng)絡傳輸?shù)妮啍?shù)。網(wǎng)絡第一輪傳輸時,r=1。
步驟4,按照公式(2)基于節(jié)點剩余能量和平均剩余能量確定簇頭選擇概率pi。
首輪中,節(jié)點剩余能量就是節(jié)點的初始能量,因為節(jié)點初始能量即為初始剩余能量。在本步驟的計算中,下一輪計算時,節(jié)點剩余能量在步驟8更新了,平均剩余能量依然根據(jù)步驟3的公式(8)計算。
步驟5,根據(jù)公式(9)計算節(jié)點si被選為簇頭的闕值。
T(si)=pi (9)
步驟6,為每個節(jié)點生成0-1之間的一個隨機數(shù)字,設為節(jié)點si生成的隨機數(shù)為hi,判斷該隨機數(shù)hi與步驟5所得闕值T(si)的大小,如果隨機數(shù)大于闕值,則該節(jié)點si為普通成員,否則,該節(jié)點si選為簇頭。
步驟7,簇頭向網(wǎng)絡中節(jié)點廣播其坐標,網(wǎng)絡節(jié)點選擇最近的簇頭成為其簇成員并記錄與簇頭的距離。
步驟8,完成該輪數(shù)據(jù)傳輸,計算每個節(jié)點剩余能量。節(jié)點的剩余能量由上輪的剩余能量減去本輪消耗的能量,假定所有節(jié)點每一輪進行一次數(shù)據(jù)傳輸,本輪消耗能量根據(jù)公式(10)和公式(11)計算,包括節(jié)點發(fā)送數(shù)據(jù)消耗的能量ETx和接收數(shù)據(jù)消耗的能量ERx。
ERx=Eelec*L (11)
其中,ETx(L,d)表示節(jié)點發(fā)送數(shù)據(jù)量為L的數(shù)據(jù)經(jīng)傳送距離d消耗的能量,Eelec表示發(fā)射機和接收機每bit的能量消耗,EDA表示簇頭整合每bit數(shù)據(jù)消耗的能量,L表示每輪傳送的數(shù)據(jù)量(bit),d為傳送距離。d0為參考距離,由公式(12)決定。
步驟9,判斷存活節(jié)點數(shù),如果存活節(jié)點數(shù)大于0,轉到步驟3進行下一輪網(wǎng)絡傳輸和簇頭選舉,更新r值加1。否則,結束本方法。