Decoding DMR on an SDR
Overview
My current settings and set up for listening to DMR over my SDR
SDRplay RSP1A
My current SDR is a SDRplay RSP1A which comes with the SDRUno software package. It's an excellent SDR for listening to Airband, Shortwave broadcast, FM broadcast and with an add-in DAB and DAB+ broadcast stations. Of course, I can also use it to listen to the amateur bands. One area that I hadn't really explored was digital voice.
Digital Voice
There are three widely used Digital Voice systems:
- DMR
- D-Star
- Yaesu System Fusion (YSF)
I'm going to start with DMR.
DSD Plus
DSD Plus is a software suite that can be used to decode DMR data received on my SDR. In order to do that, I needed to configure SDRUno, pipe the audio down a virtual audio cable to DSD+ and then run DSD+ in the right mode. Let's cover each in turn.
SDRUno Settings
SDRUno was a tricky one to get set up correctly. A little internet searching revealed a few key settings shown on the picture below.
First, select Narrowband FM (NFM) and I set the filter to 12k and turn off Noise Reduction (NR) and Noise Blanking (NBOFF). Also I turn off the squelch (SQLC) and set the volume to between a third and a half.
Additionally, on the EX Control panel (click EXW no the RX Control title bar to get EX Control Panel up), I turned DEEM off (i.e. DEEM is not lit), and disabled de-emphasis (OFF). I also ensured that Mono reception was enabled (MONO).
Virtual Audio Cable
A number of virtual audio cable solutions exist, which every one you choose, you need to send the output of the SDRUno software to the cable. Select the RX Control Settings button, select the OUT tab and pick the audio cable from the WME Output Device drop down. See the picture below.
DSDPlay
Finally, we need to run DSDPlay and tell it on the command line to pick our virtual audio cable as the input and our speakers as our output - assuming you want to hear the decoded speech.
I use Windows Terminal over Powershell or Command Prompt as its is the 21st Century and I can use ls instead of dir! My commands are
1cd <pathtoDSDPlus>\DSDPlus1p101
2DSDPlus.exe -i4 -o1 -fa
First run DSDPlus.exe to get it to list your audio sources and then -i selects the input and -o the output. For my setup, my input is 4 and my output is 1.
1DSD+ 1.101pt
2DSDPlus -h for help summary
3
4Appending synthesized audio to file 'DSDPlus.wav'
50 frequency records loaded
615 radio records loaded
75 group records loaded
80 site records loaded
90 network records loaded
10
11audio input device #1 = 'Microphone (Jabra SPEAK 510 USB'
12audio input device #2 = 'Line (Elgato Sound Capture)'
13audio input device #3 = 'Line (VB-Audio VoiceMeeter VAIO'
14audio input device #4 = 'CABLE Output (VB-Audio Virtual '
15audio input device #5 = 'Microphone (Steam Streaming Mic'
16
17audio output device #1 = 'DELL U2719D (NVIDIA High Defini'
18audio output device #2 = 'Realtek Digital Output (Realtek'
19audio output device #3 = 'Speakers (Steam Streaming Speak'
20audio output device #4 = 'Speakers (Jabra SPEAK 510 USB)'
21audio output device #5 = 'CABLE Input (VB-Audio Virtual C'
22audio output device #6 = 'Speakers (Steam Streaming Micro'
23audio output device #7 = 'Monitor (NVIDIA High Definition'
24
25audio input device #1 (Microphone (Jabra SPEAK 510 USB) initialized
26audio output device #1 (DELL U2719D (NVIDIA High Defini) initialized
27
28D-STAR decoding enabled
29NXDN4800 decoding enabled
30NXDN9600 decoding enabled
31DMR/MotoTRBO decoding enabled
32P25 Phase 1 decoding enabled
33X2-TDMA decoding enabled
34ProVoice decoding enabled
35
36Mono audio decoding initiated; press Esc to exit...