无人机优化无线传感器网络matlab代码

1 简介

In wireless sensor networks (WSNs), utilizing the unmanned aerial vehicle (UAV) as a mobile data collector for the ground sensor nodes (SNs) is an energy-efficient technique to prolong the network lifetime. Specifically, since the UAV can sequentially move close to each of the SNs when collecting data from them and thus reduce the link distance for saving the SNs transmission energy. In this letter, considering a general fadingchannel model for the SN-UAV links, we jointly optimize the SNs’ wake-up schedule and UAV’s trajectory to minimize the maximum energy consumption of all SNs, while ensuring that the required amount of data is collected reliably from each SN. We formulate our design as a mixed-integer non-convex optimization problem. By applying the successive convex optimization technique, an efficient iterative algorithm is proposed to find a sub-optimal solution. Numerical results show that the proposed scheme achieves significant network energy saving as compared to benchmark schemes.

2 部分代码

%Energy-Efficient Data Collection in UAV Enabled Wireless Sensor Network Cheng Zhan , Member, IEEE, Yong Zeng , Member, IEEE, and Rui Zhang , Fellow, IEEE
% Jongseok Lee, kwangwoon university, seoul, korea.
% figure1.(a) and (b)

clear all
close all

addpath('./src')
global u q0 qF

istrain = 0

if istrain == 1
   %% Optimization
   Q = {};
   X = {};
   Theta = {};
   Lo = {};

   for T = [40 50 100]

       disp(['T =' num2str(T) ', start'])

      [q, x, th, lo]= solveP1('T', T,'Sk',10*(10^6),'epsilon',10^-2); 

       disp(['T =' num2str(T) ', end'])

       Q = cat(1, Q, {q});
       X = cat(1, X, {x});
       Theta = cat(1,Theta,{th});
       Lo = cat(1,Lo, {lo});
   end
else
   load('./data/Fig1.mat')
   parameter_setting('Sk',10*(10^6),'epsilon',10^-2);
end
%% figure 1.(a)
figure(11)
hold on    
plot(Q{1}(1,:),Q{1}(2,:), '--b',Q{2}(1,:),Q{2}(2,:), '-.r',Q{3}(1,:),Q{3}(2,:), '-k'); 
scatter(u(1,:),u(2,:), 'xk');
legend('T=40s','T=50s','T=100s');
axis([ -800 800 -800 800])
grid on
title('Fig. 1.(a), UAV trajectory')
xlabel('x') 
ylabel('y')
text(q0(1),q0(2),'\leftarrow Initial point');
text(qF(1)-300,qF(2),'Final point \rightarrow');
for k = 1: 4
   text(u(1,k),u(2,k),['u_{', num2str(k), '}']);
end
drawnow    
%% figure 1.(b)
figure(13)
Xr = X{2};
t = zeros(4,1);
for k = 1: 4
   t(k) = graythresh(Xr(:,k));
end
   t = min(t) * 1.2;
   Xr(Xr >= t) = 1;
   Xr(Xr <   t) = 0;
plot([0:99]*50/99, Xr(:,1),  '-r',[0:99]*50/99, Xr(:,2),  '--b', [0:99]*50/99, Xr(:,3), ':k',[0:99]*50/99, Xr(:,4),  '-.m');
legend('SN u_{1}','SN u_{2}','SN u_{3}','SN u_{4}','Location','north','NumColumns',4);
axis([ 0 50 0 1.25])
title('Fig.1(b), Wake-up schedule (T=50s)');
yticks([0 1])
yticklabels({'Sleep','Wake-up'})
drawnow

%% save datas
mkdir ./data
save('./data/Fig1.mat', 'X','Q','Theta');

3 仿真结果

4 参考文献

[1] Zhan, C. ,  Y. Zeng , and  R. Zhang . "Energy-Efficient Data Collection in UAV Enabled Wireless Sensor Network." IEEE Wireless Communication Letters PP.99(2017):1-1.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Matlab科研辅导帮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值