For taking measurements and changing the behaviour of the software-radio we developed this Graphical User Interface, called Visualize. It is capable of showing the internal states of all active modules (parts of the software-radio), their signals and changing the configuration of these modules while the software-radio is running.

By looking at fig. @blow-up of GUI:User IO/Mapper/FifoCmd@, we distinguish three main-parts:

User IO

Different ways of interfacing the software-radio exist. The user can display:

There exist two ways of actively interacting with the software-radio:


When the Visualize-tool is started, it displays an overview of all active chains for the first antenna of the first radio it finds. In fig. @screenshot of visualize start-up@ you see the STFA in the middle, surrounded by a sending and a receiving chain. Each module in the chain has its name displayed, as well as up to two parameters of its internal state.


A stats can either be a single value or a block of values. Examples of single values include SNR, variance, BER or counters, while blocks of values can include channel-vectors, slots or a whole frame.


Each module has zero to many output-ports that can be displayed in a seperate window. As these signals can be of complex nature, one can chose to display only the real, only the imaginary, or the absolute part. Additionally, one can chose to display the FFT of the first $2^{\lfloor log_2 \rfloor}$ samples of the signal.


You may also be interested in a plot of one stats-variable in time or of two stats-variables one against the other. The Visualize-tool opens each new plot in a seperate window.


All plotting-windows can be exported either as postscript-file or as a Matlab-function (which are also compatible with Octave).


When asking for a re-configuration window, the Visualize-tool will update the software-radio with every new value you fill in. This is very useful for educational and debugging purposes.


This is mainly a debugging-function and allows to send a Data-msg to one of the modules, which will then process whatever is in its input.


This is an important part of the Visualize-tool, as it's not a straightforward task to identify chains and displaying them correctly.


This is the interface to the software-radio and takes care about the communication between the two. Everything is driven by the Visualize-tool, which means that the software-radio does only reply to requests from the GUI and never initiates a request by itself.

Linus Gasser 2004-04-14