Back
Featured image of post Decoding POCSAG on Ubuntu with a RTL-SDR dongle

Decoding POCSAG on Ubuntu with a RTL-SDR dongle

Using a RTL-SDR device to decode POCSAG messages in the air.

POCSAG is an asynchronous protocol used to transmit data to pagers. The family of POCSAG protocols can operate at three speeds, 512 bits per second (the original specification speed) is the base standard.

POCSAG decoding
POCSAG decoding

Hardware

  • One computer running Ubuntu
  • 1 DVB-T USB receiver (usually used to receive HD TV on computers)
    RTL SDR usb module
    RTL SDR usb module

Software

  • OS : Ubuntu 16.04.1 LTS
  • Driver : Rtl-sdr
  • Software defined radio receiver (SDR) : Gqrx
  • Decoder : Multimon-ng

Installation

Preparation

Let’s install first all the tools that we’ll need :

sudo apt-get update
sudo apt-get upgrade
sudo apt-get -y install git cmake build-essential libusb-1.0 libusb-1.0-0-dev qt4-qmake libpulse-dev libx11-dev

Rtl-sdr

Clone it from git, compile and install :

git clone git://git.osmocom.org/rtl-sdr.git
cd  rtl-sdr
mkdir build
cd build
cmake ../ -DINSTALL_UDEV_RULES=ON
make
sudo make install
sudo ldconfig
cd ~
sudo cp ./rtl-sdr/rtl-sdr.rules /etc/udev/rules.d/
sudo reboot

Gqrx

On Ubuntu, it’s really easy to install Gqrx :

sudo apt-get update
sudo apt-get install gqrx-sdr

Multimon-ng

Clone it from git, compile and install :

sudo apt-get update
mkdir multimon-ng
cd multimon-ng
mkdir build
cd build
qmake ../multimon-ng.pro
make
sudo make install

Gqrx

You can start Gqrx and then :

  • Start DSP processing (in red)
  • Adjust frequency to a POCSAG frequency (in blue)
  • Start UDP streaming (in green)
  • Adjust parameters as below (in pink)
    GQRX configured for POCSAG
    GQRX configured for POCSAG
    The short burst of data are POCSAG data. Let’s decode it !

Multimon-ng

Here is the command to decode the POCSAG messages :

nc -l -u 7355 |     sox -t raw -esigned-integer -b16 -r 48000 - -esigned-integer -b16 -r 22050 -t raw - | multimon-ng -t raw -a SCOPE -a POCSAG512 -a POCSAG1200 -a POCSAG2400 -f alpha -
Then, when you’ll hear a POCSAG data, you should be able to read the decoded data in the terminal :
Decoded pocsag
Decoded pocsag

comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy