首页 > 编程语言 > 详细

LEACH 算法讲解

时间:2021-04-23 16:06:33      阅读:39      评论:0      收藏:0      [点我收藏+]

LEACH算法
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是簇头在所有节点中所占的百分比,r是选举轮数,rmod(1/P)代表这一轮循环中当选过簇头的节点个数,G是这一轮循环中未当选过簇头的节点集合。

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

更多详情:https://www.cnblogs.com/lemonzhang/p/9254435.html

 

LEACH 算法讲解

原文:https://www.cnblogs.com/gslgb/p/14693945.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!