|NetSim Standard||NetSim Pro|
|MATLAB Version||R2019b or above|
|MATLAB Toolbox||MATLAB, Simulink, Robotics and System Toolbox, UAV Toolbox|
|File Exchange Project of MATLAB (Only for < R2020a)||Robotics System Toolbox UAV Library|
|Visual Studio||Community Edition|
TABLE OF CONTENTS
- NetSim UAV Simulation model
- Running the NetSim scenario with UAV Based Mobility
- Code modifications
- NetSim - Simulink Interfacing
- Output/Metrics specific to this example
- Modifications done to NetSim Source codes:
- Procedure to setup MATLAB for this example
- Procedure to setup NetSim for this example
Performance analysis of UAV - Base station network communications. This involves interfacing NetSim and UAV toolbox of MATLAB
- For Each UE in NetSim, a UAV is instantiated in MATLAB as per the UE (UAV) ID.
- MATLAB calculates the flight path and passes the Mobility information to NetSim.
- In NetSim UE movement is modelled as per MATLAB UAV co-ordinates
- Pathloss calculations done in NetSim per 36.777
NetSim UAV Simulation model
UAV Takes and moves away from gNB
UAV flies in a circular pattern over the gNB
Pathloss calculations done in NetSim per 36.777 for Rural Macro
How to download this project?
Follow the instructions specified in the following link to clone/download the project folder from GitHub using Visual Studio:
Other tools such as GitHub Desktop, SVN Client, Sourcetree, Git from the command line, or any client you like to clone the Git repository.
Note: It is recommended not to download the project as an archive (compressed zip) to avoid incompatibility while importing workspaces into NetSim.
Running the NetSim scenario with UAV Based Mobility
- Before opening, make sure that you have replaced the XML file in the NetSim Installation directory mentioned above and then Open Example saved in the workspace.
- Make sure that all UAV/Drone/UE's are UAV Mobility enabled and the path to MATLAB files that you downloaded with the attachment
- Also, make sure that you provide the path using single inverted commas. ('<Matlab Files Path>')
- Run the simulation with Play and record animation in order to have both Animations simultaneously
Case 1: UAV Drone Takeoff - Application throughput variation with Drone mobility
- NetSim Plot: Application Throughput vs. Time
- MATLAB Flight Path
Case 2: UAV Drone rotation around LTE-eNB
- NetSim Plot: Application Throughput Vs. Time
- MATLAB Flight Path
Files attached and their modifications are explained below
1. LTENR_PropagationModel.c - Added LTE-UAV propagation model for Rural macro as per 3GPP 36.777 Standard
2. UAVBasedMobility.c - A new created added to the Mobility Project. The interface with MATLAB happens here to get co-ordinates from MATLAB and to pass it to NetSim
3. OpSimulink.m - To initiate simulink
NetSim - Simulink Interfacing
Upon interfacing NetSim with MATLAB the following tasks are performed during simulation start:
Output/Metrics specific to this example
Modifications done to NetSim Source codes:
Sections of source code modified
- Mobility.vcxproj - This is a Visual Studio project file used to load and manage the source codes related to the Mobility in NetSim
- init_uav(): Initializes MATLAB, Loads SIMULINK Model, starts and pauses SIMULINK simulation, and initializes the UAV devices in MATLAB to start simulation along with NetSim's simulation.
- uav_run(): Starts NetSim and MATLAB simulation simultaneously and gets the co-ordinates from MATLAB workspace for every step size set in NetSim.
- uavcorr(): Function to get co-ordinates from MATLAB.
Procedure to setup MATLAB for this example
Procedure to setup NetSim for this example