Tagged: P25

P25 Decoding: OP25 + RTL-SDR vs a Uniden BCD996T

APCO P25 is a digital voice signal and is commonly used like public safety departments such as police and fire. With an RTL-SDR and the open source Linux based OP25 decoder these signals can be decoded, assuming they are unencrypted. Software like DSD+ can also be used, but OP25 can supposedly decode more systems. Before the RTL-SDR, hardware scanners like the $~360 USD Uniden BCD996T digital scanner radio were typically used. 

Over on YouTube user Rob Fissel has uploaded a video showing a comparison between an RTL-SDR using the OP25 decoder and a Uniden BCD996T. Both radios are used to decode a weak P25 Phase 1 LSM signal. He uses a Scantenna antenna with an antenna splitter to run both radios at the same time. His results show that even though the constellation is poor, OP25 does a good job at decoding the signal and producing voice, whereas the BCD996T doesn’t even manage to hear the control channel.


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

Monitoring a Trunked P25 LSM Simulcast System with OP25 and an RTL SDR

Over on YouTube user jdlucas78 has uploaded a video showing a P25 LSM modulated digital voice signal being decoded by the Osmocom OP25 software for Linux. Although DSD and DSD+ can decode P25 voice, it seems that the Osmocom OP25 software is better at decoding P25 signals as it implements better error correction algorithms.

Over on the RadioReference forums there is a thread discussing the use of the OP25 decoding software which can be found here. There is a post in the thread that shows an easy Linux install procedure for the OP25 software.


DSD+ Version 1.5 Released

Version 1.5 of Digital Speech Decoder Plus (DSD+) has been released. DSD+ is a popular Windows software tool used for decoding digital speech such as P25 with the RTL-SDR. The latest version comes with a simple GUI interface that has an event log that shows call target and source ID history and an audio waveform plot which can help determine if DSD+ is receiving audio correctly. This version of DSD+ has the ability to decode the following protocols.

  • D-STAR
  • NXDN4800
  • NXDN9600
  • DMR/MotoTRBO
  • P25 Phase 1
  • X2-TDMA
  • ProVoice

In addition to the above, the new version comes with an LRRP decoder and display program which should allow you to see on a map the GPS location of broadcasting radios.

DSD+ V1.51 can be downloaded from this link. The forum thread on RadioReference where the developer releases and discusses the DSD+ software can be found here.

This version of DSD+ comes with all the files needed to make it run already. To use DSD+ V1.5 simply extract the zip file into a folder and double click on DSDPlus.EXE. DSD+ will listen to your default audio device that is set in the Windows sound recording properties. Simply tune to a digital voice signal in SDR# or any other SDR receiver and set the output audio settings accordingly. To start the LRRP display program simply open LRRP.exe.

DSD+ V1.5 LRRP GPS Display
DSD+ V1.5 LRRP GPS Display

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

RTL-SDR DSD Call Log Recorder

Programmer Tyler Watt has been working on software that automatically logs each call from an RTL-SDR running DSD (Digital Speech Decoder) and then stores it in a time stamped database as an mp3 file. There is also a web front end for the database which allows public users to search and play recorded calls.

Recently Tyler updated his code by rewriting it in PHP and making it multiplatform.

The old version of his web front end in action for his local P25 calls can be viewed here, and the newer one can be found here.

Improved Digital Voice P25 Decoding with DSD+

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

EDIT: There is now a new version of DSD+ see http://www.rtl-sdr.com/dsd-version-1-5-released/.

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