失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 【WSN通信】能量均衡的无线传感器网络非均匀分簇路由协议附matlab代码

【WSN通信】能量均衡的无线传感器网络非均匀分簇路由协议附matlab代码

时间:2021-02-22 16:41:41

相关推荐

【WSN通信】能量均衡的无线传感器网络非均匀分簇路由协议附matlab代码

1 简介

提出了一种能量高效均衡、非均匀分簇和簇间多跳路由有机结合的无线传感器网络分布式分簇路由协议DEBUC(distributed energy-balanced unequal clustering routing protocol).该协议采用基于时间的簇头竞争算法,广播时间取决于候选簇头的剩余能量和其邻居节点的剩余能量.同时,通过控制不同位置候选簇头的竞争范围,使得距离基站较近的簇的几何尺寸较小.这样,网络中不同位置节点之间的簇内和簇间通信能耗得以互相补偿.DEBUC采用簇间多跳路由,根据节点剩余能量、簇内通信代价和簇间通信代价,每个簇头在邻居簇头集合中运用贪婪算法选择其中继节点.仿真实验结果表明,DEBUC能够有效地节约单个节点能量、均衡网络能耗、延长网络生存周期.

2 部分代码

%能量均衡的无线传感器网络非均匀分簇路由协议close all;clear;clc;% Network coverage (0,0)~(400,400)mxm = 400;ym = 400;% Base station location (200,450)mBS.x = 200;BS.y = 450;% Node number 1600NodeNums = 1600;% Initial energy 0.3JEo = 0.3;% Data packet size 4000bitspacketLength = 4000;% Data packet header 100bitsctrPacketLength = 100;% Energy dissipation parameter% Eelec=50nJ/bit% Efs=10pJ/bit/m^2,Emp=0.0013pJ/bit/m^4% ED=5nJ/bit,dcrossover=87mEelec = 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 = 1do = 246; % 簇头至基站距离临界值% 节点距基站的最大和最小距离dmax = 0;dmin = 9999;% 最大轮数rmax = 10;% 簇头选择所需时间(s)TCH = 60;%% 节点随机分布figure(1);for i = 1:NodeNumsNode(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 < dcurrentdmax = dcurrent;endif dmin > dcurrentdmin = dcurrent;endhold 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]. 软件学报, , 23(5):11.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

如果觉得《【WSN通信】能量均衡的无线传感器网络非均匀分簇路由协议附matlab代码》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。