【无线传感器网络】LEACH和LEACH-C协议研究(Matlab代码实现)

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

LEACH(Low-Energy Adaptive Clustering Hierarchy)和LEACH-C(Centralized Low-Energy Adaptive Clustering Hierarchy)是两种无线传感器网络(WSN)中常用的能量有效的协议。它们旨在延长网络的生命周期,减少能量消耗,并提高系统的性能。

1. **LEACH协议**:
   - LEACH是一种分布式的协议,旨在延长无线传感器网络的生命周期。
   - LEACH使用分簇的方法,将传感器节点划分为不同的簇,每个簇中有一个簇头(Cluster Head)负责接收和处理传感器节点的数据。
   - 每一轮中,LEACH通过随机选择簇头来实现能量的均衡分配,以避免过早地耗尽某些节点的能量。
   - LEACH采用轮换簇头的方式,以便分散能量消耗,延长网络寿命。

2. **LEACH-C协议**:
   - LEACH-C是对LEACH的改进版本,引入了集中式的控制机制。
   - LEACH-C使用中心控制器来协调网络中的节点,负责簇头的选择和能量分配。
   - 通过集中式控制,LEACH-C能够更好地优化能量消耗,提高网络的性能和生命周期。
   - LEACH-C通常比LEACH具有更好的能量利用率和网络稳定性,但也因此引入了一定的开销和复杂度。

这两种协议都在无线传感器网络中得到了广泛的研究和应用。选择合适的协议取决于具体的应用场景和需求。LEACH适用于对能源效率要求不那么严格的场景,而LEACH-C适用于对网络性能和稳定性要求较高的场景。

📚2 运行结果

部分代码:

IniEng=0.5;%0.5; % Initial Energy of Every Node
NetSize=200; % Network Size
NoOfNode=200; % Number of Node
NoOfRound=2000; % Number of Round
cluster_head_percentage=0.1;

[STATISTICS1,FD1,TD1,AD1]=leach(IniEng,NetSize,NoOfNode,NoOfRound,cluster_head_percentage);%% Leach
[STATISTICS2,FD2,TD2,AD2]=Leach_Centralized(IniEng,NetSize,NoOfNode,NoOfRound,cluster_head_percentage); %% Centralized Leach
% [STATISTICS3,FD3,TD3,AD3]=TSILEACH(IniEng,NetSize,NoOfNode,NoOfRound,cluster_head_percentage); %% Improved Leach IICT, BUET


r=0:NoOfRound;

figure
plot(r,STATISTICS1.DEAD,'k:',r,STATISTICS2.DEAD,'m-','LineWidth',2);
legend('LEACH','LEACH-C','Location','SouthEast');
xlabel('x(time)');
ylabel('No of Dead Nodes');
title('No of Allive Nodes Over Time');
 
figure
plot(r,STATISTICS1.ALLIVE,'k:',r,STATISTICS2.ALLIVE,'m-','LineWidth',2);
legend('LEACH','LEACH-C');
xlabel('x(time)');
ylabel('No of Allive Nodes');
title('No of Dead Nodes Over Time');
 
figure;
plot(r,STATISTICS1.PACKETS_TO_BS,'k:',r,STATISTICS2.PACKETS_TO_BS,'m-','LineWidth',2);
legend('LEACH','LEACH-C','Location','SouthEast'); 
xlabel('x(time)');
ylabel('No of Packets');
title('Number of packets send to Sink Node');

figure;
plot(r,STATISTICS1.TotalEnergy,'k:',r,STATISTICS2.TotalEnergy,'m-','LineWidth',2); 
xlabel('x(time)');
ylabel('Total Energy of Network in (Joule)');
title('The total Remaining Energy of the System in (J)');

figure;
bargraph=[FD1,FD2;TD1,TD2;AD1,AD2]; 
bar(bargraph,'group');
legend('LEACH','LEACH-C','Location','NorthWest'); 
title('The Time when First node die, Tenth node die and All nodes die');
xlabel('FIRST DEATH              TENTH DEATH              ALL DEATH');
ylabel('Number of rounds');

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]姜亚光.无线传感器网络分层路由协议的研究[D].杭州电子科技大学[2024-04-02].DOI:CNKI:CDMD:2.1013.124910.

[2]王珺.无线传感器网络能量有效性的研究[D].南京大学,2012.

[3]房晓菲.无线传感器网络节能路由算法研究[D].浙江工业大学[2024-04-02].DOI:10.7666/d.y1341195.

🌈4 Matlab代码实现

  • 24
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值