Skip to content

This project explored the use of a 2-stage Neural Network for RSRP prediction to improve Quality of Service for the existing mobile networks

License

Notifications You must be signed in to change notification settings

luke-who/Digital-Twin-VAE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Digital Twin and Variational Autoencoder Integrated Neural Network for RSRP Prediction


       Fig 1: User Equipment Distribution            Fig 2: UE with regard to BS

python pip matlab

PyTorch macOS Monterey 12.0 build running

Motivation

Design and develop a scalable and lightweight signal strength prediction model with the help of a Digital Twin (DT)(DRIVE) and VAE to improve prediction accuracy for the existing mobile networks.

Aim

This project aims to explore the use of a 2-stage Neural Network (NN) which consists of a Variational Auto-Encoder(VAE) and another NN for Reference Signal Received Power (RSRP) prediction to improve QoS (Quality of Service).

Objectives

  • Explore the use of an existing DT (self-dRiving Intelligent Vehicles (DRIVE)) and modify it to generate synthetic data which combines both real-world data and spatial data from Open Stree Map (OSM).
  • Develop a first stage model with a VAE architecture, train it with the generated synthetic data as input and make use of model optimisation techniques such as data augmentation and normalisation to improve the converge time and generalisation of the model
  • Extract the computed environmental features from the encoder part of VAE after training the VAE.
  • Integrate the extracted environmental features and real-world data into a second stage model for training.
  • Use only real-world data to train a multilayer perceptron (MLP) in parallel, with the same hidden layers as the second part of the 2-stage NN for comparison.
  • Evaluate the performance of the trained 2-stage NN against the trained MLP in terms of Mean Absolute Error (MAE) in RSRP prediction.

Getting Started


1. Installation process

Install Pytorch

  1. Install the Python development environment on your system

    pip3 install torch torchvision

The installation process for DRIVE can be found in userManualDRIVE.pdf

Install traci4matlab

See instructions here

2. Software dependencies

Add-Ons Requirements for DRIVE_Simulator

pip packages

Output a list of available conda env

conda env list

Active the conda environment

conda activate py38_torch

Alternatively install all the necessssary packages from src/requirements.txt (which is generated by pip freeze >> requirements.txt

pip install -r /src/requirements.txt

3. Debugging

Any installation debugging can be found in Debug/README.md

Running the DRIVE Simulator(Digital Twin)


runSimulator.m setup output

If the setup all goes well you should see output from Command Window,Command Prompt & figure(which contains the simulation of ambulance, passenger&pedestrian over 200 timesteps). In addition to the main output, you should also see preprocessed .mat files output in a new folder (/DRIVE_Simulator/mobilityFiles/preprocessedFiles/sumo).

Modify the DRIVE source file as required

After running the modified DRIVE source file, DRIVE generates synthetic data {numerical(real world dataset(𝑥‚𝑦)) + spacial(Open Street Map data)} as input/data for the next stage

Running the 2-stage Neural Network

Running VAE(1st stage):

Use the sythetic data from the previous step as input to train the VAE

python3 src/VAE/VAE_train.py

Then extract the environmental features 𝒵(mean(μ_e) and log variance(log(σ_e)))

python3 src/VAE/VAE_exactor.py

Running MLP(2nd stage):

Use the extracted environmental features(𝒵) along with numerical data (𝑥‚𝑦) as input to train & test a MLP for RSRP prediction. For Comparison, use only the numerical data (𝑥‚𝑦) as input to train & test MLP as baseline.

python3 src/FCN/FCN.py

Then plot the graph to see results:

python3 src/FCN/Plot_DP_results.py

Final output using Mean Average Error (MAE): 2-stage NN(VAE+MLP) vs MLP

             Fig3: MAE boxplot for the 2-stage NN and MLP comparison


LICENSE


MIT License

About

This project explored the use of a 2-stage Neural Network for RSRP prediction to improve Quality of Service for the existing mobile networks

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published