中圖分類號:TP212.9 文獻標志碼:A
0 引言
隨著無線通信技術的發展,無線傳感器網絡在電氣自動化、監測控制等眾多行業領域得到廣泛運用。無線傳感器網絡是由大量的傳感器節點以自組織和多跳方式構成的無線網絡,以協作來感知、采集、處理和傳輸網絡覆蓋區域內被感知對象的信息并將這些信息發送給網絡所有者[1]。傳感器節點一般能量受限,又很難再更換電池,因此設計一種能夠高效利用傳感器節點能量的路由算法就很有必要。2023年12月,國家工業和信息化部等八部門印發的《關于加快傳統制造業轉型升級的指導意見》(工信部聯規[2023]258號)提出,要“支持生產設備數字化改造,推廣應用新型傳感、先進控制等智能部件,加快推動智能裝備和軟件更新替代”,從政策層面支持相關技術研究與產業應用。
現有的無線傳感器網絡的路由協議按照網絡結構可劃分為基于分層結構和非層次結構2大類[2]。分層型路由協議通過構建簇首與簇內節點的樹狀拓撲結構,由下而上完成數據的融合與轉發。相比較而言,分層型路由協議更能節約能量,其大多數算法是以經典的低能耗自適應聚類層次算法(Low-EnergyAdaptive ClusteringHierarchy,LEACH)為基礎[3]。然而,LEACH協議在設計時并未考慮到節點的能量剩余情況,簇首的能量消耗快、消耗大等問題,文章在LEACH協議基礎上,針對簇首選擇和路由方面進行改進,該I-LEACH算法經過MATLAB仿真驗證,其具有較好的節能性,網絡的生命周期得到延長。
1 LEACH協議
LEACH協議是無線傳感器網絡中一種低功耗自適應聚類經典路由協議,是典型的分層型路由協議。相比非層次路由,LEACH協議充分考慮了簇首節點的任務負擔,采用隨機輪換的方式均衡其能量消耗,網絡整體能效更高,可擴展性也較好。但是,該協議也存在不足之處:首先,簇首直接和匯聚節點通信,但簇首通常與匯聚節點距離都較遠。簇首一方面須直接和匯聚節點通信,另一方面還須接收簇內其他節點傳送來的數據并對數據進行處理和融合,其能量消耗大,很可能還沒有到下一輪,就已經死亡。其次,隨機生成的簇首在空間的分布上不能保證均勻分布,很可能某一區域生成的簇首密集,而在另一個區域沒有簇首,有節點無法入簇的情況存在。
2 改進算法I-LEACH
該協議在簇內采用基于普里姆( Prim? )的改進算法應用于簇內通信,形成以簇首為終點的多跳最優鏈。為了均衡簇首的能量消耗,在成簇后采用權值函數的方式選擇主、從2個簇首,進行分擔工作。在數據傳輸階段,通常采用最大傳輸路徑方式,即選擇的中繼簇首節點的能量最大或者是最小傳輸能耗路徑,即選擇的傳輸路徑到匯聚節點的能耗最少[4]。這里綜合考慮2種路由方式,在簇首路由中通過代價函數合理選擇下一跳節點。
2.1 網絡模型
設有 n 個傳感器節點任意分布在一個二維平面區域,并且網絡滿足如下條件:(1)分布確定后不再變化;(2)節點都有唯一標識號,同構且能量初始相同,匯聚節點的能量無限大;(3)所有節點都有足夠的計算能力進行信號處理、路由選擇且地位相同;(4)所有節點發射功率可根據路由自行調節。
無線通信能耗模型采用經典的一階無線電能量模型。傳感器節點發射1bit數據能耗為:
傳感器節點接收1bit數據能耗為:
Erx(k)=Eelecl
式(1)中 Efs?Emp 為信號放大器的放大倍數, 為節點發射電路的損耗, d 為發送節點和接收節點之間的距離,定義
當傳輸距離小于閾值 d0 時,則功率放大損耗采用自由空間模型,否則采用多路徑衰減模型。
2.2簇首的選擇
分層路由協議中簇首負擔最重,其優劣將直接影響整個WSN生存周期。本文首先采用LEACH成簇的方式形成簇,然后在內部重新選擇簇首,對應的簇首在一輪周期中的數據消耗能量為:
EcH=lEeleck+lEBF(k+1)+l(Eelec+εmpdtb4)
式(3)中, k 為簇內節點數, dtb 為簇首到匯聚節點距離, EBF 為簇首融合數據的能量消耗。考慮到簇內只有一個簇首的能量消耗負擔過重,本文采用主、從簇首的方式,由一個主簇首負責簇內節點數據的接收和融合處理,然后主簇首將融合好的數據傳送給從簇首,由從簇首向外轉發數據。主簇首因為主要負責數據接收和融合,所以對能量和簇內通信代價的要求較高。本文考慮這2個方面,采用加權的方式選擇主簇首。從簇首因為主要負責轉發數據,所以主要考慮到匯聚節點的距離和節點自身的能量。
Wi1=α1Ei+α2Di,i∈Eg
Wi2=β1Ei+β2di,i∈Eg
式(4)是主簇首的加權計算公式,其中 Ei= ,表示節點消耗的能量與初始能量之比,Si E0 表示節點初始能量, Si.E 表示節點當前能量,
表示節點到簇內質心的距離 Si.dz 與簇內節點到質心的最大距離 Dmax 之比。質心的坐標為
式(5)是從簇首的加權計算公式, ,表示節點到匯聚節點的距離 Si dtb 與簇內節點到匯聚節點最大距離 dmax 之比。通過比較 Wi1 和 Wi2 在簇內選出主、從簇首。
2.3數據傳輸過程
數據傳輸過程主要分為簇內數據傳送和簇首間數據傳送2個部分。若使網絡能達到最大生存時間的理想情況是所有的節點在同一刻死亡,即網絡耗盡了所有的能量。本文考慮在簇內采用普里姆(Prim)改進算法生成多條鏈進行數據多跳通信,在簇首間通過代價函數選擇最優下一跳進行數據傳送。
2.3.1簇內節點路由
考慮到簇內節點距離較近,相互之間可以距離感知。本文在簇內采用基于 Prim 的改進算法。 Prim 算法用于生成最小生成樹,可是在生成最小生成樹后,會產生關鍵節點(見圖1)。關鍵節點的能量消耗也很大,而關鍵節點又不能隨著輪數而改變,會過早死亡,降低了網絡的健壯性和穩定性。
在PEGASIS協議中,簇內采用Dijkstra算法成鏈進行通信[5],但是并不能達到最優鏈的方式(見圖2)。本文采用 Prim 算法的改進方式形成多條以簇首為終點的鏈[,對 Prim 算法中生成每個葉子節點設定一個節點度,使每個普通節點只能接收一個節點的數據并只能向另一個節點進行轉發數據(見圖3)。
2.3.2簇首間路由
鑒于簇首的任務負擔過重且簇首間的距離以及簇首到匯聚節點的距離一般較遠,本文采用了主、從簇首的方式進行簇首間的數據傳送。首先,由主簇首接收簇內其他節點(不包括從簇首)傳送的數據,主簇首將數據融合處理后轉發至從簇首,從簇首先將主簇首發送來的數據與自身的數據融合,然后再按照組成的路由路徑傳送給匯聚節點。
圖1最小生成樹法
圖2Dijkstra算法
圖3Prim改進算法
若在從簇首間采用LEACH的單跳方式,從簇首直接和匯聚節點通信,則必然會導致距離匯聚節點遠的從簇首先死亡;若在從簇首簇間完全采用多跳方式,最終必然會導致靠近匯聚節點的從簇首因轉發過多數據而先死亡,而距離匯聚節點較遠的從簇首因不須要轉發數據依舊保留較高的能量。因此,本研究采用單跳和多跳相結合的方式。通過中繼節點中繼的方式傳輸數據,須要尋找一種合理高效的方式尋找下一跳節點。假定有 Ωn 個簇首,相鄰距離均為 d 。須要將 L 比特數據從一個距離匯聚節點為 nd 的簇首發送到匯聚節點。若采用直接發送的方式,消耗的全部能量為:
Ed=LEelec+Lεfs(nd)2
若采用多跳路由的方式,該簇首須要選擇距離匯聚節點 (n-1)d 處的鄰居簇首作為中繼簇首,然后依次轉發至匯聚節點。在轉發中,發送、接收等都消耗能量,因此可計算出所消耗的全部能量為:
L(?(2n-1)Eelec+nεfsd2)
如果直接傳輸比多跳消耗的能量消耗小,只需Edu ,即:
LEelec+Lεfs(nd)2elec+nεfsd2)
可簡化為: 反之,若多跳消耗能量少,則:
再設已知當前簇首 i 到相鄰簇首 j 的距離 ??i 和 j 到匯聚節點的距離,則總計消耗能量為:
Etotal=Ei+Ej=LEelec+Lεfsd(i,j)2+LEelec+ Lεfsd(j,bs)2=2LEelec+Lεfs[d(i,j)2+d(j,bs)2]
式(9)中, Ei 和 Ej 分別為簇首 i 和 j 傳送數據所消耗的能量,由于 均為常數,所以總消耗能量只與 d(i,j)2+d(j,bs)2 有關,定義下一跳節點代價函數為:
cost(i,j)=d(i,j)2+d(j,bs)2
在簇首 i 到匯聚節點之間畫一條線段,以該線段為直徑做圓,如圖4所示。
若 d(i,j)2+d(j,bs)2=d(i,bs)2 ,則表明中繼節點 j 在以從簇首節點 i 到匯聚節點確定的線段為直徑的圓周上,若此時選擇 j 為中繼節點,雖然距離相等,但是節點 j 還須要接收 i 的數據能量消耗,因此,文章設定中繼節點首先要滿足下列條件:
d(i,j)2+d(j,bs)22
另外,對中繼節點的選擇不能單純地考慮距離因素,還要考慮到中繼節點的能量情況。
圖4合理選擇中繼節點
選擇中繼節點算法過程如下://選擇從簇首 s(i) 到匯聚節點 BS 的中繼節點 j For 所有中繼簇首節點 j 計算節點 i 到節點 j 的距離 d(i,j) :Ifd(i,j)2+d(j,bs)22 將簇首 j 加人簇首 i 中繼簇首集合 G(i) :End在中繼簇首集合 G(i) 中找出能量最大點 p : 中繼簇首 p 為 i 的中繼簇首;Else簇首 i 沒有中繼簇首,直接與匯聚節點通信。由上述算法找出中繼節點,再將數據再傳送給匯聚節點。若從簇首未尋找到中繼節點,則將數據直接傳送給匯聚節點。
3實驗仿真與結果分析
為驗證上述I-LEACH算法性能,消除偶然性因素,本文采用MATLAB構建網絡并進行仿真分析,對算法進行了10次仿真。在一個 100M×100M 區域內,基站位于(50,175)。節點初始能量為0.5J,若能量低于0J時,將其看作死亡。設轉發中沒有數據丟失,數據融合率達 100% 。初始成簇時采用LEACH算法,簇首的期望百分比設定為 5%[7] 。設定主簇首的加權參數 α1=0.65 , α2=0.35 ;從簇首用于轉發數據,加權參數 β1=0.35 , β2=0.65 。其他仿真參數如表1所示[8]
圖5比較了I-LEACH與PEGASIS、LEACH路由協議的網絡生存周期,以輪數代表網絡運行時間,觀察不同協議對應的第一個節點死亡時間分別是1165、1051、757;半數節點的死亡時間分別是1365、1192、
表1仿真環境參數
907;全部節點的死亡時間分別是1524、1310、1180。I-LEACH算法的第一個節點死亡時間分別比PEGASIS、LEACH分別提高 11%53% ;半數節點死亡時間比PEGASIS、LEACH分別提高 14%.51% ;全部節點死亡時間比PEGASIS、LEACH分別提高 16% !29% 。分析其原因主要是,I-LEACH協議根據不同的權值計算辦法選擇出主從2個簇首,分擔了LEACH協議簇內只有一個簇首的能量消耗。簇內路由采用基于 Prim 算法改進的多鏈形式更有利于節約能量,在簇首路由時通過代價函數選擇中繼節點,鑒于中繼節點的距離和能量,選擇距離優化、能量最大的節點為中繼節點,而不僅是采用最大剩余節點能量路由或者最小能耗路由,可以更好達到網絡負載的均衡。圖6顯示,3種協議的曲線I-LEACH始終在最下方,其斜率最小,這說明I-LEACH在整個網絡時間段內每輪所消耗的能量最小。網絡在首個節點死亡后,I-LEACH與PEGASIS、LEACH3種協議的能量剩余率分別為 94.1%.91.8% 和 81.1% 。
圖5存活節點個數
WSN網絡的穩定期一般指仿真開始直到第一個節點死亡的這段時間,只要網絡出現死亡節點,數據傳輸就會發生不可靠的問題,因此,這個穩定期越長表示網絡性能越好[9]。不穩定期是從第一個節點死亡直到所有節點全部死亡的這段時間,不穩定期越長說明收斂性越差,背離了算法快速收斂的要求。I-LEACH與PEGASIS、LEACH算法的穩定期為1165輪、1051輪、757輪;不穩定期分別為359輪、259輪、423輪。由此可以看出I-LEACH算法可以使網絡有更長穩定期,其不穩定期比LEACH協議更要好得多,比PEGASIS略差,符合無線傳感器網絡快速收斂性的特點。這主要是其簇內采用多鏈,節約了能量,從單個簇內路由方式也可以明顯得出,如圖7一8所示,單個簇內隨機有19個節點,Dijkstra算法的路由總距離為 398.8m ,由 Prim 改進算法的路由總距離為299.2m ,節約通信路徑距離 99.6m ,也可以明顯得出簇內路由更加節約能量。雖然I-LEACH算法在最后節點死亡速度較慢,但當網絡大部分節點死亡過后,網絡已經失去了本身的效用。
圖6消耗能量
圖7Dijkstra算法成鏈
圖8Prim改進算法成鏈
4結語
文章在分析了LEACH協議的基礎上,結合PEGASIS算法對簇內成鏈方式進行改進,運用主、從簇首,更加合理地選擇下一跳節點,提出了一種簇首路由的改進算法I-LEACH。仿真結果顯示,I-LEACH算法相比PEGASIS、LEACH算法,具有更長的穩定期,均衡了網絡的能量消耗并提高了網絡壽命。
參考文獻
[1]張杰,王海龍,彭潔,等.無線傳感器網絡導論[M].北京:國防工業出版社,2023.
[2]付垚.基于人工智能的無線傳感器網絡節能分簇路由算法[J].信息記錄材料,2025(1):157-159.
[3]崔盼盼,陳冉冉.無線傳感器網絡LEACH協議的改進[J].微處理機,2024(2):31-33.
[4]崔遠.能量采集無線傳感器網絡路由優化方法研究[J].蘭州職業技術學院學報,2024(6):55-58.
[5]LINDSEY S,RAGHAVENDA C S.PEGASIS:power-efficient gatheringin sensorinformation systems[C].Proceeding of the IEEE Aero space Conference,IEEEPress,2002:1125-1130.
[6]胡斌,王傳云,楊勇.一種基于蟻群算法無線傳感器網絡負載均衡策略[J].安徽大學學報(自然科學版),2017(4):63-68.
[7]張文梅.一種能量均衡的WSN非均勻路由協議[J].廣東農工商職業技術學院學報,2023(3):24-27.
[8]徐智福.基于無線傳感器網絡的路由協議研究[D].杭州:杭州電子科技大學,2009.
[9]楊惠,郝立元.無線傳感器網絡中低功耗路由協議優化方法[J].長江信息通信,2024(7):103-106.
(編輯 王雪芬)
Abstract:There are problems of complex routing and limited energy in WirelessSensor Networks.So the article puting forward an improved algorithm (I-LEACH) based on LEACH protocol. The algorithm elects master and slave two clusterheads to share theenergyconsumptiononthe insidedata forwarding.Anditalsouses costfunction to select therelay node between cluster headsrouting.In the cluster it uses improved Prim algorithm to multi hop communication by numbersof chains.Performance analysis and simulation results show that,compared with LEACH, the algorithm has beter energy-saving and can prolongs the survival time of network effectively.
Key words: WSN; LEACH protocol; Prim; energy-saving routing algorithm