Ask Eric Blossom about Software-Defined Radio
Eric Blossom is an electrical engineer with a history of working with radio and communications security. He gave a presentation at the recent H2K2 conference about his work with GNU Radio, which is, bar none, the single most exciting software project in existence today. (Imagine computing devices that communicate seamlessly across the entire electromagnetic spectrum.) As usual, we'll forward some of the best questions to Eric and post his responses when we receive them.
I was recently at H2K2 and heard this forum which right away made me ecstatic(sp?). An issue that was brought up was how this can impact the DMCA, FCC, and the big corps. You guys were saying Sony, and the other conglomerates were forming a committee that would do a digital signature to say what was allowed to be copied, and not through a dual channel checking...My question is what is the status of digital radio and its rights in the present world? To my understanding you can have a very high number of digital channels inside a single band which makes licensed analog frequencies just a waste of money to corporations if they use GNURadio as a means to transmit data long distances. Anyways, looking forward to some feedback and goodwork, I'll be joining this revolution soon, just got the dual server built ;)
I realize this might be complex, and that the answer might be of the form
But as both a ham and one who designs SDRs, I'd like to know where this resides on the Home Hacking Scale....
www.eFax.com are spammers
Are there parallels to this technology? and if so, how will GNU Radio avoid those pitfalls?
I read through the GNU Radio website, and even though I found it informative in terms of the basic idea and examples, I couldn't find anything relating to what extra hardware is needed. (Maybe I just didn't look long enough?)
:o)
What extra hardware is needed in addition to a computer? Are we talking DSP chips and boards, or something a little more exotic?
Thank you for a potentially exciting project, though. This makes me want to renew my ham radio license.
-----
"You spilled my egg... I needed that egg."
With the restrictions to broaccasting on the internet that seem to be spring up by the day do you think this tech can become a work around. In otherwords most restrictions ar based on the faact that its the audio being rebroadcast. Perhaps is it were the Stations actual signal being broadcast across the net and recided by a capable piece of software, many of the restrictions would no longer apply. Since its the carrier signal taking the content to my computer rather than an audio codec. This would negate most of the complaints that have caused many internet radio stations to go offline....
Your thoughts?
Power Corrupts,Absolute Power Corrupts Absolutely, leaving one person(group)in charge is absolutely corrupt.
What work has been done with the DoD. Can GNU Radio realistly be expected to compete with the likes of the Motorola DMR in the Defense sector?
I mod down any one who says "I'm sure I will get modded down for this"
Isn't the Slashdot blurb.. how shall I put this.. completely and totally incorrect?
The Slashdot story implies this project will bring: computing devices that communicate seamlessly across the entire electromagnetic spectrum.
Surely this is an exaggeration.
It is possible to imagine real-time processing of kHz, and possibly MHz signals in software.
There are issues with getting and antenna with decent response over a very wide range, but we can sidestep that. The point is, the ADC and actual processing of the waveform with the CPU is not unreasonable with x86 hardware.
But if you're looking at microwave communications... that just isn't plausible to me at all.
The ADC time resolution would surely require dedicated equipment. You could put this on a PCI card, but the PCI bus obviously does not have bandwidth for a GHz signal.
I would think the point of this is not to cover a wide range of the spectrum at all, but instead to process a range such as 1 kHz - 10 kHz in new and unusual ways.
And of course the applications are not limited to wireless devices! This could be just as useful with transmission down coax.
It allows you to encode/decode different signals on the airwaves...
For example, they have demonstrated it decoding two FM radio broadcasts at the same time using their ADC and a cable modem tuner.
It replaces the hardware components involved in decoding signals... you could built a cell phone that only needs a tuner and and ADC, the rest in software. Depending on the tuning range of the tuner you use, your computer could become MANY different kinds of radios.
That is the cool thing about SDR... when a new fancy modulation technique comes along, you only have to upgrade the software... cell companies love this. I would assume those base stations can get pricey...
[not a question for Eric Blossom unless highly moderated ;)]
Could actually someone explain what GNU radio does? Even after visiting the site, I stil have _no clue_ what it is and what's the goal.
Same for GNU Bayonne.
Both sound like cool projects but hard to understand what they do.
Would someone care to explain to the world what this project is (eg: with this, you can transmit RF waves using only a speaker), that'd be great.
Thx
I want a feature list containing all the geeky details
Radio design is about trading features against each other, eg. if you want a large frequency range, you will usually end up with noisy oscillators giving you poor large signal handling, and low selectivity (ability to listen to weak stations close (in frequency) to a strong one. If you want good sensitivity, you loose large signal handling. If you want narrow filters, you get lower sensitivity (ok, this is a software radio, so you can do extra filtering in software, so this might not apply). You get the idea. Always compromises.
RFC1925
With CPU cycles being as cheap as they are now, and with most desktop systems being ridiculously fast for what they're asked to do, I could think of a few interesting things you could pull off with something like this.
...and, having said that, this is not a new concept - winmodems have been doing this for a while now.
Hook your computer up to your digital cable system, and have it do the QAM demodulation. Then, pump the results to an MPEG transport demux and MPEG decoder. Boom. Instant digital cable box.
Same thing, in reverse. Output IF, and hook it up to an upconverter and amplifier. Now you're your own cable company. The equipment typically used to do this is insanely expansive, and hard to get. This can make community cable television, for example, much easier and cheaper to implement.
Interestingly, the decoding/encoding is all done on a commodity, general purpose computer, so all copy protection schemes become hackable, the way they were with software DVD players.
More importantly, software is easier to fix and upgrade than hardware. This could result in significant cost savings for people who want to use this kind of technology commercially.
After reading some posts, some people seem to be a bit confused as to what this is and how it can be used. Well, for the /. crowd, here's a specific example which will put all this into perspective:
Now that generating waves becomes a software problem, it means that theoretically anything that before needed hardware to modulate/demodulate (or encode/decode, depending how you look at it) signals can now be done in software. Practially, this means that you can transform your machine into a WiFi or Bluetooth system by simply installing the right software. It also means that as new future wireless technologies emerge, your hardware can support them by a simple software install.
Similarly, anything that uses radio waves can be "emulated", like a good old FM/AM radio (the website has sample code for this), a Walky-Talkie, a home wireless phone, or even a cell phone!!!
So now you see why there's a lot of exitement around this. If the project could only get more funding (Intel? AMD? IBM? Sun? Motorolla? Sony?) to speed this up...
This technology sounds like the kind of thing which could greatly add to the convergence of devices that clutter the electronic life. You could extend convergence not only as a Smartphone but have in one device (though perhaps not simultaneously):
1. Cell phone
2. Computing power (PDA)
3. FRS radio device
4. 802.11x network device
5. Police scanner
6. Television reciever
7. etc.
Have you been approached by police departments, FedEx, etc. to develop devices to allow their people to do more stuff in fewer packages?
It has always been possible to generate waves in software. What's novel here is that it's being done in real time in the IF range of frequencies. Computers are still not quite fast enough to do this in the frequency range of the carrier signal.
When you tune your FM radio, your receiver accepts a signal centered at around 90-100 MHz and downshifts it to 10.7 MHz. The 90-100 MHz is called "radio frequency", the 10.7 MHz is called "intermediate frequency". No matter what station you listen to, it gets shifted down to the same intermediate frequency, so that once it's there, it can go thru exactly the same frequency.
The conversion from RF to IF is a pretty simple process that ignores the actual audio content of the signal. Once it's in IF, an FM demodulator picks off the audio that was modulated onto the carrier at the transmitter. AM radio also uses an intermediate frequency, but it's 455 kHz instead of 10.7 MHz.
GNU Radio depends upon commodity computers to sample and process the signal in real time. The Nyquist sampling theorem says you must sample at twice the frequency of interest as a theoretical minimum; in practice you'd like to sample more like threee or four times the frequency. So when you run GNU Radio, samples are whipping through your computer at 30 or 40 megasamples per second, at least for the IF processing. The audio processing can be done at a much more leisurely pace.
Since the computer can't hope to keep up with the 90-100 MHz raw carrier (yet, anyway) there must still be some external circuitry to perform the RF->IF downshift. But that's the relatively simple circuitry - by specifying everything else in software you get a hugely flexible radio. I've drooled with envy watching people use all-mode radios to talk to satellites in orbit, but those suckers are expensive! You need to be able to do AM modulation on the 2 meter band (144-148 MHz). Now maybe I can try it one of these days.
WWJD for a Klondike Bar?
Perhaps one of the best current applications of software radio is to act as a bridge between multiple radio systems.
Take for example an event, such as a terrorist attack, that warrants the use of many agencies that span a wide spectrum of roles and budgets. In the US, this means from local fire, EMS, law enforcement, response teams, HazMat, right on up to FBI, US Marshalls, Secret Service, FEMA and across to public works and everyone else involved in the response effort.
Communications in these situation has always been a big problem. It was highlighted nearly a year ago in New York and Arlington.
What a software radio unit would allow you to do is set up on site and when in operation the unit allows all the different radio systems of the agencies - who of course have different budgets, and hence equipment - to communicate relatively easily with each other as the software radio does the transformations from one radio signal and channel to another. And this can be done without reprogramming the frequencies on the radios, as you can use agencies predesiginated channels.
Perhaps the coolest thing is that it can be set up to work with current equipment, so apart from the bridge, and associated hardware, agencies preexisting radios will work. This is all good especially when you consider that people at the Pentagon were carrying around combos like 2 radios, 3 cell phones, and 3 pagers just to keep on top of everything.
By moving it to software, you can target everything to nearly one device - to the point where you plug phone lines (could be cable/sattelite/rf) into the bridge, and people on radios can make phone calls.
Another benefit is that it could be used in radio dense environments to bridge radio communications as radio devices increase in popularity by allowing them to use frequencies they weren't originially designed for. I think thats pretty cool.
Cheers
If I'm interested in doing research in this field someday, and I'm currently a computer engineering major, what are some good electives that I might take? Aside from general programming necessities, what sort of signal processing courses are necessary to understand the underlying aspects of software-defined radio?
"I may be quite wrong." - Socrates
- dedicated semiconductors vs general-purpose processors
- Vendors vs OS designers and software programmers
- short term: certification
- long term: standardication & spectrum management
Actually, you DON'T need to sample a 10.7 IF at double speed.
The Nyquist theorm states you must sample your signal at not less than twice the bandwidth of your signal. You can limit the 10.7 IF to 60 kHz bandwidth and then sample it at 120 kHz just fine - this is called subsampling.
In effect your analog to digital converter becomes an additional mixer in the processing chain. If you think about it, sampling is just multiplying the signal by a stream of Dirac impulses in the time domain, which corrisponds to convolution by a Dirac impulse in the frequency domain - just like an analog mixer.
HOWEVER - you HAVE to bandwidth limit your IF correctly - if you sample at 120kHz and you have stuff leaking through at a bandwidth of 70 kHz you are screwed - your signals will fold over in the frequency domain.
For those who are interested, look up the Intersil 50216 - it is a dedicated chip that does much of the signal processing for you.
What would be COOL would be for the FSF to sell PCI cards with a 50216, 50217, and an FPGA - then you could really do some cool stuff.
www.eFax.com are spammers
Up until now, free software has mostly threatened closed commercial software. GNU Radio, however, might make some hardware manufacturers squirm a bit. If I can use a generic device along with GNU Radio to emulate a range of devices how will this impact the makers of those devices and are you (or users of GNU Radio) possibly violating patents for some of those devices? It seems that GNU Radio will stir up more mud in the IP and DRM debates. What are your thoughts on this?
This project is to the radio what the general purpose computer is to the abacus.
If tits were wings it'd be flying around.