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