RENEW Project Documentation

Version 1.0

Reconfigurable Ecosystem for Next-generation End-to-end Wireless

Python Libraries

Automatic Gain Control (AGC)

Implementation of an automatic gain control finite state machine:

Read Digital RSSI values computed by LMS7002M RF transceiver IC and compute RX power:

Read/Write Data to File

Read/write complex numpy array from/to file prefixed with name, in twos-complement binary format.

Class used to record data into HDF5 file:

Type Conversion

Convert floating point iq values to uint32 (FPGA format) and vice versa:


Library that allows users to generate random data stream of OFDM symbols, and modulate/demodulate according to a specified modulation order. Available modulation orders: [BPSK, QPSK, 16-QAM, 64-QAM]

Library for generating different training sequences. Supports the following sequences: [802.11 STS, 802.11 LTS, Zadoff-Chu (3GPP LTE), and Gold Sequence]

Find the indices of 802.11 LTS in the input signal:

Signal Analysis and Power Calculation

Library for CSI analysis:

Calculate an estimate of the power spectral density employing a Hann window and analyze bins for noise floor and peaks:

Detect peaks in data based on their amplitude and other features (original source):

Detect peaks in a vector (original source):

Compute average power in an input signal. Alternative to Matlab’s bandpower function (original source):

Plotting Tools

Plot RX waveform (output) from demo script. Can be used with other output data files as long as the data format remains the same:

Parse and verify contents of hdf5 files (e.g., from channel sounding):


Print sensor values from array of Irises (e.g., temperature sensor for Zynq SoC, RF Front-end, and LMS7):


Set of sequences primarily used for training. Available sequences: [Gold length 127, Gold length 511, Kasami length 63, and Kasami length 255]:

Last updated on 19 Mar 2019 / Published on 12 Feb 2019