一、理论基础
1、基于能量的簇头选择阈值
由于簇的规模和簇头选择对WSN总能耗影响较大:一方面,当簇的规模较小时,易导致WSN能量消耗不合理;另一方面,当簇的规模较大时,簇头转发数据量太大、负担较重,易造成能耗增大,使普通成员节点在单位之间可发送的数据量急速降低。故本文提出的簇头选择机制的改进方法为: T ′ ( n ) = { P 1 − P × ( r m o d ( 1 P ) ) × W ( r e s i e n e r g y , i n i t e n e r g y ) n ∈ G 0 o t h e r w i s e (1) T'(n)=\begin{dcases}\frac{P}{1-P×\left(rmod(\frac1P)\right)}×W(resi_{energy},init_{energy})\quad n∈G\\0\quad otherwise\end{dcases}\tag{1} T′(n)=⎩⎨⎧1−P×(rmod(P1))P×W(resienergy,initenergy)n∈G0otherwise(1)式中: P P P为节点成为簇头的百分数; G G G为在最近的 1 / P 1/P 1/P轮中未当选簇头的节点集合; r r r为当前轮数; W ( r e s i e n e r g y , i n i t e n e r g y ) = r e s i e n e r g y i n i t e n e r g y W(resi_{energy},init_{energy})=\sqrt{\frac{resi_{energy}}{init_{energy}}} W(resienergy,initenergy)=initenergyresienergy表示权重因子, i n i t e n e r g y init_{energy} initenergy是节点的初始能量, r e s i e n e r g y resi_{energy} resienergy是节点的剩余能量。
2、算法描述
基于能耗均衡的LEACH改进算法在执行时循环进行簇的重构,仍然和传统 LEACH 一样按轮(round)进行,每轮依然分成簇的建立阶段和传输数据的稳定阶段。该算法的目标是在每一轮中产生可以实现整个WSN更低能耗的最优数目的簇头,同时,在簇头的选举时充分考虑节点的剩余能量引入簇头选择新阈值,从而使能量消耗更加均衡。
具体步骤:
(1) 在
M
×
M
M×M
M×M监测区域中随机部署
N
N
N个传感器节点,并在监测区域中心部署汇聚节点或者基站,其结构示意图如图1所示。
(2)无线传感器节点向整个网络广播自身信息。
(3)根据阈值公式来确定簇头。具体的选择方法是:每个WSN节点产生一个
0
~
1
0~1
0~1之间的随机数,与将随机数与式(1)所示的阈值进行比较,若小于阈值,则当选为簇头。
(4)簇头确定之后向全网广播簇头消息,其余节点接收消息,并向距离最近的簇头发送加入消息,完成簇的建立。
(5)簇头采用TDMA为成员分配交换数据的时隙。
(6)数据稳定传输阶段,成员节点将采集信息发给簇头,簇头将信息融合后再发给基站。
(7)进入下一轮,重复步骤(3)~ 步骤(7)。
二、仿真与结果分析
1、仿真参数
设在
100
m
×
100
m
100m×100m
100m×100m的区域中随机部署
N
N
N个传感器节点,其中汇聚节点/基站位于区域中心
(
50
,
50
)
(50,50)
(50,50)。其余参数如下表所示。
2、结果分析
图2为100个节点在同一随机分布下,循环20次,每次迭代2000轮,取平均值,使用本文算法(LEACH-RE)和传统算法(LEACH)的存活节点数量的变化趋势,可以看出,传统LEACH算法大概在650轮左右出现第一个死亡节点,随后死亡节点的数量急剧上升,且节点大面积死亡。而本文改进算法第一个死亡节点出现在约950轮,且随着工作轮数的增加,存活节点的数量呈平缓下降趋势,说明使用本文改进算法延迟了第一个节点出现死亡的时间,且节点能耗更加均衡。
图3显示了本文算法与传统算法网络总能量的变化趋势。
图4清晰了显示出基站接收的数据量的变化趋势,很显然,本文改进算法发送到基站的数据量要明显高于传统算法。
图5给出两种算法在多次仿真以及同一随机分布情况下第一个节点死亡的轮数,可以看出,本文改进算法第一个节点死亡时间始终晚于传统算法,说明整个网络的能耗更加均衡,有效延长了网络的生命周期。
综上可知,本文算法与传统LEACH算法相比,降低了WSN节点的整体能耗,延长了网络使用寿命。
三、参考文献
[1] Heinzelman W R, Chandrakasan A, Balakrishnan H. Energyefficient communication protocol for wireless microsensor networks[C]. 2000.
[2] 张帅, 杨清海, 冯友兵. 基于能耗均衡的LEACH改进方法[J]. 计算机应用与软件, 2020, 37(1): 133-137.