Giter VIP home page Giter VIP logo

ris_simulator's Introduction

RIS SIMULTOR

1. Installation

1.1 Simulator

In order to run the simulator:

clone the simulator repo:

    git clone https://gitlab.eurecom.fr/ris-esi/ris-simulator.git

    cd ris-simultor
    # download dependencies 
    go mod tidy
    # build the binary
    go build .
    # run the test
    TO BE ADDED

1.2 Flexric

clone the flexric repo and download the dependecies it requires:

few compilation dependencies which are not mentioned in the ReadMe so execute the following:

Note: the following commands may break some other dependencies in your system, so better run this in a VM

    sudo apt -y install gcc-9 g++-9 gcc-10 g++-10
    sudo apt update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 9
    sudo apt update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 9
    sudo apt update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 10
    sudo apt update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 10
    
    # to make sure that the commands ran successfully
    sudo update-alternatives --config gcc
    sudo update-alternatives --config gcc

after that follow the build instructions in flexric repo.

2.Simulation

To run the simulation we can use the default configuration in the "init.json" or we can make our own by making changes to the file (don't forget to backup the default config)

Note: for this version of the simulator we can support up to 64 RIS elements (until we can fix the what seems to be a buffer overflow in the flexric)

{
    //The frequency in which gnb shall run
	"Frequency":28.0,
    //Indoor environment of the simulation should abid to 3gpp constraints
    //units in meters
	"Environment": 
	{
		"length":75.0,
		"width":50.0,
		"height":3.5
	},
	"Equipements": 
	{
        // gNB
		"TX": 
		{
        //Number of Antennas
		 "Elements":1 ,
		 "Coordinates": 
		 {
			"x":0.0,
			"y":25.0,
			"z":2.0
		 },
         //Either 0:linear or 1:planer
		 "Type": 0
		},
		"RX": 
		{
		 "Elements":1 ,
		 "Coordinates": 
		 {
			"x":38.0,
			"y":48.0,
			"z":1.0
		 },
		 "Type": 0
		},
		"RIS": 
		{
         // number of RIS patches of now should be under 64
		 "Elements":16 ,
		 "Coordinates": 
		 {
			"x":40.0,
			"y":50.0,
			"z":2.0
		 }
		}
	}	
}

Now that everything is set-up we can run our simulation:

    # RUN Simulator
    ./RIS_SIMULATOR

Run E2 Agent:

    /path/to/flexric/build/examples/emulator/agent/emu_agent_gnb

Run RIC:

    /path/to/flexric/build/examples/nearRT-RIC

Run Xapp:

    python3 /path/to/flexric/build/examples/xApp/python3 xapp_ris_moni.py

ris_simulator's People

Watchers

 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.