In this guide I will be showing you how you can start decoding signals with rtl-sdr, sdrsharp & DSD+ such as DMR/MotoTRBO, D-Star, NXDN and more using a cheap RTL2832 DVB-T Dongle and some software freely available on the internet. The version of SDRSharp I am currently using at the time of writing this is v18.104.22.1680.
PREREQUISITE NOTICE: A decent working antenna system is implied here so if you haven’t got a decent working antenna system yet then please start there first. A good antenna system is the basis for all radio comms. This guide also assumes that you already have SDRSharp and your RTL2832 playing nicely together. If you don’t yet have your RTL Dongle and SDRSharp working, HERE is a complete guide to installing your RTL2832 Dongle with SDRSharp. Once you have SDRSharp up and running then please revisit this guide.
STEP ONE – Installing the DSD+ Decode Plugin for SDRSharp
A quick bit of background about this plugin. I found this nifty plugin after a few hours of searching the internet. I’m not sure who made it originally but I found it HERE via a search of this website. I have also hosted this plugin myself which can be found here: DSD Plugin for SDRSharp. This plugin acts as a “link” between SDRSharp and the DSD+ Decoding software that we’ll be installing later in step two.
To install this plugin simply extract the SDRSharp.DSD.dll into your SDRSharp installation folder.
Next you will need to open up the SDRSharp plugin file called plugins.xml and add the following line: <add key=”DSD” value=”SDRSharp.DSD.DSDPlugin,SDRSharp.DSD” />
To verify the plugin has installed you can now open up SDRSharp.exe and you should see the DSD Plugin installed and ready on the left hand side of SDRSharp
If you can see the DSD Plugin then you can close SDRSharp down and proceed on to the next step.
If you cannot see the DSD Plugin then you may need to install one of the newer net framework packages. I can’t remember which one off the top of my head but I’ll update this guide when I recall which one it is.
STEP TWO – Installing DSD+ Decoder Software
Visit http://www.dsdplus.com/download-2/ and download the FULL DSD+ Decoding package. At the time of writing this is DSDPlus1p101.zip.
Once downloaded you will need to extract everything from the DSDPlus1p101.zip file into your SDRSharp install directory.
You can install DSD+ as standalone in a different folder BUT I’ve found that everything works best when it’s in the one folder. I only found this out by accident when I came across a DMR signal which contained GPS Coordinates and I wanted to track them. DSD+ comes with a nice little program called LRRP which allows you to decode LRRP data and plot it in real time on a local map. When I first attempted this it didn’t work. I later discovered this was beacuse I was running DSD+ from a folder on my desktop and not from within my SDRSharp install folder. As soon as I copied all the DSD+ files into my SDRSharp folder, LRRP.exe worked floorlessly!
Once you have copied over the contents of the zip file to your SDRSharp install directory, you can proceed on to step three.
STEP THREE – LAME MP3 Encoder
In order for DSD+ to decode the signal into understandable audio you will need to install a copy of the lame mp3 encoder dll.
To do this you should download the lamemp3 dll from here at the time of writing this is available as libmp3lame-win-3.99.3.zip
Once you have downloaded the lame mp3 encoder, you will need to extract the lame mp3 dll into your SDRSharp folder.
When this is done, proceed onto step four.
STEP FOUR – Installing Virtual Audio Cables
In order for you to get your audio where it needs to be i.e. piped out of SDRSharp, into DSD+ to be decoded into audio and sent to the speakers or headphones, we need to do a little “jiggery-pokery” with Virtual Audio Cables to move the audio / signal around.
Your choice of Virtual cables is up to you but I use Virtual Audio Cables so I can only really guide / comment on that software alone.
For Virtual Audio Cable users you just want to enable ONE Virtual Output and ONE Virtual Line In. You can set the sample rate of these virtual cables to 4800 if you wish.
You should then make sure that your Virtual Line In is your DEFAULT RECORDING DEVICE!
STEP FIVE – Configuring and Setup Up the Software
Now that we have all the software, plugins & dlls etc installed it’s time to see what works and what doesn’t work.
The first thing to do is to start up SDRSharp.exe and make sure there are no errors or error messages popping up. If everything is okay then it’s time to start the RTL Dongle and tune to a frequency for decoding.
This is a sample of DMR100 for anyone that’s interested:
Next we need to go to the DSD+ Decode plugin in SDRSharp and configure it to use DSD+.
To do this go to the DSD+ Plugin in SDRSharp and click on CONFIGURE. A new window should open up as shown in the picture below.
At the top of the new window, click where it says DSD Path (click to edit) and another window will open up. You should then navigate to your SDRSharp install directory and click on DSDPlus.exe to tell the plugin where DSDPlus is installed. When you’ve done this, click OKAY. You don’t need to alter or edit anything else in the DSD Plugin config at this stage.
Now go back to the DSD Plugin in SDRSharp and click on the AUDIO DEVICE drop down selection. Here you will select your Virtual Audio Cable from the drop down.
Then CHECK the box marked ENABLE AUX AUDIO DEVICE.
Once that’s done you can click on START DSD.
Now a bunch of stacked windows should suddenly open up in the top left corner of your monitor. Don’t panic, that’s normal. It’s DSD+ starting up.
You should now see something that looks like this:
So at this point in time, if everything has been configured correctly and is working together you should have SDRSharp tuned to a frequency that DSD+ can decode and that distinct horrible data noise coming from your speakers. You may or may not have data in the DSD+ Window similar to mine (Slot info etc). Every computer system is slightly different so you may need to play around with the audio routing to get things just right.
You may also need to play around with tuning the frequency so that it’s spot on. Usually 12.5kHz bandwidth is enough but you can increase / decrease this as required. It’s also worth enabling and making use of the IF Filter in SDRSharp. This and a couple of other useful settings can be found in the FTT Zoom plugin and you enable them by checking the check boxes for each option. I have Enable IF, Enable Audio and Enable Filter checked. You can also fine tune using the IF window to get the signals centered correctly.
Decoding Signals with RTL-SDR, SDRSharp & DSD+ – SOME CONSIDERATIONS
DSD uses the default recording and playback devices which is why it’s important to set Virual Line IN as the default recording device. If you are not getting any audio out of SDRSharp and into DSD+ then this is the first place to check. When DSD first starts up it tells you what audio devices are available and which ones it is using.
Looking at the DSD window when it first opens up you will notice a bunch of reports on audio devices. The first 4 or 5 lines relate to what devices are available. The last two lines relate to the two devices DSD+ will be using. In my case Audio Input Device #1 (VLine1) which is audio from SDRSharp and Audio Output Device #1 (USB Speakers) which is where the decoded audio will be played.
You can verify that the audio is going to the right place using the Audio Indicator window which opens up with DSD. No signwave, no audio.
You can change which audio devices DSD uses from within the DSD plugin in SDRSharp. To do this you will need to stop the DSD Plugin and the open CONFIGURE.
Under the section INPUT/OUTPUT are two options. One for the Input device and one for the Output device.
To change which input device DSD listens to, you can change the number to the corresponding INPUT device. The device numbers are listed in the DSD window when it first starts up as shown in the previous screenshot. To use Input Device #1 select 1. To use Input Device #2 select 2 and so on. The same goes for the Output. If you have more than one output device you can output the decoded audio to that instead of the default speakers.
Once you’ve got everything “dialed” in and working you will hear audio coming out of your speakers. At which point you may go to the DSD Plugin in SDRSharp and check the box marked MUTE THIS FREQUENCY. What this will do is kill the raw audio coming from SDRSharp while leaving the decoded audio to continue.