基于動(dòng)態(tài)網(wǎng)格以及數(shù)據(jù)融合的分簇算法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及了一種基于動(dòng)態(tài)網(wǎng)格以及數(shù)據(jù)融合的分簇算法,屬于無線傳感器網(wǎng)絡(luò)
技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002] 無線傳感器網(wǎng)絡(luò)(Wireless sensor network,WSN)就是由部署在監(jiān)測(cè)區(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)場(chǎng)敵情監(jiān)測(cè)、水下環(huán)境探測(cè)以及地震預(yù)警等環(huán)境艱苦以及 人力無法到達(dá)的場(chǎng)景。WSN具有巨大的研宄價(jià)值。LIQING⑶0,H XIE,CHENHUI YANG等 人充分考慮了節(jié)點(diǎn)分布不均勻的特點(diǎn),根據(jù)每個(gè)節(jié)點(diǎn)之間的距離,利用聚類算法,把節(jié)點(diǎn)分 成若干個(gè)簇,使得簇分布的均勻,然后在簇內(nèi)尋找能量最大的節(jié)點(diǎn)作為簇頭,這使得WSN能 耗降低,并且延長(zhǎng)了網(wǎng)絡(luò)的生命周期;鐘一洋,劉興長(zhǎng)將簇內(nèi)成員的剩余能量以及簇內(nèi)普 通成員節(jié)點(diǎn)的數(shù)量作為調(diào)整簇的輪時(shí)間的參數(shù),使得網(wǎng)絡(luò)中的能耗更加均衡;Hu Junping, Jin Yuhui等人對(duì)每個(gè)節(jié)點(diǎn)設(shè)置一個(gè)隨機(jī)的時(shí)間參數(shù),如果簇頭個(gè)數(shù)不滿足最優(yōu)簇頭數(shù)目, 則時(shí)間參數(shù)減為〇的節(jié)點(diǎn)當(dāng)選為簇頭,一直到簇頭的個(gè)數(shù)滿足最優(yōu)簇頭的個(gè)數(shù)。
[0003] 無線傳感器網(wǎng)絡(luò)區(qū)別于傳統(tǒng)的網(wǎng)絡(luò),具有以下的特點(diǎn):①監(jiān)測(cè)區(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ò)在有限的能量下,延長(zhǎng)WSN的網(wǎng)絡(luò)生 命周期成為了研宄的重要內(nèi)容。因此在研宄WSN網(wǎng)絡(luò)拓?fù)鋮f(xié)議時(shí),如何節(jié)省節(jié)點(diǎn)的能量損 耗顯得尤為重要。
[0004]LEACH(LowEnergyAdaptiveClusteringHierarchy)作為一種層次型拓?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)測(cè)區(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ā)送到基站 (Sink)〇
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的在于提供一種基于動(dòng)態(tài)網(wǎng)格以及數(shù)據(jù)融合的分簇算法,為了均衡無 線傳感器網(wǎng)絡(luò)能耗,減少能量消耗,延長(zhǎng)網(wǎng)絡(luò)的生命周期,本發(fā)明提出了一種基于動(dòng)態(tài)網(wǎng)格 以及數(shù)據(jù)融合的分簇算法。
[0006] 本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:基于動(dòng)態(tài)網(wǎng)格以及數(shù)據(jù)融合的分簇算法,其 特征在于:包括無線傳感器節(jié)點(diǎn)組,匯聚節(jié)點(diǎn),其中無線傳感器節(jié)點(diǎn)組由N個(gè)無線傳感器 節(jié)點(diǎn),分別用Node⑴表示,i=l, 2,…,N。Node (i)隨機(jī)分布在200米*200米的區(qū)域 中,(x.t,yj分別表示無線傳感器節(jié)點(diǎn)Node⑴在平面坐標(biāo)系上的X軸坐標(biāo)和y軸坐標(biāo), i=l, 2,…,N ;匯聚節(jié)點(diǎn)在坐標(biāo)X軸坐標(biāo)和y軸坐標(biāo)為(100米,100米); 實(shí)現(xiàn)具體步驟如下: 1)對(duì)于無線傳感器節(jié)點(diǎn)Node(i),它的初始能量用Einit(I).表示,它的當(dāng)前能量用 表示,i=l,2,…,N;無線傳感器節(jié)點(diǎn)功率放大器的能耗表示,它的自由 空間消耗的能量用Sfs表示,它的發(fā)射電路消耗的能量E eleet。構(gòu)造向量flag,flag(i)為 flag 中的第 i 個(gè)元素,flag(i)=l,i=l, 2,…,N ;構(gòu)造向量 locat_flag,locat_flag(i)為 locat_flag 中的第 i 個(gè)元素,locat_flag(i)=l,i=l,2,設(shè)變量r=l,r 表示無線傳 感器網(wǎng)絡(luò)運(yùn)行輪數(shù)。
[0007] 2)匯聚節(jié)點(diǎn)將自己在平面坐標(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)的位置。
[0008]3)對(duì)于無線傳感器節(jié)點(diǎn)組中無線傳感器節(jié)點(diǎn)Node (i),根據(jù)公式
計(jì)算無線傳感器節(jié)點(diǎn)組中無線傳感器節(jié)點(diǎn)Node(i)到匯聚節(jié)點(diǎn)的距離Dis(i), i=l,2,...,N; 4) 根據(jù)公式
計(jì)算無線傳感器節(jié)點(diǎn)的通信半徑R ; 5) 如果 Dis(i)小于 R,則 locat_flag(i)=0, i=l, 2,…,N。
[0009] 6)構(gòu)建隨機(jī)數(shù)向量U,U(i)為向量U中的第i個(gè)元素,U(i)為隨機(jī)產(chǎn)生的數(shù)字, U(i)大于0并且小于或者等于l,i=l,2,…,N。
[0010] 7)根據(jù)公式
計(jì)算無線傳感器節(jié)點(diǎn)Node (i)的閾值,用T (i)表示,i=l, 2,…,N ; 8)如果U(i)小于T(i),那么flag(i)=0, i=l, 2,…,N ;設(shè)向量flag中等于0的元素的 個(gè)數(shù)為K,依次判斷,如果flag(i)=0,那么Node (i)為簇頭向量C中的元素,i=l, 2,…,N, C(m)為向量C中的第m個(gè)元素,設(shè)(x_cm,y_c.m)表示C (m)在平面坐標(biāo)系中x軸坐標(biāo)和 y軸坐標(biāo),m=l,2,構(gòu)造K個(gè)向量,分別用W_m表示,W_m中的第一個(gè)元素為C(m), m=l,2,…,K ; 9)根據(jù)公式
i=l, 2,…,N,j=l, 2,…,N。構(gòu)造向量length,tength(i,j)表示無線傳感器節(jié)點(diǎn)Node(i) 與無線傳感器節(jié)點(diǎn)Node (j)之間的距離。
[0011] 10)構(gòu)造N個(gè)向量M_n,length(n,j)小于R,則無線傳感器節(jié)點(diǎn)Node (j)為向量 M_n 中的元素,n=l,2,".,Ij=IJ, ".,N; 11)構(gòu)建向量NUM,NUM(I)中存放向量M_1中無線傳感器節(jié)點(diǎn)的個(gè)數(shù),依次類推NUM(n) 中存放向量M_n中無線傳感器節(jié)點(diǎn)的個(gè)數(shù),n=l,2,…,隊(duì)
[0012] 12)根據(jù)公式
計(jì)算無線傳感器節(jié)點(diǎn)組中所有無線傳感器節(jié)點(diǎn)連通度的和W ; 13) 根據(jù)公式
構(gòu)造密度參數(shù)向量D,其中D (i)表示無線傳感器節(jié)點(diǎn)Node (i)在200米*200米的區(qū)域 中的密度參數(shù)。其中i=l,2,…,N ; 14) 根據(jù)公式
計(jì)算出無線傳感器網(wǎng)絡(luò)中動(dòng)態(tài)劃分的網(wǎng)格的數(shù)目Num。b表示調(diào)節(jié)無線傳感器網(wǎng)絡(luò)網(wǎng) 格個(gè)數(shù)的參數(shù),其中b=l. 25。K表示無線傳感器網(wǎng)絡(luò)中簇頭節(jié)點(diǎn)的個(gè)數(shù)。
[0013] 15)根據(jù)公式
計(jì)算無線傳感器網(wǎng)絡(luò)網(wǎng)格面積,用向量G表示,G (i)表示無線傳感器節(jié)點(diǎn)Node (i)的 網(wǎng)格面積,i=l,2,一,N。S表示無線傳感器網(wǎng)絡(luò)的監(jiān)測(cè)面積,在本專利中是40000平方米 的監(jiān)測(cè)面積;
flag (i) =Num, j=l,2,...,N,i=l,2,...,Num ; 18)構(gòu)造Num個(gè)向量L_h,h=l, 2,???,Num ;如果grid_flag(i)=h,則將無線傳感器節(jié)點(diǎn) Node(i)為向量 L_h 中的元素,i=l,2,...,N。
[0014] 19)構(gòu)造向量t,t(h)表示向量t中第h個(gè)元素。設(shè)選擇向量L_h中當(dāng)前能量最 多的無線傳感器節(jié)點(diǎn)為向量L_h的網(wǎng)格長(zhǎng),用L_h(t(h))表示,其中h=l,2,…,Num;設(shè) ,y_y表示L_h (t (h))在平面坐標(biāo)系中X軸坐標(biāo)和y軸坐標(biāo)。
[0015] 20)構(gòu)造矩陣length_C,length_C(m,h)為length_C矩陣中第m行第h列元素; 根據(jù)公式
其中 m=l,2,"-,1(,11=1,2, "'Num; 21)對(duì)于h=l, 2,…,Num,如果length_C(jn,w是矩陣IenStilJ]中第h列中行數(shù)m最小 的最小值,那么無線傳感器節(jié)點(diǎn)Node(h)為向量W_m中的元素,m=l, 2,…, Num0
[0016] 22)依次執(zhí)行步驟2到步驟23,運(yùn)行r=r+l輪,直到r=2000。
[0017] 本發(fā)明的積極效果是根據(jù)無線傳感器節(jié)點(diǎn)的密度將監(jiān)測(cè)區(qū)域動(dòng)態(tài)的劃分網(wǎng)格,每 一個(gè)網(wǎng)格中根據(jù)能量的消耗動(dòng)態(tài)的選擇能量最多的節(jié)點(diǎn)作為網(wǎng)格長(zhǎng)。網(wǎng)格內(nèi)的節(jié)點(diǎn)將數(shù)據(jù) 發(fā)送給網(wǎng)格長(zhǎng),網(wǎng)格長(zhǎng)將接收到的數(shù)據(jù)進(jìn)行數(shù)據(jù)融合,而后發(fā)送數(shù)據(jù)到距離最近的簇首。本 發(fā)明使得無線傳感器網(wǎng)絡(luò)的能量消耗更加均衡,能耗減少,同時(shí)延長(zhǎng)了網(wǎng)絡(luò)生命周期。
[0018]
【具體實(shí)施方式】
[0019] 基于動(dòng)態(tài)網(wǎng)格以及數(shù)據(jù)融合的分簇算法,其特征在于:包括無線傳感器節(jié)點(diǎn)組,匯 聚節(jié)點(diǎn),其中無線傳感器節(jié)點(diǎn)組由N個(gè)無線傳感器節(jié)點(diǎn),分別用Node (i)表示,i=l, 2,…,N。 Node (i)隨機(jī)分布在200米*200米的區(qū)域中,^xi, 分別表示無線傳感器節(jié)點(diǎn)Node (i) 在平面坐標(biāo)系上的X軸坐標(biāo)和y軸坐標(biāo),i=l, 2,…,N ;匯聚節(jié)點(diǎn)在坐標(biāo)X軸坐標(biāo)和y軸坐 標(biāo)為(100米,100米); 實(shí)現(xiàn)具體步驟如下: 1)對(duì)于無線傳感器節(jié)點(diǎn)Node(i),它的初始能量表示,它的當(dāng)前能量用 EcUITOItO)表示,i = 1,2,…,N;無線傳感器節(jié)點(diǎn)功率放大器的能耗用^_!表示,它的自由 空間消耗的能量用 Sfs表示,它的發(fā)射電路消耗的能量Eeleet。構(gòu)造向量flag,flag(i)為 flag 中的第 i 個(gè)元素,flag(i)=l,i=l, 2,…,N ;構(gòu)造向量 locat_flag,locat_flag(i)為 locat_flag 中的第 i 個(gè)元素,locat_flag(i)=l,i=l,2,設(shè)變量r=l,r 表示無線傳 感器網(wǎng)絡(luò)運(yùn)行輪數(shù)。
[0020] 2)匯聚節(jié)點(diǎn)將