SPECIAL FEATURE
Deterministic Software Solutions for Complex Architectures Involving Software-Defined Radio (SDR) By Brandon Malatest, Chief Executive Officer, Per Vices
Introduction
Most of today’s RF communication systems demand software tools that are capable of delivering repeatable performance. Software tools that are designed to give consistent output when the same input is provided are said to be deterministic and exhibit the same behavior every time they are executed. For software defined radio (SDR) systems, determinism is required to ensure that the behavior of a radio system is predictable and consistent. Variations in environment parameters make RF communication systems exhibit non-deterministic characteristics. In this article, we will explore how complex RF communication systems can be realized by combining SDR platforms and software solutions. Next we will focus on how the architecture of field programmable gate arrays (FPGAs) yields minimal and deterministic latency. We will also discuss how utilizing common software API such as UHD helps to enhance determinism and code portability across multiple SDR systems. This article will also explore how GNU Radio can be used to implement complex SDR systems with deterministic performance. We will also discuss one software tool that allows adjustment of parameters to optimize determinism of a radio communication system. Lastly, this article will focus on a few applications that demand deterministic performance and how SDR systems are used in their implementation. 16
COTS Journal | April 2022
Deterministic performance of SDRs A typical SDR platform features a radio front-end (RFE) that handles analog signals and a digital back-end that processes digitized signals. The RFE performs transmit (Tx) and receive (Rx) functions and is designed to operate over a broad frequency range. The highest bandwidth SDR platforms offer multiple independent channels and a high instantaneous bandwidth, up to 3GHz. High end SDR systems feature an FPGA with a broad range of onboard digital signal processing capabilities including upconverting, downconverting, demodulation, decimation, interpolation, and data packetization. SDR systems use software for a wide range of digital signal processing functions including modulation, demodulation, upconverting and downconverting. These platforms also utilize software for various RFE control operations such as gain setting, sampling rate setting and tuning. SDR platforms also utilize software to interface with various networks that they communicate with. Highest throughput SDRs are capable of sending and receiving data at high speeds over high speed links. Some of the software tools that are commonly used with SDR systems include Hardware Description Languages (HDLs), Universal Hardware Driver (UHD) and GNU Radio. To start with, UHD is an open source driver used for developing custom software tools for controlling and configuring SDR solutions. Software tools that enhance determinism in SDR solutions GNU Radio is an open source toolkit for developing complex digital signal processing (DSP) in SDR systems. Hardware description language (HDL) such as VHDL or Verilog are used for developing custom, ultra-fast and deterministic DSP functions on FPGAs. FPGA designs are analyzed and synthesized using
software tools such as Intel Quartus. SDR systems utilize FPGA for packetizing data for transmission over Ethernet or any other network stack. This requires VITA Radio Transport (VRT) standard which is a protocol that defines the format for transmitting and receiving digitized signals between radio systems. On the application programming interface (API) side, UHD is used to allow development of deterministic software and transmit/receive commands. Deterministic software tools, waveforms and commands can be ported from one SDR device to another without variations in performance. Deterministic waveforms and pulses can be transmitted at predictable time intervals and for specific durations. Deterministic performance also allows execution of various commands such as center frequency, sampling rate, filtering method, broadcasting channels, type of broadcast waveform, and so on. Determinism also aids in controlling parameters in transmit and receive functions such as the number of samples sent to the buffer and the size of the buffer. How FPGAs enhance determinism in SDR solutions FPGAs, unlike CPUs and ASICs, have highly parallel computing architectures that ensure low and deterministic latency. They are capable of performing a wide range of DSP operations on digitized signals. In most RF systems, applications running on host processors offload compute-intensive tasks to FPGAs for faster computation. The computation and storage requirements of a signal processing task increase with an increase in the sampling rate. With an SDR system, captured data can be manipulated