【具有路由 WSN 模拟器的随机方式移动】具有路由 WSN 模拟器的随机方式移动(Matlab代码实现)

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

经过我们的研究和实践,我们提出了一种具有路由 WSN(无线传感器网络)模拟器的随机方式移动的新方法,并进行了以下工作步骤:

首先,我们创建了一个包括中间节点、静态源节点和接收器节点的 WSN 模型。通过在中间节点上应用基本随机方式移动(RWM)算法,我们模拟了节点的移动行为。RWM 算法基于随机选择节点的目标位置,并在相应的时间间隔内将其移动到目标位置。这种随机的节点移动模拟了真实世界中节点的行为,因为无线传感器网络中的节点通常不会按照固定的轨迹移动。

接下来,我们采用了基本迪杰斯特拉(Dijkstra)路由协议来处理网络中的数据传输和路由。迪杰斯特拉算法是一种最短路径算法,用于计算任意两个节点之间的最短路径。通过在中间节点上应用迪杰斯特拉算法,我们能够确定从源节点到接收器节点的最短路径,并将数据沿着该路径进行传输。

最后,我们评估了我们提出的方法的效果和性能。我们通过比较在使用我们的方法时的数据传输延迟、能耗和网络吞吐量等指标与使用其他方法时的指标,来评估我们的方法的优劣。我们还考虑了不同节点密度下的性能变化,并分析了节点速度、通信范围和网络规模等因素对性能的影响。

通过这些工作步骤,我们能够更好地理解路由 WSN 模拟器的随机方式移动,并评估其在无线传感器网络中的应用效果和性能。我们的研究对于改进无线传感器网络的路由策略和性能优化具有重要意义,并可以为实际网络部署提供有价值的参考。

📚2 运行结果

部分代码:

%%
figure,
plot(X,Y,'o','LineWidth',1,...
                    'MarkerEdgeColor','k',...
                    'MarkerFaceColor','g',...
                    'MarkerSize',7'); 
          xlabel('X in m')
          ylabel('Y in m')                    
for i2 = 1:N 
          
          text(X(i2), Y(i2), num2str(i2),'FontSize',10); 
          hold on;
end
hold on
xlabel('x');
ylabel('y');

%% RWM model
% velocity distribution min and max (0,2)
minVel=-4;
maxVel=4;

% PauseTime (0,1)
minPause=0;
maxPause=1;

simTime=350;% Round750
Rc=150; % coverage Area



%Rc=280; %sensor field Radius
% position of  source node
tb='0x0';
t2=strsplit(tb,'x');
Xs =str2double(t2(1));
Ys =str2double(t2(2));

         hold on
         plot(Xs,Ys,'s','LineWidth',1,...
                    'MarkerEdgeColor','k',...
                    'MarkerFaceColor','r',...
                    'MarkerSize',12'); 
         xlabel('X in m')
         ylabel('Y in m')
         text(Xs, Ys, 'Source','FontSize',10); 
         hold on;                    

         
         



% position of  sink node
%t1='410x410';
t2=strsplit(t1,'x');
Xb =str2double(t2(1));
Yb =str2double(t2(2));

         hold on
         plot(Xb,Yb,'s','LineWidth',1,...
                    'MarkerEdgeColor','k',...
                    'MarkerFaceColor','y',...
                    'MarkerSize',12'); 
         xlabel('X in m')
         ylabel('Y in m')
         text(Xb, Yb, 'Base','FontSize',10); 
         hold on;                    


%%
alpha=0.01;%0.001 energy per distance% 0.001                                 %% node to CH power Ratio
beta=0.045;%0.0015                                                           %% CH to sink distance power ratio

Sector1=1;
nodes=N;% Total No. of Nodes

%% Energy 
mi1=0; mi2=25; mi3=50;
ma1=50;ma2=75; ma3=100;
Ep =4*1e3; % 4000 mW

E1=Ep.*(mi1+(ma1-mi1).*rand(1,round(nodes/3)))./100 
E2=Ep.*(mi2+(ma2-mi2).*rand(1,round(nodes/3)))./100 
E3=Ep.*(mi3+(ma3-mi3).*rand(1,nodes-2*round(nodes/3)))./100 

%%
figure,
plot(X,Y,'o','LineWidth',1,...
                    'MarkerEdgeColor','k',...
                    'MarkerFaceColor','g',...
                    'MarkerSize',7'); 
          xlabel('X in m')
          ylabel('Y in m')                    
for i2 = 1:N 
          
          text(X(i2), Y(i2), num2str(i2),'FontSize',10); 
          hold on;
end
hold on
xlabel('x');
ylabel('y');

%% RWM model
% velocity distribution min and max (0,2)
minVel=-4;
maxVel=4;

% PauseTime (0,1)
minPause=0;
maxPause=1;

simTime=350;% Round750
Rc=150; % coverage Area

%Rc=280; %sensor field Radius
% position of  source node
tb='0x0';
t2=strsplit(tb,'x');
Xs =str2double(t2(1));
Ys =str2double(t2(2));

         hold on
         plot(Xs,Ys,'s','LineWidth',1,...
                    'MarkerEdgeColor','k',...
                    'MarkerFaceColor','r',...
                    'MarkerSize',12'); 
         xlabel('X in m')
         ylabel('Y in m')
         text(Xs, Ys, 'Source','FontSize',10); 
         hold on;                    

         
         

% position of  sink node
%t1='410x410';
t2=strsplit(t1,'x');
Xb =str2double(t2(1));
Yb =str2double(t2(2));

         hold on
         plot(Xb,Yb,'s','LineWidth',1,...
                    'MarkerEdgeColor','k',...
                    'MarkerFaceColor','y',...
                    'MarkerSize',12'); 
         xlabel('X in m')
         ylabel('Y in m')
         text(Xb, Yb, 'Base','FontSize',10); 
         hold on;                    


%%
alpha=0.01;%0.001 energy per distance% 0.001                                 %% node to CH power Ratio
beta=0.045;%0.0015                                                           %% CH to sink distance power ratio

Sector1=1;
nodes=N;% Total No. of Nodes

%% Energy 
mi1=0; mi2=25; mi3=50;
ma1=50;ma2=75; ma3=100;
Ep =4*1e3; % 4000 mW

E1=Ep.*(mi1+(ma1-mi1).*rand(1,round(nodes/3)))./100 
E2=Ep.*(mi2+(ma2-mi2).*rand(1,round(nodes/3)))./100 
E3=Ep.*(mi3+(ma3-mi3).*rand(1,nodes-2*round(nodes/3)))./100 

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]林志贵,张炜,孙有为,等.带移动中继的WSN移动路由算法[J].西北大学学报:自然科学版, 2015, 45(5):6.DOI:10.16152/j.cnki.xdxbzr.2015-05-008.

[2]刘昌东.一种新的基于LEACH的WSN路由协议研究[D].哈尔滨理工大学,2015.

[3]李方宇,葛斌,张岩.基于混沌蚁群的WSN移动代理路由算法[J].阜阳师范大学学报:自然科学版, 2020, 037(002):P.95-100.

🌈4 Matlab代码实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值