PMR446 decoding
PMR446 decoding is about receiving a PMR446 signal on 446 MHz and extracting the information it carries, usually voice and sometimes extra signalling data.
Introduction
PMR446 (Personal/Private Mobile Radio) is a licence‑free walkie‑talkie service in Europe that uses frequencies around 446 MHz. Digital signals could also be broadcasted using frequencies around 466 Mhz to 469 Mhz.
It was designed for short‑range communication (families, small businesses, events) with low power and fixed antennas.
Decoding PMR446
Decoding analogue PMR446 signal means :
- Demodulating narrow‑band FM so you can hear the voice.
- Detecting and interpreting sub‑audio tones (CTCSS) or digital codes (DCS) that act as “privacy codes” to mute other users on the same channel.
Decoding digital PMR446 signal means :
- Demodulating the 4‑level FSK digital signal on the 446 MHz channels.
- Decoding the digital voice (vocoder) plus signalling like colour codes, talkgroups and IDs that separate user groups on the same frequency.
Practical decoding
A simple PMR446 walkie‑talkie “decodes” automatically: it takes the RF signal, demodulates it, checks the right CTCSS/DCS or colour code/talkgroup, and plays audio only if it matches.
A scanner or SDR connected to a PC can decode PMR446 by tuning to 446 MHz, applying the correct demodulation (FM or digital), then showing or playing the decoded audio and metadata (codes, talkgroups, IDs).

(source: rtl-sdr.com)
Quick tutorial for analogue signals
- run
gqrxsoftware defined radio - search for active frequency around
446.000 Mhz - select NFM decoding mode
Quick tutorial for digital signals
- run
gqrxsoftware defined radio - search for active frequency around
466.000 Mhz - select NFM decoding mode
- stream output to
localhostusingUDP -
run
netcatto forward UDP traffic todsdncat -l -u -p 73355 | dsd -i - -o pa:1 -
if you get error message such as
Unknown burst type: 1101, try changingNFMdecoder settings :max_dev = 25kHz tau = off