【WSN通信】能量均衡的无线传感器网络非均匀分簇路由协议附matlab代码
1 简介
提出了一种能量高效均衡、非均匀分簇和簇间多跳路由有机结合的无线传感器网络分布式分簇路由协议DEBUC(distributed energy-balanced unequal clustering routing protocol).该协议采用基于时间的簇头竞争算法,广播时间取决于候选簇头的剩余能量和其邻居节点的剩余能量.同时,通过控制不同位置候选簇头的竞争范围,使得距离基站较近的簇的几何尺寸较小.这样,网络中不同位置节点之间的簇内和簇间通信能耗得以互相补偿.DEBUC采用簇间多跳路由,根据节点剩余能量、簇内通信代价和簇间通信代价,每个簇头在邻居簇头集合中运用贪婪算法选择其中继节点.仿真实验结果表明,DEBUC能够有效地节约单个节点能量、均衡网络能耗、延长网络生存周期.
2 部分代码
%能量均衡的无线传感器网络非均匀分簇路由协议
close all;
clear;
clc;
% Network coverage (0,0)~(400,400)m
xm = 400;
ym = 400;
% Base station location (200,450)m
BS.x = 200;
BS.y = 450;
% Node number 1600
NodeNums = 1600;
% Initial energy 0.3J
Eo = 0.3;
% Data packet size 4000bits
packetLength = 4000;
% Data packet header 100bits
ctrPacketLength = 100;
% Energy dissipation parameter
% Eelec=50nJ/bit
% Efs=10pJ/bit/m^2,Emp=0.0013pJ/bit/m^4
% ED=5nJ/bit,dcrossover=87m
Eelec = 50*10^(-9);
Efs=10*10^(-12);
Emp=0.0013*10^(-12);
ED=5*10^(-9);
dcrossover = 87;
% 参数
T = 0.2; % 簇头比例
Rcomp = 90; % 预先定义的最大竞争半径
c = 0.5; % 0~1的常数
alpha = 0.3;
beta = 0.3;
gamma = 0.4;
delta = 0.4; % alpha+beta+gamma = 1
do = 246; % 簇头至基站距离临界值
% 节点距基站的最大和最小距离
dmax = 0;
dmin = 9999;
% 最大轮数
rmax = 10;
% 簇头选择所需时间(s)
TCH = 60;
%% 节点随机分布
figure(1);
for i = 1:NodeNums
Node(i).x = rand(1,1)*xm;
Node(i).y = rand(1,1)*ym;
Node(i).beVolunteerNode = false; % 候选簇头标志
Node(i).RE = Eo; % 节点剩余能量
Node(i).flag_final_send = false; % 最终簇头发送消息标志
Node(i).flag_final_receive = false; % 接收最终簇头的消息标志
Node(i).flag_t = false; % 等待时间的标志
Node(i).flag_send_BS = false;
Node(i).flag_send_CH = false;
Node(i).CH = 0; % 0 非簇头 -1 自己是最终簇头
Node(i).ENT = 0; % 邻居节点的平均剩余能量
Node(i).List_v_CH = zeros(1, NodeNums); % 候选簇头邻居节点信息表
Node(i).List_v_CH_num = 0; % 候选簇头邻居节点个数
Node(i).List_n_CH = zeros(1,NodeNums); % 邻居簇头信息表
Node(i).List_n_CH_num = 0; % 邻居簇头个数
Node(i).member_num = 0; % 簇头i的邻居簇头成员节点数
Node(i).link = i; % 中继节点
% 计算节点和基站的最大和最小距离
dcurrent = sqrt((Node(i).x-BS.x)^2+(Node(i).y-BS.y)^2);
if dmax < dcurrent
dmax = dcurrent;
end
if dmin > dcurrent
dmin = dcurrent;
end
hold on;
plot(Node(i).x, Node(i).y, 'o', BS.x, BS.y,'*r');
title 'Wireless Sensor Network';
xlabel 'X-coordinates';
ylabel 'Y-coordinates';
end
3 仿真结果
4 参考文献
[1]蒋畅江, 石为人, 唐贤伦,等. 能量均衡的无线传感器网络非均匀分簇路由协议[J]. 软件学报, 2012, 23(5):11.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
【WSN通信】能量均衡的无线传感器网络非均匀分簇路由协议附matlab代码相关推荐
- 无线传感器网络的时钟同步估计问题(Matlab代码实现)
- 【LSTM时序预测】基于灰狼算法优化长短时记忆网络GWO-LSTM实现风电功率预测附Matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.
- 【手写数字识别】基于Lenet网络实现手写数字识别附matlab代码
1 内容介绍 当今社会,人工智能得到快速发展,而模式识 别作为人工智能的一个重要应用领域也得到了飞 速发展,它利用计算机通过计算的方法根据样本的 特征对样本进行分类,其中的光学字符识别技术受 到广大研 ...
- 【WSN同步捕获】无线传感器网络的同步捕获和跟踪误差的MATLAB仿真
0.完整源码获得方式 方式1:微信或者QQ联系博主 方式2:订阅MATLAB/FPGA教程,免费获得教程案例以及任意2份完整源码 1.软件版本 matlab2013b 2.本算法理论知识 由于无线传感 ...
- 【WSN通信】基于最佳簇半径的无线传感器网络分簇路由算法附matlab代码
1 内容介绍 无线传感器网络(WirelessSensorNetwork,WSN)是由若干个分布在被监控范围内的传感器节点构成的网络,这些节点以随机或者确定位置分布的形式布置在被监测范围内,可以收集温 ...
- 【LEACH协议】基于matlab无线传感器网络LEACH与DEEC协议【含Matlab源码 2187期】
⛄一. 简介 1 引言 WSN 由能感知外部环境的传感器节点以自组网的形式构成,是一种分布式无线传感器网络.随着科技的进步和现代生活的需求,由于 WSN 的远程控制.信息即时传播以及低功耗等众多优点, ...
- 【优化选址】基于粒子群算法实现无线传感器网络覆盖优化附matlab代码
1 简介 无线传感器网络是将大量的传感器感知节点散布在监测区域中,通过节点之间的无线信息传输形成的自组网.由于无线传感器网络工作环境复杂,传感器节点更换电源不便,网络的覆盖控制问题成为研究核心,它决定 ...
- 【WSN】基于COMPOW协议下的网络连通率和覆盖率附matlab代码
1 简介 COMPOW (COMMON POWER)协议是一种简单的将功率控制与路由协议相结合的解决方案,其基本思想是:所有的传感器节点使用一致的发射功率,在保证网络连通的前提下将功率最小化.COMP ...
- 【WSN通信】基于注水算法实现宽带无线通信资源分配附matlab代码
1 简介 功率分配技术能有效提高认知网络传输链路的信道容量,而注水算法利用凸优化的思想能实现功率分配最优化.针对认知网络中使用注水算法分配信道功率时未考虑邻近认知信道干扰的情况,对认知网络中邻近认知信 ...
最新文章
- Asp.Net获取客户端信息-学习中
- CTFshow 命令执行 web70
- 【运营】运营高手的“葵花宝典”,你就是下一个东方不败
- 机器学习中的不平衡分类方法(part3)--不平衡分类学习策略
- 使用XStream将JSON转换为XML到Java对象
- Illegal group reference异常的分析
- java操作elasticsearch实现批量添加数据(bulk)
- 暴风影音2011 去广告补丁V1.1
- 我分析了虎嗅网5万篇文章,发现这些秘密
- 英雄对决服务器未响应,lol点开始游戏没反应怎么办 完整解决办法一览
- 共享自习室预约小程序APP系统开发设计方案
- AD15批量修改引脚名字的方法
- 用Python的Seaborn库绘制17个超好看图表
- Aspose.Words控件支持DOC,OOXML,RTF,HTML,OpenDocument,PDF,XPS,EPUB和其他格式
- NOI试题 (题目+答案)1.编程基础之输入输出
- 无线猫能做打印服务器,安装宽带给的光猫自带无线功能,是不是就可以不用另买路由器了?...
- 【CSDN博客精品文章,佟强】深刻理解Java编程的7个例子
- 梳理caffe代码layer(五)
- 数据库系统 关系模型 关系 候选键 主键 外键
- 劳务关系与劳动关系的区别