Automating the Verification of SDR Base band
Signal Processing Algorithms Developed on
DSP/FPGA Platform
Andrew Kwan, Slim Boumaiza, Michael Smith, Fadhel Ghannouchi
Department of Electrical and Computer Engineering, Schulich School of Engineering, University of Calgary
2500 University Drive, NW, Calgary, Alberta, Canada, T2N 1N4,
akckwangucalgary.ca
platform formed by a Digital Signal Processor (DSP) and a
Field
Abstract-This paper suggests an automated validation
approach in testing advanced digital signal processing
algorithms. These algorithms, which are intended for the
implementation of the base band processor of Software defined
radios, are developed in software (Digital Signal Processors DSP)
and hardware (FPGA) environments in order to meet real-time
and offline requirements. The automation of the testing of such
algorithms
- enhances their robustness and accuracy
- reduces human-computer interaction
- decreases the latency between tests by reusing unmodified
program code.
I. INTRODUCTION
T HE rapid development of radio technology has produced
multiple communication standards, many of which are
incompatible with each other. To develop a traditional
hardware radio that can support more than one standard,
different intermediate frequency and base band hardware
components need to be integrated into a single design. A
novel approach introduces the transition from hardware radio
components to a single chip solution reconfigurable by
software programming. Software Defined Radios (SDRs)
combines support for multi-standard radio protocols into a
single wireless infrastructure design, without a major increase
in hardware components [ 1]. SDRs introduce a valuable
flexibility of the design through software reconfiguration of a
static hardware. Such reconfiguration is typically implemented
in a digital base band processor that runs advanced signal
processing algorithms. These algorithms can be separated into
two categories: algorithms that must be processed in real-time
for critical computations and algorithms that can be executed
in an offline environment. Both types of algorithms require
stringent testing to ensure accurate results in both simulation
and real environments.
One of the earlier stages in signal processing algorithm
development is simulation in a high-level language. This
simulation represents then a sort of benchmark for the
algorithm once implemented in the software/hardware
Programmable Gate Arrays (FPGA). Verifying the algorithm
is generally performed through a comparison between the
simulation results and the software/hardware implementation
ones. This approach can be subjected to unforeseen developer
errors, which can affect the quality of testing. Hence,
automated validation approach can alleviate these developer
errors, where a computer program can emulate the actions of
the developer.
This paper proposes an automated approach for testing
SDR base band algorithm running in DSP/FPGA platform.
First, the software defined radio architecture will be specified.
Then, a case study on developing base band digital
predistortion algorithm for the SDR analog front end
nonlinearity correction will be used as the basis for
verification. Algorithm verification will be modeled as a black
box environment, where inputs will be used to produce
outputs, without examining the algorithm contents. Finally,
results and benefits of automated testing will be examined.
II. SOFTWARE DEFINED RADIO ARCHITECTURE
The software defined radio does not suggest having
software as a replacement for the whole radio; in fact,
components such as antennas, frequency translators and
amplifiers still involve the use of analog signals. High-
resolution and high-speed Analog to Digital Converters
(ADCs) and Digital to Analog Converters (ADCs) are used to
allow interactivity between the analog and digital parts. Fig. 1
depicts the block diagram of a generic SDR.
There are two major preferences for base band processing
in a software defined radio implementation: Digital Signal
Processors, and Field Programmable Gate Arrays. Both are
capable for SDR design; however each have their advantages
and disadvantages. DSPs offer a more flexible platform for
development (usually a common high-level programming
language such as C++) which allow for easier implementation
of radio base band algorithms. On the other hand, a major
disadvantage of DSPs is that its instruction set based
architecture is not suitable for real time processing, which can
1-4244-0383-9/06/$20.00 ©2006 IEEE 5