Skip to content

GNU Radio Over the air Reconfiguration API (GROTARAPI)

mfischer edited this page Apr 13, 2011 · 6 revisions

Intro

As a part of my thesis for my B.Sc at KIT I developed this small testbed for implementing cognitive radio systems. The included reconfiguration controller provides a way to reconfigure cognitive radio terminals over the air interface by exchanging actual GNU Radio flowgraphs. To ensure secure operation the transmitted data is digitally signed using Python's GNU Privacy Guard module.

What's inside?

A Demonstrator exposing an easy to use interface via D-Bus, that at the moment allows for:

  • Running waveforms for a certain amount of time
  • Securely exchanging waveforms over the air

Requirements

  • Python 2.7
  • D-Bus
  • Python D-Bus
  • Python gnupg module
  • GNU Radio 3.4git with UHD support
  • 2 or more USRP2s (preferably WBX daughterboards)
  • VLC for running the included streaming and audio_streaming waveforms

How to run it

After checkout, you'll find a file named run_demonstrator.py in the directory.

Check the --help for more infos.

Please note that the hardcoded IPs for the waveforms are 192.168.10.2/3 for the USRPs. Change them accordingly.

Notes

This is my first project with Python, so don't expect high quality code ;-) However I'm open for feedback, so if you find some bugs or nicer ways to do stuff, keep me updated.

For license see the included COPYING.GROTARAPI file.

You can give a waveform to run and decide whether the node will be master or slave. Graphical tools such as qdbusviewer which comes with Qt may be useful for debugging.