【无线传感器网络路由协议LEACH的研究与改进】LEACH、LEACH-C、TS-I-LEACH比较研究(Matlab代码实现)

简介: 【无线传感器网络路由协议LEACH的研究与改进】LEACH、LEACH-C、TS-I-LEACH比较研究(Matlab代码实现)

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

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

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

💥1 概述

无线传感器网络路由协议LEACH的研究与改进:LEACH、LEACH-C、TS-I-LEACH比较研究

摘要

无线传感器网络(Wireless Sensor Networks, WSNs)中,能量效率是核心考量因素。LEACH作为经典的分簇路由协议,通过随机选举簇首实现能量均衡,但存在选举不均等问题。LEACH-C和TS-I-LEACH作为改进版本,分别通过中心化控制和两级簇首结构优化能量消耗。本文详细比较了这三种协议的机制、优缺点及适用场景,为无线传感器网络路由协议的选择提供参考。

无线传感器网络(Wireless Sensor Networks, WSNs)是一种由大量传感器节点组成的网络系统,这些节点能够感知、收集并处理环境中的信息,然后通过无线信号的方式将信息发送给用户。在WSNs中,能量效率是一个非常重要的考量因素,因为传感器节点通常是由电池供电的,而且在大多数情况下,更换电池是不现实的。因此,如何延长网络的生命周期,提高能量效率,就成为了WSNs研究中的一个核心问题。

LEACH(Low-Energy Adaptive Clustering Hierarchy),LEACH-C(LEACH-Centralized),和TS-I-LEACH(Two-Level Hierarchy LEACH Improved)是三种旨在提高无线传感器网络能效的协议。它们都采用了层次化的方法来组织网络,通过不同的策略来降低能量消耗,从而延长网络的生命周期。

1. 引言

无线传感器网络由大量传感器节点组成,能够感知、收集并处理环境信息,通过无线信号发送给用户。由于传感器节点通常由电池供电,且更换电池不现实,因此如何延长网络生命周期、提高能量效率成为WSNs研究的核心问题。LEACH(Low-Energy Adaptive Clustering Hierarchy)作为一种典型的自组织、自适应层次型网络协议,通过随机选举簇首实现能量均衡。然而,LEACH的随机性可能导致簇首选举不均,影响网络整体能效。为此,研究者提出了LEACH-C和TS-I-LEACH等改进协议。

2. LEACH协议

2.1 机制

LEACH协议采用“轮次制”运行,每轮包括建立阶段和稳定阶段:

  • 建立阶段:每个节点随机生成一个0到1之间的数,并与阈值T(n)比较。若小于T(n),则成为簇首。簇首通过广播通知其他节点,非簇首节点根据信号强度加入最近簇首。
  • 稳定阶段:簇首采用TDMA方式调度成员节点数据,执行数据融合后单跳传输至基站。

2.2 优点

  • 自组织、自适应:无需中心控制节点,鲁棒性强。
  • 能量均衡:通过簇首轮换避免单节点过早死亡。

2.3 缺点

  • 簇首选举不均:随机性可能导致部分节点频繁成为簇首,能量耗尽快。
  • 远距离通信能耗高:簇首单跳传输至基站,远距离通信能耗大。

3. LEACH-C协议

3.1 机制

LEACH-C是LEACH的改进版本,引入中心节点管理簇首选举:

  • 初始化阶段:所有节点向中心节点(如Sink节点)发送能量信息。
  • 簇首选择阶段:中心节点根据能量信息选择最佳簇首分布,分配簇首身份。
  • 簇成员分配阶段:中心节点通知节点所属簇首,节点加入相应簇。
  • 数据传输阶段:与LEACH相同,簇首融合数据后传输至基站。

3.2 优点

  • 能量消耗均衡:中心化控制避免随机选举不均,提高能量均衡性。
  • 延长网络寿命:通过优化簇首分布,减少能量浪费。

3.3 缺点

  • 系统复杂性增加:依赖中心节点,需额外通信开销维护中心节点。
  • 对基站依赖高:基站故障可能导致整个网络瘫痪。

4. TS-I-LEACH协议

4.1 机制

TS-I-LEACH进一步改进LEACH,采用两级簇首结构:

  • 一级簇首选举:与LEACH类似,随机选举一级簇首。
  • 二级簇首选举:一级簇首再选举二级簇首,形成两级簇首体系。
  • 数据传输:簇内节点将数据发送至一级簇首,一级簇首融合后发送至二级簇首,二级簇首最终传输至基站。

4.2 优点

  • 能量效率优化:两级簇首减少簇首与基站直接通信距离,降低能耗。
  • 自组织与自适应结合:保持LEACH的自组织特性,同时优化能量消耗。

4.3 缺点

  • 实现复杂度较高:需维护两级簇首结构,增加算法复杂度。
  • 通信开销增加:两级簇首间通信可能带来额外能耗。

5. 三种协议比较

协议 簇首选举机制 能量均衡性 系统复杂性 适用场景
LEACH 随机选举 一般 小规模、同质化网络
LEACH-C 中心化控制 对能耗均衡要求高、可容忍复杂性的网络
TS-I-LEACH 两级簇首结构 中等 大规模、需长期运行的网络

6. 实验验证与仿真结果

通过Matlab仿真验证三种协议性能,结果显示:

  • LEACH:简单有效,但远距离簇首能耗是近距离簇首的3-5倍,导致能量消耗不均衡。
  • LEACH-C:能量消耗更均衡,网络寿命比LEACH延长约20%-30%。
  • TS-I-LEACH:在大规模网络中,网络寿命比LEACH提升40%以上,能耗分布更均衡。

7. 未来研究方向

  • 动态环境适应性:结合机器学习算法,优化能量感知路径选择。
  • 跨层优化:集成物理层(如自适应功率控制)与应用层需求,提高能效。
  • 安全性增强:在簇首选举中引入信任机制,防御恶意节点攻击。

8. 结论

LEACH、LEACH-C和TS-I-LEACH是三种旨在提高无线传感器网络能效的协议。LEACH简单有效,但存在簇首选举不均问题;LEACH-C通过中心化控制优化簇首选举,提高能量均衡性,但增加系统复杂性;TS-I-LEACH通过两级簇首结构进一步优化能量效率,适用于大规模网络。根据不同应用场景和需求,可选择最合适的协议部署无线传感器网络。

📚2 运行结果

image.gif 编辑

image.gif 编辑

image.gif 编辑

image.gif 编辑

部分代码:

IniEng=0.5;%0.5; % Initial Energy of Every Node

NetSize=200; % Network Size

NoOfNode=200; % Number of Node

NoOfRound=1500; % 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;

 

plot(r,STATISTICS1.DEAD,'k:',r,STATISTICS2.DEAD,'m-',r,STATISTICS3.DEAD,'r-.','LineWidth',2);

legend('LEACH','LEACH-C','TS-I-LEACH','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-',r,STATISTICS3.ALLIVE,'r-.','LineWidth',2);

legend('LEACH','LEACH-C','TS-I-LEACH');

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-',r,STATISTICS3.PACKETS_TO_BS,'r-.','LineWidth',2);

legend('LEACH','LEACH-C','TS-I-LEACH','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-',r,STATISTICS3.TotalEnergy,'r-.','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,FD3;TD1,TD2,TD3;AD1,AD2,AD3];

bar(bargraph,'group');

legend('LEACH','LEACH-C','TS-I-LEACH','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]胡钢,谢冬梅,吴元忠.无线传感器网络路由协议LEACH的研究与改进[J].传感技术学报, 2007, 020(006):1391-1396.

[2]井泉.基于LEACH的无线传感器网络路由协议的研究[D].东北大学,2012.DOI:10.7666/d.J0124954.

[3]韦小铃,王玉斌,余兴超,等.无线传感器网络LEACH路由协议的研究与改进[C]//广西计算机学会2010年学术年会.0[2024-04-01].DOI:ConferenceArticle/5a9fbe30c095d72220573d8c.

[4]王林,赵绍英.无线传感器网络LEACH路由协议的研究与改进[J].计算机工程与应用, 2012.DOI:CNKI:SUN:JSGG.0.2012-02-023.

🌈4 Matlab代码实现资料获取,更多粉丝福利,MATLAB|Simulink|Python资源获取【请看主页然后私信】

相关文章
|
24天前
|
传感器 算法 机器人
基于灰狼算法的PID参数整定(报告+程序+ppt)研究(Matlab)
基于灰狼算法的PID参数整定(报告+程序+ppt)研究(Matlab)
|
24天前
|
分布式计算 并行计算 算法
考虑微电网灵活性的含分布式电源配电网二阶锥松弛最优潮流优化研究(Matlab代码实现)
考虑微电网灵活性的含分布式电源配电网二阶锥松弛最优潮流优化研究(Matlab代码实现)
|
24天前
|
传感器 机器学习/深度学习 算法
【信息融合与状态估计】时滞系统的协方差交叉融合估计研究(Matlab代码实现)
【信息融合与状态估计】时滞系统的协方差交叉融合估计研究(Matlab代码实现)
|
24天前
|
算法
基于灰狼优化算法(GWO)整定单区域负荷频率控制PID研究(Matlab、Simulink仿真)
基于灰狼优化算法(GWO)整定单区域负荷频率控制PID研究(Matlab、Simulink仿真)
|
24天前
|
传感器 机器学习/深度学习 算法
PID期刊论文复现之基于Simulink四旋翼无人机PID控制
PID期刊论文复现之基于Simulink四旋翼无人机PID控制
|
24天前
|
存储 机器学习/深度学习 编解码
基于大衍数构造的稀疏校验矩阵LDPC误码率matlab仿真,对比不同译码迭代次数,码率以及码长研究(Matlab代码实现)
基于大衍数构造的稀疏校验矩阵LDPC误码率matlab仿真,对比不同译码迭代次数,码率以及码长研究(Matlab代码实现)
|
24天前
|
运维 算法 网络性能优化
【重磅原创改进代码】基于ACPSO-EI-Kriging和考虑碳交易的多虚拟电厂多目标主从博弈研究(Python代码实现)
【重磅原创改进代码】基于ACPSO-EI-Kriging和考虑碳交易的多虚拟电厂多目标主从博弈研究(Python代码实现)
|
24天前
|
算法 数据可视化 数据建模
【原创改进代码】考虑动态能效比感知的含温控负荷虚拟电厂优化调度研究(Python代码实现)
【原创改进代码】考虑动态能效比感知的含温控负荷虚拟电厂优化调度研究(Python代码实现)
|
24天前
|
存储 算法 安全
考虑Copula相关性和热泵灵活性的风电光伏出力波动平抑优化策略研究(Matlab代码实现)
考虑Copula相关性和热泵灵活性的风电光伏出力波动平抑优化策略研究(Matlab代码实现)
|
24天前
|
机器学习/深度学习 传感器 编解码
【主动噪声控制】基于直观的循环卷积惩罚因子的频域输出约束型主动噪声控制算法(Matlab代码实现)
【主动噪声控制】基于直观的循环卷积惩罚因子的频域输出约束型主动噪声控制算法(Matlab代码实现)