🌿 往期回顾可以关注主页,点击搜索

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。

🍎 往期回顾关注个人主页:Matlab科研工作室

 👇 关注我领取海量matlab电子书和数学建模资料 

🍊个人信条:格物致知,完整Matlab代码获取及仿真咨询内容私信。

🔥 内容介绍

一、概述

本项目模拟了在墨尔本中央商务区(Melbourne CBD)中,无人机辅助的窄带物联网(NB - IoT)接入网络的下行链路覆盖性能。

模拟过程中,将搭载 NB - IoT 基站的无人机放置在伯克街(Bourke Street)和伊丽莎白街(Elizabeth Street)的交汇处附近,并评估无人机在不同高度时的覆盖情况。分析内容包括接收功率、信噪比(SNR)、误块率(BLER)以及覆盖百分比。

该项目是作为无线传感器网络和物联网课程作业的一部分开发的,并作为一个公开的技术项目文档记录在此。

二、项目目标

  1. 模拟密集城市环境中无人机辅助的 NB - IoT 覆盖:旨在通过模拟手段,呈现出在像墨尔本中央商务区这样的密集城市区域中,无人机辅助的 NB - IoT 网络的覆盖情况,为实际部署提供理论参考。

  2. 评估无人机高度对接收功率和信噪比的影响:研究无人机处于不同高度时,对接收功率和信噪比产生的作用,探索高度因素与这两个关键指标之间的关系,以便优化无人机的部署高度。

  3. 比较重复设置 NRep = 1 和 NRep = 32 时的 NB - IoT 覆盖:分析不同重复设置下网络覆盖的差异,了解重复设置这一参数如何影响 NB - IoT 的覆盖性能,为实际应用中参数的选择提供依据。

  4. 以 5% 误块率作为覆盖可靠性阈值:设定一个统一的标准来衡量覆盖的可靠性,当误块率达到 5% 时,以此来界定覆盖范围和质量,确保模拟结果具有实际参考价值。

  5. 可视化接收器网格、覆盖地图、SNR 地图和覆盖等高线:通过可视化的方式,将模拟结果以直观的图形展示出来,帮助研究人员和决策者更清晰地理解网络覆盖的空间分布和性能情况。

  6. 生成不同无人机高度的覆盖总结:对不同高度下的覆盖情况进行汇总和分析,提供简洁明了的覆盖总结,方便快速获取关键信息,为网络规划提供有力支持。

三、工具与技术

  1. MATLAB:作为主要的模拟和数据分析工具,用于搭建模拟环境、进行数据计算、处理以及结果可视化等操作。

  2. 无线传感器网络和物联网概念:为项目提供理论基础,指导模拟过程中对网络架构、设备交互等方面的设计和实现。

  3. NB - IoT / LPWAN 建模:针对 NB - IoT 和低功耗广域网(LPWAN)的特点进行建模,确保模拟能够准确反映其网络性能和覆盖特性。

  4. 无人机通信:研究无人机与地面设备之间的通信机制,包括信号传播、干扰等因素,将其融入到模拟中,以实现对无人机辅助通信场景的真实模拟。

  5. BLER 与 SNR 分析:通过对误块率和信噪比之间关系的分析,深入了解网络性能,为评估覆盖可靠性提供关键依据。

  6. 墨尔本中央商务区 OSM 建筑数据集:利用该数据集获取墨尔本中央商务区的建筑信息,如位置、高度等,使模拟环境更贴合实际地理情况,提高模拟的准确性。

  7. 覆盖映射和可视化:将模拟得到的数据转化为覆盖地图、SNR 地图等可视化图形,直观展示网络覆盖的各项指标在空间上的分布情况。

⛳️ 运行结果

📣 部分代码

%% ------------------------------------------------------------------------%  1. Folder setup% -------------------------------------------------------------------------thisFile = mfilename('fullpath');if isempty(thisFile)    % If the script is not saved yet, MATLAB cannot detect its path.    % In that case, use the current folder.    codeDir = pwd;    projectRoot = fileparts(codeDir);else    codeDir = fileparts(thisFile);    projectRoot = fileparts(codeDir);enddataDir = fullfile(projectRoot, 'data');figDir  = fullfile(projectRoot, 'figures');if ~exist(figDir, 'dir')    mkdir(figDir);end

🔗 参考文献

🍅往期回顾扫扫下方二维码

Matlab科研助手推荐搜索

程序定制完整代码论文复现

更多推荐