资讯详情

【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: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;                  % 邻居群头成员节点数    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私信可以交换代码问题。

如些理论引用网络文献,如有侵权联系博主删除。

标签: 无线传感器能耗

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台