RTL-SDR Tutorial: Following Trunked Radio with Unitrunker

March 25, 2014 admin

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.

Unitrunker Voice Trunking Following Tutorial

To set up a trunking station we will assume that you have been through the Quickstart guide and thus have a working RTL-SDR setup. In addition you will need

  1. 2x R820T RTL2832U RTL-SDR dongles. See the Buy RTL-SDR dongles page if you don’t already have two. You will need one dongle to receive the control channel and one dongle to receive the voice channel. Only the R820T appears to be supported at the moment.
  2. The Unitrunker software (Choose the latest version from
  3. One antenna that splits into two connections for the two dongles, or two antennas that can receive the trunking frequencies you are interested in.

Now follow these steps to set up Unitrunker with the RTL2832U.

Setting up the Signal (Control Channel) Receiver

  1. First determine a trunking control channel that you are interested in monitoring. You can use SDR# or a similar program to search for these first. They will be signals that are continuously transmitting with no breaks. Here are some examples of some common trunking modes. The are commonly found in the 400 and 800 MHz bands.
APCO P25 Trunking Channel
EDACS96 Trunking Channel
Motorola 2F1D
Motoroal 2F1D Trunking Channel
MPT 1327
MPT1327 Waterfall Image 
  1. Plug in both dongles and then open Unitrunker.
  2. Press the ‘Add new receiver’ button add_new_rcvr_button, and then on the bar that pops up click on the RTL2832 button.

    Add Receiver

  3. In the new window that pops up change the Role to Signal.
  4. Under the Signal heading change the RTL Device to the stick that be used for the control channel.
  5. Type in your dongles frequency offset in PPM in Correction.
  6. Make sure that Mute is checked.
  7. Change the Park value to the frequency of the trunking channel that you wish to monitor.
  8. Under Decode check all the protocols that you are interested in listening to.
  9. Now at the top of this window press the Play button play_button_unitrunker. A new window should soon pop up and the value of the Protocol setting under the Decode heading should change to the trunking protocol detected.If the window does not pop up, either increase the Gain value or turn on the Auto Gain setting. If no window still pops up, set the Audio Output setting to your speakers and uncheck the mute button. Listen to see if the trunking channel is being correctly played through your speakers. If not, you may need to fine tune the frequency further by adjusting the Correction value.

    Signal Channel Settings
    Signal Channel Settings

  10. If the signal is strong enough, a new window should pop up. This new window shows the frequencies in use, and logs each call. If the frequencies are not showing, click the ‘Wizard’ button unitrunker_wizard_button whose icon looks like a calculator. Then choose the system used in your country. If unsure, try ‘Standard’ first.

    Frequency and Call Log Window

  11. Close the Receiver R820T options window for the signal channel and go back to the main Unitrunker Window.

Setting up the Voice Channel Receiver

Now that we have added the signal receiver and decoder we will add the voice receiver.

  1. Press the ‘Add new receiver’ button add_new_rcvr_button once again, and then on the bar that pops up click on the RTL2832 button.
  2. This time for the role choose ‘Voice’.
  3. For the RTL Device, choose your second RTL-SDR dongle.
  4. Set the gain and PPM offset appropriately.
  5. Choose the Audio Output as your speakers and make sure that Mute is not checked.
  6. Set the ‘Park’ frequency to zero.
  7. If desired, set the squelch to a value that is similar to what you might use in SDR#. The squelch will stop static from playing when there is no voice signal. You may wish to leave this at zero for now, and then tune it with trial and error later when you have everything going.

    Voice Channel Settings
    Voice Channel Settings

  8. Press the Play button play_button_unitrunker.

Enabling Unitrunker Following

Now we will make sure that Unitrunker is set to allow the voice receiver to follow calls from the signal channel.

  1. Go back to the main Unitrunker window and click on the Option tab at the bottom of the window.
  2. Make sure that Enable is checked under Listen. This will allow the voice channel to follow the trunking information from the control signal.

    Unitrunker Global Options

At this point your trunking receiver should now be up and running!

Decoding Digital Voice (P25/DMR/Mototrbo/NXDN/ProVoice)

Decoding of unencrypted digital voice signals like P25/DMR/Mototrbo can be set up in the same way as the analog system shown above. However, instead of outputting audio to the speakers, audio should be output to a virtual audio pipe such as Virtual Audio Cable (VAC) or VB Cable using the Digital Output audio selection in Unitrunker. Then DSD+ should be used to listen to the audio pipe. Audio will only be piped to the Digital Output during a digital call.

Unitrunker Digital Audio Output
Unitrunker Digital Audio Output

DSD+ is a program that is capable of decoding digital voice protocols such as P25, DMR/Mototrbo, NXDN and ProVoice. It is not capable of decoding encrypted digital voice channels. DSD+ is similar to DSD 1.6, but it has vastly improved decoding in terms of voice quality. You can find the latest download for DSD+ in this RadioReference forum thread. As the thread is long, a direct download to version 1.51 is linked here

To run DSD+ simply double click on DSDPlus.exe. This will open up several windows. DSD+ will listen to the default sound device in the Windows audio recording properties.

Make sure that the Deemphasis option in Unitrunker is turned OFF for the voice receiver to make it work with DSD+.


  • For digital voice you may need to play with the Windows volume settings of your audio pipe to improve decoding.
  • You will require a decent antenna that is capable of receiving the trunking frequencies you are interested in.
  • Unitrunker can be coupled with a account to get trunk group names.

If you enjoyed this tutorial you may like our ebook available on Amazon.

The Hobbyist’s Guide to the RTL-SDR: Really Cheap Software Defined radio.

The post RTL-SDR Tutorial: Following Trunked Radio with Unitrunker appeared first on