Giter VIP home page Giter VIP logo

5g-air-simulator's Introduction

5G-air-simulator

an open source framework to simulate the 5G air interface


Table of Contents:

  1. Getting 5G-air-simulator
  2. Compiling 5G-air-simulator
  3. Running 5G-air-simulator
  4. Use Advanced Channels
  5. How-to Debugging and Logging
  6. Additional Support

1. Getting 5G-air-simulator

5G-air-simulator is available via Git at this link. To obtain 5G-air-simulator enter into the your prefered folder and write the following syntax:

$ git clone https://github.com/telematics-lab/5G-air-simulator.git

To synchronize the project repository with the local copy, you can run the pull sub-command. The syntax is as follows:

$ git pull

2. Compiling 5G-air-simulator

First, you need to install make utility and the armadillo library. On recent Linux systems, you can run:

$  sudo apt install make libarmadillo-dev

Then you can build 5G-air-simulator with the following command:

$ cd 5G-air-simulator; make

To clear the project, you can use the following command:

$ make clean

3. Running 5G-air-simulator

Several scenarios have been developed. To run a simple simulation, you can use the following command:

$ ./5G-air-simulator Simple

For more details about the available scenarios, use

$ ./5G-air-simulator -h

4. Use Advanced Channels

In order to exploit MIMO and mMIMO capabilities of 5G-air-simulator you need to perform additional steps.

  • Download this file
  • Extract it into src/channel/propagation-model/FastFadingRealization/
  • Open the file src/load-parameters.h
  • Comment the directive #define _channel_simple_
  • Uncomment //#define _channel_simple_
  • Re-build 5G-air-simulator

5. How-to Debugging and Logging

5G-air-simulator leverages macros and environment variables to allow print debugging and logging without compiling the code each time. The code must be placed between these macros:

DEBUG_LOG_START_1(SIM_ENV_FOO_VAR)
...
//debug code
...
DEBUG_LOG_END

and each time you want to run that piece of code you just have to create the related environment variable, using the following command:

$ export SIM_ENV_FOO_VAR=1

This operation can be undone by deleting the same environment variable:

$ unset SIM_ENV_FOO_VAR

5G-air-simulator works also with multiple environment variables at the same time (up to 4). For example:

DEBUG_LOG_START_2(SIM_ENV_FOO_VAR, SIM_ENV_FOO_VAR_2)
...
//debug code
...
DEBUG_LOG_END

tells the compiler to run the code only if either SIM_ENV_FOO_VAR or SIM_ENV_FOO_VAR_2 have been defined.

Several instances are already present in the source files.

6. Additional Support

Please refer to this web page for additional support.


© 2020 - TELEMATICS LAB - Politecnico di Bari

5g-air-simulator's People

Contributors

telematics-dev avatar sergio-martiradonna avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.