Skip to content

Get Started

OOCRAN Project edited this page Jul 23, 2017 · 8 revisions

Get Started

Once the library has been properly installed, move to the build/srslte/examples/ folder to run the corresponding commands from this section.

Simulated channel

Both transmission and reception can be done on a single computer acting as both the UE and the eNodeB. A random sequence of bits is sent and the symbols are saved on an intermediate text file. First, start the eNodeB transmission with:

./pdsch_enodeb -o [filename] -s [SNR (in dB)]

SNR (default = 10 dB) models the AWGN channel. Refer to usage to list the extra control parameters that can be specified (i.e. available physical resource blocks). To initiate the receiver use:

./pdsch_ue -r 1234 -i [filename]

It is important that the same filename is specified for both Tx and Rx. The UE RNTI needs to be set to 0x1234 for this example to work. The MCS can be adjusted on real-time and, if srsGUI is installed, the constellations and spectrum can be visualized.

RF channel

It is also possible to test the VBBU with an actual radio link. Two terminals, each one equipped with a USRP, are required. The one acting as the eNB will run the following command:

./pdsch_enodeb -a addr=[IP] -l [amplitude] -g [gain (in dB)] -f [frequency (in Hz)] -p [PRBs] -m [MCS]

where -a specifies the address of the selected USRP, -l and -g the signal amplitude and gain, -f the Tx frequency, -p the number of PRBs available (and, therefore, the Bw) and -m indicates the MCS index.

At the UE side run:

./pdsch_ue -a addr=[IP] -f [frequency (in Hz)] -r 1234

It is important that the same frequency is specified for both Tx and Rx. The UE RNTI needs to be set to 0x1234 for this example to work. The MCS can be adjusted on real-time and, if srsGUI is installed, the constellations and spectrum can be visualized. Use -a to target different USRPs for Tx and Rx.

InfluxDB monitoring

Start the service with the following command:

sudo service influxdb start

To change default user, password or configuration edit file in /etc/grafana/grafana.ini. Type influx to start the InfluxDB shell and execute CREATE DATABASE your_database_name. Default DB name for OOCRAN is oocran. Default port is 8086. Run pdsch_ue with the -E argument to enable real-time monitoring with the default parameters or specify any of the following options (default):

./pdsch_ue -E -B [DataBase name (oocran)] -N [NVF name (OOCRAN)] -I [IP (localhost)] -R [User (admin)] -W [Password (oocran)]

The example, as of now, writes the PDSCH BLER, the maximum number of Turbo Decode iterations and computing resources (CPU, RAM). To query the data open the InfluxDB shell (command influx) and type USE your_database_name. Query your data with SELECT * FROM metric_NVF. For example (default DB is oocran, default NVF is OOCRAN):

influx
>> USE oocran
>> SELECT * FROM BLER_OOCRAN
>> SELECT * FROM cpu_OOCRAN
...

To delete all the data from a metric use DROP SERIES metric_NVF. Use quit to exit the shell. For further details about InfluxDB and query sintaxis refer to the official documentation.

Dynamic Reconfiguration

In addition to monitoring, OOCRAN is built around the concept of being able to reconfigure parameters in real time, leveraging software-defined technology. As an example, the maximum number of iterations of the turbo decoder can be increased to improve QoS figures of merit (i.e. PDSCH BLER) or decreased to relax computing needs.

In order to do so, create a monitor.conf in the same folder than the pdsch_ue example. Write a line containing the word iterations followed by an space and a number between 1 and 10. As an example:

iterations 8

This example provides a blueprint for the design of more complex scenarios, for instance, a dynamic planning where the provider has to account for the existing users before releasing or relocating them.

Grafana data visualization

Grafana can be used to connect with the InfluxDB database and plot the data for real-time analytics. Start the service with:

sudo service grafana-server start

Navigate to localhost:3000 (default) with your browser of choice to start the GUI. Default credentials are admin as the user and admin as the password, too. You can either connect with the InfluxDB database, add a dashboard and query the data or you can import the provided Grafana template (Grafana Template - PDSCH BLER.json, located in the root folder). For the latter, edit the template if the default InfluxDB credentials were changed, and import it by clicking on the Dashboard tab and the Import button. Adjust the time range of the graph with the mouse (double click to zoom out).

It is possible to use Grafana to set up alarms so if a threshold is reached, a script is launched and a parameter is changed. As an example, if the BLER is too high to comply with LTE standards the Turbo Decoder iterations can be increased automatically.

Clone this wiki locally