This multi-part report discusses the strengths of FPGAs and how they can be optimally used in software radio systems. Part 1 focuses on the basic elements of a software radio receiver system. It is excerpted from the: handbook of the same name.
covers available technologies.
focuses on application examples.
FPGAs are becoming an increasingly important resource for software radio systems. This series of articles introduces the basics of software radio followed by a brief review of the evolution of programmable logic technology which now offers significant advantages for implementing software radio functions. We begin our discussion with the basic elements of a software radio receiver system.
The front end usually contains an analog RF
amplifier and often an analog RF translator (Figure 1). This translates the high frequency RF signals down to a frequency that an A/D converter can handle. This is usually below 100 MHz and is often an IF output. The A/D output feeds the digital downconverter (DDC) stage, which is typically contained in a monolithic chip which forms the heart of a software radio system. Notice, that after the signal is digitized by the A/D converter, all further operations are performed by digital signal processing hardware.
1. Block diagram of a typical software radio system.
In Figure 2 we ranked some of the popular signal processing tasks associated with software-defined radio (SDR) systems on a two axis graph, with compute Processing Intensity on the vertical axis and Flexibility on the horizontal axis.
2. Software radio tasks.
What we mean by process intensity is the degree of highly-repetitive and rather primitive operations. At the upper left are dedicated functions like A/D converters and DDCs that require specialized hardware structures to complete the operations in real time. ASICs (Application Specific ICs) are usually chosen for these functions.
Flexibility pertains to the uniqueness or variability of the processing and how likely the function may have to be changed or customized for any specific application. At the lower right are tasks like analysis and decision making which are highly variable and often subjective. Programmable general purpose processors or DSPs are usually chosen for these tasks since these tasks can be easily changed by software.
Now let's temporarily step away from the software radio tasks and take a deeper look at programmable logic devices.
As true programmable gate functions became available in the 1970s, they were used extensively by hardware engineers to replace control logic, registers, gates and state machines which otherwise would have required many discrete, dedicated ICs. Often these programmable logic devices were onetime factory-programmed parts that were soldered down and never changed after the design went into production.
These programmable logic devices were mostly the domain of hardware engineers and the software tools were tailored to meet their needs. You had tools for accepting Boolean equations or even schematics to help generate the interconnect pattern for the growing number of gates.
Then, programmable logic vendors started offering predefined logic blocks for flip-flops, registers and counters, giving the engineer a leg up on popular hardware functions. Nevertheless, the hardware engineer was still intimately involved with testing and evaluating the design using the same skills he needed for testing discrete logic designs. He had to worry about propagation delays, loading, clocking and synchronizing, which were all tricky problems that usually had to be solved the hard way: with oscilloscopes or logic analyzers.
It's virtually impossible to keep up to date on FPGA technology, since new advancements are being made every day. The hottest features are processor cores inside the chip, computation clocks of up to 500 MHz, and lower core voltages to keep power and heat down.