Skip to content
Samuel Rey edited this page Jul 9, 2018 · 10 revisions

OMICRON-GNURadio

This repository contains the work done by the Communications and Signal Theory department (TSC) of the university King Juan Carlos (URJC), inside the project OMICRON, funded by the Spanish Ministerio de Economía y Competitividad.

General description

The aim of this work is to develop a real Wi-Fi transceiver based on Orthogonal Frequency Division Multiplexing (OFDM) which can adapt the Modulation and Coding Scheme (MCS) to the wireless channel variations, both in time and frequency domains. Therefore, an standard 802.11 transceiver has been used as basis for implementing these features.

Wireless channels typically present mobility and multipath, two characteristics which make necessary using a statistical approach for modelling them. In addition, because of these properties, wireless channels are known as doubly selective channels, presenting time and frequency selectivity. Therefore, the features implemented in this repository achieve an improvement of the spectral efficiency of the transceivers, as they are capable of recognise the variations on the channel's module and adapt the MCS to maximise the rate.

For doing so, the transceivers have been developed using the Software Defined Radio (SDR) technology, using the USRP B210 as radio interface, and GNU Radio for programming its behaviour.

Previous work

The goal of this project is to modify an 802.11 transceiver, so it is able to select the MCS according to the channel state. For this reason, the transceiver developed on gr-ieee802-11 has been used as the basis for this project. This repository offers an OFDM transceiver compatible with the 802.11 a/g/p standard, and we have modified it for making it capable of adapting the MCS to the channel module.

Installation

GNU Radio 3.7

GNU Radio is required to be able of opening the block diagrams and use the contents of this module. The required version of GNU Radio is the 3.7.10 or higher. Some components may not work correctly with previous versions. It is possible to install it from debian package, but our recommendation is to install GNU Radio from source.

Installing the repository

After cloning the repository and with GNU Radio already installed, for making the installation of this code easier we have prepared an script which automatically install the different blocks created in this repository and its dependencies. This script is located in the resources folder:

samuel@samuel-laptop:~/GNURadio/OMICRON-GNURadio/resources$ bash install_modules.sh

Manual installation and dependencies

It is also possible install the contents of each separated module manually. For this, it is necessary to already have its dependencies installed. This means that the repository gr-ieee802-11 must already be installed, which can be done by following these instructions.

The steps for manually each module are available in the wiki page of each module.

Troubleshooting: missing blocks

Depending on the GNU Radio version, it is possible that after installing one of all of the modules, some of the blocks inside the examples appear as missing, especially the WiFi PHY Hier block. In that case, first make sure that the repository gr-ieee-802.11 is correctly installed, as the code used here is based on that repository, as has already been mentioned. When this is checked, you may need to execute the wifi_phy_hier.grc block, inside the example folder of each module, with GNU Radio Companion (GRC), and then, restart GRC. After that, the block should already being installed along with the others and the examples should work fine.

Contents

gr-adaptiveOFDM

This module includes the blocks necessary for creating a Wi-Fi transceiver capable of adapt the MCS to the time variations of the channel. This is compatible with the 802.11 standard and presents a few examples, both simulated and real. More information is available here.

gr-frequencyAdaptiveOFDM

The transceiver implemented here gives one step further in adapting the MCS. The blocks created in this module are prepared for adapting the MCS used not only to the time variations of the channel, but also to its frequency variations. For doing so, the OFDM symbols are divided on 4 resource blocks (RB), so each RB is can present a modulation independent of the others. More information is available here.

Experiments

In this folder contains file for making simulations and real experiment automatically, and Python scripts for reading the files written as output of the execution and summarizing its results. It also includes some transmitter and receivers so they can be executed and compared.

Resources

In the resources folder we keep files which help with different aspects. Some examples are the installation script install_modules.sh or the definition of the 802.11 standard.