Decoding DMR / P25 with the RTL SDR – an update
Setting up SDR# (or SDRsharp) for use with an RTL dongle is the easiest and cheapest way of listening to most digital voice modes on the VHF and UHF bands, and you don’t need to know talkgroups, colour codes, slot or anything, so it’s much easier than any other method, and it’s also great for general FM, AM and SSB monitoring too, with sensitivity on par with typical purpose made mobile and portable transceivers, though, for analogue listening, i do think the SSB AGC performance on the SDR side needs some improvement, but that may just be my personal preference, and on the decoding side, there is no DSTAR audio decode built into DSDPlus ‘out of the box’ (on Windows) but apart from those very minor issues, it’s a great way to go listening nowadays, and it’s not half as fiddly to set up as it was earlier, so, as interest in decoding digital voice is still on the increase, it seemed like a good time for a refresh.
You will need:
PC – anything from the last several years should be fine, most of us have PCs that are at least dual core by now, so anything runs Vista (remember that nightmare?) will do. Windows 10 users may be a little out of luck at the moment, as i believe results can be variable.
Of course, You need an RTL SDR dongle.. this blue MK II one (below) was £6 off a well known auction site, and came with the usual TV remote and the pointless UHF magmount, but hey.. i need fridge magnet, The SDRs’ coaxial connector is probably going to be an MCX, it was on mine, but some dongles do come with the more traditional TV type Belling-Lee or even other connections, but i prefer BNC. On my previous SDR dongle i removed the whole MCX and fitted a BNC flylead. You can use 2 or 3 extension USB cables to get the receiver up and away from the often ‘RF noisy’ computer gear and possibly save a little bit of cable loss too.
RTL SDR dongles also run well under Linux, Linux driver installation here and Mac OS X Mac OSX driver installation here and an old 2012 GQRX SDR receiver complied for Mac (Thanks Elias) it’s GNU Radio based too. Even Raspberry PI’s and other SBCs can run RTL SDRs too. RTL SDR dongles can even run on Android, with drivers available in the App store, and it can even decode digital voice.
Linux can, of course, run digital voice decoding quite well too, in fact the first DSD decoder program ran on Linux only, not Windows, so to decode on Windows you had to run Cygwin and it seemed a bit fiddly, until DSD was be ported to work on Windows natively. There is a great amount of SDR work going on, not least of all on Linux – check your repo and GIT for goodies, Linux can even decode unencrypted TETRA voice, with GNUradio, so Windows and Mac users are out of luck again with that one, i may do an article on that in the future, if anyone’s interested, but it’s not for the beginner or faint-hearted, but is reasonably straight forward if you’ve compiled software before on Linux.
and you may want something like this MCX to BNC lead..
The RTL SDR dongles have recently had a bit of a makeover recently, and are now available as the updated R820T2 tuner, and these do seem to have a slightly better receiver compared to my other 2 or 3 year old SDR, it does seem slightly better too. The chinese sellers have got a little more wise too, and are often selling these with SDR in the description too, so searching for RTL SDR easily brings results, expect about £6 from Chinese sellers.
Before we start, a brief overview might seem appropriate, as using a PC to tune the bands is still an experimental, but maturing technology, and may take a little getting used to, tuning around on a SDR is quite different, no worse, no better, just different, and besides using your mouse wheel as the VFO, you can buy actual hardware VFO type knobs – on USB leads to control software. Electronic musicians have been quick to adopt real hardware controls for software instruments, and they work well too.
The RF signals come in from your dongle to your PC running the SDR program, then (my badly drawn green cable thingy) signal carries the FM audio into the decoder program (DSD Plus) and then out to your speakers. You will need a software version of one of the green cables i have drawn. Yes.. i know my quick drawing below is rubbish !
First things first, Windows drivers often come with dozens of CPU chomping addons and crapware, some soundcard drivers can be over 150Mb download, which, frankly, is ridiculous, and they can install unneeded and unwanted software and sys-tray icons which can, in some cases, be a privacy threat and slow down your PC down. The only reason I am bitching about this, is because some audio drivers, by default, run your computer’s audio through some weird surround sound DSP nonsense automatically, which is no good at all if we want to use the soundcard for something genuinely useful, so it’s worthwhile checking your Windows system tray, and / or Windows control panel to make sure all DSP and sound effects are turned OFF, these effects can occasionally hamper attempts at decoding digital voice.
When you plug in you RTL SDR – Windows will prompt you to install some drivers – don’t bother – but if it does try to download dtivers, let it finish, as you’ll be replacing them in a few minutes anyway.
You’ll may need to install the Microsoft .net framework too, depending on what version of Windows you are using, but you probably have it installed already.
You will have unzipped SDRsharp into a folder then, the file is still called sdrsharp.exe, and you might need to move the whole folder somewhere else, other than the downloads directory where it probably extracted to, You could make a shortcut if you like, to sdrsharp.exe, and also unzip the DSDPlus_xxx.zip you downloaded too, and you could create a shortcut to DSDPlus.exe for convenience. I dragged these two shortcut icons into the start menu for ease of use.
First thing, check at the top left where it says “Source” and open the drop down menu and select RTL SDR (USB) …. if you dont see RTL SDR listed and the dongle is plugged in, either navigate to the SDRsharp folder and run Zadig and follow the instructions below, if Zadig,exe is not in your SDRsharp folder already, d/load it here and run it as Administrator, Windows will prompt you for permission.
In the running SDR screenshot above, DSDPlus displays Radio ID, group ID (talkgroup) colour code, and slot.
Running ZADIG (if you need to)
select Options – then List All devices and then from the drop-down, select “Bulk In Interface 0” In the drop down box, choose Bulk-In, Interface (Interface 0) thoughit might also show up as something like ‘RTL 28320’ or something similar, and that’s ok.
Just make sure that ‘WinUSB’ is selected as the target driver, and then click on ‘Replace Driver’.. you may have to reboot, but next time you start SDRsharp, your RTL SDR should now be in the list of available devices, select it.
Under the left hand RADIO tab (see the above screenshot) set the mode to NFM, i generally set the filter bandwidth about 12500 for DMR decoding, that’s fine for most normal comms FM listening too, and on NFM i set the steps to 12.5 kc.
These USB devices are cheap and mass produced, the things are not calibrated too accurately, and so we need to fine tune the SDR so they both agree on freq. (if you’re adventurous and run Linux, try Kalibrate which uses GSM, but it’s really overkill) and you *can* fit a much more accurate crystal.. but i’ll leave that up to you to decide.
Start SDRsharp and click the cog on the SDRsharp toolbar, you will see your device listed, now click both the AGC tickboxes to maximise RF gain, note the frequency correction adjustment there too, we need to find a known signal on air and tune the SDR to the correct freq readout, then, whilst listening, tweak the frequency correction to get it spot on. CW or SSB mode is good as you can more or less find zero beat, as you see, this one is set at +68
Now you’re up and running with SDRsharp, you may want to try to decode digital, check the screenshot, and notice the ‘filter audio’ needs to be unticked for decoding: same for Pocsag etc. squelch off/ open.
also make sure to send the SDR’s audio to the DSDPlus decoder program – select Output to ‘VB Cable input‘ and you should see the ‘scope display on the DSDPlus program jumping about wildly. If you dont see DSDPlus’ scope displaying activity (even on random FM noise) it could be that audio routing may need one slight tweak, here on my old Windows7 craptop here, i had to go into the control panel, then sounds then check in and output devices as you see below, then it worked. note the audio bargraph level meters reading, your soundcard will probably be named something different.
Get tuning ! if the signals you see are good, but garbled or no audio, they may be using privacy or encryption, or have interference, or it may be data or GPS (LRRP) and all kinds of stuff going back and forwards, still getting problems, check your audio levels, RX bandwidth, make sure your fine tune is correct, that filter audio is OFF and you are indeed on NFM with no squelch. Remember there is no windows binary widely availble for dstar audio yet (that i have seen) and encryption is used alot.
In case anyone is wondering, clear / unencrypted TETRA isn’t able to be decoded on anything other than Linux at the moment, and it will probably never appear on Windows anyway, On Linux it’s only done with GNURadio as a base, GNUradio companion has the most horrible interface i have ever seen (but it works very well indeed) and there’s not much unencrypted TETRA about anyway, but after all the hours of compiling and patching stuff, it’s a lot of fun learning about it.
SDR and decoding digital voice can be fascinating, cheap, and lots of fun, thanks to some really smart people out there, and some really cheap hardware. It offers up a new way of visualising the band and is a crossover of radio experimentation and computer tech, and it’s a developing part of the hacker and radio amateur communities too.. and who knows what direction that may lead to ? and long may it continue.. Have Fun..
If money’s no object, or if you really must have a VFO knob for your SDR, and let’s face it, most mouse-wheels are pretty crummy for making small or accurate incremental adjustments for any length of time, so you might want to treat yourself to something like the Griffin PowerMate controller .. it’s bluetooth, but it’s still hugely overpriced as it’s little more than a rotary encoder, i wouldn’t mind, but such devices have been around for several years already, and the Chinese manufacturers still haven’t got around to making them for a fiver yet, most you see on Ebay are from Japan or the USA, or if you like the idea, you could always make one… happy SDRing..
All work, text and images © GB7MB