Tools4SDR   A new version of the website is under development, powered by MediaWiki! You can already use it here.
 
 
 
 

Valid HTML 4.01 Transitional

GNU Radio

1. GNU Radio

1.1. Generalities

GNU Radio is free software that simulates receiver and transmitter chains. It is just sofware and no hardware is provided with it.

These transmitter and receiver chains are described as a blocks scheme, where each block is defined by its entries and its outputs. It can be seen as a black box.

GNU Radio has been designed to be used on a PC running Linux, but it is possible to use it with Windows (with Cygwin and/or minGW). The installation is very easy with Linux and a little bit harder with Windows. You can find a tutorial about the installation of GNU Radio with cygwin on this website and support may be found on the GNU Radio mailing list.

1.2. Compatible hardware

GNU Radio is a software to simulates transmitter and receiver chains. You can nevertheless use some radio peripherals to process real signals with your chains. The following hardware are compatible with GNU Radio:

2. Assembling boxes

2.1. Generalities

The first functionality of the GNU Radio software is to attach these blocks together. It can either be done by programming it in Python. Several examples are therefore provided in the GNU radio packages. It can also be done thanks to the software GNU Radio Companion.

Some of the provided blocks are to control some hardware. For example the Ettus USRP board. A block USRP is then simply added at the beginning (if used as a receiver) or the end of the transmission scheme (if used as a transmitter). The USRP control functions have been implemented in this software making the USRP a good choice of hardware support for the GNU Radio software. It is nevertheless possible to add soft in GNU Radio to support other hardware solution.

2.2. Example

Consider for example the following GNU Radio chain:

example of GNU Radio chain

It is composed of 5 blocks:
  • The first block generates the signal. It can either by a signal simulated by software or recorded (in real time) by the USRP
  • The second block regulates the data flow. In particular, it avoids that the script freezes.
  • The frequency analyzer is an output. It simply computes the FFT of the signal in entry.
  • The real part computes the real part of its incoming signal for plotting
  • The scope is an output that represents the time variation of the signal in entry.
The following result can be observed:

example of what is observed with the above GNU Radio chain

The observed signal is an OFDM signal simulated by a GNU Radio block that have been added with the following procedure:

3. Designing boxes

GNU Radio also provide the possibility to design our own boxes and then to include them into your transceiving scheme. For example, if you don't have an USRP, you can design a box that simulates an OFDM signal to pre-test your chain before testing it with real signals.

Support about this task can be found :
  • On the official GNU Radio website.
  • On the website of the JNL Research Group : part 1 and part 2.

4. External links

About | Contact | Site map | Support