【LEACH协议】粒子群算法改进能量均衡高效WSN的LEACH协议【含Matlab源码 3262期】

💥💥💥💥💥💥💥💥💞💞💞💞💞💞💞💞💞Matlab武动乾坤博客之家💞💞💞💞💞💞💞💞💞💥💥💥💥💥💥💥💥
🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀
在这里插入图片描述
🔊博主简介:985研究生,Matlab领域科研开发者;

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

🏆代码获取方式:
CSDN Matlab武动乾坤—代码获取方式

更多Matlab信号处理仿真内容点击👇
Matlab信号处理(进阶版)

⛳️关注CSDN Matlab武动乾坤,更多资源等你来!!

⛄一、 简介

1 引言
WSN 由能感知外部环境的传感器节点以自组网的形式构成,是一种分布式无线传感器网络。随着科技的进步和现代生活的需求,由于 WSN 的远程控制、信息即时传播以及低功耗等众多优点,WSN 在军事医疗、生活娱乐和工业生产等各个社会领域发挥着越来越大的作用。但是 WSN 优点众多的同时也有其弊端。正是因为传感器节点的无线性,使能量不能源源不断地直接供给传感器节点,只能用有限的电池供应节点的全部能耗,这使能量成为 WSN 亟待解决的问题。为了解决能量均衡高效这个问题,Heinzelman 等提出了最早的分簇路由协议。此协议运用数据融合技术和能量高效利用的路由算法,是经典的分簇路由协议代表。此后,很多研究学者对此基础上进行了诸多改进,都从不同方面进行了优化。Mittal 等提出了用替补簇首( Sub-CH )代替死亡簇首的方法。Gnanambigai等介绍了LEACH的后继协议。其中,LEACH-C 协议利用每个节点发送位置信息和剩余能量生成能耗更低、性能更优越的分簇;LEACH-F使用固定的簇和循环选举出的簇首,避免了反复成
簇带来的能量消耗;MUTIHOP-LEACH 协议考虑间距因素,在簇中节点与汇聚节(sink)、簇与基站之间使用多跳方法的传输方案;LEACH-L 允许间隔基站较远的簇首使用多跳方式与基站进行通信。

2 LEACH 协议概述
2.1 LEACH 协议的简介
LEACH 协议是一种经典分簇路由协议,它的特点是低功率消耗、聚类自适应和节点平等。由于网络内各个节点被选概率一样,因此将整个网络的能量消耗均衡地分配到每个节点,从而达到网络的能量消耗负载均衡,延长网络生命时间。LEACH协议主要由T n( ) 构成。首先,每轮次每个节点都随机产生的一个数   0 1     ;然后,将  与T n( ) 进行比较,如果   T n( ) ,则此节点成为簇首;反之,则落选。在 WSN 中一次新路由的建立加上数据的传输算一轮。由T n( ) 算法可以看出,被选为簇首是由这 2 方面因素进行权衡得出的:整个网络场景中所需要的簇首节点总数和节点当选过簇首的次数。阈值T n( ) 为
在这里插入图片描述
其中, p 表示在此网络规模中需要的簇首节点比例,r 是进行的轮次,G 表示在此轮循环之前没有被选为簇首的节点。

2.2 网络模型
为了研究改进的路由算法对网络的影响,对网络模型作了如下假设。

  1. 实验区域的形状为规则图形,传感器节点在监测区域中随机不均匀分散。
  2. 所有传感器节点的能量相同、处理能力和通信能力相等,被选概率一样。
  3. 传感器节点可以知悉自身剩余能量并可以对冗余数据进行融合。
  4. 传感器节点随机被分散后不会移动,网络部署后不再进行人为干涉。
  5. 无线发射功率可以自我调控,可自主选择发射功率。

2.3 能耗模型
本文实验中,m bit 数据的传输过程与每一步的能量消耗如图 1 所示[13]。
在这里插入图片描述
当 m bit 的数据进行传输时,节点的能量消耗主要由这 2 个部分构成:发送 m bit 数据的能量耗损以及功率放大电路的能量耗损;同时,针对不同的发射距离 d,选择不同的发送功率为
在这里插入图片描述
在这里插入图片描述

⛄二、部分源代码

clc
close all
clear all

%%%%%%%%%%%%%%%%%%%% Network Establishment Parameters %%%%%%%%%%%%%%%%%%%%
%%% Area of Operation %%%
% Field Dimensions in meters %
xm=100;
ym=100;

x=0; % added for better display results of the plot
y=0; % added for better display results of the plot

% Number of Nodes in the field %
n=100;

% Number of Dead Nodes in the beggining %
dead_nodes=0;

% Coordinates of the Sink 位置 (location is predetermined in this simulation) %
sinkx=50;
sinky=50;

%%% Energy Values %%%
% Initial Energy of a Node (in Joules) %
Eo=0.5; % units in Joules

% Energy required to run circuity (both for transmitter and receiver) %
Eelec=5010^(-9); % units in Joules/bit
ETx=50
10^(-9); % units in Joules/bit
ERx=50*10^(-9); % units in Joules/bit

% Transmit Amplifier Types %
Eamp=100*10^(-12); % units in Joules/bit/m^2 (amount of energy spent by the amplifier to transmit the bits)

% Data Aggregation Energy %
EDA=5*10^(-9); % units in Joules/bit

% Size of data package %
k=4000;

% Suggested percentage of cluster head %
p=0.05; % 建议使用网络节点总数的 5%,以取得良好效果a 5 percent of the total amount of nodes used in the network is proposed to give good results
% Number of Clusters %
No=p*n;

% Round of Operation %
rnd=0;

% Current Number of operating Nodes %
operating_nodes=n;
transmissions=0;
temp_val=0;
flag1stdead=0;
totalenergy=0;
%%%%%%%%%%%%%%%%%%%%%%%%%%% End of Parameters %%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%% Creation of the Wireless Sensor Network %%%
% Plotting the WSN %
for i=1:n

SN(i).id=i;	% 节点ID
SN(i).x=rand(1,1)*xm;	% 节点X坐标
SN(i).y=rand(1,1)*ym;	% 节点Y坐标
SN(i).E=Eo;     % 节点当前能量 (初始值为Eo)
 
%?? SN(i).E=2+(5-2)*rand(); %generate random numbers between 2 and 5;
%To generate random  numbers b/w a and b r = a + (b-a)*rand();

SN(i).role=0;   % 如果节点的值为“0”,则其作为普通节点正常运行;如果被选为簇头,则其值变为“1”(最初所有节点都是普通节点)。
SN(i).cluster=0;	% the cluster which a node belongs to
SN(i).cond=1;	% 节点的当前状态:存活   1;死亡  0
SN(i).rop=0;	% 节点运行的轮数
SN(i).dtch=0;	%节点到其所属簇中簇头的距离。
SN(i).dts=0;    % 节点距sink的距离
SN(i).tel=0;	% 表示节点被选为簇头的次数。
SN(i).rn=0;     %节点被选为簇头的轮数。
SN(i).chid=0;   % 节点“i”所属簇的簇头节点ID

figure(1)
plot(x,y,xm,ym,SN(i).x, SN(i).y, 'ob', sinkx, sinky, '*r');
hold on;
title '无线传感器网络';
xlabel '(m)';
ylabel '(m)';

⛄三、运行结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]黄利晓,王晖,袁利永,曾令国.基于能量均衡高效WSN的LEACH协议改进算法[J].通信学报第38卷第Z2期

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

🍅 仿真咨询
1 各类智能优化算法改进及应用

生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化

2 机器学习和深度学习方面
卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断

3 图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知

4 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化

5 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配

6 无线传感器定位及布局方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化

7 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化

8 电力系统方面
微电网优化、无功优化、配电网重构、储能配置

9 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长

10 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值