Software-defined radio: Simply a better way to do radio
What is in this article?
The theoretical basis for SDR is digital-communication theory, and most of the concepts implemented in software-defined radios were developed and refined prior to 1991. One of the most recent advancements is the turbo code, an advanced forward-error correction code invented in France in 1993. Some other codes, such as low-density parity check (LDPC) codes, were invented in the 1950s but were not realizable until the advent of modern high-speed processors. Orthogonal frequency division multiplexing (OFDM) and multiple-in, multiple-out (MIMO) antenna systems also are recent technology advancements used in Wi-Fi and LTE.
The software-defined receiver designer has a full plate. A partial list of software subroutines includes MIMO processing, synchronization, QAM demodulation, digital filtering, digital down-conversion, and Viterbi decoding. There are many innovations to be found in the efficient software implementation of these concepts.
Perhaps the two most important SDR-enabling hardware technologies are the A/D converter and the FPGA.
The A/D converter is the transition between the analog radio signal at the intermediate frequency (IF) and a digital computer (FPGA, microprocessor or DSP). Dynamic range is an important specification for A/D converters and, at a basic level, the dynamic range is determined by the number of bits in the converter. The dynamic range is defined by the expression D = 20log10(2n), where n is the number of bits in the converter. For example, a 16-bit converter has 65,536 discrete levels and a maximum dynamic range of 96.3 dB.
Historically, FPGAs were slower and less energy efficient than ASICs, but FPGAs can shorten development time and reduce engineering design costs. The FPGA can be thought of as a processor, because it implements algorithms. But, unlike general-purpose microprocessors or more specialized digital signal processors, the fundamental element of an FPGA is a logic gate (e.g., AND, XOR) that is accessible to the programmer. The result is an extremely fast implementation of algorithms that historically were performed by hardware. You cannot write code for an FPGA using a high-level computer language like C. Instead, the designer defines the behavior of the FPGA using a hardware-description language (HDL). The most common HDLs are VHDL and Verilog. Xilinx FPGAs also support Matlab Simulink language, and it is common to use Matlab when developing FPGA applications.
The Future of SDR
Future software-defined radios will be used to realize cognitive radio and dynamic spectrum access. Cognitive radios are aware of their environment and adapt their frequency, data rate and other waveform parameters to the instantaneous spectrum environment. An example of cognitive radio is the TV white-space radio designed to use vacant TV channels. A radio that can dynamically access idle spectrum will achieve significant gains in spectrum efficiency and may change the way spectrum is allocated by the FCC.
Jay Jacobsmeyer, KD0OFB, is president of Pericle Communications Company, a consulting engineering firm located in Colorado Springs, Colo. He holds BS and MS degrees in electrical engineering from Virginia Tech and Cornell University, respectively, and has more than 30 years experience as a radio frequency engineer.