基于剩余能量與通信代價的無線傳感器網(wǎng)絡(luò)分簇路由協(xié)議的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種無線傳感器網(wǎng)絡(luò)分簇路由協(xié)議,特別是一種基于剩余能量與通信 代價的無線傳感器網(wǎng)絡(luò)分簇路由協(xié)議。
【背景技術(shù)】
[0002] 無線傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)的能量是由自身攜帶的微型電池提供的,一般情況下,電 池?zé)o法更換,所以無線傳感器網(wǎng)絡(luò)的使用時間受到能量的限制。分簇路由協(xié)議中簇頭在融 合了本簇的數(shù)據(jù)之后再將融合之后的數(shù)據(jù)發(fā)給匯聚節(jié)點(diǎn),減少了數(shù)據(jù)的發(fā)送量,也減少了 能量消耗。簇頭負(fù)責(zé)簇的建立、簇內(nèi)通信控制以及簇與匯聚節(jié)點(diǎn)之間的通信,在多跳通信方 式中,靠近匯聚節(jié)點(diǎn)的簇頭還要轉(zhuǎn)發(fā)其他簇發(fā)給匯聚節(jié)點(diǎn)的數(shù)據(jù)。所以在分簇路由協(xié)議中 簇頭需要消耗過多的能量,造成能量消耗不均衡。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明的目的是要提供一種基于剩余能量與通信代價的無線傳感器網(wǎng)絡(luò)分簇路 由協(xié)議,解決在分簇路由協(xié)議中簇頭需要消耗過多的能量,造成能量消耗不均衡的問題。
[0004] 本發(fā)明的目的是這樣實現(xiàn)的:該路由協(xié)議中將所有的節(jié)點(diǎn)看作是候選簇頭,再從 候選簇頭中選擇最終的簇頭,簇頭選擇方法如下:
[0005] 首先定義權(quán)值矩陣P
[0006] 定義1:權(quán)值矩陣P的元素,P[i,j]表示節(jié)點(diǎn)i作為節(jié)點(diǎn)j的簇頭的權(quán)值,節(jié)點(diǎn)i 的權(quán)值為矩陣P第i行的和;
[0007]P[i,j] =l/log(Efs*dis(i,j) ~2*10~ 12+10)*exp(node(i).p_E/Einit)(公式2-1)
[0008]P[i,j] =l/log(Emp*dis(i,j) ~4*10~ 12+10)*exp(node(i).p_E/Einit)(公式2-2)
[0009] 上式中,Efs是自由空間放大電路能耗系數(shù),Emp是多路徑衰減空間放大電路能耗 系數(shù),dis(i,j)是節(jié)點(diǎn)i和節(jié)點(diǎn)j之間的距離,node(i).p_E是節(jié)點(diǎn)i當(dāng)前的能量,Einit 是節(jié)點(diǎn)的初始能量;
[0010] 權(quán)值矩陣P采用公式2-1或公式2-2計算;如果節(jié)點(diǎn)i與節(jié)點(diǎn)j之間的距離小于 d。,則采用公式2-1計算,否則用公式2-2計算;
[0011]
[0012] 式中:d。表示為距離常數(shù);
[0013] 定義2:節(jié)點(diǎn)的競爭半徑是指一個節(jié)點(diǎn)的競爭范圍所覆蓋的區(qū)域的最大半徑,計 算如公式3所示,
[0014]
[0015]
[0016]式中,(1_和dmin分別為網(wǎng)絡(luò)中節(jié)點(diǎn)到匯聚節(jié)點(diǎn)的最大距離和最小距離,d(si,DS) 為節(jié)點(diǎn)到匯聚節(jié)點(diǎn)的距離,#為最大簇頭競爭半徑,C是控制取值范圍的參數(shù),取0~1之 間的值;
[0017] 在競爭過程中,如果候選簇首^宣布其競選獲勝,則處于其競選半徑中的其他候 選族頭競選失敗,不能成為最終族頭;
[0018] 簇頭選擇算法分為3步:①每一輪開始時計算權(quán)值矩陣P,將所有候選簇頭按照權(quán) 值P的大小排序;②在候選簇頭集合中選擇P值最大的節(jié)點(diǎn)為最終節(jié)點(diǎn),假設(shè)節(jié)點(diǎn)i為候 選簇頭集合中P值最大的節(jié)點(diǎn),則i為最終節(jié)點(diǎn),節(jié)點(diǎn)i競爭區(qū)域內(nèi)的其他候選節(jié)點(diǎn)放棄競 爭,成為普通節(jié)點(diǎn);③更新候選簇頭集合,將步驟②中選擇的最終簇頭i以及i競爭范圍內(nèi) 的其他所有節(jié)點(diǎn)從候選簇頭集合中去掉,重復(fù)步驟②,直到候選簇頭集合變?yōu)榭占?br>[0019]在選定簇頭節(jié)點(diǎn)之后,算法為普通節(jié)點(diǎn)分配簇頭,成員節(jié)點(diǎn)分配簇頭是在最終簇 頭集合中選擇與成員節(jié)點(diǎn)之間權(quán)值最大的最終簇頭為該節(jié)點(diǎn)的簇頭;
[0020] 運(yùn)行時間以"輪"為單位,一輪分為兩個階段,成簇階段和通信階段,簇頭競爭算法 由匯聚節(jié)點(diǎn)執(zhí)行。
[0021] 本協(xié)議下,當(dāng)每一輪每個節(jié)點(diǎn)都有數(shù)據(jù)發(fā)送,并且數(shù)據(jù)包長度固定,匯聚節(jié)點(diǎn)在傳 感器節(jié)點(diǎn)初始能量的情況下,根據(jù)每輪的分簇情況估計出傳感器節(jié)點(diǎn)的剩余能量。
[0022] 簇頭選擇算法由匯聚節(jié)點(diǎn)執(zhí)行;在成簇階段,匯聚節(jié)點(diǎn)向網(wǎng)絡(luò)中的所有節(jié)點(diǎn)發(fā)送 分簇信息,分簇信息包括節(jié)點(diǎn)是不是簇頭,若是簇頭,還應(yīng)包括該簇頭的下一跳路由信息, 若是成員節(jié)點(diǎn),分簇信息應(yīng)該表明其簇頭節(jié)點(diǎn)是哪一個節(jié)點(diǎn);
[0023]在通信階段,成員節(jié)點(diǎn)向簇頭節(jié)點(diǎn)報告采集到數(shù)據(jù),簇頭與匯聚節(jié)點(diǎn)之間以多跳 的方式通信;
[0024]如果簇頭距離匯聚節(jié)點(diǎn)的距離小于屯,則簇頭與匯聚節(jié)點(diǎn)之間直接通信,否 貝1J,簇頭在下一跳路由候選集合中選擇距離自己最近的兩個簇頭,然后在這兩個簇頭 中選擇剩余能量最大的簇頭作為下一跳路由;簇頭i的下一跳路由候選集合Sy1^ = {Sj|d(Sj,DS)<d以,DS)},其中DS為匯聚節(jié)點(diǎn),d(Sj,DS)為簇頭j到匯聚節(jié)點(diǎn)的距離, cKSpDS)為簇頭i到匯聚節(jié)點(diǎn)的距離。
[0025]有益效果,由于采用了上述方案,增加靠近匯聚節(jié)點(diǎn)的區(qū)域中簇頭的數(shù)量,使更多 的簇頭承擔(dān)數(shù)據(jù)轉(zhuǎn)發(fā)的任務(wù),并且在選擇簇頭時考慮節(jié)點(diǎn)的剩余能量以及與簇頭之間的通 信代價。在距離匯聚節(jié)點(diǎn)較近的地方布置了較多的簇頭,在選擇簇頭時考慮了節(jié)點(diǎn)的剩余 能量和節(jié)點(diǎn)與簇頭之間的通信代價。簇頭的選擇保證了網(wǎng)絡(luò)能量消耗的均勻分布。延長了 無線傳感器網(wǎng)絡(luò)的生存時間。解決了在分簇路由協(xié)議中簇頭需要消耗過多的能量,造成能 量消耗不均衡的問題,達(dá)到了本發(fā)明的目的。
[0026]優(yōu)點(diǎn):有效的均衡了網(wǎng)絡(luò)能量消耗,延長了網(wǎng)絡(luò)的生存時間。
【附圖說明】:
[0027] 圖1是本發(fā)明的協(xié)議運(yùn)行時間圖。
[0028]圖中Round表示輪次,Tel表示成簇階段,Tcommunicate表示通信階段。
【具體實施方式】
[0029] 實施例1 :該路由協(xié)議中將所有的節(jié)點(diǎn)看作是候選簇頭,再從候選簇頭中選擇最 終的簇頭,簇頭選擇方法如下:
[0030] 首先定義權(quán)值矩陣P
[0031] 定義1 :權(quán)值矩陣P的元素,P[i,j]表示節(jié)點(diǎn)i作為節(jié)點(diǎn)j的簇頭的權(quán)值,節(jié)點(diǎn)i 的權(quán)值為矩陣P第i行的和;
[0032] P[i,j] =l/log(Efs*dis(i,j) ~2*10~ 12+10)*exp(node(i).p_E/Einit)(公式2-1)
[0033] P[i,j] =l/log(Emp*dis(i,j) ~4*10~ 12+10)*exp(node(i).p_E/Einit)(公式2-2)
[0034] 上式中,Efs是自由空間放大電路能耗系數(shù),Emp是多路徑衰減空間放大電路能耗 系數(shù),dis(i,j)是節(jié)點(diǎn)i和節(jié)點(diǎn)j之間的距離,node(i).p_E是節(jié)點(diǎn)i當(dāng)前的能量,Einit 是節(jié)點(diǎn)的初始能量;
[0035] 權(quán)值矩陣P采用公式2-1或公式2-2計算;如果節(jié)點(diǎn)i與節(jié)點(diǎn)j之間的距離小于 d。,則采用公式2-1計算,否則用公式2-2計算;
[0036]
[0037] 式中:d。表示為距離常數(shù);
[0038] 定義2:節(jié)點(diǎn)的競爭半徑是指一個節(jié)點(diǎn)的競爭范圍所覆蓋的區(qū)域的最大半徑,計 算如公式3所示,
[0039]
[0040]
[0041] 式中,(1_和dmin分別為網(wǎng)絡(luò)中節(jié)點(diǎn)到匯聚節(jié)點(diǎn)的