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

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

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

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

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

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

无线传感器网络(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. LEACH

LEACH是一种典型的自组织、自适应的层次型网络协议。它通过随机选举节点作为簇首(Cluster Heads, CHs),并以此为中心建立簇。非簇首节点将数据发送给簇首,簇首再将数据汇总后发送给基站。LEACH的关键特点在于其簇首的随机选举机制和局部数据聚合,这能有效减少通信所需的能量。但LEACH的随机性也可能导致簇首选举的不均匀,影响网络的整体能效。

### 2. LEACH-C

LEACH-C是LEACH的一个改进版本,它引入了一个中心控制算法来优化簇首的选举过程。在LEACH-C中,所有的节点首先将自己的位置和能量信息发送给基站,基站然后根据这些信息计算出最佳的簇首分布,并将簇首身份分配给选定的节点。这种中心化的簇首选举方法能够更加合理地平衡能量消耗,从而延长网络的生命周期。然而,这种方法增加了系统的复杂性,且对基站的依赖较高。

### 3. TS-I-LEACH

TS-I-LEACH是对LEACH协议的进一步改进,它采用了两级簇首制度来优化能量消耗。在TS-I-LEACH中,选举出的簇首将进一步选出一个或多个次级簇首,形成一个两级的簇首体系。这种方法旨在减少簇首与基站之间的直接通信距离,通过在簇内部进行更多的数据聚合来降低能量消耗。TS-I-LEACH通过这种两级簇首机制,既保持了LEACH协议的自组织和自适应特性,又进一步优化了能量消耗,延长了网络的生命周期。

### 结论

LEACH、LEACH-C和TS-I-LEACH都是旨在提高无线传感器网络能效的协议,它们通过不同的方法来减少能量消耗和平衡能量消耗。LEACH简单有效,但可能存在簇首选举不均的问题;LEACH-C通过中心化的方式优化簇首的选举,能更好地平衡能量消耗,但复杂度和对基站的依赖性增加;TS-I-LEACH通过引入两级簇首制度,进一步优化了能量效率,是一种兼顾自组织自适应性和能效优化的方案。根据不同的应用场景和需求,可以选择最合适的协议来部署无线传感器网络。

📚2 运行结果

部分代码:

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代码实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值