leach协议性能对比仿真,包括死亡节点数,数据传输,网络能量消耗,簇头产生数以及负载均衡度

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
数据传输服务 DTS,数据同步 small 3个月
推荐场景:
数据库上云
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
简介: leach协议性能对比仿真,包括死亡节点数,数据传输,网络能量消耗,簇头产生数以及负载均衡度

1.算法描述

   LEACH协议,全称是“低功耗自适应集簇分层型协议” (Low Energy Adaptive Clustering Hierarchy),是一种无线传感器网络路由协议。基于LEACH协议的算法,称为LEACH算法。LEACH算法是一种无线传感器网络路由协议,来源于Wendi Rabiner Heinzelman, Anantha Chandrakasan, 和Hari Balakrishnan三人在2000年Proceedings of the 33rd Hawaii International Conference on System Sciences上的一篇文章Energy-Efficient Communication Protocol for Wireless Microsensor Networks。 该算法基本思想是:以循环的方式随机选择簇头节点,将整个网络的能量负载平均分配到每个传感器节点中,从而达到降低网络能源消耗、提高网络整体生存时间的目的。仿真表明,与一般的平面多跳路由协议和静态分层算法相比,LEACH分簇协议可以将网络生命周期延长15%。

1.png

   LEACH在运行过程中不断的循环执行簇的重构过程,每个簇重构过程可以用回合的概念来描述。每个回合可以分成两个阶段:簇的建立阶段和传输数据的稳定阶段。为了节省资源开销,稳定阶段的持续时间要大于建立阶段的持续时间。簇的建立过程可分成4个阶段:簇头节点的选择、簇头节点的广播、簇头节点的建立和调度机制的生成。
    簇头节点的选择依据网络中所需要的簇头节点总数和迄今为止每个节点已成为簇头节点的次数来决定。具体的选择办法是:每个传感器节点随机选择0-1之间的一个值。如果选定的值小于某一个阈值,那么这个节点成为簇头节点。
   选定簇头节点后,通过广播告知整个网络。网络中的其他节点根据接收信息的信号强度决定从属的簇,并通知相应的簇头节点,完成簇的建立。最后,簇头节点采用TDMA方式为簇中每个节点分配向其传递数据的时间点。
   稳定阶段中,传感器节点将采集的数据传送到簇头节点。簇头节点对簇中所有节点所采集的数据进行信息融合后再传送给汇聚节点,这是一种较少通信业务量的合理工作模型。稳定阶段持续一段时间后,网络重新进入簇的建立阶段,进行下一回合的簇重构,不断循环,每个簇采用不同的CDMA代码进行通信来减少其他簇内节点的干扰。
   LEACH路由协议主要分为两个阶段:即簇建立阶段(setup phase)和稳定运行阶段(ready phase)。簇建立阶段和稳定运行阶段所持续的时间总和为一轮(round)。为减少协议开销,稳定运行阶段的持续时间要长于簇建立阶段。
  在簇建立阶段,传感器节点随机生成一个0,1之间的随机数,并且与阈值T(n)做比较,如果小于该阈值,则该节点就会当选为簇头。T(n)按照下列公式计算:式中:P为节点成为簇头节点的百分数,r为当前轮数,G为在最近的1/p轮中未当选簇头的节点集合。簇头节点选定后,广播自己成为簇头的消息,节点根据接收到的消息的强度决定加入哪个簇,并告知相应的簇头,完成簇的建立过程。然后,簇头节点采用TDMA的方式,为簇内成员分配传送数据的时隙。
   在稳定阶段,传感器节点将采集的数据传送到簇头节点。簇头节点对采集的数据进行数据融合后再将信息传送给汇聚节点,汇聚节点将数据传送给监控中心来进行数据的处理。稳定阶段持续一段时间后,网络重新进入簇的建立阶段,进行下一轮的簇重建,不断循环。

2.仿真效果预览
matlab2022a仿真结果如下:
2.png
3.png
4.png
5.png

3.MATLAB部分代码预览

 if Ea>0
 p(i)=P*n*S4(i).E*E4(i)/(Et*Ea);
 if(S4(i).E>0)
   temp_rand=rand;     
   if ( (S4(i).G)<=0)  
       %簇头的选举,当选的簇头会把各种相关信存入下面程序所给定的变量中
        if(temp_rand<= (p(i)/(1-p(i)*mod(r,round(1/p(i))))))
            countCHs4=countCHs4+1;
            packets_TO_BS4=packets_TO_BS4+1;
            PACKETS_TO_BS4(r+1)=packets_TO_BS4;
            S4(i).type='C';
            S4(i).G=round(1/p(i))-1;
            C4(cluster4).xd=S4(i).xd;
            C4(cluster4).yd=S4(i).yd;
            distance=sqrt( (S4(i).xd-(S4(n+1).xd) )^2 + (S4(i).yd-(S4(n+1).yd) )^2 );
            C4(cluster4).distance=distance;
            C4(cluster4).id=i;
            X4(cluster4)=S4(i).xd;
            Y4(cluster4)=S4(i).yd;
            cluster4=cluster4+1;
           %计算簇头发送4000bit数据到基站的能量消耗(这里应是所有节点包括簇头每一轮发送4000bit数据)
            distance;
            if (distance>do)
                S4(i).E=S4(i).E- ( (ETX+EDA)*(4000) + Emp*4000*( distance*distance*distance*distance )); 
            end
            if (distance<=do)
                S4(i).E=S4(i).E- ( (ETX+EDA)*(4000)  + Efs*4000*( distance * distance )); 
            end
        end     
    
    end
    % S4(i).G=S4(i).G-1;  
  end 
 end
end
A40
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
2月前
|
监控 安全 搜索推荐
设置 HTTPS 协议以确保数据传输的安全性
设置 HTTPS 协议以确保数据传输的安全性
|
2月前
|
缓存 算法 物联网
基于AODV和leach协议的自组网络平台matlab仿真,对比吞吐量,负荷,丢包率,剩余节点个数,节点消耗能量
本系统基于MATLAB 2017b,对AODV与LEACH自组网进行了升级仿真,新增运动节点路由测试,修正丢包率统计。AODV是一种按需路由协议,结合DSDV和DSR,支持动态路由。程序包含参数设置、消息收发等功能模块,通过GUI界面配置节点数量、仿真时间和路由协议等参数,并计算网络性能指标。 该代码实现了节点能量管理、簇头选举、路由发现等功能,并统计了网络性能指标。
164 73
|
1月前
|
机器学习/深度学习
YOLOv10优改系列一:YOLOv10融合C2f_Ghost网络,让YoloV10实现性能的均衡
本文介绍了YOLOv10的性能优化,通过融合Ghost模块和C2f结构,实现了网络性能的均衡。GhostNet通过GhostModule和GhostBottleNeck减少参数量,适用于资源有限的场景。YOLOv10-C2f_Ghost在减少参数和计算量的同时,保持了与原始网络相当或更好的性能。文章还提供了详细的代码修改步骤和可能遇到的问题解决方案。
141 1
YOLOv10优改系列一:YOLOv10融合C2f_Ghost网络,让YoloV10实现性能的均衡
|
27天前
|
缓存 监控 前端开发
优化网络应用的性能
【10月更文挑战第21天】优化网络应用的性能
19 2
|
1月前
|
测试技术
评测 AlibabaCloud 阿里云国际版 香港轻量云服务器的性能和网络怎么样
评测 AlibabaCloud 阿里云国际版 香港轻量云服务器的性能和网络怎么样
|
3月前
|
Prometheus 监控 网络协议
在Linux中,如何监控网络服务的状态和性能?
在Linux中,如何监控网络服务的状态和性能?
|
3月前
|
网络协议 安全 算法
"网络世界的守护者:一探究竟TCP协议如何确保数据传输的绝对安全与可靠"
【8月更文挑战第20天】传输控制协议(TCP)是网络通信中的核心协议之一,它确保数据包能可靠、有序地从源头传输到目的地。TCP采用三次握手的方式建立连接,并通过序列号、确认应答及超时重传来保障数据传输的准确性。此外,TCP还具备流量控制与拥塞控制功能,避免网络拥塞。虽然TCP在可靠性上表现优异,但在快速传输场景中可能存在局限。深入理解TCP对于网络工程师和开发者至关重要。
70 1
|
3月前
|
物联网 网络架构 智能硬件
|
3月前
|
监控 安全 数据安全/隐私保护
无线网络性能问题的识别和解决过程
【8月更文挑战第24天】
42 0
|
3月前
|
物联网 测试技术 网络性能优化