✅博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,Matlab项目合作可私信。
🍎个人主页:海神之光
🏆代码获取方式:
海神之光Matlab王者学习之路—代码获取方式
⛳️座右铭:行百里者,半于九十。
更多Matlab仿真内容点击👇
Matlab图像处理(进阶版)
路径规划(Matlab)
神经网络预测与分类(Matlab)
优化求解(Matlab)
语音处理(Matlab)
信号处理(Matlab)
车间调度(Matlab)
⛄一、 简介
1.1 什么是分簇路由算法
在无线传感器网络路由算法中,分簇路由算法具有能量消耗低、稳定性高和扩展性好等优点。分簇路由算法中分簇就是分组,即按照特定的应用要求将网络中的所有节点分成不同的小组,每个小组就是一个簇。每个簇由一个簇头和多个簇内成员节点组成。分簇路由算法的工作原理可以简单的概括为:首先簇内成员节点将监测到的数据发送到簇头,然后簇头将监测到的数据和接收到的所有数据进行数据融合后发送给下一跳节点或者基站。
1.2 分簇路由算法的优点
分簇路由算法具有以下优点:
(1)能耗低。一方面,簇头融合成员节点数据后再转发,减少了数据冗余量与传输量,相应降低了节点能耗;另一方面,簇内通信引入了休眠机制,簇内成员节点在不发送数据时可以处于休眠状态,一定程度上也降低了能耗。
(2)稳定性高。通过成簇形成的子网络比较稳定,使得网络拓扑结构的变化对网络的影响降低。
(3)扩展性好。分簇能使网络动态适应拓扑结构变化,可扩展性高,比较适合大规模网络。
2 LEACH 算法(Low Energy Adaptive Clustering Hierarchy)
LEACH算法是由MIT的Heinzekman等人提出的第一个WSN分簇路由算法,是具有代表性的分簇、数据融合的成簇路由算法,后来大多数基于分簇的路由算法都是借鉴LEACH分簇的思想发展而来。LEACH的基本思想是:通过等概率周期性的轮换选举出簇头,减少节点与基站(BS)直接通信的个数。提出了以“轮”为整个算法的工作周期,每一轮中都会选举出新的簇头,将整个网络的能量负载平均到每一个节点上,从而达到降低网络通信能耗、延长整个网络生命周期的目的。基于LEACH的无线自组网分簇网络路由协议的网络架构如图所示。
LEACH算法选举簇头的基本过程是:网络中每个节点在0到1的随机数间任意选择一个数,如果在当前轮中随机选择的这个数值小于设定的阈值T(n),则在该轮中这个节点被选举为簇头。
簇头节点选举完成后,簇头节点向全网广播自己成为簇头的消息,广播过程采用了CSMA MAC协议来避免发生冲突。网络中所有的非簇头节点根据接收到的信号强弱度来判断应该加入哪个簇并告知相关的簇头,簇的建立完成。LEACH分簇路由算法具有独特的逻辑层次结构,所以能够更好的支持数据融合、安全机制等其他WSN重要技术。
2.2 LEACH算法的缺点
LEACH算法仍存在以下缺点:簇头能耗难以均衡。在簇头选举过程中,LEACH路由算法并没有考虑到节点剩余能量,由于每个节点成为簇头的概率相同,因此会导致能量过低的节点被选举为簇头,从而加速该节点的死亡,影响整个网络性能。距离基站远的簇头能耗过大。从LEACH路由算法采用的网络能耗模型可以看出,基站与簇头之间的距离存在一个阈值,当这个距离大于阈值时,簇头发送消息的能耗将变成与这个距离的四次方成正比,导致距离基站远的簇头能量消耗过快。
⛄二、部分源代码
function y = voronoiT()
clear;%清除变量
xm=100;%设置区域为100100
ym=100;
sink.x=0.5xm;%sink(汇聚)节点坐标
sink.y=0.5ym;
n=100 %区域内的节点数目
p=0.1;% 节点成为簇头的概率
Eo=0.5;%节点初始能量
ETX=500.000000001;%发射单位报文损耗能量
ERX=500.000000001;%接收单位报文损耗能量
Efs=100.000000000001;%自由空间能量
Emp=0.00130.000000000001;%衰减空间能量
EDA=50.000000001;%多路径衰减能量
m=0.1;%成为高级节点比率
a=1;%参数
rmax=1500%最大的轮数
do=sqrt(Efs/Emp); %计算do 通信半径
figure(1);%输出图形
for i=1:1:n %i为矩阵1到n,间距为1
S(i).xd=rand(1,1)xm;%1行1列矩阵
XR(i)=S(i).xd;%随机生成的X轴
S(i).yd=rand(1,1)ym;
YR(i)=S(i).yd;%随机生成的Y轴
S(i).G=0;%
S(i).type=‘N’;%节点类型为普通
temp_rnd0=i;%随机数值
if (temp_rnd0>=mn+1) %普通节点的随机选举
S(i).E=Eo;%设置初始能量为E0
S(i).ENERGY=0;%普通节点
plot(S(i).xd,S(i).yd,‘o’);%输出节点,用o表示
hold on;
end
if (temp_rnd0<mn+1) %高级节点的随机选举
S(i).E=Eo*(1+a)%设置初始能量为Eo*(1+a)
S(i).ENERGY=1;%高级节点
plot(S(i).xd,S(i).yd,‘r:+’);%输出节点,用+表示
hold on;
end
⛄三、运行结果
⛄四、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 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合