您现在的位置:首页 >> 网络协议 >> 内容

LEACH网络协议性能仿真包括能耗,死亡节点,剩余存活节点

时间:2023/2/23 20:12:09 点击:

  核心提示:A404,包括程序操作录像...

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/ZJWYm5dw

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分仿真图预览





3.算法概述

        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%。

4.部分源码

.....................................................................

IniEng=1;

NetSize=200; % Network Size

NoOfNode=200; % Number of Node

Iteration=2400; 

[R1,FD1,TD1,AD1]=leach(IniEng,NetSize,NoOfNode,Iteration,0.1);%% Leach

[R2,FD5,TD5,AD5]=Leach_Centralized(IniEng,NetSize,NoOfNode,Iteration,0.1); %% Centralized Leach

[R3,FD2,TD2,AD2]=Improved1_leach(IniEng,NetSize,NoOfNode,Iteration,0.1); %% Improved Leach 1

r=0:Iteration;

figure

plot(r(1:50:end),R1.DEAD(1:50:end),'-bs',...

    'LineWidth',1,...

    'MarkerSize',6,...

    'MarkerEdgeColor','k',...

    'MarkerFaceColor',[0.9,0.0,0.0]);

hold on

plot(r(1:50:end),R2.DEAD(1:50:end),'-bo',...

    'LineWidth',1,...

    'MarkerSize',6,...

    'MarkerEdgeColor','k',...

    'MarkerFaceColor',[0.0,0.9,0.0]);

hold on

plot(r(1:50:end),R3.DEAD(1:50:end),'-b^',...

    'LineWidth',1,...

    'MarkerSize',6,...

    'MarkerEdgeColor','k',...

    'MarkerFaceColor',[0.0,0.0,0.9]);

legend('LEACH','LEACH-C','E-LEACH');

xlabel('x(time)');

ylabel('死亡节点');

figure

plot(r(1:50:end),R1.ALLIVE(1:50:end),'-bs',...

    'LineWidth',1,...

    'MarkerSize',6,...

    'MarkerEdgeColor','k',...

    'MarkerFaceColor',[0.9,0.0,0.0]);

hold on

plot(r(1:50:end),R2.ALLIVE(1:50:end),'-bo',...

    'LineWidth',1,...

    'MarkerSize',6,...

    'MarkerEdgeColor','k',...

    'MarkerFaceColor',[0.0,0.9,0.0]);

hold on

plot(r(1:50:end),R3.ALLIVE(1:50:end),'-b^',...

    'LineWidth',1,...

    'MarkerSize',6,...

    'MarkerEdgeColor','k',...

    'MarkerFaceColor',[0.0,0.0,0.9]);

legend('LEACH','LEACH-C','E-LEACH');

xlabel('x(time)');

ylabel('存活节点');

figure;

plot(r(1:50:end),R1.PACKETS_TO_BS(1:50:end),'-bs',...

    'LineWidth',1,...

    'MarkerSize',6,...

    'MarkerEdgeColor','k',...

    'MarkerFaceColor',[0.9,0.0,0.0]);

hold on

plot(r(1:50:end),R2.PACKETS_TO_BS(1:50:end),'-bo',...

    'LineWidth',1,...

    'MarkerSize',6,...

    'MarkerEdgeColor','k',...

    'MarkerFaceColor',[0.0,0.9,0.0]);

hold on

plot(r(1:50:end),R3.PACKETS_TO_BS(1:50:end),'-b^',...

    'LineWidth',1,...

    'MarkerSize',6,...

    'MarkerEdgeColor','k',...

    'MarkerFaceColor',[0.0,0.0,0.9]);

legend('LEACH','LEACH-C','E-LEACH');

xlabel('x(time)');

ylabel('Packets数量');

figure;

plot(r(1:50:end),R1.TotalEnergy(1:50:end),'-bs',...

    'LineWidth',1,...

    'MarkerSize',6,...

    'MarkerEdgeColor','k',...

    'MarkerFaceColor',[0.9,0.0,0.0]);

hold on

plot(r(1:50:end),R2.TotalEnergy(1:50:end),'-bo',...

    'LineWidth',1,...

    'MarkerSize',6,...

    'MarkerEdgeColor','k',...

    'MarkerFaceColor',[0.0,0.9,0.0]);

hold on

plot(r(1:50:end),R3.TotalEnergy(1:50:end),'-b^',...

    'LineWidth',1,...

    'MarkerSize',6,...

    'MarkerEdgeColor','k',...

    'MarkerFaceColor',[0.0,0.0,0.9]);

legend('LEACH','LEACH-C','E-LEACH');

xlabel('x(time)');

ylabel('剩余能量');

A404

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168