ALOE OFDM Transmitter Demo

We describe in this page how to download the OFDM transmitter demo we presented at COST-Terra Summer School 2012.

Main Features:

  • Bandwidth 2-20 MHz
  • FFT size 128-2048 points
  • Turbo-encoding
  • Cyclic-Prefix
  • Run-time reconfiguration
  • E2E Latency: 4 ms (constant and non-random)
  • Distributed processing (tested with 2 processors and GigaEthernet?)
  • GUI: signal visualization, execution time monitoring, etc.

Download and install

1) Prerequisites:

  • Linux operating (tested on Ubuntu)
  • Only the 'readline' and 'termcap' libraries are required to install ALOE. Ask your OS vendor how to install these libraries.

If you want to use the USRP, make sure you have the UHD drivers is installed before installing ALOE.

2) Download the latest ALOE unstable version from

3) Untar, uncompress and cd into created directory

4) Configure, compile and install

sudo make install

5) Add the following lines to /etc/sysctl.conf file


and run

sudo sysctl -p 

6) Run the MAC-TEST to obtain your processor performance:

sudo runcf -t NOFCORES 1000000

replacing NOFCORES with the number of cores in your processor. You should see something like this:

child 2: 1344192127:118	-> 1344192127:1561	diff: 0:1443	693 MMACS
child 3: 1344192127:117	-> 1344192127:1561	diff: 0:1444	692 MMACS
child 1: 1344192127:214	-> 1344192127:1597	diff: 0:1383	723 MMACS
child 0: 1344192127:214	-> 1344192127:1597	diff: 0:1383	723 MMACS
parent: 1344192126:183204->1344192127:3329 diff: 0:820125

Now set the mops field in /usr/local/etc/platform.conf option to the MMACS obtained in the test.

Running the Demo application

1) Run core framework. Requires root privileges to set real-time scheduler

sudo runcf

2) In the command prompt, run

load ofdm128
init ofdm128
run ofdm128

to load, initialize and run the OFDM-128 application. Now you can check the waveform is running with the command

execinfo ofdm128

3) The OFDM bandwidth can be modified at run-time with:

statset ofdm128 source fftsize 256
statset ofdm128 source fftsize 512

Which set the fft size to 256 and 512 tones respectively (4 and 8 MHz bandwidth). By default, the framework will use one processor only from your computer. If you have a multi-core processor, edit the 'nof_cores' option in /usr/local/etc/platform.conf file. In our tests, the OFDM application runs perfectly in a 2.5 GHz Intel processor using one core only. The 512 mode produces frequent real-time faults (printed stdout). This mode works correctly in a dual-processor environment.


If the UHD driver is installed before running ALOE's configure script, the option dac=uhd in /usr/local/etc/platform.conf file allows ALOE to send samples to the USRP. Just edit the platform.conf file and run the OFDM-128 waveform from the ALOE command man. The device sampling frequency is automatically configured by ALOE. Since not all devices can work with the same sampling frequencies, the execution period (time-slot) can differ slightly from one set-up to another.

You may experience with different sampling frequencies and time-slots editing the file /usr/local/etc/usrp.conf. By setting different sampling frequencies

Distributed Processing

1) Download and install ALOE in two computers

2) Setup your network, making sure you have full TCP and UDP connectivity between both computers.

3) Edit file /usr/local/etc/xitf1.conf and replace by the ip address of your MASTER node.