【路由】基于Matlab实现LEACH(低能耗自适应集群层次路由)和 DEEC(分布式能量高效集群)路由算法

发布时间:2024年01月23日

??作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,

代码获取、论文复现及科研仿真合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab完整代码及仿真定制内容点击👇

智能优化算法?? ? ??神经网络预测?? ? ??雷达通信?? ? ?无线传感器?? ? ? ?电力系统

信号处理?? ? ? ? ? ? ?图像处理?? ? ??? ? ? ??路径规划?? ? ??元胞自动机?? ? ? ?无人机

🔥 内容介绍

概述

LEACH(低能耗自适应集群层次路由)和 DEEC(分布式能量高效集群)是两种用于无线传感器网络的层次路由算法。它们都旨在通过在网络中形成簇来减少能量消耗,从而延长网络的寿命。

LEACH 算法

LEACH 算法是一种基于轮换的簇头选举算法。在每轮选举中,每个节点都有可能被选为簇头。簇头负责收集簇内节点的数据并将其发送到汇聚节点。汇聚节点负责将数据发送到网络的最终目的地。

LEACH 算法的流程如下:

  1. 簇头选举:每个节点都会生成一个随机数。如果随机数小于某个阈值,则该节点被选为簇头。

  2. 簇形成:簇头向其周围的节点广播一个消息,通知它们加入簇。节点收到簇头消息后,会选择一个信号最强的簇头加入。

  3. 数据收集:簇头负责收集簇内节点的数据。簇内节点将数据发送到簇头,簇头将数据聚合后发送到汇聚节点。

  4. 数据传输:汇聚节点负责将数据发送到网络的最终目的地。

DEEC 算法

DEEC 算法是一种基于能量的簇头选举算法。在每轮选举中,能量最高的节点被选为簇头。簇头负责收集簇内节点的数据并将其发送到汇聚节点。汇聚节点负责将数据发送到网络的最终目的地。

DEEC 算法的流程如下:

  1. 簇头选举:每个节点都会计算自己的能量。能量最高的节点被选为簇头。

  2. 簇形成:簇头向其周围的节点广播一个消息,通知它们加入簇。节点收到簇头消息后,会选择一个能量最高的簇头加入。

  3. 数据收集:簇头负责收集簇内节点的数据。簇内节点将数据发送到簇头,簇头将数据聚合后发送到汇聚节点。

  4. 数据传输:汇聚节点负责将数据发送到网络的最终目的地。

📣 部分代码

clearclose all%1.初始参数设定模块%.传感器节点区域界限(单位 M)xm=100;ym=100;%(1)汇聚节坐标给定sink.x=0.5*xm;sink.y=0.5*ym;%区域内传器节数n=100%簇头优化比例(当选簇头的概率)p=0.1;%能量模型(单位 焦)%初始化能量模型Eo=0.5;%Eelec=Etx=ErxETX=50*0.000000001;ERX=50*0.000000001;%Transmit Amplifier typesEfs=10*0.000000000001;Emp=0.0013*0.000000000001;%Data Aggregation EnergyEDA=5*0.000000001;%高能量节点超出一节点能量的百分比a=1;%最大循环次数rmax=5000%算出参数 dodo=sqrt(Efs/Emp);%2.无线传感器网络模型产生模块%构建无线传感器网络,在区域内均匀投放100个节点,并画出图形for i=1:1:n    S(i).xd=rand(1,1)*xm;    XR(i)=S(i).xd;    S(i).yd=rand(1,1)*ym;    YR(i)=S(i).yd;    S(i).G=0;    S(i).E=Eo*(1+rand*a);    %initially there are no cluster heads only nodes    S(i).type='N';end?S(n+1).xd=sink.x;S(n+1).yd=sink.y;%3.网络运行模块%簇头节点数countCHs=0;cluster=1;%此定义的目的仅仅是给定一个1开始的下标参数,真正的簇头数应该还减去1flag_first_dead=0;flag_teenth_dead=0;flag_all_dead=0;%死亡节点数dead=0;first_dead=0;teenth_dead=0;all_dead=0;%活动节点数allive=n;%counter for bit transmitted to Bases Station and to Cluster Headspackets_TO_BS=0;packets_TO_CH=0;%(1)循环模式设定for r=0:1:rmax     %该 for 循环将下面的所有程序包括在内,直到最后一 end 才结束循环    r  %每过一个轮转周期(本程序为10次)使各节点的S(i).G参数(该参数用于后面的簇选举,在该轮转周期内已当选过簇头的节点不能再当选)恢复为零  if(mod(r, round(1/p) )==0)    for i=1:1:n        S(i).G=0;        S(i).cl=0;    end  end%(2)死亡节点检查模块dead=0;for i=1:1:n    %检查有无死亡节点    if (S(i).E<=0)        dead=dead+1;         %(3)第一个死亡节点的产生时间(用轮次表示)        %第一个节点死亡时间        if (dead==1)           if(flag_first_dead==0)              first_dead=r;              flag_first_dead=1;           end        end        %10%的节点死亡时间        if(dead==0.1*n)           if(flag_teenth_dead==0)              teenth_dead=r;              flag_teenth_dead=1;           end        end        if(dead==n)           if(flag_all_dead==0)              all_dead=r;              flag_all_dead=1;           end        end    end    if S(i).E>0???

?? 运行结果

LEACH 和 DEEC 算法的比较

LEACH 和 DEEC 算法都是用于无线传感器网络的层次路由算法。它们都旨在通过在网络中形成簇来减少能量消耗,从而延长网络的寿命。

LEACH 算法是一种基于轮换的簇头选举算法,而 DEEC 算法是一种基于能量的簇头选举算法。LEACH 算法的优点是简单易实现,但缺点是簇头选举的随机性可能会导致某些节点成为簇头过于频繁,从而导致这些节点的能量消耗过快。DEEC 算法的优点是能够选择能量最高的节点作为簇头,从而避免了 LEACH 算法的缺点,但缺点是簇头选举的复杂度较高。

结论

LEACH 和 DEEC 算法都是用于无线传感器网络的层次路由算法。它们都旨在通过在网络中形成簇来减少能量消耗,从而延长网络的寿命。LEACH 算法简单易实现,但缺点是簇头选举的随机性可能会导致某些节点成为簇头过于频繁,从而导致这些节点的能量消耗过快。DEEC 算法能够选择能量最高的节点作为簇头,从而避免了 LEACH 算法的缺点,但缺点是簇头选举的复杂度较高。

🔗 参考文献

🎈 部分理论引用网络文献,若有侵权联系博主删除
🎁 ?关注我领取海量matlab电子书和数学建模资料

👇 ?私信完整代码、论文复现、期刊合作、论文辅导及科研仿真定制

1 各类智能优化算法改进及应用
生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化
2 机器学习和深度学习方面
卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
2.图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知
3 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化
4 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配、无人机安全通信轨迹在线优化
5 无线传感器定位及布局方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化
6 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化
7 电力系统方面
微电网优化、无功优化、配电网重构、储能配置
8 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长
9 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合
文章来源:https://blog.csdn.net/Matlab_dashi/article/details/135740099
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。