💥1 概述
无线传感器网络(WSN)中传感器的传感、处理、存储和通信功能不断增强。数据采集是传感器网络的基础功能之一。但是,传统的数据采集方式存在“能量空洞”问题。为解决该问题,一些学者提出将无人机(UAV)引入到无线传感器网络中。利用无人机的移动性,降低传输能耗,使各个传感器能耗负担更加均匀。然而,基于无人机的无线传感器网络也面临着诸多挑战,研究人员对存在的问题进行了广泛和深入的探索。如何高效地采集无线传感器网络中的数据仍是待解决的问题之一。本文主要对基于无人机的无线传感器网络(UAV-WSN)的数据采集技术展开研究。研究场景主要考虑:无人机的高度、轨道固定,大量传感器节点随机分布在无人机飞行轨道周围,并通过单跳的通信方式将数据传送到无人机。
📚2 运行结果
🎉3 参考文献
[1]樊玉莹. 基于无人机的无线传感器网络高效数据采集技术研究[D].上海交通大学,2019.DOI:10.27307/d.cnki.gsjtu.2019.002757.
👨💻4 Matlab代码
主函数部分代码:
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