基于路徑能量消耗及節(jié)點(diǎn)剩余能量的多層分簇算法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及了一種基于路徑能量消耗及節(jié)點(diǎn)剩余能量的多層分簇算法,屬于無線 傳感器網(wǎng)絡(luò)技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002] 無線傳感器網(wǎng)絡(luò)(Wireless sensor network,WSN)就是由部署在監(jiān)測區(qū)域內(nèi)大量 廉價(jià)微型傳感器節(jié)點(diǎn)組成,通過無線通信方式形成的一個(gè)多跳的自組織的網(wǎng)絡(luò)系統(tǒng),其目 的的協(xié)作地感知、采集和處理網(wǎng)絡(luò)覆蓋區(qū)域中感知對(duì)象的信息,并且發(fā)送給接收者。WSN廣 泛應(yīng)用于環(huán)境保護(hù)與監(jiān)控、戰(zhàn)場敵情監(jiān)測、水下環(huán)境探測以及地震預(yù)警等環(huán)境艱苦以及人 力無法到達(dá)的場景。WSN具有非常廣泛的應(yīng)用前景,并且具有巨大的研宄價(jià)值。
[0003] 無線傳感器網(wǎng)絡(luò)區(qū)別于傳統(tǒng)的網(wǎng)絡(luò),具有以下的特點(diǎn):①監(jiān)測區(qū)域內(nèi)節(jié)點(diǎn)分布不 均勻,而且數(shù)目眾多,分布很稠密。②每個(gè)傳感器節(jié)點(diǎn)使用電池提供能量,這就導(dǎo)致了節(jié)點(diǎn) 的計(jì)算能力、能量以及存儲(chǔ)的空間等資源是受到制約的。③由于傳感器節(jié)點(diǎn)工作的環(huán)境很 惡劣,傳感器節(jié)點(diǎn)失效的概率會(huì)很高。因此傳統(tǒng)網(wǎng)絡(luò)的網(wǎng)絡(luò)拓?fù)渎酚刹荒軌驊?yīng)用于無線傳 感器網(wǎng)絡(luò)中。這就需要針對(duì)WSN的特點(diǎn)來研宄新的算法來滿足WSN的需求。能量是制約 WSN能否正常工作的一個(gè)重要參考標(biāo)準(zhǔn)。無線傳感器網(wǎng)絡(luò)在有限的能量下,延長WSN的網(wǎng)絡(luò) 生命周期成為了研宄的重要內(nèi)容。因此在研宄WSN網(wǎng)絡(luò)拓?fù)鋮f(xié)議時(shí),如何節(jié)省節(jié)點(diǎn)的能量 損耗顯得尤為重要。
[0004] LEACH (Low Energy Adaptive Clustering Hierarchy)作為一種層次型拓?fù)渎酚?協(xié)議被提出,并且它的分層思想被廣泛的應(yīng)用于其他的分層協(xié)議中。LEACH算法周期性地 執(zhí)行,執(zhí)行的過程主要分為簇的建立以及數(shù)據(jù)傳輸兩個(gè)階段。節(jié)點(diǎn)在簇頭選舉之前隨機(jī)的 產(chǎn)生〇~1的隨機(jī)數(shù),如果隨機(jī)數(shù)小于閾值,則此節(jié)點(diǎn)發(fā)出自己成為簇頭的消息。對(duì)于當(dāng)選過 簇頭的節(jié)點(diǎn),在以后的選舉中就不會(huì)成為簇頭。監(jiān)測區(qū)域的節(jié)點(diǎn)當(dāng)選為簇頭后,向周圍的節(jié) 點(diǎn)發(fā)送自己已經(jīng)成為新簇頭的消息。非簇頭節(jié)點(diǎn)在收到消息后,加入到離自己最近的簇頭 所在的簇中,并告知簇頭。當(dāng)簇頭接收到非簇頭節(jié)點(diǎn)加入的消息后,產(chǎn)生一個(gè)TDM定時(shí)消 息。為了避免簇之間的信號(hào)干擾,簇頭向簇內(nèi)的其他節(jié)點(diǎn)分配一個(gè)CDM編碼。簇頭節(jié)點(diǎn)通 過數(shù)據(jù)融合算法將簇內(nèi)普通節(jié)點(diǎn)發(fā)送的數(shù)據(jù)進(jìn)行融合后,再把融合后的數(shù)據(jù)發(fā)送到匯聚節(jié) 點(diǎn)(Sink)〇
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的在于提供一種基于路徑能量消耗及節(jié)點(diǎn)剩余能量的多層分簇算法, 其可以均衡無線傳感器網(wǎng)絡(luò)能耗,減少能量消耗,延長網(wǎng)絡(luò)的生命周期。
[0006] 本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:基于路徑能量消耗及節(jié)點(diǎn)剩余能量的多層分簇 算法,包括無線傳感器節(jié)點(diǎn)組,匯聚節(jié)點(diǎn),其特征在于:無線傳感器節(jié)點(diǎn)組由200個(gè)無線傳 感器節(jié)點(diǎn),分別用Node⑴表示,i=l,2,…,200。Node⑴隨機(jī)分布在200米*200米的 區(qū)域中,F(xiàn)i)分別表示無線傳感器節(jié)點(diǎn)Node(i)在平面坐標(biāo)系上的X軸坐標(biāo)和y坐標(biāo), i=l, 2,…,200 ;匯聚節(jié)點(diǎn)平面坐標(biāo)系上的X軸坐標(biāo)和y坐標(biāo)(100米,100米)。
[0007] 具體完成步驟如下: 1、對(duì)于無線傳感器節(jié)點(diǎn)Node(i),它的初始能量用£"^(〇表示,它的當(dāng)前能量用 Eetimat(〇表示,它的功率放大器的能耗用(〇表示,它的自由空間消耗的能量用ε ft(i〕 表示,它的發(fā)射電路消耗的能量Eeteet(i'),i=l,2,…,200 ;構(gòu)造向量flag,flag⑴為flag 中的第i個(gè)元素,flag(i)=l,i=l, 2,…,200 ;設(shè)變量r=l。
[0008] 2、匯聚節(jié)點(diǎn)2將自己在平面坐標(biāo)系下的X軸坐標(biāo)和y軸坐標(biāo)下的坐標(biāo)發(fā)送給向無 線傳感器節(jié)點(diǎn)組1中的每個(gè)無線傳感器節(jié)點(diǎn),然后無線傳感器節(jié)點(diǎn)組1內(nèi)的每個(gè)無線傳感 器節(jié)點(diǎn)記錄下匯聚節(jié)點(diǎn)2的位置消息。
[0009] 3、對(duì)于無線傳感器節(jié)點(diǎn)組1中無線傳感器節(jié)點(diǎn)Node (i),根據(jù)公式
【主權(quán)項(xiàng)】
1.基于路徑能量消耗及節(jié)點(diǎn)剩余能量的多層分簇算法,包括無線傳感器節(jié) 點(diǎn)組,匯聚節(jié)點(diǎn),其特征在于:無線傳感器節(jié)點(diǎn)組由200個(gè)無線傳感器節(jié)點(diǎn),分別 用Node(i)表示,i=l,2,…,200;Node(i)隨機(jī)分布在200米*200米的區(qū)域中, ,?〇分別表示無線傳感器節(jié)點(diǎn)Node(i)在平面坐標(biāo)系上的x軸坐標(biāo)和y坐標(biāo), i=l, 2,…,200 ;匯聚節(jié)點(diǎn)平面坐標(biāo)系上的x軸坐標(biāo)和y坐標(biāo)(100米,100米);具體完成 步驟如下: 1) 、對(duì)于無線傳感器節(jié)點(diǎn)Node(i),它的初始能量用民此?表示,它的當(dāng)前能量用 ⑴表示,它的功率放大器的能耗用e_PW表示,它的自由空間消耗的能量用efBCd 表示,它的發(fā)射電路消耗的能量Eeleet(f),i=l,2,…,200 ;構(gòu)造向量flag,flag⑴為flag中的第i個(gè)元素,flag(i)=l,i=l, 2,…,200 ;設(shè)變量r=l; 2) 、匯聚節(jié)點(diǎn)2將自己在平面坐標(biāo)系下的x軸坐標(biāo)和y軸坐標(biāo)下的坐標(biāo)發(fā)送給向無線 傳感器節(jié)點(diǎn)組中的每個(gè)無線傳感器節(jié)點(diǎn),然后無線傳感器節(jié)點(diǎn)組內(nèi)的每個(gè)無線傳感器節(jié)點(diǎn) 記錄下匯聚節(jié)點(diǎn)的位置消息; 3)、對(duì)于無線傳感器節(jié)點(diǎn)組1中無線傳感器節(jié)點(diǎn)Node(i),根據(jù)公式
計(jì)算D(i),i=l,2,...,200; 4) 、根據(jù)公式
式中i=l,2,…,200,n的值為大于等于3000并且小于等于4000的整數(shù),計(jì)算無線傳 感器節(jié)點(diǎn)Node(i)到匯聚節(jié)點(diǎn)2能量消耗,用First_Energy(i)表示,i=l, 2,…,200; 5) 、根據(jù)公式
計(jì)算出所有無線傳感器節(jié)點(diǎn)到匯聚節(jié)點(diǎn)的能量消耗和,用Energy_Sink表示; 6) 、根據(jù)公式
計(jì)算出無線傳感器節(jié)點(diǎn)Node(i)到匯聚節(jié)點(diǎn)的能量消耗在所有無線傳感器節(jié)點(diǎn)Node(i)到匯聚節(jié)點(diǎn)能量和所占的比例,用RateSink(i)表示,i=l,2,???JOO; 7) 、根據(jù)公式
計(jì)算無線傳感器節(jié)點(diǎn)Node(i)當(dāng)前剩余能量和無線傳感器節(jié)點(diǎn)Node(i)初始能量的比 率,用Ratel(i)表示,i=l,2,...,200; 8) 、構(gòu)建隨機(jī)數(shù)向量M,M(i)為向量M中的第i個(gè)元素,M(i)為隨機(jī)產(chǎn)生的數(shù)字,其值 大于0并且小于等于1,i=l,2,…,200; 9) 、根據(jù)公式
計(jì)算無線傳感器節(jié)點(diǎn)Node(i)的閾值,用T(i)表示,i=l, 2,…,200; 10) 、如果M(i)小于T(i),那么flag(i)等于0,i=l,2,???JOO;設(shè)向量flag中等于0 的元素的個(gè)數(shù)為k,依次判斷,如果flag(i)等于0,那么Node(i)為一級(jí)簇頭向量C中的元 素,i=l,2,…,200;C(m)為向量C中的第m個(gè)元素,m=l,2,…,k;設(shè)(xm,表示C(m) 在平面坐標(biāo)系中x軸坐標(biāo)和y軸坐標(biāo);構(gòu)造k個(gè)向量,分別用W_m表示,W_m中的第一個(gè)元 素為C(m),m=l,2,...,k; 11) 、根據(jù)公式
其中m=l,2,...,k,i=l,2,...,200; 構(gòu)造矩陣length_C,length_C(m,i)為16叩1:11_(]矩陣中第m行第i列元素; 12) 、對(duì)于i=l, 2,…,200,如果length_C(m,i)為矩陣length_C中第i列中的第一個(gè) 最小值,那么無線傳感器接節(jié)點(diǎn)Node(i)為向量W_m中的元素,W_m中元素的個(gè)數(shù)用U_m 表示,其中m=l,2,…,讓;
是W_m(i)在平面坐標(biāo)系中的X軸坐標(biāo)和Y軸坐標(biāo),其中i=l,…,U_ m;m=l,2,...,k; 13)、根據(jù)公式
構(gòu)建k個(gè)向量,分別用D_m表示,D_m⑴為向量D_m第i個(gè)元素,m=l, 2,…,k,i=l,… ,U_m; 14)、根據(jù)公式
構(gòu)建k個(gè)向量,分別用Sec:ond_Energy_m表示,Seeond_Energy_ifi(i)為向量 Seamd_Energy_m第i個(gè)元素,i=l,???,U_m;m=l, 2,???,k;n值為大于等于 3000 并且小 于等于4000的整數(shù); 15) 、根據(jù)公式
計(jì)算向量Second_Energy_m內(nèi)所有元素的和Energy_Cluster_m,其中,m=l, 2,…,k; 16) 、根據(jù)公式
構(gòu)建向量k個(gè)向量,分別用Rate_m表示,Rate_m(i)為向量Rate_m內(nèi)第i個(gè)元素,其 中m=l,2,...,k,i=l,...,U_m; 17)、根據(jù)公式
構(gòu)建k個(gè)向量,分別用Rate2_m表示,Rate2_m⑴表示為向量Rate2_m內(nèi)第i個(gè)元素, 其中m=l,2,...,k,i=l,…,U_m; 18)、構(gòu)建隨機(jī)數(shù)向量N_m,N_m⑴為向量N中的第i個(gè)元素,N_m⑴為隨機(jī)產(chǎn)生的數(shù) 字,其值大于〇并且小于等于1,m=l,2,???,k,i=l, 19) 、根據(jù)公式
計(jì)算無線傳感器節(jié)點(diǎn)Node(i)的閾值,用T_m(i)表示,i=l,,m=l,2,…,讓; 20)、如果N_m(i)小于T_m(i),那么flag_m(i)等于0,設(shè)向量flag_m中等于0的元素 的個(gè)數(shù)為 a, i=l,,m=l,2,…,讓; 依次判斷,如果flag_m⑴等于0,那么Node_m⑴為二級(jí)簇頭向量C_S中的元素, i=l,…,U_a;C_S(b)為向量C_S中的第b個(gè)元素,b=l,2,…,a;設(shè)(、,表示C_S(b) 在平面坐標(biāo)系中x軸坐標(biāo)和y軸坐標(biāo);構(gòu)造a個(gè)向量,分別用M_b表示,M_b中的第一個(gè)元 素為C_S(b),b=l,2,…,a; 21) 、根據(jù)公式
其中b=l, 2,…,a,i=l, 2,…,U_m,構(gòu)造矩陣length_C_S,〖ength_C_S(b,i)為矩陣 length_C_S中第b行第i列元素; 22) 、對(duì)于i=l, 2,…,U_m,如果】ength_C_S(b,i)是矩陣length_C_S中第i列中的第一 個(gè)最小值,那么無線傳感器節(jié)點(diǎn)Node(i)為向量M_b中的元素,b=l,2,"^a;設(shè)r=r+l; 23) 、依次執(zhí)行步驟2到步驟22,直到r=2001。
【專利摘要】本發(fā)明涉及一種基于路徑能量消耗及節(jié)點(diǎn)剩余能量的多層分簇算法,包括無線傳感器節(jié)點(diǎn)組,匯聚節(jié)點(diǎn),其特征在于:無線傳感器節(jié)點(diǎn)組由200個(gè)無線傳感器節(jié)點(diǎn),分別用Node(i)表示,i=1,2…,200。Node(i)隨機(jī)分布在200米*200米的區(qū)域中,分別表示無線傳感器節(jié)點(diǎn)Node(i)在平面坐標(biāo)系上的x軸坐標(biāo)和y坐標(biāo),i=1,2,…,200;匯聚節(jié)點(diǎn)平面坐標(biāo)系上的x軸坐標(biāo)和y坐標(biāo)(100米,100米)。其可以均衡無線傳感器網(wǎng)絡(luò)能耗,減少能量消耗,延長網(wǎng)絡(luò)的生命周期。
【IPC分類】H04W84-18, H04W52-02, H04W40-10
【公開號(hào)】CN104780583
【申請(qǐng)?zhí)枴緾N201510181827
【發(fā)明人】馮欣, 劉壯, 韓成, 張劍飛, 張昕, 李騰, 王雁龍, 張晶晶, 楊文龍
【申請(qǐng)人】長春理工大學(xué)
【公開日】2015年7月15日
【申請(qǐng)日】2015年4月17日