Technische Universität Wien
> Zum Inhalt

SDR Interference Emulator (based on commercial Ettus/NI hardware)

The generation of broadband interference using Software Defined Radios usually takes a lot of bandwidth between the host and the SDR. Furthermore it puts a large burden on the host CPU. To mitigate these problems signal processing is pushed to the SDR itself and only decimated spectral representations of the interference signal are transmitted to the SDR.
The spectrum of the interference signal is represented using logarithmic magnitude values and either a random or a fixed phase can be selected. This enables representation of special interferers. The random phase changes with every repeat of a coefficient line while the fixed phase stays constant over all repeats. The following figure shows a interference scenario with 3 different spectral configurations repeated 3, 2 and 4 times with different phase configurations.

The X300 series of SDRs from Ettus proved very fitting for this application as is has lots of spare FPGA resources. Furthermore Ettus already provides a sophisticated framework called RFNoC for developing custom FPGA signal processing blocks which can easily be integrated into the signal processing chain. The 'Vecsrc' and 'Windowing' blocks had to be developed while the other blocks like FFT and Digital Upconversion (DUC) are already provided by Ettus.


The custom signal processing blocks were developed in a very generic style so they can easily be ported to other platforms. The software daemon providing data to the DSP chain can read CSV and binary files. Python scripts are provided to configure the internal lookup tables for magnitude and phase. A measurement of a interference scenario generated from an image can be seen in the following picture.

The same flow was also developed for the measurement of interference scenarios. So a scenario can either be generated from software or directly measured using the SDR. 

The complete project is available for public:

Please note: Although the project is fully documented, included all source files, it requires a certain level of experience with the Ettus hardware/software framework.