Countering complexity: How graphical techniques are being applied to radio system design
4 mins read
Mobile has embraced increasingly complex technologies to boost data rates towards 100Mbit/s. The emerging Long Term Evolution (LTE) cellular standard supports a range of spectrum bands using complex time and frequency division transmission schemes and even multiple antenna techniques known as MIMO (multiple input, multiple output, see box).
The good news is that development tools for radio system design have also advanced. Graphical design environments, coupled with flexible hardware, simplify the design and development of complex radio systems and mean an engineer doesn't need to be a hardware and software specialist. One such radio design environment is the Universal Software Radio Peripheral (usrp) from Ettus Research, which National Instruments acquired in 2010.
Ettus Research has its origins with the GNU Radio project. Matt Ettus, founder and president, was involved in the development of the open source software radio framework and was frustrated by the lack of suitable hardware.
"I wanted to experiment with MIMO and have wideband communication systems accessible from GNU Radio," he said. "You can do all this interesting stuff with a computer, but you can't plug an antenna into your USB port."
The usrp platform comprises an ARM processor, a Xilinx Spartan 3A-DSP fpga, high speed a/d and d/a converters and support for MIMO. The platform spans the radio spectrum up to 6GHz, processing channels up to 50MHz wide. "That covers most interesting applications these days," said Ettus.
It is the rf channel widths and associated computation that dictate what designs make sense to run on the usrp. Ettus says a 60GHz rf front end could be connected to the usrp, for example, but the 4GHz channel of interest is too wide to be processed.
Latency is another design consideration. "Latency refers to the determinism between the transmit and receive," said James Kimery, director of marketing, rf and communications, with National Instruments. For a higher layer protocol stack, standards like IEEE802.11 have a 10µs latency, sufficiently short for the usrp's fpga accelerator to be needed.
A common set up involves connecting an N210 to a host computer via a Gigabit Ethernet interface (see usrp box). "If you are processing on the host, you have to take into account the travel time in both directions," said Ettus. "If the [radio] protocol requires that you receive something and respond in a certain time, that time has to be greater that the Ethernet round trip time, otherwise you have to use the fpga."
Thus in developing an 802.11 design that does not require changes to the physical layer, for example, an engineer should consider using an 802.11 chipset directly, says Ettus. "Our hardware makes sense when you need flexibility, when you need to do lots of different things and when it [the hardware] is not already available in a $5 asic."
The usrp is already being used for a variety of applications, including a receive-only radio astronomy design, wildlife tracking systems, a two way very low frequency radio for cave communications and in satellite ground stations. "The bulk of our users are working with two way digital communication systems and radio networking," said Ettus, These include radio developments such as cognitive radio and moderately sized rf sensor networks.
Handset and wireless ic manufacturers also use usrps. "We don't know what exactly they are doing, but you can prototype a lot of wireless algorithms in this [GNU Radio] flow very easily," said Kimery.
Several software development environments are supported by the usrp, the most common being GNU Radio, LabVIEW and Matlab/Simulink. The choice of development environment typically depends on what the engineer is familiar with.
There are two ways a user can modify the design running on the usrp's fpga. Most common is the use of Verilog, either changing the provided code or using their own design. Simulink also allows a design to be compiled to the target fpga. "In the future, that possibility will exist in LabVIEW," said Ettus.
All three packages support a graphical radio design user interface where the radio system's functional blocks are combined on screen and tested before being compiled to produce the application.
"The idea of all three [development environments] is to open up this capability to people who aren't necessarily hard core programmers," said Ettus. "When we started, you needed to be a domain expert in hardware, rf comms, programming and Linux to do anything useful."
Ettus Research plans future usrps using larger fpgas and more advanced ARM processors, as well as supporting rf bandwidths wider than 50MHz. "We want to go several multiples higher than that," said Ettus.
Universal software radio peripherals
Ettus Research offers three classes of universal software radio peripherals (usrp): networked (N200 and N210); embedded (E100 and E110); and bus models.
The networked and bus usrps connect to a host computer that does the bulk of the processing. The bus variants include an entry level usrp that processes 8MHz rf bandwidth and which connects to the host pc via a USB 2.0 port.
Networked products connect to the host via a Gigabit Ethernet link; three times faster than USB. Ethernet also enables the usrp to be located remotely; for example, usrps can be distributed in a building or situated on a radio tower.
The N210 differs from the N200 in using a more powerful fpga. Offering two fpga choices caters for those designs that require limited acceleration hardware and that use the standard fpga build provided by Ettus Research. "If you want to dive into the fpga and you need it for the application, you would get the platform with the larger fpga," said Ettus.
The two embedded usrps – the E100 and E110 – are standalone designs. "You put an antenna on the device and it is a complete radio system," said Ettus. The usrp uses an embedded computer, albeit not as powerful as a laptop. It also includes a Texas Instruments' ARM Cortex-A8 based OMAP processor and a dsp, as well as the fpga. "Most applications you don't have to use the dsp; you can use the ARM and the fpga," said Ettus. The difference between the two embedded usrps, like the networked usrps, is the size of the Xilinx Spartan-3A fpga.
The usrps come with a range of swappable rf daughter cards, including 50MHz to 2.2GHz and 400MHz to 4.4GHz. "At some point, we will achieve full coverage – dc or maybe 50MHz to 6GHz – all on one board," said Ettus.
Multiple in, multiple out
Multiple usrps can be combined to implement a MIMO radio design. To work, all the platforms must be synchronised by sharing a common reference frequency. For two way MIMO, a cable can link the two usrps, with one of the usrps connected to the host. "The host driver software figures out they are MIMO systems and coordinates," said Ettus. "You have two antenna streams that come to you time aligned."
For larger MIMO systems, an external reference clock is used. "One company is doing a 16 way [16x16 MIMO] system," said Ettus. The system used 16 x 1Gbit Ethernet cables, an Ethernet switch and a 10Gbit Ethernet interface to the host.