User Tools

Site Tools


ham:rtl-airband

This is an old revision of the document!


RTLSDR-Airband

Ce logiciel est normalement destine a l’écoute des bandes Aviation. Mais il offre un certain nombre d'options inintéressante pour la Radio Amateur.

  • L’écoute simultané de plusieurs fréquences
  • la démodulation narrow FM.
  • L'enregistrement lors d'une émission.
  • Plusieurs mode de sorties: Pulse Audio, UDP, IQ Brut

Par exemple avec une simple cle RTL-SDR qui a une capaticite de reception de 3 Msps, il est possible plusieurs d'avoir les 2 Mhz de la bande 2 metres (144Mhz-146Mhz)

Installation

RTLSDR-Airband

Pre-requis

Lib & packages
build-essential cmake pkg-config libmp3lame-dev libshout3-dev 'libconfig++-dev' libfftw3-dev
libpulse-dev
librtlsdr-dev
libsoapysdr-dev
google-perftools libgoogle-perftools-dev

Compilation

cmake -DPLATFORM=native -DNFM=ON -DMIRISDR=OFF -DPROFILING=ON ../
-- Build type not specified: defaulting to Release
-- Found lame includes: /usr/include/lame/lame.h
-- Found lame library: /usr/lib/aarch64-linux-gnu/libmp3lame.so
-- Checking for SoapySDR
--   SoapySDR found, /usr/include, SoapySDR
-- RTLSDR-Airband configuration summary:

-- - Version string:            v5.2.0
-- - Build type:                Release
-- - Operating system:          Linux
-- - SDR drivers:
--   - librtlsdr:               requested: ON, enabled: TRUE
--   - mirisdr:                 requested: OFF, enabled: FALSE
--   - soapysdr:                requested: ON, enabled: TRUE
-- - Other options:
--   - Platform:                native
--   - Build Unit Tests:        FALSE
--   - Broadcom VideoCore GPU:  FALSE
--   - NFM support:             ON
--   - PulseAudio:              requested: ON, enabled: TRUE
--   - Profiling:               requested: ON, enabled: TRUE
--   - Icecast TLS support:     TRUE
-- Configuring done (0.3s)
-- Generating done (0.1s)
-- Build files have been written to: /opt/build/RTLSDR-Airband/build
$ make 
[  5%] Generating version.cpp, _version.cpp
[ 10%] Building CXX object src/CMakeFiles/rtl_airband_base.dir/config.cpp.o
[ 15%] Building CXX object src/CMakeFiles/rtl_airband_base.dir/input-common.cpp.o
[ 20%] Building CXX object src/CMakeFiles/rtl_airband_base.dir/input-file.cpp.o
[ 25%] Building CXX object src/CMakeFiles/rtl_airband_base.dir/input-helpers.cpp.o
[ 30%] Building CXX object src/CMakeFiles/rtl_airband_base.dir/mixer.cpp.o
[ 35%] Building CXX object src/CMakeFiles/rtl_airband_base.dir/output.cpp.o
[ 40%] Building CXX object src/CMakeFiles/rtl_airband_base.dir/rtl_airband.cpp.o
[ 45%] Building CXX object src/CMakeFiles/rtl_airband_base.dir/squelch.cpp.o
[ 50%] Building CXX object src/CMakeFiles/rtl_airband_base.dir/ctcss.cpp.o
[ 55%] Building CXX object src/CMakeFiles/rtl_airband_base.dir/util.cpp.o
[ 60%] Building CXX object src/CMakeFiles/rtl_airband_base.dir/udp_stream.cpp.o
[ 65%] Building CXX object src/CMakeFiles/rtl_airband_base.dir/logging.cpp.o
[ 70%] Building CXX object src/CMakeFiles/rtl_airband_base.dir/filters.cpp.o
[ 75%] Building CXX object src/CMakeFiles/rtl_airband_base.dir/helper_functions.cpp.o
[ 75%] Generating version.cpp, _version.cpp
[ 80%] Building CXX object src/CMakeFiles/rtl_airband_base.dir/version.cpp.o
[ 85%] Building CXX object src/CMakeFiles/rtl_airband_base.dir/input-rtlsdr.cpp.o
[ 90%] Building CXX object src/CMakeFiles/rtl_airband_base.dir/input-soapysdr.cpp.o
[ 95%] Building CXX object src/CMakeFiles/rtl_airband_base.dir/pulse.cpp.o
[ 95%] Built target rtl_airband_base
[100%] Linking CXX executable rtl_airband
[100%] Built target rtl_airband
$ sudo make install
[  5%] Generating version.cpp, _version.cpp
[ 10%] Building CXX object src/CMakeFiles/rtl_airband_base.dir/version.cpp.o
[ 95%] Built target rtl_airband_base
[100%] Linking CXX executable rtl_airband
[100%] Built target rtl_airband
Install the project...
-- Install configuration: "Release"
-- Installing: /usr/local/bin/rtl_airband

Pipewire

Installation

sudo apt install pipewire pipewire-pulse wireplumber
systemctl --user restart pipewire pipewire-pulse wireplumber

wiremix

sudo apt install libpipewire-0.3-dev clang cargo
cargo install wiremix --locked

Configuration

  • 2m-band.config

2m-band.config

QRG Mhz Description Mode / BW / Demode
144,350 Pager Ham nFM 22050 POCSAG1200
144,800 APRS nFM 22050 AFSK1200
144,500 Images, SSTV, FAX… nFM
144,600 Modes numériques, RTTY… nFM
145,075 Relais R3 FKIO ARA35 nFM 12000
145,3875 Relais local ARA35 nFM 12000
145,500 FM fréquence d'appel nFM 12000
145,450 Communications d'urgences FRANCE (FM dégagement 1) nFM 12000
145,4625 Communications d'urgences FRANCE (FM dégagement 2) nFM 12000
145,475 Communications d'urgences FRANCE (FM fréquence principale) nFM 12000
145,800 ISS Contact nFM 12000

APRS / Pager decoder

multimon-ng sox
  • APRS
nc -lun 127.0.0.1 1235 | sox -t raw -efloating-point -b32 -r 16000 - -esigned-integer -b16 -r 22050 -t raw - | multimon-ng -v 3 -t raw -A -a AFSK1200 --timestamp - | tee -a APRS.log
  • Pager
nc -lun 127.0.0.1 1234 | sox -t raw -efloating-point -b32 -r 16000 - -esigned-integer -b16 -r 22050 -t raw - | multimon-ng -t raw -f auto -a POCSAG1200 -v 3 --timestamp - | tee -a POCSAG1200.log

Troubleshooting

GPU support

???
$ cmake -DPLATFORM=rpiv2 -DNFM=ON -DMIRISDR=OFF -DPROFILING=ON ../
-- Build type not specified: defaulting to Release
-- Found lame includes: /usr/include/lame/lame.h
-- Found lame library: /usr/lib/aarch64-linux-gnu/libmp3lame.so
-- Checking for SoapySDR
--   SoapySDR found, /usr/include, SoapySDR
-- RTLSDR-Airband configuration summary:

-- - Version string:            v5.2.0
-- - Build type:                Release
-- - Operating system:          Linux
-- - SDR drivers:
--   - librtlsdr:               requested: ON, enabled: TRUE
--   - mirisdr:                 requested: OFF, enabled: FALSE
--   - soapysdr:                requested: ON, enabled: TRUE
-- - Other options:
--   - Platform:                rpiv2
--   - Build Unit Tests:        FALSE
--   - Broadcom VideoCore GPU:  TRUE
--   - NFM support:             ON
--   - PulseAudio:              requested: ON, enabled: TRUE
--   - Profiling:               requested: ON, enabled: TRUE
--   - Icecast TLS support:     TRUE
-- Configuring done (0.3s)
-- Generating done (0.1s)
-- Build files have been written to: /opt/build/RTLSDR-Airband/build
$ make 
[  3%] Generating version.cpp, _version.cpp
[  7%] Building CXX object src/CMakeFiles/rtl_airband_base.dir/config.cpp.o
c++: error: unrecognized command-line option ‘-mfpu=neon-vfpv4’
c++: error: unrecognized command-line option ‘-mfloat-abi=hard’
make[2]: *** [src/CMakeFiles/rtl_airband_base.dir/build.make:86: src/CMakeFiles/rtl_airband_base.dir/config.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:131: src/CMakeFiles/rtl_airband_base.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
ham/rtl-airband.1780917504.txt.gz · Last modified: by djo