GNU Radio Opens an Unseen World

Quinn Norton Email 06.05.06
USRP assembled with daughterboards: TVRX 50 MHz to 870 MHz receiver, BasicTX 2 MHz to 200 MHz transmitter, RFX400 -- 400-500 MHz transceiver, 100+mW output

Matt Ettus has the sly smile of someone who sees the invisible. His hands fly over the boards of his Universal Software Radio Peripheral, or USRP, snapping them together with an antenna like Lego bricks. Then he plugs in the naked boards to a USB 2 cable snaking to his Linux laptop.

After few minutes of normal Linux messing around ("Takes forever to boot.... Haven't got the sound driver working yet....") he turns the laptop around to reveal a set of vibrating lines in humps and dips across the screen, like a wildly shaking wireframe mountain range. "Here," he explains, "I'm grabbing FM."

"All of it?" I ask.

"All of it," he says. I'm suddenly glad the soundcard isn't working.

Radio is that bit of the electromagnetic spectrum that sits between brain waves and daylight. It's made of the same stuff that composes light, color, electrical hums, gamma radiation from atom bombs, the microwaves that reheat your pizza.

From our perspective, radio devices behave very differently -- a global positioning system gadget doesn't look like a TV doesn't look like a CB set, even if they are all radios. They are single-purpose machines that use small bits of radio spectrum to do very specific tasks -- about as far from the general-purpose personal computer as you can get. But there's no reason they have to be.

Most of the required components of a radio are the same and can be generalized. And with Moore's law making processors fast enough, much of a radio's function can be done with software.

Building a general radio that can receive and transmit, and attaching it to a software system that can fill in the gaps of what we normally think of as radio, is kind of like the Enterprise's deflector dish: Give engineering 20 minutes and it can do anything the captain needs to move the plot along. One of Ettus' USRPs, with the right daughterboards and radio software, can capture FM, read GPS, decode HDTV, transmit over emergency bands and open garage doors.

The GNU radio project was the brainchild of Eric Blossom, who wanted to create a software HDTV receiver in advance of broadcast flag legislation limiting what hardware was allowed to receive the high-def signal. "We'd just go build one of those things (in software) and moot (broadcasters') control over the hardware," says Blossom.

He teamed up with Ettus, but they lacked a radio platform that was cheap enough to get into many people's hands. They could do a lot with the computer, but there were limits. "How do I get from the antenna into the computer?" explains Blossom. "The computer wants digital samples to work on."

Ettus secured National Science Foundation funding through the University of Utah to design what would become the USRP. "Basically we proposed the 85 percent solution for 10 percent of the price. Given that part of the NSF's charter is about education ... you can get 10 more things in your students' hands for your dollars," says Blossom.

Ettus was drawn more to the technical challenge than the political project.

He wanted to build the HDTV receiver "because it was the Mount Everest ... it was the biggest receive-only mountain." Decoding HDTV was a political act of radio, but, mostly, Ettus wanted to see if he could do it.

Four years later, Ettus hasn't just decoded HDTV, but has gone on to write software that does far more. He's quit his day job to build and sell the USRP hardware full time -- you can buy it from his website starting at $550 for the motherboard.

Related Topics:

Science , Discoveries