LEACH算法英文原文:https://ieeexplore.ieee.org/document/1045297/citations#citations [注:本论文于2002年发表于 Ieee Transactions On Wireless Communications]
LEACH(low energy adaptive clustering hierarchy)算法是一种自适应分簇拓扑算法,它的执行过程是周期性的,其中定义了“轮”(round)的概念来实现周期性。每轮循环分为族的建立阶段和稳定的数据通信阶段。
1、在簇的建立阶段,相邻节点动态地形成簇,随机产生簇头;
2、在数据通信阶段,簇内节点把数据发送给簇头,簇头进行数据融合并把结果发送给汇聚节点。由于族头需要完成数据融合、与汇聚节点通信等工作,所以能量消耗大。LEACH算法能够保证各节点等概率地担任簇头,使得网络中的节点相对均衡地消耗能量。
1、簇头选举方法
LEACH算法选举簇头的过程如下:节点产生一个0~1之间的随机数,如果这个数小于阀值T(n),则发布自己是簇头的公告消息。在每轮循环中,如果节点已经当选过簇头,则把T(n)设置为0,这样该节点不会再次当选为簇头。对于未当选过簇头的节点,则将以T(n)的概率当选;随着当选过簇头的节点数目增加,剩余节点当选簇头的阀值T(n)随之增大,节点产生小于T(n)的随机数的概率随之增大,所以节点当选簇头的概率增大。当只剩下一个节点未当选时,T(n)=1,表示这个节点一定当选。T(n)可表示为:
其中,P是簇头数量占全部节点数量的百分比(一般会设为一个固定值,如 0.05 ),r是选举轮数,r mod (1/P)代表这一轮循环中当选过簇头的节点个数,G是在最后1/P轮中没有成为簇头的节点集。
2、数据通信
当簇头选定之后,簇头节点主动向网络中节点广播自己成为簇头的消息。接收到此消息的节点,依据接收信号的强度,选择它所要加入的簇,并发消息通知相应的簇头。基于时分多址(Time Division Multiple Address,简称TDMA)的方式,簇头节点为其中的每个成员分配通信时隙,并以广播的形式通知所有的簇内节点。这样保证了簇内每个节点在指定的传输时隙进行数据传输,而在其他时间进入休眠状态,减少了能量消耗。在稳定工作阶段,节点持续采集监测数据,在自身传输时隙到来时把监测数据传给簇头节点,簇头节点对接收到数据进行融合处理之后,发送到Sink节点,这是一种减小通信业务量的合理工作模式。持续一段时间以后,整个网络进入下一轮工作周期,重新选择簇头节点
3、结果分析
1)由于LEACH假定所有节点能够与汇聚节点直接通信,并且每个节点都具备支持不同MAC协议的计算能力,因此该协议不适合在大规模的无线传感器网络中应用。
2)协议没有说明簇头节点的数目怎么分布才能及于整个网络。因此,很可能出现被选的簇头节点集中在网络某一区域的现象,这样就会使得一些节点的周围没有任何簇头节点。
3)由于LEACH假定在最初的簇头选择回合中,所有的节点都携带相同的能量,并且每个成为簇头的节点都消耗大致相同的能量。因此,协议不适合节点能量不均衡的网络
4、 结论
1)为了减少传送到汇聚节点的信息数量,簇首节点负责融合来自簇内不同源节点所产生的数据,并将融合后的数据发送到汇聚点。
2)LEACH采用基于TDMA/CDMA的MAC层机制来减少簇内和簇间的冲突。
3)由于数据采集是集中的和周期性的,因此该协议非常适合于要求连续监控的应用系统。
4)对于终端使用者来说,由于它并不需要立即得到所有的数据,因此协议不需要周期性的传输数据,这样可以达到限制传感器节点能量消耗的目的。
5)在给定的时间间隔后,协议重新选举簇首节点,以保证无线传感器网络获取统一的能量分布。
本文参考:https://blog.csdn.net/qq_24133491/article/details/79057079
https://blog.csdn.net/m0_37516824/article/details/80886650