IRIS
Short testbed description
Iris is a software radio architecture that has been developed by the CTVR , built in C++, it is used for constructing complex radio structures and highly reconfigurable radio networks. Its primary research application is to conduct a wide range of dynamic spectrum access and cognitive radio experiments. It is a GPP-based radio architecture and uses XML documents to describe the radio structure. This test bed will be highly beneficial when conducting cognitive radio experiments as it allows us to simulate a wide range of networks as well as giving us a highly flexible architecture to manipulate based on intelligent observations made about its surroundings.
Each radio is constructed from fundamental building blocks called components. Each component makes up a single process or calculation that is to be carried out by the radio. For instance, a component might perform the modulation on the signal or scale it by a certain amount. Each component supports one or more data type and passes dataset to other components along with some metadata such as a time stamp and sample rate. There is a data buffer between each component to ensure the data is safe, even if one component is processing data much faster than another
Example experiments
In this sample experiment we will run a simple radio and then adapt a component and add a controller, with a view to exploring the basic functionality of both. The steps a researcher should follow to complete the experiment are outlined below.
1. Follow the instructions outlined on the Iris wiki to run radio (https://ntrg020.cs.tcd.ie/irisv2/wiki/ExampleExperiments), OFDMFileReadWrite.XML.
2. If this radio is functioning correctly, “radio running” will appear on the command line.
3. To add a controller to the radio, we must first create an event in one of the components to which the controller can subscribe. To do this, open the shaped OFDM modulator and register an event in the constructor function.
4. Once the event is registered we must create a condition that must be satisfied for the event to be activated. To do this, open the “process” function (as this is where all the calculations are carried out) and specify a condition that activates the controller whenever, for example, 100 packets have passed through.
5. Once this has been done the controller can be made. Open the “example” controller; this gives us a template to work with.
6. Within the controller we must do two things, subscribe to the event that has been set up in the component and specify the parameter that we wish to change as well as the value we wish to change it to.
7. To change the parameter, we specify the name of the parameter as well as the component and engine that it is in. These are assigned in the “ProcessEvent” function.
8. The logic that dictates what the parameter is changed to also goes in this function.
9. Recompile all the relevant code, include the controller in the XML file and run the radio as before.
If the radio is running properly, you should see the event being triggered on the command line and the new value of the parameter in question.
Access information
Before gaining access to the Iris testbed it is essential to familiarise yourself with the Iris software. This is done through the Iris Wiki page. The Wiki gives you full instructions on how to download and install the Iris software onto your own computer as well as instructions on how to get started in using it. Use of the Wiki page requires a user account and password. These can be obtained through emailing either tallonj@tcd.ie or finnda@tcd.ie.
At this stage users will be able to performe experiments using Iris, independent of the Iris testbed, using either the simulated "channel component" or in conjunction with the USRP (1/2/N210 etc.).
Access to the Iris testbed is given out separately from access to the Wiki. This is because access to the Iris testbed is often not necessary if users have USRP hardware of their own available.
However, if remote access to the Iris testbed (after installing and trying out the Iris software) is required, details of how to obtain access to the testbed can be found here.
Demonstration
Demonstration of a dynamic spectrum access wireless backhaul system in the UHF band