基于LEACH和HEED的WSN路由协议研究与改进(Matlab代码实现)

简介: 基于LEACH和HEED的WSN路由协议研究与改进(Matlab代码实现)

💥1 概述

无线传感器网络(Wireless Sensor Networks,WSN)作为一种新兴的信息获取技术,被誉为21世纪将影响世界的十大技术之首,以其广泛的应用,受到人们的重视。无线传感器网络通过撒播具有无线通信能力的传感器节点在监测区域,来感知、收集、处理监测区域的物理信息,并把信息反馈给控制台。由于低功耗、低成本、分布式和自组织的特点,无线传感器网络被广泛的应用于在军事、航空、防爆、救灾、环境、医疗、保健、家居、工业、商业等领域。在无线传感器网络的应用中,成千上万的传感器节点被散布在人迹罕至的监测区域,传感器节点通常是通过电池来进行供电的,传感器节点部署完成后很难进行电池的更换,一旦节点能量耗尽,将会失去作用,过多的节点失效会导致网络瘫痪,因此节点能量显得弥足珍贵。所以,研究高效、节能,能延长网络生命周期的网络协议非常重要。


📚2 运行结果

 

🎉3 参考文献

[1]杨梦宁,杨丹,黄超.无线传感器网络中改进的HEED分簇算法[J].重庆大学学报,2012,35(08):101-106.

👨‍💻4 Matlab代码

主函数部分代码:

% Clean memory and command window
clear,clc,close all
%% Parameters
N = 100;             % Number of nodes
W = 200;             % length of the network
L = 200;             % width of the network
Ei = 2;              % Initial energy of each node (joules)
CHpl = 3000;         % Packet size for cluster head per round (bits)
p = 5/100;           % desired percentage of cluster heads
R = 50;              % Range for cluster
pMin = 10^-4;        % Lowest possible CH_prop
num_rounds = 2000;   % Max Number of simulated rounds
NonCHpl = 200;       % Packet size for normal node per round (bits)
Tsetup = 4;          % average Time in seconds taken in setup phase
Tss = 10;            % average Time in seconds taken in steady state phase
Etrans = 1.0000e-05; % Energy for transmitting one bit 
Erec = 1.0000e-05;   % Energy for receiving one bit 
Eagg = 1.0000e-07;   % Data aggregation energy
Efs = 0.3400e-9;     % Energy of free space model amplifier
% Position of sink
SX = W/2; SY = L/2;
%% First Leach algorithm %%%%%%%%%%%%%%%%%%%%%%%%%%
% 1st row: states of being a CH, 1:never been CH, 0:has been CH 
% 2nd: x-position, 3rd: y-position
net = [ones(1,N);rand([1,N])*W;rand([1,N])*L];
% Preallocation for energy calculations
E = Ei*ones(1,N);          % Energy left in each node
EH = zeros(1,num_rounds); 
% Preallocation for dead nodes calculations
Ecrit = 0;                 % Critical energy left in node to call it alive
Ncrit = fix((95/100)*N);   % Critical number for dead nodes to stop simulation
Dead = false(1,N);         % Status of all nodes 0:Alive 1:Dead
DeadH = zeros(1,num_rounds);
% Preallocation for Bits sent calculations
BitsH = zeros(1,num_rounds);
figure('Position',[34 30 792 613]);
% Simulating for each round
for r=1:num_rounds % iterating on each round
    %%%% Choosing Clusters heads %%%%
    [net(1,:),CH] = Leach_algo(net(1,:),Dead,p,r);
    tmp = find(CH);
    for i=1:N
        if isempty(net(2,CH))
        else
            [~,aa]=min(sqrt((net(2,CH) - net(2,i)).^2 + (net(3,CH) - net(3,i)).^2));
            net(1,i) = tmp(aa);
        end
    end
相关文章
|
6月前
|
缓存 算法 物联网
基于AODV和leach协议的自组网络平台matlab仿真,对比吞吐量,负荷,丢包率,剩余节点个数,节点消耗能量
本系统基于MATLAB 2017b,对AODV与LEACH自组网进行了升级仿真,新增运动节点路由测试,修正丢包率统计。AODV是一种按需路由协议,结合DSDV和DSR,支持动态路由。程序包含参数设置、消息收发等功能模块,通过GUI界面配置节点数量、仿真时间和路由协议等参数,并计算网络性能指标。 该代码实现了节点能量管理、簇头选举、路由发现等功能,并统计了网络性能指标。
227 73
|
7月前
|
算法
基于多路径路由的全局感知网络流量分配优化算法matlab仿真
本文提出一种全局感知网络流量分配优化算法,针对现代网络中多路径路由的需求,旨在均衡分配流量、减轻拥塞并提升吞吐量。算法基于网络模型G(N, M),包含N节点与M连接,并考虑K种不同优先级的流量。通过迭代调整每种流量在各路径上的分配比例,依据带宽利用率um=Σ(xm,k * dk) / cm来优化网络性能,确保高优先级流量的有效传输同时最大化利用网络资源。算法设定收敛条件以避免陷入局部最优解。
|
7月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
297 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
7月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
157 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
7月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
174 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
机器学习/深度学习 传感器 算法
【WSN】基于蚁群算法的WSN路由协议(最短路径)消耗节点能量研究(Matlab代码实现)
【WSN】基于蚁群算法的WSN路由协议(最短路径)消耗节点能量研究(Matlab代码实现)
|
传感器 机器学习/深度学习 算法
【WSN】基于蝴蝶优化算法的WSN安全分簇路由设计附matlab代码
【WSN】基于蝴蝶优化算法的WSN安全分簇路由设计附matlab代码
|
传感器 机器学习/深度学习 监控
【WSN】基于WSN下的多目标跟踪定位附matlab代码
【WSN】基于WSN下的多目标跟踪定位附matlab代码
【WSN】基于WSN下的多目标跟踪定位附matlab代码
|
传感器 机器学习/深度学习 算法
【WSN布局】基于粒子群算法优化无线传感器网络 WSN 节点的位置附matlab代码
【WSN布局】基于粒子群算法优化无线传感器网络 WSN 节点的位置附matlab代码
|
传感器 机器学习/深度学习 算法
【WSN覆盖优化】基于灰狼优化算法实现不同角度无无线传感器网络覆盖优化附matlab代码
【WSN覆盖优化】基于灰狼优化算法实现不同角度无无线传感器网络覆盖优化附matlab代码