If you’ll recall some months ago, I wrote an article about software-defined radio and how to get started using a ~$20 TV tuner dongle, but things have since moved on so I thought I’d better drop by with a bit of an update.
In the original article, I recommended HDSDR which at the time seemed to be the best option for SDR software. However, as useful as it was, it turns out that comparatively speaking it’s pretty sluggish and a bit over-designed as far as the UI is concerned. In its place, the new king is SDR# (instructions on how to set it up are available here). Unlike HDSDR, it’s fast enough to perform most functions even on a first generation Atom-powered netbook, as tested on my Samsung NC10. Anything more powerful is certainly a bonus and will improve your experience and flexibility, but it’ll work much better than most of the other SDR apps especially on low end machines. It’s also more functional, it has proper FM stereo support with RDS, various modulation modes, variable filters and a UI that’s less cluttered, more ordered and much easier to use. There’s more besides, but it’s reasonably specialised stuff, if you need it, you’ll know how to find out if it’s supported. All in all, an excellent application and a nice improvement on previous efforts. Here’s a screenshot to give you a taste of what to expect:
It’s been continuously improving, most recently getting the ability to store favourite frequencies and record both the incoming RF and the resulting demodulated audio, should you wish to do so for later analysis. If you’ve already got a dongle, or plan to get one, this is the program to run it with. It’s written in C#, which means that if you’re lucky you can have it running on OSX or Linux as well without too much fuss, using the Mono framework.
Moving on to hardware, sadly the company producing the most popular tuner used in RTLSDR-capable sticks, Elonics, has gone bust. Not to worry though, because there are alternative tuner chips to choose from, there’s the Fitipower FC0012/FC0013 and the RafaelMicro R820T, both of which perform essentially the same job and are all supported in the latest versions of the necessary software. They do differ from the beloved E4000 in the bands that they cover, but they all have advantages as well as disadvantages. The E4000, for example, could only go down as far as 56MHz, give or take a few Hz, whereas the R820T can apparently tune to somewhere around 24MHz, giving you the lower end of the VHF band and even a little bit of HF too. The trade-off is that they may not cover the high end very well, upwards of 1GHz, which may be a loss to you if you fancied tuning into some of the higher frequency ham bands, GPS or L-band weather fax signals.
Now, what about if you want to get hold of some lower frequency stuff? Perhaps you’re into shortwave radio, or want more ham bands to explore, maybe you always wondered what the signal from your RC car’s controller looks like at 27MHz. I haven’t tested that last one, but I wouldn’t mind giving it a shot. Anyway, all of that stuff is rather impossible if your dongle doesn’t go down the spectrum that far, certainly SW/MW/LW stuff is well out of reach, by up to 10s of MHz. Enter the upconverter! Here’s a picture of mine, made by these fine people at NooElec:
So what’s it do? Essentially, it takes all the frequencies below what my dongle is capable of receiving, the LF, MF and HF bands, basically everything below about 60MHz, and moves it up the RF spectrum by 100MHz. It’s pretty easy to use, you plug your dongle in one end and an antenna in the other, give it a USB cable with power, flip the switch from passthrough (normal mode, just like the dongle on its own) to converter and you’re in business. Now as far as my dongle is aware the stuff that’s at 27MHz in the real world, for example, is now at 127MHz, the upconverter very simply adds 100MHz to a given frequency and filters out what used to be there to provide a clean copy of the lower frequency stuff to the dongle. The resulting signal is well within the range my tuner can handle, whereas it was previously miles outside of the tuner’s capabilities. That means that in addition to being able to receive from about 56MHz or so up to a little over 2GHz, my tuner dongle is capable of going all the way down to 0Hz. In practical terms, that means I can now receive CB radio, more ham radio bands, a ton of national and international AM radio stations and a bunch of other random stuff besides. It’s even got an RF noise generator on the board, though you’ll need to do a little modding to enable it, soldering on a jumper and an RF output socket. I’ve modified mine by adding a tiny BNC pigtail to the RF antenna socket in addition to the provided SMA socket so I can use my existing antennas without adapters, that’s what the black antenna you can see on the right is sitting on.
Modified or not, I’d call that a cheap tech win, a 0-2100MHz receiver setup for about £50/$80? Madness! Absolutely not bad at all, and it’s $120 cheaper than the new Funcube Dongle Pro Plus, which covers a similar range, but the RTLSDR setup can pump over 15x the bandwidth into my PC for less than half the price! Admittedly, the Funcube does have niceties like being contained in a single stick, using standard audio device class drivers, having a higher dynamic range and containing special filters to enhance reception, but that’s a pretty big wad of wonga separating the two, so I’ll leave it up to you to decide which setup is most appropriate for whatever you’re planning to use it for. I’ll stick with the beast above, because I’m cheap and I love a good hack. It’s also less of a problem if I manage to blow it up somehow.
Speaking of blowing stuff up, there is a modification you can perform to RTL-based dongles which would allow you to receive some lower frequency stuff, roughly 0-30MHz, without buying any add-ons, but it’s a bit risky and not as good as the upconverter method. It requires impeccable soldering skills and can leave your stick vulnerable to getting zapped by static, it’s also not as clean or convenient as a plug-in solution. The principle is that the RTL2832 chip is normally acting as an ADC to digitise the analogue RF stuff coming out of the tuner chip, but by disconnecting or turning off the tuner chip and replacing it with a massive piece of wire, the RTL chip will essentially act like a basic radio itself. It’s capable of sucking in abut 28.8MHz of analogue signal from the tuner, or in this case the RF energy being picked up by the wire, and spitting out the relevant digital data as if there was a tuner present, but at a frequency below that which the tuner can tune to. I don’t have a howto link for this unfortunately, but there’s a smattering of information around if you google “rtlsdr direct conversion“. It requires that you pull the dongle apart and solder a very long wire, ideally tuned to the frequencies you want to receive, to pin 1 or 2 of the RTL chip, so having a spare dongle or two is recommended, just in case you brick the one you’re converting.
If you’re into satellites, you could always take an LNB, or low noise block, from the end of a satellite dish (it’s the little box on the end of the arm that sticks out the front), modify it a bit, and receive signals way above the dongle’s normal range. They act a bit like the upconverter, but they’re downconverters, so they take signals which could be anywhere up to 10GHz and beyond down to a much more sensible and workable 1GHz or so, depending on the device in question. There are caveats to this, in that much of the traffic coming from satellites is extremely wideband, so it’ll be far too wide to see the complete signal using an RTL dongle. For reference, analogue TV signals and digital TV multiplexes (bundles of channels) can be anything from 6MHz up to 9MHz, that’s a minimum of twice what the dongle’s able to provide at any given time in the mode we need it to be in to use it the way we do. Any narrowband signals would be possible to receive, but LNBs aren’t very accurate, converted signals tend to drift around, they’re built to hand extremely wide signals down to a satellite TV box which is going to be a lot less bothered by a 9MHz signal wobbling about by a few kHz than your RTL dongle receiving a signal that could be drifting as far as the signal is wide, causing you to constantly re-tune it to stay tuned in.
Of course, this is all well and good, but I can listen to the radio on my phone, my hifi, the internet and about a thousand other places, so what’s so special about this SDR stuff? I deliberately kept the previous article simple to avoid confusion and overwhelming would-be curious proto-hams, but there’s a metric thingy-ton of ways to use SDR. The power of SDR comes from the fact that the tuner and the stuff that makes sense of the received signal are seperate. Take your car radio for example, it does what it does very well, it receives FM and sometimes AM broadcast radio so you can listen on the move. That’s great, but it can’t do anything else. It can’t tune away from those bands, because it’s designed specifically for that one use, and even if it could tune beyond those pre-defined regions, it wouldn’t know what to do with the signals it found there.
A PC, though, doesn’t mind about any of that, it has no pre-programmed limitations to the types of signal it can deal with, so no matter what you feed into it, whether it be via the sound card, the USB ports or even the parallel port (ask your grandparents), if you can write or download software to handle it then you can use it. This is important because there’s a vast amount of modulation and encoding methods available, everything from amateur level ham radio, like CW (morse code), RTTY and PSK up to more complex commercial or professional signals like DAB, DVB-T, MPT1327 or TETRA and there’s simply no such thing as a standalone radio device which can handle them all. Luckily, SDR radios don’t care what the signal is, they just pluck it out of the air and dutifully shove it into your PC, so we can use software to decode it.
With this in mind, what I thought I’d do is show you a little of what you can find on the airwaves, so there’ll be a brief series of articles running through a few common modes and signals. The first one will be about RTTY, and you can find it right here.
Cheerio, fellow explorers, ’til we meet again!