Ceci est une ancienne révision du document !
Clef USB (DAB/DVB-T) basée sur le chip RTL2832U utilisée comme récepteur SDR.
Permet de corriger la dérive en fréquence propre à chaque clef RTL-SDR.
$ rtl_test -p
Laisser tourner un certain temps jusqu'à ce que la valeur indiquée se stabilise. Ça sera le facteur de correction pour les applications utilisées avec la clef.
# EXAMPLES $rtl_433 -p 76 -f 433.92M -f 434.1M -H 15 -C si $rtl_433 -p 76 -f 433.9M -f 433.92M -f 433.94M -f 433.96M -f 433.98M -f 434M -f 434.02M -H 15 -C si -v
# Exemples de lecture du flux UDP # Avec DSD : $ socat UDP-RECV:7355 - | ./dsd -i /dev/stdin
rtl_fm -f 144.8M -s 22050 -p 33 -g 43.9 [-l 125] -o 4 - | ./multimon-ng -t raw -A -a AFSK1200 -
-f 144.8M
➜ fréquence 144.800 MHz -s 22050
➜ samplerate 22050 (ce qui est attendu par multimon-ng avec le type “raw” en entrée-p 33
➜ correction de 37ppm pour ma clef RTL_SDR #1-g 42
➜ gain 43.9dB (dépend de la clef)-l 350
➜ squelch (pas utile)-o 4
➜ oversampling 4rtl_fm -M fm -p 77 -f 446.00625M -f 446.01875M -f 446.03125M -f 446.04375M -f 446.05625M -f 446.06875M -f 446.08125M -f 446.09375M -f 446.10625M -f 446.11875M -f 446.13125M -f 446.14375M -f 446.15625M -f 446.16875M -f 446.18125M -f 446.19375M -s 12k -l 70 - | play -r 12k -t raw -e signed-integer -b 16 -c 1 -V1 -
rtl_fm -f 118M:125M:25k -M am -l 350 | play -t raw -r 24k -es -b 16 -c 1 -V1 -
-f 118M:125M:25k
➜ scanner de 118.000 MHz à 125.000 MHz au pas de 25kHz (Attention, pas plus de 1000 pas par scan)-l 350
➜ niveau de squelch (à adapter en fonction de la bande, du gain, et du nombre de samples/sec)rtl_fm -W -f 89.1M | play -r 32k -t raw -e signed-integer -b 16 -c 1 -V1 -
rtl_fm -N -E -f 144.0M:146.0:12.5k -s 12k -o 4 -g 49.2 -l 70 | play -r 12k -t raw -e signed-integer -b 16 -c 1 -V1 -
Fréquences POCSAG en France :
rtl_fm -f 466.025M -M fm -s 22050 -g 11.5 -l 350 | multimon -t raw -a POCSAG1200 /dev/stdin
-s 22050
➜ sample rate 22.5kHz-g 11.5
➜ tuner gain 11.5dBSVAR https://github.com/Arkq/svar
Libs de développement à installer avant compilation :
REC
rec -c 1 recording.wav silence 1 5 2% 1 0:00:02 2%
-c 1
➜ 1 canal audio-r 22050
➜ rate 22050HzOutil de surveillance de bandes de fréquences. http://kmkeen.com/rtl-power/
Créer des « heatmap » à partir des données CSV de rtl_power
https://github.com/dgiardini/rtl-ais
# Dependencies sudo apt install -y librtlsdr-dev libusb-dev libpthread-workqueue-dev # Get the source code: $ git clone https://github.com/dgiardini/rtl-ais $ # Change to the source dir $ cd rtl-ais $ make $ # Test running the command $ ./rtl_ais
DSD : https://github.com/szechyjs/dsd
Créer un fichier fifo pour le flux rtl_fm
➜ dsd
mkfifo /tmp/rtl_to_dsd
Créer un fichier fifo pour le flux dsd
➜ aplay
mkfifo /tmp/dsd_to_aplay
Diriger le flux de rtl_fm
vers le fichier fifo
rtl_sdr -f FREQ -s 48000 - > /tmp/rtl_to_dsd
Lire le fichier fifo avec dsd
et écrire le résultat dans le fifo pour aplay
dsd -i /tmp/rtl_to_dsd -w /tmp/dsd_to_aplay
Lire le flux décodé
aplay -r 8000 -f S16_LE -t raw -c 1 < /tmp/dsd_to_aplay
Tout ça est un peu tordu. On peut essayer de sortir le flux audio de dsd
sur un device PulseAudio.
Lister les ports PulseAudio :
dsd -a
Utiliser le port PulseAudio kivabien :
dsd -i /tmp/rtl_to_dsd -o pa:XX # XX = numéro du « port » PulseAudio
$ socat stdout udp-listen:7355 | padsp ./dsd -i – -o /dev/dsp
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 -