As software-defined radio (SDR) functionality is largely defined by software, an ever-increasing ecosystem of open-source software tools and code libraries speeds up the development process and removes the need to design often-used functions, says Simon Holt.
As we rely more on various forms of wireless communication, the available frequency spectrum is becoming more crowded and innovative design is required. Software-defined radio (SDR) steps away from some of the limitations of traditional radio frequency (RF) design including fixed functions and constrained feature sets. Instead, SDR is based on flexible RF front ends and high-performance digital hardware that give designers greater freedom to design differentiated solutions that wring more performance from the congested wireless spectrum.
SDR-derived radios are able to manage interference better and increase data throughput with advanced channel coding techniques. As SDR becomes more popular the support ecosystem grows and includes open-source hardware and software, making designing with it a relatively simple task, even for first-timers.
RF has become a very important technology in recent times, especially since the rollout of cellular infrastructure. However, in the past 20 years agility has also gained importance as operators try to get more value from the spectrum allocated to them.
In the days of 2G networks, equipment manufacturers were only required to support a limited number of frequencies in each region on their terminals and base stations. This increased with the introduction of 3G, in part as users expected to be able to roam globally with their phones. 4G and long-term evolution (LTE) again stretched the requirements, with over 40 bands needing to be supported. The forthcoming 5G rollout represents even greater challenges, as unlicensed spectrum must be accommodated as well as the operator-licensed frequency bands.
However, it is not only the frequencies that must be considered, but also the protocols. Wi-Fi, for example, exists primarily in the 2.4GHz band, but so do Bluetooth and several other protocols. Despite sharing the same frequency, each protocol is different in terms of packet format, and the data is turned into an analog signal, boosted and then transmitted. These differences translate into different design approaches for the transmitter and receiver elements associated with each protocol.
In general, RF communications consist of a strong, fixed-frequency signal (the carrier) which is modulated by the data stream. The carrier signal frequency is chosen to be significantly higher than the highest speed of the data, so that the bandwidth of the RF signal is relatively constrained. The data will occupy sidebands, which are frequencies slightly higher or lower than the basic carrier frequency that are created by the modulation of the data onto the carrier signal.
Modulation can be carried out in a number of ways; the least complex is amplitude modulation (AM), which formed the basis of early radio broadcasts. In AM, the intensity of the carrier signal is changed by the data signal, which effectively spreads the frequency range of the signal. Other techniques include frequency modulation, where the data signal modifies the carrier frequency, and phase modulation, where the phase is modified. Quadrature amplitude modulation separates two carrier signals by 90 degrees and transmits them on a single channel. Coherent demodulation is then used to extract the two signals at the receiver.
In the past, the modulation and demodulation was a wholly analog process. However it is now possible, in theory at least, to use a digital-to-analog converter (DAC) to modulate the signal and an analog-to-digital (ADC) to demodulate at the receiver. Software algorithms can then be used to recover the data signal.
This approach is quite new, as most RF transmissions rely on carrier frequencies approaching (or in) the gigahertz band. In the past, fixed-function hardware was used as ADCs and DACs could not operate at the necessary speeds. As technology has improved, the digital creation and reception of RF signals is a viable proposition for a number of radio systems.
In order to make the frequencies more manageable, techniques such as heterodyning were developed in the early part of the 20th century. Heterodyne conversion combines two high-frequency signals into two different signals that are centred on different frequencies. One frequency is the sum of the two original frequencies and the second is the difference. A down-converter generates an intermediate frequency from the difference and the sum is then filtered out.
The heterodyne approach is really oriented toward analog solutions, not least because it relies on precisely matched components and is only able to work with a relatively limited range of frequencies. The components used, including filters, are chosen to suit the operating frequency. Even more sophisticated filters, such as surface-acoustic wave (SAW) filters that have the ability to be tuned, have a limited tuning range. If a receiver design is intended to handle a wide range of frequencies, filters will need to be switched in and out to suit the operation at the time. In traditional hardware-based designs, this drives cost and size due to the number of discrete components and filters required.
As designers have sought more flexible approaches to RF transceivers, a number of design techniques have been developed that allow for direct sampling and give the ability for the necessary processing to be carried out within the digital domain. This is the essence of SDR functionality, and the inherent programmability gives rise to highly flexible communications systems that can support multiple protocols over a wide range of frequencies, while giving highly efficient operation.
In some ways, processing in the digital domain can offer improved signal quality. One example would be removing DC components from a signal that is being sent to a DAC for local oscillator mixing. Digital processing can also be used for generating and processing complex protocols, including protocols that rely on spread-spectrum techniques for reasons of security, or to ensure that the allocated bandwidth is used as effectively as possible.
Cognitive radio systems sense the usage of the RF spectrum in nearby proximity and then re-configure themselves to reduce the impact of interference and/or increase the usable bandwidth. SDR offers many opportunities in this area, including dynamically controlling frequencies, bandwidth usage, and signalling to avoid the signal being jammed, either inadvertently or maliciously.
As cellular technology moves to 4G and 5G, advanced antennae are becoming more important and technologies such as beamforming and multiple-input, multiple-output (MIMO) antenna arrays are being explored. MIMO gives radios the ability to take advantage of spatial diversity, a technique that improves incoming signal quality. Through the use of MIMO, data can be retrieved from low-power signals that may otherwise not be possible due to interference.
MIMO can also be used to send varied signals via each antenna. Using this approach maximizes the chances of the receiver receiving a signal that it is able to decode. Beamforming is also a possibility with MIMO antenna arrays. This improves reception and reduces interference by “steering” signals in the direction of the receiver.
As SDR functionality is largely defined by software, an ever-increasing ecosystem of open-source software tools and code libraries speeds up the development process and removes the need to design often-used functions. One example is GNU radio, which supplies blocks that can be adapted to suit many applications. This expansive platform features filters, channel codes, synchronization elements, equalizers, demodulators, vocoders, decoders and more. The connection of blocks and associated data flow is also defined, saving another task for designers.
While SDR relies heavily on software, it is not entirely hardware-free, and hardware is key in two areas. Processing capability is necessary to manipulate the RF signals digitally, and this usually involves parallel microprocessor configurations along with field-programmable gate arrays (FPGAs). In fact, several microprocessors have been specifically developed to have the required processing power for SDR applications. As an example, Xilinx’s MPSoC UltraScale FPGAs incorporate ADCs and DACs that simplify SDR implementations. By incorporating these functions the microprocessor’s energy consumption is reduced and PCB real estate is also reduced.
Traditional approaches use JESD204 digital links to move data around the system, especially between the FPGAs and processors. The UltraScale FPGAs contain DSP blocks that have been developed specifically for digital mixing and filtering as well as other RF processing.
As the FPGAs are arranged in an array, the signal can be split, processed by multiple DSP blocks and then interleaved to recompose the high-speed signal. Special-purpose operations are performed on programmable logic that is capable of the necessary customized processing. ARM cores are embedded into the same die and are most often used for higher-level protocols. Architectures of this type offer the flexibility to handle a wide range of digital formats and have the power to manage processor-intensive applications such as sophisticated MIMO. The main drawback is susceptibility to phase noise, although high-precision floating-point calculations overcome this to a reasonable extent.
At the front end, manufacturers typically integrate advanced CMOS processors to down-sample an entire RF signal to something that the high-speed ADCs can handle. The front-end circuitry can tune the local oscillator and operate the heterodyne processes in the analog domain, meeting the requirements for multiple RF signals (and the integrated channels). The AD9363 from Analog Devices is able to process signals from 325MHz to 3.8GHz, thereby covering almost all licensed and unlicensed bands. It is capable of handling channel bandwidths as high as 20MHz or as low as 200kHz.
Within the AD9363, every receive subsystem includes independent automatic gain control, DC offset correction, quadrature correction and digital filtering, allowing these to be processed in the analog domain. A pair of ADCs are included for each channel, and these digitize received I and Q signals, sending the data stream to configurable decimation filters and 128-tap finite impulse response (FIR) filters that produce a 12-bit output signal that is fed into digital processing.
Alongside the valuable software tools and libraries, there is an expanding ecosystem of development boards and kits intended specifically for SDR applications that speed up development time of multiple techniques and technologies. These boards support a variety of processors, FPGAs and host computers and include front-end devices, such as the AD9363, for the RF interface.
The ADALM-PLUTO SDR Active Learning Module includes the AD9363 as well as programmable logic and processing software that enables designers to rapidly develop, test and roll out SDR applications. The development system includes independent transmit and receive channels that can operate in a fully duplex mode. As the AD9363 is used, the ADALM-PLUTO SDR can acquire and generate RF analog signals from 325MHz to 3.8GHz, sending digital data to the intermediate frequency channels at speeds that can reach 61.44MSamples/s. The system is platform independent and offers driver support for OS X, Windows and Linux.
An Intel MAX 10 FPGA and Lime Microsystems’ LMS7002M RF programmable transceiver form the basis of the Crowd Supply Lime SDR mini-boards. These hardware platforms are physically small, yet capable of forming a complete LTE 4G base station that is able to stream live video between two smartphones.
Other SDR development systems rely on open-source hardware technology, such as the popular BeagleBone. The KiwiSDR adapts the BeagleBone processor to include RF interfaces that operate in the 10kHz to 30MHz frequency range. The HackRF One contains a USB interface allowing personal computer-driven development in the frequency range 1MHz to 6GHz, with channel bandwidths up to 10MHz.
By the very fact there are so many SDR development tools available, it is clear that this approach to RF communications is becoming very “mainstream”. The tools allow an increasing community of developers to access the benefits of SDR and develop tailored and differentiated communications systems covering both unlicensed and licensed bands.
About the Author:
Simon Holt is the Supplier Marketing Manager at Mouser Electronics. He has over 20 years of experience in the electronics industry, having technical expertise in FPGA, Microcontrollers and DSP domains. He has held a number of positions in distribution companies and a range of fields including Applications support, product and marketing. For details, contact Helen Chung (of Publitek) on email: email@example.com