DSD+ is a popular Windows digital decoding program that handles various digital protocols. I’m going to install and use it with WINE on Ununtu 18.04. The example I’ll show here today is a digital trunking control channel that the local Emergency Services uses. Without DSD+ the signal will sound like this:
So anyway my assumptions are that you have an RTL-SDR device and a program such as GQRX installed AND you are receiving a digital signal that DSD+ is capable of decoding.
Navigate to the Download page of DSD+ and get the Program and the DLL files at a minimum. It is HIGHLY RECOMMENDED to sign up for and use the DSD+ Fastlane releases (which cost money) although for simplicity the original, old version will work for simple decoding. If you PayPal the developer $10 he’ll give you a year of Fastlane releases and I think $25 buys the lifetime subscription.
Anyway just unzip the Program Files and DLL files to a directory. That’s it. Then if you have the Fastlane files just drag and drop them into that directory and allow them to replace the older files.
Now lets install WINE. One easy way to do that is to go to the Software Center and install an app called PlayOnLinux or you can do it from the command line with
sudo apt-get install wine
sudo apt-get install wine-developmental
Now you need to be able to pipe the audio from your SDR program directly into DSD+. In Windows you use a program called Virtual Audio Cable however in Ubuntu Linux it is much easier than that.
Open a Pulseaudio file with this command
sudo nano /etc/pulse/default.pa
At the bottom of the file add this line:
load-module module-null-sink sink_name=Virtual_Sink sink_properties=device.description=Virtual_Sink
It should be all on one line like so:
Now restart Pulseaudio or reboot. When you come back one of your audio options in GQRX (or any SDR Program) will be “Virtual Sink”. Select that and your sound will mute.
Now install something called Pavucontrol.
sudo apt-get install pavucontrol
Launch it with the same command. pavucontrol
On the Playback tab make sure GQRX is outputting audio on the Virtual Sink and make sure dsdplus.exe is outputting audio on Built-In Analog Stereo. (I realize at this point I haven’t had you start DSDplus) You can start DSD+ by opening a command prompt and going to your folder where it resides (mine is in a folder called dsd) and typing the following command:
It will look like this when you are tuned to a digital channel”
Now back to Pavucontrol. Here are what the pavucontrol settings look like:
Now on the Recording tab make sure dsdplus.exe is set to “Monitor of Virtual_Sink”
Now with GQRX on a digital channel, the audio piped to Virtual Sink, and DSD+ open, and Pavucontrol set as above you should be decoding audio like this:
You done did it! I want to point out that this is a trunked channel and you were listening to audio from only one frequency. There is a way to have DSD+ sit on the Control Channel and output audio from ALL THE TRUNKED CHANNELS. I did not do this here. I only showed you how to pass audio through from a digital signal. This will work with DMR radio, or P25 radios. For example large chain stores, large restaurants, hotel transportation centers, shopping malls, school bus districts will use Digital P25 radios that just use one channel. Recently I sat in the airport in Atlanta and found the channel the baggage handlers use and listened to that ballet of moving bags around quickly. Interesting.
A user over at rtl-sdr.com has found a way to add all the channels on a trunked system (except you don’t add the Control Channel) to GQRX and create a scan group. So suppose you have a control channel with say 7 or 8 channels assigned, you can just add those 7 or 8 channels and scan through them with DSD+, GQRX, and GQRX Scanner. Brilliant idea. You can’t add the Control Channel because it is always transmitting and your scanner would always stop and just stay there. He uses a HackRF which has ample bandwidth as well for tracking larger systems.
Using a program such as SDRTrunk might be easier for beginners. SDRTrunk is awesome but I’m all about the way it is done above as well. Very elegant way to tackle a problem.
Anyway hope this helps someone! Check my contact page if you have anything to say about this.