Software-defined radio (SDR) is an increasingly viable and important communications system. In principle, it allows a single hardware design to support communications across a variety of formats, protocols, and frequencies, including GSM and LTE basestations, and supporting MIMO (multiple input/multiple output) designs.
A basic SDR architecture can look relatively simple, at least "on paper", just digitise the amplified RF signal directly, without the need for down conversion and a local oscillator, or any hardware-driven tuning, and then process the digitised results using various algorithms.
However, for hardware and software engineers who want to evaluate its suitability for product development, the challenge can be getting all the hardware and software pieces in place. The demands on the components of the analogue signal chain are quite stringent in terms of bandwidth, dynamic range, number of bits and other performance parameters.
The ability to provide the SDR platform has been complicated by need for overlapping discrete channels in the analogue front end (AFE) to support coverage across the wide RF spectrum of interest, which can span from around 100MHz to several GHz.
As a result, the component cost in board space, number of devices, power dissipation, and pounds for a wideband SDR implementation can outweigh any potential SDR benefits. Further, without adequate tools and support, even having that basic development hardware and software is insufficient.
These were the design issues Ettus Research, a California-based development company working in SDR for over a decade, faced when they embarked on the design of their Universal Software Radio Peripheral (USRP), a direct-conversion transceiver which can be configured for multiple formats, protocols, and frequencies. Their intention was to produce an easy-to-use device for a low-cost market.
They also wanted to support MIMO (multiple input/multiple output), a wireless transmission technique which is getting increasing attention as a path to increased performance, higher data rates, and lower bit error rates.
The primary hardware challenge was meeting the front-end requirements in a single, wideband signal chain, since using spectrum-overlapping AFE channels in parallel would have been too complex and costly.
Ettus decided to use the AD9361 RF agile transceiver from Analog Devices. This dual channel device, Figure 1, has user-tunable RF bandwidth from 200kHz to 56MHz, and 12-bit resolution, along with other features which are needed to build a signal chain spanning 70MHz to 6GHz.
The final SDR design resulted in two closely related products. The basic B200 1×1 channel and B210 2×2 channel (for MIMO applications) USRP platforms, Figure 2 are easy-to-use and supported by a robust software ecosystem, designed with a comprehensive C++ API.
Each unit includes an open and reprogrammable Spartan6 FPGA for data processing, along with a SuperSpeed USB 3.0 port for connectivity.
The transceiver can be used in both the 1×1 and 2×2 designs; the 1×1 design just does not provide the additional support for the second channel in the pair.
These are direct-conversion transceivers which can be configured for experiments and evaluation of signals in FM and TV broadcast reception, prototyping a GSM base station with OpenBTS, developing with GNU Radio GPS, Wi-Fi and ISM.
An available USRP hardware driver eases software prototyping in GNURadio, and enables user participation in the open-source SDR community.
A feature of the SDR design was that critical parameters such as gain and bandwidth were not fixed by the hardware design. Instead, they can be set and even changed "on the fly" by the software and processor via an SPI port interface.
This allows the algorithm to optimise hardware performance for specific band, bandwidth, SNR, and format of interest, without compromise or accepting sub-optimal tradeoffs.
The SDR platform’s real-time system throughput is benchmarked at 61.44MS/s quadrature providing up to 56MHz of instantaneous RF bandwidth to the host PC for additional processing using GNURadio SDR design environment.
Full support for the UHD (USRP Hardware Driver) software allows seamless code reuse from existing designs, so users can immediately begin developing with GNU Radio, prototype their own GSM base stations with OpenBTS, and easily transition code from the B200 to higher-performance, industry-ready USRP platforms.
To see what SDR can do, Balint Seeber, an applications engineer at Ettus Research, took a B200 unit and laptop on a week-long day and night exploration of the San Francisco area.
Seeber’s first stop was at a primary surveillance radar near Moffett Airfield that was rumored to be visible from the road.
“Overall, I was curious how the USRP B200 performed with strong wideband signals and was interested in determining the type of RADAR system,” said Seeber.
He performed a frequency sweep in HDSDR and found its transmission in the upper 2GHz band. “Curiously, the RADAR pulses were different from what I've seen in the past. With a little research I discovered that the signals I was seeing were from a radar running in Dual PRF (Pulse Repetition Frequency) mode, which is actually used for simultaneous weather observation and aircraft approach tracking,” said Seeber.
He then went in search of radio HAM and ISM band signals in the presence of strong out-of-band signals. “What better place than beneath Sutro Tower, a perch for San Francisco's many powerful radio and digital TV transmitters? I was able to track the locations of Bay Area HAMs transmitting their positions over APRS, see FLEX pager messages being sent, and watch the bursty wireless traffic of the 900 MHz ISM band,” said Seeber.
For anyone wishing to radio signal adventure using the SDR platform, Seeber suggests looking at GNURadio.org and CGRAN.org. “There you can find tutorials and examples, respectively, which cover a broad range of applications (many of which can be set up easily using PyBOMBs). Also I use free apps, such as HDSDR, for spectrum scanning and listening to new signals,” said Seeber.