无人机无线传感器网络中的节能数据采集(Matlab代码实现)

简介: 无人机无线传感器网络中的节能数据采集(Matlab代码实现)

💥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


相关文章
|
6天前
|
机器学习/深度学习 自然语言处理 数据可视化
数据代码分享|PYTHON用NLP自然语言处理LSTM神经网络TWITTER推特灾难文本数据、词云可视化
数据代码分享|PYTHON用NLP自然语言处理LSTM神经网络TWITTER推特灾难文本数据、词云可视化
21 1
|
3天前
|
机器学习/深度学习 算法 计算机视觉
m基于Yolov2深度学习网络的智能零售柜商品识别系统matlab仿真,带GUI界面
MATLAB 2022a中展示了YOLOv2目标检测算法的仿真结果,包括多张检测图像。YOLOv2是实时检测算法,由卷积层和全连接层构成,输出张量包含边界框坐标和类别概率。损失函数由三部分组成。程序使用75%的数据进行训练,剩余25%作为测试集。通过ResNet-50预训练模型构建YOLOv2网络,并用SGDM优化器进行训练。训练完成后,保存模型为`model.mat`。
15 2
|
4天前
|
数据可视化 算法 数据挖掘
R语言SIR模型网络结构扩散过程模拟SIR模型(Susceptible Infected Recovered )代码实例
R语言SIR模型网络结构扩散过程模拟SIR模型(Susceptible Infected Recovered )代码实例
12 0
|
4天前
|
机器学习/深度学习 算法 数据可视化
MATLAB基于深度学习U-net神经网络模型的能谱CT的基物质分解技术研究
MATLAB基于深度学习U-net神经网络模型的能谱CT的基物质分解技术研究
10 0
|
6天前
|
机器学习/深度学习 PyTorch TensorFlow
TensorFlow、Keras 和 Python 构建神经网络分析鸢尾花iris数据集|代码数据分享
TensorFlow、Keras 和 Python 构建神经网络分析鸢尾花iris数据集|代码数据分享
17 0
|
6天前
|
传感器 存储 监控
编写Arduino代码:构建物联网设备,实现上网行为管理软件对网络的实时监控
使用Arduino和ESP8266/ESP32等Wi-Fi模块,结合传感器监控网络活动,本文展示了如何编写代码实现实时监控并自动将数据提交至网站。示例代码展示如何连接Wi-Fi并检测网络状态,当连接成功时,通过HTTP POST请求将“Network activity detected.”发送到服务器。通过调整POST请求的目标URL和数据,可将监控数据上传至所需网站进行处理和存储。
31 0
|
7天前
|
机器学习/深度学习 算法 计算机视觉
m基于Yolov2深度学习网络的人体喝水行为视频检测系统matlab仿真,带GUI界面
MATLAB 2022a中使用YOLOv2算法对avi视频进行人体喝水行为检测,结果显示成功检测到目标。该算法基于全卷积网络,通过特征提取、锚框和损失函数优化实现。程序首先打乱并分割数据集,利用预训练的ResNet-50和YOLOv2网络结构进行训练,最后保存模型。
18 5
|
5天前
|
网络协议 算法 Linux
【Linux】深入探索:Linux网络调试、追踪与优化
【Linux】深入探索:Linux网络调试、追踪与优化
|
1天前
|
Ubuntu 网络协议 Linux
|
2天前
|
JSON 网络协议 Linux
Linux ip命令:网络的瑞士军刀
【4月更文挑战第25天】
8 1