APP下载

基于最优簇头数的LEACH改进算法研究①

2023-05-30丁俊美

关键词:头数能量消耗能耗

丁俊美

(合肥财经职业学院人工智能学院,安徽 合肥 230601)

0 引 言

LEACH算法是一种经典的单跳分簇协议,其算法思想是:LEACH每"轮"(round)都进行簇头的选取,为了能使所有节点负载均衡,LEACH算法中传感器节点成为簇头的机会均等,并随机循环下去,避免了部分节点能量消耗过快,造成网络过早死亡。但是LEACH协议没有将节点剩余能量考虑进簇头选取中,传感器种类和分布对其能耗均有影响,而能量较低的节点成为簇头,则影响网络的寿命。另外,LEACH协议随机性选择簇头,簇头的个数和位置无法达到最优化,成员节点分布不均匀,部分距离簇头较远的节点能耗过高。因此,将着重对这些问题进行研究和改进。

1 路由策略设计

1.1 簇头数最优算法能量模型

LEACH协议中簇头数是随机确定的,簇头数过多,造成多余的簇头节点能量消耗,加快网络死亡速度;簇头数过少,则有部分普通节点未被覆盖。因此,必须计算出簇头的最优个数,使阈值T(N)公式中的P(簇头数与节点总数之比的百分数)值最优化。

LEACH协议使用的能量消耗模式是一阶无线通信模式[1],如图1所示。

在上述模式下,节点能耗主要发生在接收和发送数据的过程中。节点发送lbit数据到距离为d的接收节点需耗费的能量如公式(1)所示:

ETX(l,d)=Eelec(l)+E(TX-mp)(l,d)=

(1)

图1 无线通信模型

接收lbit数据,节点将耗费能量如公式(2)所示:

ERX(l)=Eelec×l

(2)

式(2)中,发送lbit数据耗费能量为ETX-mp,接收lbit数据耗费能量为ERX,在多路衰减模型下,功率放大系数为εmp[2]。在自由空间模型下,功率放大系数为εfs,εmp和εfs是常数,由发射距离和接收误码率等因素决定,d0是决定何种模型的阈值。当d

(3)

式(3)中,L是系统能耗因子,ha是发送天线高度,hb是接收天线高度,λ是载波波长。

1.2 最优簇头数计算

(1)簇形成阶段的能量消耗

1)簇头节点能耗

簇头向普通节点发送广播信息,根据多路衰减模型[4],即d≥d0,保证簇头的广播信息能覆盖网络大部分区域,簇头节点此时消耗的能量如公式(4)所示:

Eelec·l+εmp·l·dtoBS4

(4)

(5)

在一轮中,簇头总耗能如公式(6)所示:

(6)

2)普通节点能耗

普通节点接收簇头信消耗能如公式(7)所示:

Eelec·l

(7)

普通节点向簇头发送加入簇信息,这里采用自由空间模型,即d

Eelec·l+εfs·l·dtoCH2

(8)

在一轮中,每个成员节点总耗能如公式(9)所示:

Eno-ch=2·Eelec·l+εfs·l·dtoCH2

(9)

3)每个簇在成簇过程中总的耗能如公式(10)所示:

(10)

4)K个簇消耗的总能量如公式(11)所示:

(11)

(2)簇头数优化算法

簇头位置、簇内节点个数和位置实际上是不确定的,也就是dtoCH的值是不确定的,使用数学期望值的方法求得最优dtoCH的值,代入能量模型公式中计算出最优簇头数K。

∬r2ρ(r,θ)rdrdθ

(12)

(13)

把式(13)代入式(11)中,结果如公式(14)所示:

EZ=l·[(3N-2K)·Eelec+K·εmp·

(14)

对EZ求导数,并令其等于0,产生式如公式(15)所示:

(15)

对式(15)进行分解得到最优簇头数K的如公式(16)所示:

(16)

1.3 簇头选择算法

在每轮中,LEACH协议将节点的随机数与T(N)进行比较,如果大于T(N),则为成员节点,否则为簇头。算法在簇头选取时可以将能量比例加入LEACH算法中,即在阈值T(N)公式中加入剩余能量Er与初始能量Ei的比值,优先选取剩余能量多的节点成为簇头,能量比例参数如公式(17)所示:

(17)

LEACH协议中,簇头分布不均会使成员节点能耗加快。可以在LEACH协议阈值公式中加入节点度参数,节点可以根据接收信号强度值,计算出节点间距离,从而可以确定该节点的度Nd,节点度参数如公式(18)所示:

(18)

式(18)中最合适簇头数量为K,所有存活的节点数为Nr。Nd为节点n的节点度。将参数S(n)代入到T(N)公式中,对于节点度较小的节点,参数S(n)也较小,降低该节点成为簇头的概率,反之,概率增大。改进后LEACH协议的T(N) 如公式(19)所示:

(19)

式(19)中τ为常量,表示能耗比例和节点度比例在T(N)式中占的比重。通过上面阈值T(N)计算公式,可以使节点的能耗更加均衡,使网络生存周期得到延长。

2 仿真实验与结果分析

使用MATLAB进行仿真分析,实验仿真参数如下:监测区域100m*100m、节点数100个、Sink节点坐标(50,50)m、数据包长度4000Bytes、初始能量0.5,Eelec为50 nJ/bit·m2,εmp为0.0013 pJ/bit·m4,εfs为10 pJ/bit·m2。经过簇头数最优算法计算后得到4≤K≤5,则p的最优值为0.04-0.05之间。这里为便于比较,将改进后的LEACH算法称为NEW算法,两种算法的簇头数都选取5个,即P值为0.05。

在计算T(N)的公式中,τ的取值对实验结果有一定的影响,经过综合比较,当τ=6时,网络能耗最低、网络数据发送量达到最大、首个节点和全部节点死完时间最长。因此选取τ=6,分别对LEACH和NEW两种算法发送数据量、能量消耗、存活节点数进行比较,仿真结果如表1所示。

表1 LEACH与改进LEACH(NEW)数据对比表

通过仿真,在开始阶段LEACH和改进后LEACH协议能量消耗、节点存活和数发送量相差较小,但是在中期过后,改进后的LEACH算法降低了网络能耗,增长了网络存活时间,增多了发送的总数据量。

3 结 语

基于LEACH协议进行修改,加入了簇头数最优算法,解决了LEACH算法中随机选择簇头数问题,使能量耗费更加均衡。并在簇头选取算法中加入了能量因子和节点度因子,使剩余能量和节点度较大的节点优先成为簇头,并使簇头分布更加均匀。经过对LEACH算法的改进,使各类传感器节点能量消耗更加均衡,延长了网络的存活时间。

猜你喜欢

头数能量消耗能耗
太极拳连续“云手”运动强度及其能量消耗探究
120t转炉降低工序能耗生产实践
中年女性间歇习练太极拳的强度、能量消耗与间歇恢复探究分析
能耗双控下,涨价潮再度来袭!
探讨如何设计零能耗住宅
中药复方治疗牛病毒性腹泻的临床效果观察
没别的可吃
猪场绩效指标“有效母猪饲养头数”的探讨
日本先进的“零能耗住宅”
画图·分组·计算