New Version of Digital Speech Decoder DSD+ 1.071 Released

The latest version of Digital Speech Decoder+ (DSD+) has just been released, bringing it up to version 1.071. There appears to be no changelog, so we are unsure as to what is new, but one obvious change is that they now include a new program called FMP which is a simple NFM demodulator, similar to rtl_fm, although it does have a GUI with point and click tuning. FMP can be used as a replacement for SDR# or similar software, and is especially useful to use on low end devices such as netbooks.

An active discussion on the latest release of this software can be found in this thread on the RadioReference.com forums.

The FMP NFM demodulator tuned to a MotoTRBO signal.
The FMP NFM demodulator tuned to a MotoTRBO signal.

DSD+ is a Windows program which can be used to decode and listen to digital voice protocols such as D-STAR, NXDN4800, NXDN9600, DMR/MotoTRBO, P25 Phase 1, X2-TDMA and ProVoice with an RTL-SDR or other radio. On some DMR systems you may also be able to use the included LRRP software, which allows you to view the GPS locations of broadcasting radios. The last major release was version 1.05.


The DSD+ team are now also offering a “fast lane” early access program, which for a small donation will allow you to have early access to new and upcoming DSD+ features. They aim to release a new update to donators every 7 to 30 days, while stable public releases will continue to be released every 4 to 6 months. The donation costs $10 for one year of early access, and $25 for lifetime updates. Some features they are currently working on include:

  • Better tablet support
  • IDAS/NEXEDGE/Cap+/Con+/TIII trunk voice following
  • Per-call audio recordings
  • Other needed DSD+ upgrades
  • FMP upgrades
    • Squelch
    • Drift tracking
    • Selectable sampling rates
    • Adjustable windows sizes
    • TCP client/server mode (eliminates VAC / VB-C)
    • Multiple VFOs
    • Airspy support

RTL-SDR Tutorial: Following Trunked Radio with Unitrunker

The popular trunking decoding software Unitrunker now supports the RTL2832U R820T RTL-SDR directly in its new version. This means that extra SDR receiver software like SDR# is no longer required to use Unitrunker.

You can download the latest version of Unitrunker here.

In a normal radio system, one company (or talkgroup) might use a single frequency for radio communications. However, this is very inefficient as the frequency may not be in use for the majority of the time. In a trunked radio system, a small set number of frequencies are shared between a large number of talkgroups. Each radio receives a special computer controlled control channel. The control channel determines a vacant frequency that a particular talkgroup should use. This helps to make radio frequency allocations more efficient.

Because a talkgroup might switch between various frequencies often, it can make listening to a conversation difficult for radio scanners. Unitrunker can be used to decode the control channel and follow a voice conversation as it hops across various frequencies. With two RTL-SDR dongles you can set up a trunking receiver station with just Unitrunker. What follows below is a tutorial on how to set this up.

Continue reading

Improved Digital Voice P25 Decoding with DSD+

Update: This post is now very old. The latest version of DSD+ can now to found at www.dsdplus.com.

Over on Reddit we've seen mention of an upgraded Digital Speech Decoder (DSD) program, named DSD+. The original DSD is a program that can be used in conjuction with a SDR receiving program such as SDR#, and an audio piping program like VBCable to decode digital speech, such as P25 and DMR/MOTOTRBO.

DSD+ claims to have improved decoding and audio quality capabilities. An audio sample from a weak P25 sample can be found here for DSD+, and for comparison here for the old DSD.

DSD+ can be downloaded from this megaupload link.

To run DSD+. you will need to place an MP3 encoder file lame_enc.dll into the same folder as the dsd.exe executable. This file is not included with DSD+ due to licencing. For Windows, lame_enc.dll can be downloaded from http://lame1.buanzo.com.ar/#lamewindl (Mega Mirror). Download the ZIP option, and then copy the dll file into the same folder as DSD+.

If you don't know how to use DSD, see our tutorial on using DSD here, and if desired simply use DSD+ instead of the original DSD. (Note cygwin is not required for DSD+)

DSD+ Output
DSD+ Output

New DSD Block Available for GNU Radio

The popular digital speech decoder (DSD) software has now been wrapped into a GNU Radio Companion block. Previously, DSD required use of virtual audio cables to get decoding to work with GNU Radio, but now the signal audio can be passed directly into this block.

Luke Berndt from the HackRF-dev forums has posted his work to make the functionality of DSD available to GNU Radio users in the form of a GRC block. “I have been playing around a bit and found an easy way to receive and playback digital LMR. More and more of the radio systems are going from narrow band FM to Digital. This makes it tough to listen to them on GQRX. DSD is a great program which can decoded the audio you get when you tune in a system in GQRX, but you either have to run it on another machine with a audio cable in between or figure out how to do a virtual audio cable on your machine.

Luckily, someone wrapped the DSD libraries so they can be accessed as GRC blocks. I have put together a GRC file and a Python program that make it a little easier to use the block.

If you have a chance, give them a try and let me know if they work. There is a good chance I have messed up the values in the filters or else where, but I have gotten clean audio out of it.”

Download the files from GitHub.

DSD is a Linux and Windows software program capable of decoding popular digital speech codecs such as APCO P25 and MOTOTRBO/DMR.

Via DangerousPrototypes

RTL-SDR Tutorial: Decoding Digital Voice (P25, DMR, NXDN, D-STAR) with DSD

The RTL-SDR software defined radio combined with SDRSharp and a program called “digital speech decoder” (DSD) can be used as a radio scanner to easily and cheaply listen to unencrypted digital radio voice conversations.

Digital radio voice communications are becoming more commonly used in the radio spectrum. This is due to the various improvements offered over traditional analogue voice radio systems. Unfortunately for radio scanner hobbyists, digital radio is difficult to receive, as special radio scanners which can be expensive are required to decode the digital signal. Additionally, digital radio systems can be encrypted making it impossible for communications to be decoded by a hobbyist. However, most users of digital radio do not bother to encrypt their systems as it can introduce lag, monetary expense and extra battery drain in portable radios.

The most common digital speech codec is APCO P25, which DSD is able to decode. DSD is also capable of decoding other common digital codecs such as DMR/MOTOTRBO, NXDN, D-STAR and ProVoice.

Super cheap software defined radios such as the RTL-SDR can be used to decode these digital voice communication signals instead of expensive radio scanners. While this tutorial is aimed at the RTL-SDR, other software radios such as the Funcube dongle, Airspy, HackRF and BladeRF will also work. Hardware radios with discriminator taps connected to a PC may also work.

Examples of DSD Decoding Digital Voice with RTL-SDR as a Radio Scanner

YouTube user Geoff Wolf shows a video where he uses RTL-SDR as a police scanner to listen to public safety P25 digital radio using DSD, SDRSharp and virtual audio cable.

RTL-SDR: Decoding P25 Phase I QPSK with DSD and SDR#

Continue reading