Experiences In The Co Design Of Software And Hardware Elements In ...
EXPERIENCES IN THE CO-DESIGN OF SOFTWARE AND HARDWARE
ELEMENTS IN A SDR PLATFORM
Magdalena Sánchez Mora (Institute of Microelectronics and Wireless Systems (IMWS),
National University of Ireland Maynooth (NUIM), Ireland; msanchez@eeng.nuim.ie);
Jörg Lotze (Centre for Telecommunications Value-Chain Research (CTVR), Trinity Col-
lege Dublin, Ireland; jlotze@tcd.ie); Gerry Corley (IMWS, NUIM, Ireland;
gcorley@eeng.nuim.ie); Ronan Farrell (IMWS, NUIM, Ireland; rfarrell@eeng.nuim.ie)
ABSTRACT
There are several frameworks available for software
defined radio and cognitive radios research. The three we
The Center for Telecommunications Value-Chain Research
examined are IRIS, GNU Radio and OSSIE. IRIS is a ma-
(CTVR) has developed an integrated software radio plat-
ture and modular software radio framework that has been
form, which consists of a RF transceiver, called the
developed over the past number of years by CTVR [1] as
Maynooth Adaptive Radio System (MARS), and a software
part of their effort in cognitive radios. IRIS allows the dy-
radio framework, called Implementing Radio in Software
namic construction of waveforms using a library of signal
(IRiS). Developing a complete SDR system involves a wide
processing components. GNU Radio is a software applica-
range of disciplines. For example, the construction of our
tion for building and deploying software defined radio sys-
integrated software radio platform requires the interaction
tems under a GNU General Public License [2], originally
between the two subsystems: MARS and IRIS, which result
developed by the Massachusetts Institute of Technology
in design challenges at hardware, firmware and software
(MIT). The GNU Radio is most commonly used with the
level. The experiences and challenges faced in achieving
USRP RF front-end [3] with a customized API, although it
this integration will be described as well as a demonstration
can be integrated with other hardware platforms. The fact
showing the working condition of the integrated software
that it is open source, easy to use and has efficiently imple-
radio platform. The demonstration consists of an image re-
mented numerous signal-processing modules has made it
ception using DQPSK modulation with IRIS and MARS at
very popular amongst the SDR research communities. The
2.41GHz. This demonstrates the capability to implement
Open Source SCA Implementation-Embedded (OSSIE) is
more complex experiments in future, such as audio or video
another open source software defined radio developed by
transmission, and cognitive radios for dynamic spectrum
Virginia Tech [4]. As with IRIS and GNU Radio, OSSIE is
access techniques. The MARS platform’s software interface
a tool for rapid development of SDR components and wave-
also opens new research opportunities for integration with
forms applications but is more complex and limited regard-
other third party software radio frameworks.
ing the amount of signal processing blocks available.
1. INTRODUCTION
TABLE I
With the proliferation of reconfigurable radio software, it
SOFTWARE RADIO PLATFORMS
has become viable to develop low cost, high performance
software defined radio (SDR) systems. The improving ma-
Strenghts
Main Goal
turity of the technology has reduced the cost and increased
the reliability of these systems, to a level where they are no
GNU Radio
Open-Source Soft-
Software Radio and
longer concept demonstrators but can be considered for
ware & Easy to use
efficient signal processing
mainstream applications. Though the technology is improv-
modules
ing, construction of a complete SDR system requires the
integration of hardware, firmware and software components
IRIS
Rapid prototyping
Cognitive Radio
capabilities
with an overarching system perspective on partitioning re-
sources and tasks within the system. The level of complex-
OSSIE
Great Flexibility &
Training & Education
ity and range of disciplines required presents severe chal-
High Complexity
lenges to most research or design teams.
Proceedings of the SDR ’08 Technical Conference and product Exposition, Copyright © 2008 SDR Forum, Inc. Al Rights Reserved
OSSIE is primarily intended for use in educational and
The following subsections describe each of these
training applications, IRIS focuses more on cognitive radio
components and the challenges encountered in the
and GNU Radio’s main goal is to provide a free and quite
integration of the two systems focusing on the software
complete signal processing package that gives researchers
a
spects.
the opportunity to explore radio systems (see Table I). A
2.1. Maynooth Adaptive Radio System (MARS)
performance evaluation of OSSIE and GNU Radio is also
presented at this conference [5]. Therefore, a wide range of
MARS was designed to be flexible, easy to use and
research possibilities arises from the integration of MARS
inexpensive. To meet these requirements it was decided to
with these three radio frameworks. Elements of the
use direct conversion receiver and transmitter architectures
reconfigurable radio platform were presented at SDR’07
as this approach allows large baseband bandwidth, avoids
Technical Conference [6][7].
the use of fixed IF filters and has a lower component count
This paper describes the experiences in achieving the
than comparable superheterodyne or low IF configurations.
integration of MARS with IRIS and shows a demonstration
Data and control communication is performed via a USB
of the two systems working together: an image file trans-
interface between the transceiver and a laptop PC.
mission using DQPSK modulation. This demonstration
A block diagram of MARS is shown in Figure 2. The
proves that the integration was successfully achieved and
transceiver connects to a PC via a USB 2.0 interface that has
allows more complex experiments to be carried out in fu-
a maximum data transfer rate of 480Mbps. In the baseband
ture, such as audio or video transmission. It also allows de-
section there are two 16 bit DAC's with a sample frequency
veloping cognitive radio systems, using a cognitive engine
of 200Msps and two 16 bit ADC's with a maximum sam-
to sense the environment, decide which waveform to use,
pling frequency of 100Msps. These provide the I and Q sig-
and reconfigure the running radio to accommodate these
nals to the RF transmitter and receiver boards. Although the
decisions. One example of such a system is the cyclosta-
ADC's and DAC's are capable of very high conversion rates,
tionary feature detector presented in [8].
currently the maximum operating speed of the system is
The structure of this paper is as follows: Section 2 in-
limited by the USB interface and the radio software running
on the PC.
cludes a detailed description of each of the components of
the integrated software radio platform, Section 3 describes
the radio configuration of the demonstrated case study, and
Section 4 shows some test results including the constellation
diagram and the recovered image. Section 5 presents the
conclusions and ends by outlining the future research lines
to be followed.
2. INTEGRATED SOFTWARE RADIO PLATFORM
Figure 1 shows the elements of the integrated software radio
platform: MARS and a standard laptop computer. In order
to enable the communication between IRIS and MARS,
several software modules were developed such as a USB
device driver, an API library, the firmware running on the
USB microcontroller and two additional IRIS DSP compo-
nents.
Figure 2. Block diagram of MARS
The RF transmitter operates between 2.1 and 2.45GHz,
with a maximum output power of 24dBm and 256 levels of
power control all under full software control. The RF
receiver operates over the same frequency range, has a noise
figure of 5dB, bandwidth of 40MHz and 48dB of gain
control. A wider frequency range is possible with
adjustment of the power amplifier matching network.
Figure 3 shows a picture of MARS, which consists of
several hardware elements including a radio transmitter, a
radio receiver and a baseband interface. Both the RF
transmitter and receiver boards plug into the baseband
Figure 1. Integrated Software Radio Platform
Proceedings of the SDR ’08 Technical Conference and product Exposition, Copyright © 2008 SDR Forum, Inc. Al Rights Reserved
boards in ´piggyback´ fashion through a series of SMB
ware at hardware space, device driver in kernel space, and
connectors, this makes for a low loss robust connection.
API library in user space.
In our design, a key criterion was to explore the concept
High-speed data transfer without data loss was achieved
of pushing the software engine as close to the antenna as
by using optimized techniques in both the USB driver and
possible, therefore the responsibility for processing the raw
the embedded code. The USB driver utilizes USB request
IQ data was deemed to be a software engine task.
blocks (URBs) [9][10] as the data structure for transmit-
ting/receiving information due to their ability to be queued.
This queue of URBs guarantees that there will be always
information waiting to be processed in the communication
channel, which causes maximum usage of bandwidth and a
continuous stream of information. The data loss problem
was solved by using bulk transfer type guaranteed delivery
of data [11]. Regarding the embedded code running on the
USB microcontroller, the General Programmable Interface
(GPIF) [12][13] was programmed directly instead of
through the 8051 CPU as this programmable state machine
provides the highest bandwidth achievable over the physical
layer. The GPIF is powerful and versatile but added great
complexity to our firmware development stage.
Regarding the hardware re-configuration capabilities,
Figure 3. MARS boars
the API library includes C functions for configuring the
sampling rate, the local oscillator frequency, the receive
2.2. Firmware, USB driver and API library
chain gain control, and other parameters. Changing any of
these parameters is as easy as calling the appropriate func-
As we are dealing with a new SDR hardware platform that
tion in software specifying the new parameter.
uses a USB microcontroller, a customized USB driver and
The API library, the USB driver and the embedded
firmware were developed. An efficient API library was also
code provide the required interface between IRIS and
implemented in order to provide an interface with third
MARS. It has been proven to work efficiently since the re-
party waveform applications. Figure 4 shows a high-level
ceived image in the QPSK experiment was perfectly recov-
vision of the interconnection between the elements of the
ered with no data loss or visible degradation. The experi-
integrated radio platform.
ment configuration and the obtained results are presented in
Sections 3 and 4.
2.3. Implementing Radio In Software (IRIS)
The software radio framework utilized in our system is the
IRIS software radio framework. IRIS has been under devel-
opment at Trinity College Dublin since 1999 [1]. It is a
Figure 4. IRIS to MARS interface
highly flexible and highly reconfigurable software radio
As can be seen in Figure 4, the main requirements in
platform for a GPP running either Windows or Linux.
terms of software are embedded code running on the USB
The IRIS architecture is illustrated in Figure 5. The
microcontroller, an optimized USB driver and an API li-
building blocks of an IRIS radio are DSP components, each
brary providing an interface with third-party waveform de-
performing a distinct task. Examples for such components
velopment tools, such as IRIS. The three modules were writ-
are modulators, framers, or filters. Each of the components
ten in the C language due to its low-level capabilities, speed
has a set of parameters and an interface to the control logic,
and portability between a wide variety of PCs and operating
which allow for re-use in different radio configurations. The
systems.
control logic is a software component designed for a spe-
The principal challenges were first to provide high-
cific radio configuration, i.e., it is aware of the full radio
speed and continuous data transfer without data loss, and
chain while the processing components are not. This control
second to enable the re-configurability of the hardware de-
logic can subscribe to events triggered by radio components,
vices. The debugging stage also required an additional effort
and change radio parameters or reconfigure the radio’s
due to the different location of the software modules: firm-
structure. A cognitive engine would therefore use this
mechanism to control the radio.
Proceedings of the SDR ’08 Technical Conference and product Exposition, Copyright © 2008 SDR Forum, Inc. Al Rights Reserved
The typical flow used to design a radio with IRIS is as
follows. The radio designer writes an eXtensible Markup
3. INITIAL CASE STUDY
Language (XML) radio configuration specifying the radio
components, their parameters and connections. Optionally
To test MARS together with IRIS we successfully transmit-
the radio designer can implement a control logic for radio
ted an image. To isolate transmitter from receiver problems
reconfiguration. On IRIS start up the XML file is parsed and
we decided to use the USRP front-end as transmitter, which
the IRIS run-time engine creates the radio by instantiating
is known to work, and focus on the receiver, which is more
and connecting the specified components. The run-time en-
challenging to implement. The high level experimental
gine then loads the control logic and attaches it to the com-
setup is depicted in Figure 6.
ponents. Finally the radio is started and blocks of data gen-
erated by the source component will be processed by each
of the components in the radio chain. The control logic can
react to events triggered by components, with anything from
diagnostic output to a full reconfiguration of the radio.
Figure 6. Experiment Setup
The transmitter radio components are depicted in
Figure 7(a). The first component in the chain is the Image
Reader, which reads a bitmap image and provides the data
to the Framer component. The simple frame structure used
for the initial case study starts with a frame check sequence,
so that receiver can synchronize with each frame, followed
by the payload length, the whitened payload and a check-
sum field. The payload is whitened with a pseudo random
sequence known at the receiver, so that the data sent over
the air appears random. This simplifies synchronization at
the receiver. The DQPSK Modulator modulates every pair
of bits to one of four phase shifts in the I-Q-space using
Figure 5. IRIS architecture
differential encoding. To limit the spectral footprint of the
In order to integrate our RF transceiver with IRIS, two
signal, it is upsampled and filtered with a root raised cosine
new IRIS DSP components needed to be developed to pro-
pulse shaper in the Upsampler and Pulse Shaper compo-
vide an interface through an optimized low-level API to
nents, respectively. This I and Q data is then transferred to
interact with MARS.
the USRP by the USRP Transmitter software component,
These new components (one for transmit operation and
upconverted, and transmitted.
one for receive operation) interact with the API library to set
up the RF transceiver hardware. During radio operation, the
IRIS components transmit or receive data to or from the
hardware.
To avoid data loss in the receiver IRIS component, it
was required to read continuously from MARS. We accom-
plished this by implementing the data fetch in a thread run-
ning independently of the DSP component. This thread con-
tinuously reads data from the hardware and inserts it into a
buffer shared with the IRIS component. When this compo-
nent is executed, it reads the data from this buffer and out-
puts it to the next component in the radio chain. Care had to
be taken to avoid performance problems due to unnecessary
movements of data in memory. No data can get lost in the
transmitter component, thus its implementation proved to be
Figure 7. IRIS transmitter and receiver chains
simpler.
The first IRIS component in the receiver chain, shown
These new components enable the transmission and
in Figure 7(b), is the MARS Receiver software component as
reception of complex waveforms utilizing other DSP com-
explained in Section 2.3. It receives I and Q data from the
ponents available in IRIS.
Proceedings of the SDR ’08 Technical Conference and product Exposition, Copyright © 2008 SDR Forum, Inc. Al Rights Reserved
Figure 8. DQPSK receiver laptop screenshot
RF hardware and makes it available to IRIS. The Matched
Filter is another root raised cosine filter matched to the one
4. RESULTS
used at the transmitter. It increases the SNR of the signal
and removes inter-symbol interference introduced by the
The image selected for the experiment is a logo montage of
pulse shaper at the transmitter. It is likely that the local os-
the different institutions supporting this research as well as
cillator of the transmitter and receiver are not coherent. The
the IRIS logo. Figure 8 shows a screenshot of the receiver
Carrier Recovery corrects the frequency and phase offsets
laptop with the recovered image on the left and a live con-
using a Costas loop [14]. After that the Clock Recovery
stellation diagram (before the demodulator) on the top. The
component interpolates the data to the optimum sampling
screenshot also shows IRIS running on a Linux terminal and
points for each symbol using a modified Mueller and Muel-
the xml file containing the receiver chain configuration (bot-
ler algorithm [15]. The DQPSK Demodulator converts these
tom right).
symbols back to bits by assessing the phase shifts between
The quality of the recovered image was consistently
samples. In the Deframer that data is correlated with the
high with no visible errors. The DQPSK constellation dia-
known frame check sequence to find the beginning of a
gram clearly shows the DQPSK symbol positions. Even
frame, the payload is extracted, converted to bytes, and de-
though there is some scattering of the symbols, it is not suf-
whitened. The Image Receiver component can then display
ficient to cause loss of data.
this information in an image.
In the experiment we used a 1Msps transfer rate, with
each symbol represented by four IQ samples. We are able to
5. CONCLUSIONS AND FUTURE WORK
increase this rate, limited by the speed achievable on the
USB 2.0 interface and the CPU performance of the laptop
Achieving a sustained high performance between these dif-
PC used. The results are presented in the following section.
ferent systems has proven to be a difficult challenge and in
this paper we have showed the key issues encountered, and
our corresponding solutions. High-speed and continuous
data transfer was accomplished by using URBs in the USB
device driver and by programming the GPIF in the USB
Proceedings of the SDR ’08 Technical Conference and product Exposition, Copyright © 2008 SDR Forum, Inc. Al Rights Reserved
microcontroller, both URBs and the GPIF provide the high-
[2] Free Software Foundation, Inc. (2008) GNU radio - the GNU
est bandwidth achievable over the USB physical layer. Data
software radio, http://www.gnu.org/software/gnuradio/
loss was avoided by using bulk transfer type in the USB
[3] Universal Software Radio Peripheral – The Foundation for
Complete Software Radio Systems, Ettus Research LLC,
driver, which guarantees data delivery, and by implementing
Mountain View, California, USA, Nov. 2006,
a multithread mechanism plus a circular buffer on IRIS.
http://www.ettus.com/downloads/usrp_v4.pdf
The integrated software radio platform described in this
[4] Open Source SCA Implementation – Embedded (OSSIE),
paper means a big step forward in our SDR research activi-
http://ossie.wireless.vt.edu
ties and opens new opportunities for integration with other
[5] A. Palomo, R. Villing, R. Farrell, “Software Defined Radio
frameworks for software defined radio such us GNU radio.
Architectures Evaluation”, SDR Technical Forum, Washing-
Also more sophisticated multimedia applications can be
ton DC, October 2008.
[6] M. Sánchez Mora, G. Baldwin, R. Farrell, “Software Engine
carried out, such as audio or video streaming, with a small
Development for SDR”, SDR Technical Forum 2007, 5-9
additional effort since high-speed data communication was
November 2007, Denver, Colorado.
achieved as shown in this paper. And lastly the cognitive
[7] G. Baldwin, L. Ruíz, R. Farrell, “Low-Cost Experimental
radio capabilities of the IRIS framework will be explored
Software Defined Radio System”, SDR Technical Forum
with MARS and compared against the USRP hardware plat-
2007, 5-9 November 2007, Denver, Colorado.
form.
[8] P.D. Sutton, K.E. Nolan, L.E. Doyle, "Cyclostationary Signa-
tures for Rendezvous in OFDM-Based Dynamic Spectrum
Further over-the-air RF performance measurements will
Access Networks", 2nd IEEE International Symposium on
be taken for a better indication of the MARS receiver qual-
New Frontiers in Dynamic Spectrum Access Networks,
ity, such as bit error rate, interference and blocking. Also the
DySPAN, vol., no., pp.220-231, 17-20 April 2007.
MARS transmitter will replace the USRP transmitter so the
[9] J. Corbet, A. Rubini, G. Kroah-Hartman, Linux Device
whole system functionality will be verified in subsequent
Drivers, Third Edition, O'Reilly, 2005.
experiments. Finally our future work includes using extend-
[10] G. Kroah-Hartman, Linux kernel in a nutshell, O'Reilly, 2006.
ing this platform to support large arrays of individually con-
[11] Compaq, Hewlett-Packard, Intel, Lucent, Microsoft, NEC and
trollable antennas and extending the frequency range and
Philips, Universal Serial Bus Specification, Revision 2.0,
capabilities to explore next generation TETRA applications
April 27, 2000.
[16].
[12] Cypress Semiconductor Corporation, EZ-USB Technical
Reference Manual, version 1.4, 2000-2006.
[13] Cypress Semiconductor Corporation, EZ-USB® FX2™ GPIF
7. ACKNOWLEDGEMENTS
Primer, 2003.
[14] M. Xiao, T. Cheng, "Improved Implementation of Costas
Research presented in this paper was funded by a Centre for
Loop for DQPSK Receivers Using FPGA", International
telecommunications
Value-Chain
Research
(SFI
Conference on Communication Technology (ICCT), vol., no.,
03/CE03/I405) by Science Foundation Ireland under the
pp.1-4, Nov. 2006.
National Development Plan. The authors gratefully ac-
[15] G.R. Danesfahani. T.G. Jeans, "Optimisation of modified
knowledge this support.
Mueller and Muller algorithm", Electronics Letters, vol.31,
no.13, pp.1032-1033, 22 Jun 1995.
8. REFERENCES
[16] L. Gao, R. Farrell, “Using SDR to embed WiMAX channels
within the TETRA framework”, SDR Technical Forum,
[1] P. MacKenzie, “Software and reconfigurability for software
Washington DC, October 2008.
radio systems”, Ph.D. dissertation, Trinity College Dublin,
Ireland, 2004.
Proceedings of the SDR ’08 Technical Conference and product Exposition, Copyright © 2008 SDR Forum, Inc. Al Rights Reserved
Document Outline
- Home
- Papers By Alpha
- Papers By Session