Introduction
Performance, power consumption and cost are three critical
factors developers face when designing software defined radios (SDR)
for portable applications. In an attempt to satisfy these requirements,
SDR developers consistently struggle to choose from the array of
hardware and software products currently on the market. As a result,
they often end up with components from multiple, independent vendors
which greatly complicates waveform porting and system integration.
Using a generic development system for the design of portable radios
has some drawbacks. For instance, the processors are not tailored
for low-power consumption, the system is too cumbersome for field-testing,
etc. In an effort to deliver a development suite that is specifically
designed for portable applications, a new architecture for SDR Development
Platforms is presented. Unlike existing solutions, the platform desired
would have a small self-contained form factor with a hybrid GPP/DSP/FPGA
architecture composed of power-efficient processors, and would seamlessly
integrate development tools to RF components. This paper presents
the SDR architecture needed in order to facilitate rapid and efficient
development of radios mainly targeted to portable applications. It
describes how this kind of platform can help radio developers in
overcoming the challenges of designing low-power, small form factor
devices. It covers topics like the relevance of hybrid GPP/DSP/FPGA
processing, the need for modularity, waveform partitioning, and design
flows.
1. Need for Software Defined Radios
The Joint Tactical Radio System (JTRS) program sponsored
by the US Department of Defense to develop the next generation of
military communication devices envisions the use of Software Defined
Radio (SDR) technology with standardized hardware capable of handling
multiple protocols used by the military today. These equipments need
to support a varied range of applications like secure voice, data,
video and wideband networking waveforms (protocols). The goal is
to achieve the perfect balance of power
consumption, radio system size and overall cost while handling multi-protocol,
multi-band, multi-function communications.
Software Defined Radio is a design philosophy that has been
in existence for a long time now and is going through a re-birth
as a result of advanced semiconductor components available today
including high-performance digital signal processors and gate arrays,
wide band data converters as well as advanced radio technologies.
Designers of SDR also need development environments in order to help
them take advantage of advanced hardware components, but those environments
must also be compliant with the Software Communication Architecture
(SCA) specifications to meet the portability as well as re-use requirements
set forth in the JTRS program.
2. Combining GPP, DSP and FPGA
When selecting architectures for military SDR applications,
developers must use a combination of processing elements to achieve
a balance in cost, power, performance, flexibility and reliability.
Embedded signal processing systems generally use four types of advanced
processing devices to execute digital signal processing: application
specific integrated circuits (ASICs), field programmable gate arrays
(FPGAs), general purpose processors (GPP) and digital signal processors
(DSP).
For modem processing in SDR systems, a combination of digital
signal processing techniques and high performance logic is needed
to support the different methods of modulation, demodulation, digital
up/down conversion and error correction techniques.
The received RF data is either down converted to an intermediate
frequency band using super heterodyne or directly converted to baseband
using direct conversion radios. Converting IF to baseband in a super
heterodyne architecture with IF digitization involves a digital down
conversion process. This can be realized either in DSP with a very
low IF (generally under 1 MHz) or in dedicated ASIC in the case of
single waveform based radios for best in class cost and power consumption.
But in SDR systems supporting multiple waveforms, this requires flexible
logic and involves the use of FPGAs. The dynamic real time processing
of DSP can then take over from the FPGA in the demodulation of the
signal. The process is repeated in reverse on the transmit path.
The system of error control for data transmission in wireless
modems, called forward error correction, can be implemented either
in DSP or logic gates depending on the type of encoding/decoding
algorithms used. For example, the Reed-Solomon encoding and decoding
algorithms along with encoding for others like convolutional and
turbo codes is easy and better to implement on DSP for best cost/power
benefits. However, the more complex cycle intensive technique of
decoding of the convolutional or Turbo error correction algorithms
are best implemented using hard logic gates integrated in a processor
or with the use of an FPGA. In that sense, the FPGA plays a very
strong co-processing role in SDR systems allowing for flexibility
in the support of multiple protocols on the same radio.
The extracted data packets from the physical layer (layer
1) of the modem are passed on to the media access control layer (layer
2 or MAC) for management of the physical connection to the network
(also referred to as network processing). MAC layer processing involves
encoding and decoding of packets into bits, transmission to and from
network interface as well as flow and conflict management of data
packets within a channel. This networking processing requires the
efficiency of Real Time Operating Systems (RTOS) and involves a number
of control processing functions. The best processing elements to
implement MAC functions as well as the memory management needed in
RTOS require micro-processors or micro-controllers generally referred
to as general purpose processors (GPPs).
Thus the combination of GPP, DSP and FPGA components is
a necessity in SDR systems to implement multi-band multi-protocol
radios for the military.
3. Platforms for rapid proof-of-concept designs
There are many different SDR development environments available
today. Most of the third party SDR development environments have
a form factor, performance capability, power consumption and cost
structure that is tuned and targeted for high performance infrastructure
type of applications like multi-channel radio transceivers for aircrafts,
ships and central communication centers. The development environments
available today are generally of the PCI, VME or PMC form factors
and incorporate multiple DSPs and FPGAs on the hardware to support
multiple channels of processing. This has a direct impact on power
consumption. In addition, very few if any of the development hardware
incorporate RF components for rapid proof of concept development.
What is missing is a development environment that has high levels
of integration in hardware, software and tool flow to support development
of small form factor radios for handheld, Manpack, unattended and
vehicle based radios.
Given that every project has its own specificities, the
development platform should be as modular as possible. Normally,
radios are divided into three sections: processing stage, conversion
stage, RF stage. Providing a complete radio as three modular boards
allows for replacement of a module if the default setup cannot meet
certain requirements of an application. Figure 1 presents an example
of a modular platform composed of three stackable boards and one
optional expansion module.

Figure 1: Example of a modular platform.
Choice of the conversion board depends directly on the up/down
conversion topology of the RF front-end. While super heterodyne with
digitization in baseband and zero-IF require DC-coupled converters,
a radio using super heterodyne with digitization in IF or direct
digitization (RF sampling [1] ) would have better performances if
converters were AC-coupled. On the RF side, considerations are mainly
application specific, such as which frequency bands need to be covered,
and the bandwidth of the channels to be processed. In some cases,
developers might want to digitize multiple channels. Motivations
for that are numerous: digital channelization (block radio), implementation
of frequency hopping in digital domain, scan to identify used/unused
portions of the spectrum, etc. For the baseband portion, the key
aspect to be addressed is sufficient processing headroom to implement
most complex waveforms. In addition to the processing, a good amount
of I/Os should be available to the developers, such as audio input/output
interface, video or display output, buttons or keyboard interface,
switches, LEDs, and GPIO lines so as to interact directly with the
platform as a real radio. Finally, the right connectivity and interface
options (Ethernet, USB, RS-232, GPIO) should be present, such that
the baseband module can be used as the black-side radio and interface
with the red-side equipment. Figure 2 presents an example of interfaces
attached to the processing board.

Figure 2: Example of interfaces
attached to the processing board.
Because cost and power consumption are two critical factors
when designing for portable applications, developers need to have
easy access to actual power consumption and processor utilization.
While getting an averaged power measurement gives a broad idea of
the global consumption, it does not provide any information on pieces
of a waveform that are active only part of the time. For instance,
measuring a radio that runs a TDMA waveform will only provide an
averaged consumption of the transmit, receive and idle (or other)
modes. More useful to the developer is to embed power monitoring
capability separately for all processors on the development platform.
This way, it is possible to associate power measurements with specific
portions of the waveform. Processor utilization is valuable information
for developing end products. First, it provides the knowledge required
to scale down to a smaller, cheaper, less power consuming processor,
and secondly to select the minimum clock frequency needed which also
impacts power consumption. Additionally, it helps in deciding how
a waveform should be partitioned, or repartitioned amongst the processing
choices on the system.
Having a development platform with a form factor such as
compactPCI is impractical for field testing. Its size and weight
makes it cumbersome to deploy in the field. Moreover, it often requires
mains voltage and a significant source of power, as it typically
needs more than 60 Watts to operate. Therefore, for field testing,
small form factor and low power consumption are required. In addition
to these specificities, deploying a system should be possible with
minimal effort and equipment. To handle this, a bootloader automatically
executes at startup and searches the permanent memory to find a profile.
If one is found, it is loaded to the processor. Otherwise, it seeks
for a host to connect to. This functionality allows the radio to
be operational right after power-on without any further action.
4. Software tools and design flows
Recent surveys showed that the main selection criterion
of processors is not the processor itself, but the tools for developing
on them. The same should hold true for platforms. Consequently, platforms
need to come with a complete board support package, so that developers
only care about waveform development, rather than device drivers
or interconnections. This board support package commonly comes as
libraries to include in the IDE, ready to integrate with the C or
VHDL code of the waveforms.
At a higher level of abstraction, the board support package
integrates to a model-based development environment, such as Simulink
[2]. The design flow inherent to this board support package starts
with a model that can be simulated. Once the simulation results are
satisfying, the developer gradually migrates to a hardware specific
model by replacing the generic blocks in the model with target specific
blocks. Then come the platform specific blocks, interfacing with
all I/Os of the board. The development environment then generates
code from the model created and sends that code to the processors
IDE, which will compile the generated code and load the executables
to the processors.
In-between those two solutions lie multiple options that
developers can take advantage of. As a first example, part of a team
might prefer to hand-code DSP algorithms while the other part of
the team wants to take advantage of model-based design and code generation
for the FPGA. The board support package shall allow for such situations.
Model-based design shall also support IP reuse by being able to include
legacy code among the other blocks. In the Simulink environment,
this is done by using S-functions for the DSP, and Black Boxes for
the FPGA. At the opposite, a developer can integrate his model-based
algorithms to the low-level coded design of the rest of the team
with the use of Embedded Coder [3].
5. Software Communications Architecture
Next generation radio systems, in order to have portability
of code and standardization of systems across vendors and users,
will require waveform development and maintenance under the Software
Communications Architecture framework. The SCA specifications [4],
as defined by the JTRS, have been adopted as the standard for all
future communication systems of the US military. Development platforms
that would aid in the development of these next generation military
radios need to be SCA compatible and support development of waveforms
using the SCA framework and Object request broker (ORB) middleware
to allow for waveform portability and code abstraction from hardware.
The software tools to create SCA core framework components for waveforms
as well as availability of ORB middleware for each of the processing
elements in the system as part of the development platform will be
a major value adder to the developers of radios.
6. Conclusion
Portable radio
systems have specific requirements. They are designed with some or
all of the following criterias in mind: low cost, low power consumption,
and small form factor. Development of such systems should be realized
with a platform that had the same requirements, in addition to its
modularity. This paper described the architecture and the functionalities
of a development platform targeted to portable radio applications,
and how it facilitates the design process, from waveform partitioning
to real-time, over-the-air transmission. Moreover, allowing for different
design flows enables individuals of a same team to develop using
the tools they are the most productive with.
7. References
[1] Akos, D.M.,
and Tsui, J.B.Y., “Design and Implementation of a Direct Digitization
GPS Receiver Front End,” IEEE Transactions on Microwave Theory
and Techniques, 44(12), 1996, pp. 2334-2339.
[2] Belanger, L., “Prototyping
advanced 3G/4G wireless and SDR (Software Defined Radio) systems
on the DSP/FPGA SignalMaster platform using a system-level approach”,
GSPx 2003, April 2003.
[3] Erkkinen, T,
and Dillaber, E., “Legacy Code Function Integration Using Real-Time
Workshop Embedded Coder”, Matlab Digest, Nov. 2004.
[4] Joint Tactical
Radio System (JTRS), Joint Program Office, “Software Communication
Architecture (SCA) Specification”, MSRC-5000SCA V2.2, Nov. 17, 2001.