Main Page | See live article | Alphabetical index

Software radio

A Software radio performs significant amounts of signal processing in a general purpose computer, or a reconfigurable piece of digital electronics. The goal of this design is to produce a radio that can receive and transmit a new form of radio protocol just by running new software.

Software radios have significant utility for the military and cell phone services, both of which must serve a wide variety of changing radio protocols in real time.

Table of contents
1 How they work
2 History

How they work

The ideal scheme would be to attach an analog to digital converter to an antenna. A computer would read the converter, and then software would transform the stream of data from the converter to any other form.

An ideal transmitter is similar. A computer program would generate a stream of numbers. These would be sent to a digital to analog converter connected to a radio antenna.

The ideal scheme is not practical.

Practical Receivers

Current (2003) digital electronics are too slow to receive. Typical radio signals range from 10 kHz to 2 GHz. An ideal software radio would have to collect and process samples at twice the maximum frequency at which it is to operate. Real software radios solve this problem by using a mixer and a reference oscillator to heterodyne the radio signal to a lower frequency.

The above mixer changes the frequency of the signal. The phase information becoems more difficult to detect in it. Many digital encoding systems depend on phase encoding. The classic solution is to mix and digitize two channels, using a reference oscillator that produces two signals that are the same frequency. However, one of the frequency outputs lags the other by 90 degrees of a cycle. This, the two sets of samples provide the needed phase information.

Another related problem is that the information about the bit-timing is lost when the frequency changes. The phase information helps recover that as well.

The sampling works best if it is at a simple multiple of the protocol's symbol rate. Since the distant transmitter and the receiver are linked only by the radio, this means that the sampling speed should somehow adapt to the distant radio's symbol rate. The phase information may therefore be used to adjust the effective sampling rate, as well.

A good software radio must operate at any symbol rate within a wide range of rates, in order to be compatible with many protocols, so this adaptive control is crucial. It can be implemented either with a hardware linkage toi the converter, or in software.

Any signals above the sampling frequency would "interfere" with the sampling, causing spurious signals to appear in the data stream at a frequency that's the difference between the signal and the sampling frequency. For this reason, a low-pass analog electronic filter must precede the digital conversion step.

Real analog-to-digital converters lack the discrimination to pick up sub-microvolt, nanowatt radio signals. Therefore a low noise amplifier must precede the conversion step. The amplifier introduces its own problems. If spurious signals are present (which is typical), these compete with the desired signals for the amplifier's power. They introduce distortion in the desired signals, or may block them completely. The standard solution is to put a filter between the antenna and the amplifier, but this reduces the radio's flexibility- the whole point of a software radio. Real software radios have two or three analog "channels" that are switched in and out. These contained matched filters, amplifiers and sometimes a mixer.


A real transmitter has similar speed and symbol conversion rate problems, and handles them by up-conversion using a mixer.

A transmitter should not transmit unexpected signals, because they could interfere with other radio services. The digital approximation often generates peculiar extra signals that are caused by step-wise approximations to signals that should smoothly vary. One popular method is to filter those with an analog filter before the up-conversion.

Real transmitters operate more efficiently if their amplifying elements are either on, or off. When an amplifier is in a partially-conducting state, it is converting power to heat.

For this reason, most radio transmitter amplifiers have substantial distortion. To cope with the distortion, most digital radios use a software package to produce an inverse-distortion in the signal, so that the trnasmitted signal is more precise. Conceptually, the predistortion can be generated by reading the output of the amplifier, and adjusting the input to get the desired output.

Software issues

The software of a software radio is usually very modular. The software modules may run on different CPUs, so synchronization of the data flow is also important. A minimal software system is to pass arrays of data sequentially to different software routines. Some military systems go so far as to define CORBA remote procedure calls to coordinate the radio.

The software is so flexible that it can be difficult to say if any particular combination of modules will work correctly. An engineering team addresses this problem by testing and validating particular sets of software modules, to operate in particular modes.

The computer that runs the software is usually one, or an array of digital signal processors, computers specially designed to perform digital signal processing. There have been successful experiments with data flow computers, and FPGAs.


SPEAKeasy Phase 1, 1992-1995

The goal was to produce a radio for the U.S. Army that could operate from 2 MHz to 2 GHz, and operate with ground force radios (frequency-agile VHFFM, and Sincgars), Air Force radios (VHFAM), Naval Radios (VHFAM and HFSSBteleprinters) and Satellites (microwaveQAM). Some particular goals were to provide a new signal format in two weeks from a standing start, and demonstrate a radio into which multiple contractors could plug parts and software.

The project demonstrated the TF-XXI-AWE, which met all these goals. There were some discontents with certain unspecified features. Its cryptographic processor could not change context fast enough to keep several radio conversations on the air at once. Its software architecture, though practical enough, bore no resemblance to any other.

The basic arrangement of the radio receiver used an antenna feeding a amplifier and down-converter (see mixer) feeding an automatic gain control, which fed an analog to digital converter that was on a computer VME bus with a lot of digital signal processors (Texas Instruments C40s). The transmitter had digital to analog converters on the PCI bus feeding an up converter (mixer) that led to a power amplifier and antenna. The very wide frequency range was divided into a few sub-bands with different analog radio technologies feeding the same analog to digital converters. This has since become a standard design scheme for wide band software radios.

SPEAKeasy Phase II

The goals were to get a more quickly reconfigurable architecture (i.e. several conversations at once), in an open software architecture, with cross-channel connectivity (the radio can "bridge" different radio protocols). The secondary goals were to make it smaller, weigh less and cheaper.

The project produced a demonstration radio only fifteen months into a three year research project. The demonstration was so successful that further development was halted, and the radio went into production with only a 4 MHz to 400 MHz range.

The software architecture identified standard interfaces for different modules of the radio: "Radio Frequency Control" to manage the analog parts of the radio, "Modem Control" managed resources for modulation and demodulation schemes (FM, AM, SSB, QAM, etc), "Waveform Processing" modules actually performed the modem functions, "Key processing" and "Crytographic processing" managed the cryptographic functions, a "multimedia" module did voice processing, a "Human Interface" provided local or remote controls, there was a "Routing" module for network services, and a "control" module to keep it all straight.

The modules are said to communicate without a central operating system. Instead, they send messages over the PCI (computer) bus to each other with a layered protocol.

As a military project, the radio strongly distinguished "red" (unsecured secret data) and "black" (cryptographically secured data).

The project was the first known to use FPGAs (field programmable gate arrays) for digital processing of radio data. The time to reprogram these is an issue limiting application of the radio.

Joint Tactical Radio System (JTRS)

JTRS is a U.S. and allied program (NATO participates) to produce a family of software radios for different military domains. For example, hand-held, vehicular, base-stations (fixed and maritime), airborne and dismounted.

The radio uses CORBA on POSIX operating systems to coordinate the different modules. A software architecture is published on the web.

Software-Defined Radio (SDR)

The software configuration architecture (SCA) is the SDR Forum's industrial version of JTRS, adapted to cellular base stations and other practical commercial applications. The SCA is described at the SDR Forum'd web site.

Amateur software radios

The typical amateur software radio (see amateur radio) uses a direct conversion receiver (see the ARRL Handbook, 1999 for a suitable dual mixer design). The conversion is to an audio frequency, 0 to 20 kHz. A fast PC operates custom (amateur-written) software as the signal processor. A commercial high-quality stereo-input audio card operates as the analog-to-digital converter.

The typical transmission set-up feeds the audio output of the PC to a microphone input of a commercial AM shortwave transmitter. Flexible digital transmission chains are an area of active research among amateurs, with much interest in predistortion and direct digital amplification.

The above set of equipment is adequate to let amateurs operate within their limited radio bands.

Uses include every common amateur modulation: morse code, single sideband, frequency modulation, radioteletype, slow-scan TV and packet radio. Amatuers also experiment with new modulation methods.

See also digital radio