💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
摘要——近年来,无线传感器网络(WSN)在人类无法触及的环境中的应用越来越多,并得到了极大的关注和解决。为了优化网络的工作效率,已经提出了许多路由算法,主要关注能源效率、网络寿命和聚类过程。考虑到网络的同质性,我们为WSN提出了一种节能睡眠觉醒感知(EESAA)智能路由协议。在我们提出的技术中,我们评估并增强了一些问题,如网络稳定性、网络寿命和集群头选择过程。通过利用传感器节点之间的特性匹配概念,优化了能量利用率。仿真结果表明,我们提出的协议显著改善了网络参数,可作为WSN的有用方法。
在人类无法企及的环境中,无线传感器网络(WSN)的应用越来越广泛,并得到了极大的重视和解决。
为了优化无线传感器网络的工作效率,我们已经提出了许多路由算法,重点关注能源效率、网络寿命和聚类过程。在考虑到网络的同质性的基础上,我们提出了一种面向WSN的节能睡眠觉醒感知(EESAA)智能路由协议,以进一步改进网络性能。
在我们提出的技术中,我们对一些问题进行了评估和增强,包括网络稳定性、网络寿命和集群头选择过程。通过利用传感器节点之间的特征配对概念,我们优化了能量利用率,从而提高了网络的整体效能。
通过对所提出的协议进行仿真实验,我们得到了令人鼓舞的结果。这种协议显著改善了网络的各项参数,包括数据传输延迟、能量消耗和网络容量等。这证明,我们的提出的协议是一种可行且有效的路由方案,可以作为WSN中的有用方法。
未来,我们将继续对该协议进行改进和优化,并与其他研究人员进行合作,以推动无线传感器网络领域的进一步发展。我们期待这项研究能够对WSN在各种环境中的应用提供有益的参考,并为实际的网络部署提供技术支持,创造更多的机会和潜力。
📚2 运行结果
部分代码:
rmax=3000; %%%number of rounds%%%
cluster_range=20;
do=sqrt(Efs/Emp);
figure(1);
for i=1:1:n
S(i).xd=rand(1,1)*xm;
XR(i)=S(i).xd;
S(i).yd=rand(1,1)*ym;
YR(i)=S(i).yd;
S(i).G=0;
%%%S(i).E=Eo*(1+rand*a); %%% hetrogenous energy for normal nodes with different staritng nodes %%%%
S(i).E=Eo %%% for homogenous energy distribution %%%
%%%initially there are no cluster heads only nodes%%%
S(i).type='N'; %%% defines type of node %%%%
S(i).neighbour_flag=0;
S(i).checked=0;
S(i).id=i;
S(i).CH_FLAG=1;
% plot(S(i).xd,S(i).yd,'o','LineWidth',2, 'MarkerEdgeColor','b','MarkerFaceColor',[1 0.4 .3],'MarkerSize',10)
% grid on;
% hold on;
end
S(n+1).xd=sink.x; %%% BTS x coordinate%%%
S(n+1).yd=sink.y; %%% BTS y cooordinate%%%
% plot(S(n+1).xd,S(n+1).yd,'h','LineWidth',2, 'MarkerEdgeColor','b','MarkerFaceColor','g','MarkerSize',12)
countCHs=0;
cluster=1;
flag_first_dead=0;
flag_teenth_dead=0;
flag_all_dead=0;
dead=0;
first_dead=0;
teenth_dead=0;
all_dead=0;
allive=n;
%%%counter for bit transmitted to Bases Station and to
%%%Cluster Heads %%%
packets_TO_BS=0;
packets_TO_CH=0;
temp_neighbour_distance=0;
x=1;
y=1;
figure(1);
%%% FORMATION OF PAIRS AMOUNG NODES %%%
for i=1:1:n
neig_distance=Inf;
if(S(i).E>0 && S(i).neighbour_flag==0)
ID=0;
for h=1:1:n
if(S(h).E>0 && S(h).neighbour_flag==0)
if(h~=i)
temp_neighbour_distance= sqrt( (S(i).xd-(S(h).xd) )^2 + (S(i).yd-(S(h).yd) )^2 );
if(temp_neighbour_distance<=range)
if(temp_neighbour_distance<neig_distance)
neig_distance=temp_neighbour_distance;
ID=h;
end
end
end
end
end
if (ID>0)
S(i).neighbour=ID;
S(i).mode='A';
S(i).neighbour_flag=1;
S(ID).neighbour_flag=1;
S(ID).neighbour=i;
S(ID).mode='S';
P.pair(x)=ID;
P.axis(x)=S(i).xd;
x=x+1;
% hold on;
rmax=3000; %%%number of rounds%%%
cluster_range=20;
do=sqrt(Efs/Emp);
figure(1);
for i=1:1:n
S(i).xd=rand(1,1)*xm;
XR(i)=S(i).xd;
S(i).yd=rand(1,1)*ym;
YR(i)=S(i).yd;
S(i).G=0;
%%%S(i).E=Eo*(1+rand*a); %%% hetrogenous energy for normal nodes with different staritng nodes %%%%
S(i).E=Eo %%% for homogenous energy distribution %%%
%%%initially there are no cluster heads only nodes%%%
S(i).type='N'; %%% defines type of node %%%%
S(i).neighbour_flag=0;
S(i).checked=0;
S(i).id=i;
S(i).CH_FLAG=1;
% plot(S(i).xd,S(i).yd,'o','LineWidth',2, 'MarkerEdgeColor','b','MarkerFaceColor',[1 0.4 .3],'MarkerSize',10)
% grid on;
% hold on;
end
S(n+1).xd=sink.x; %%% BTS x coordinate%%%
S(n+1).yd=sink.y; %%% BTS y cooordinate%%%
% plot(S(n+1).xd,S(n+1).yd,'h','LineWidth',2, 'MarkerEdgeColor','b','MarkerFaceColor','g','MarkerSize',12)
countCHs=0;
cluster=1;
flag_first_dead=0;
flag_teenth_dead=0;
flag_all_dead=0;
dead=0;
first_dead=0;
teenth_dead=0;
all_dead=0;
allive=n;
%%%counter for bit transmitted to Bases Station and to
%%%Cluster Heads %%%
packets_TO_BS=0;
packets_TO_CH=0;
temp_neighbour_distance=0;
x=1;
y=1;
figure(1);
%%% FORMATION OF PAIRS AMOUNG NODES %%%
for i=1:1:n
neig_distance=Inf;
if(S(i).E>0 && S(i).neighbour_flag==0)
ID=0;
for h=1:1:n
if(S(h).E>0 && S(h).neighbour_flag==0)
if(h~=i)
temp_neighbour_distance= sqrt( (S(i).xd-(S(h).xd) )^2 + (S(i).yd-(S(h).yd) )^2 );
if(temp_neighbour_distance<=range)
if(temp_neighbour_distance<neig_distance)
neig_distance=temp_neighbour_distance;
ID=h;
end
end
end
end
end
if (ID>0)
S(i).neighbour=ID;
S(i).mode='A';
S(i).neighbour_flag=1;
S(ID).neighbour_flag=1;
S(ID).neighbour=i;
S(ID).mode='S';
P.pair(x)=ID;
P.axis(x)=S(i).xd;
x=x+1;
% hold on;
🎉3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。
[1]鲁道刚.面向节能WSN的分簇路由与自适应MAC算法研究[D].西南科技大学,2019.
[2]汪振飞,孙博.睡眠调度MAC协议在WSN中的应用[J].数字化用户, 2014, 000(006):1-1.DOI:10.3969/j.issn.1009-0843.2014.06.001.
[2]童国顺.基于sink的WSN节能路由技术研究[D].广西大学,2016.