改进的LEACH协议基于圆形区域聚类增加网络寿命(Matlab代码实现)

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

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

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

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

目录

💥1 概述

📚2 运行结果

2.1 I-LEACH

2.2 LEACH

🎉3 参考文献

🌈4 Matlab代码、文章


💥1 概述

文献来源:

摘要:无线传感器网络(WSN)在现代世界中扮演着重要角色。它是一种有用的技术,可以利用分布在广泛区域的小型传感器节点从系统的多个部分发送和接收数据。这些节点能够执行多种数据操作,如环境感知、数据收集、处理和其他操作。它们从嵌入在节点中的电池获取必要的能量来执行这些过程。在许多应用中,传感器节点往往体积小,配备了能量有限的小型电池。因此,减少能量消耗并尽可能延长网络的寿命非常重要。为此,开发了低能耗自适应聚类层次(LEACH)路由协议。本文中,开发了LEACH协议的改进模型,以进一步降低能量消耗,从而延长网络的寿命。

关键词:无线传感器网络(WSN)、传感器节点、LEACH协议、能量消耗、传感器寿命

无线传感器网络(WSN)是一种分散式网络,因其广泛的应用范围而受到重视,包括健康、智能建筑、安防和农业监测等领域[1]。WSN由大量微型、廉价且电池容量有限的节点组成,这些节点共同执行多项任务[2]。传感器节点在网络中相互通信,收集并发送有关监测对象的各种信息到汇聚点(基站),汇聚点进一步处理信息并将其报告给最终用户[3]。

为了完成这些任务,文献中提出了大量的协议。然而,WSN协议面临的主要问题是网络中的每个节点都有限的电池能量。增加网络寿命是设计网络时需要研究的重要挑战之一。由于传感器节点在感知、处理、传输数据和通信等活动中耗尽能量,其中通信是最大的能耗者,因此应制定管理计划以改善网络寿命[2]。

网络寿命是指第一个传感器节点耗尽所有电力并变为死节点的时间[3]。目前有许多种低能耗的协议可以增加网络的寿命,它们分为两组,即平坦型和分层型[4]。本文将讨论分层聚类类型。基于聚类的分层通过根据WSN应用的目的增加分层级别来延长寿命[5]。基于聚类的路由协议可以分为两大类:分布式和集中式。在分布式聚类中,节点是负责元素,而在集中式聚类中,基站是负责元素来执行数据传输过程[1]。

在早期研究中,对LEACH的许多类型进行了研究,在[6]中研究了经典的LEACH,并将其与非聚类算法进行了比较,其中第一个死节点的时间比非聚类算法长八倍。之后,对LEACH进行了许多修改以增加网络寿命或减少能耗,例如在[7]中,通过将聚类层次(CH)节点分布在整个网络中,开发了一种集中式LEACH。然而,它的问题在于需要全球定位系统(GPS)与基站通信,这将增加能耗。

📚2 运行结果

2.1 I-LEACH

2.2 LEACH

部分代码:

%% Create sensor nodes, Set Parameters and Create Energy Model 
%%%%%%%%%%%%%%%%%%%%%%%%% Initial Parameters %%%%%%%%%%%%%%%%%%%%%%%
n=200;                                  %Number of Nodes in the field
[Area,Model]=ILEACH_setParameters(n);             %Set Parameters Sensors and Network

%%%%%%%%%%%%%%%%%%%%%%%%% configuration Sensors %%%%%%%%%%%%%%%%%%%%
createRandomSen(Model,Area);            %Create a random scenario
load Locations                          %Load sensor Location
Sensors=ILEACH_configureSensors(Model,n,X,Y);
% ploter(Sensors,Model);                  %Plot sensors
deadNum=0;          %Number of dead nodes
[deadNum,circlex,circley] =ILEACH_plotter(Sensors,Model);

%%%%%%%%%%%%%%%%%%%%%%%%%% Parameters initialization %%%%%%%%%%%%%%%%
countCHs=0;         %counter for CHs
flag_first_dead=0;  %flag_first_dead


initEnergy=0;       %Initial Energy
for i=1:n
      initEnergy=Sensors(i).E+initEnergy;
end

SRP=zeros(1,Model.rmax);    %number of sent routing packets
RRP=zeros(1,Model.rmax);    %number of receive routing packets
SDP=zeros(1,Model.rmax);    %number of sent data packets 
RDP=zeros(1,Model.rmax);    %number of receive data packets 
%total_energy_disipated=zeros(1,Model.rmax); 

Sum_DEAD=zeros(1,Model.rmax);
CLUSTERHS=zeros(1,Model.rmax);
AllSensorEnergy=zeros(1,Model.rmax);

%%%%%%%%%%%%%%%%%%%%%%%%% Start Simulation %%%%%%%%%%%%%%%%%%%%%%%%%
global srp rrp sdp rdp
srp=0;          %counter number of sent routing packets
rrp=0;          %counter number of receive routing packets
sdp=0;          %counter number of sent data packets 
rdp=0;          %counter number of receive data packets 

%Sink broadcast start message to all nodes
Sender=n+1;     %Sink
Receiver=1:n;   %All nodes
Sensors=sendReceivePackets(Sensors,Model,Sender,'Hello',Receiver);

% All sensor send location information to Sink .

🎉3 参考文献

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

🌈4 Matlab代码、文章

  • 16
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值