Table des matières

La Radio Définie par Logiciel (SDR) avec le chipset rtl2832u

Introduction

La radio Définie par logiciel, ou SDR pour Software Defined Radio, consiste à utiliser un ordinateur et une suite logicielle pour recevoir/émettre, moduler/démoduler, chiffrer/décrypter des signaux Radio. La pratique s'est développée dans les années 90 avec le perfectionnement du matériel informatique.

Antti Palosaari a découvert que contrairement aux tuners TNT habituels, le rtl2832u permettait de recevoir directement (sans traitements matériels) les signaux radio du fait de ses fonctionnalités DAB/DAB+/FM.

Des drivers permettant son utilisation en SDR ont été développés par osmocom et sont utilisables avec un bon nombre de logiciels.

Ce tutoriel a pour objectif de décrire les procédures d'installation et d'utilisation du rtl2832u.

Choix du matériel

Installation

Attention,ce script pose un problème d'installation sur la dernière version d'ubuntu…En attente de correction.

L'installation des bibliothèques RTL-SDR ou simplement rtl-sdr , de gnuradio muni de ses extensions nécessaires est automatisée par l'utilisation de ce script : wget http://www.sbrac.org/files/build-gnuradio LE LIEN N'EST PLUS DISPONIBLE chmod a+x build-gnuradio ./build-gnuradio</code>

Le script s'assure que toutes les dépendances sont installées et installe le nécessaire.

Premiers pas

Commandes RTL-SDR

rtl_test

rtl_test -t

Celle-ci varier en fonction du matériel et de sa température d'utilisation :

Found 1 device(s):
0:  Generic RTL2832U (e.g. hama nano)
Using device 0: Generic RTL2832U (e.g. hama nano)
Found Elonics E4000 tuner
Supported gain values (18): -1.0 1.5 4.0 6.5 9.0 11.5 14.0 16.5 19.0 21.5 24.0 29.0 34.0 42.0 43.0 45.0 47.0 49.0 
Benchmarking E4000 PLL...
[E4K] PLL not locked for 51000000 Hz!
[E4K] PLL not locked for 2219000000 Hz!
[E4K] PLL not locked for 1109000000 Hz!
[E4K] PLL not locked for 1237000000 Hz!
E4K range: 52 to 2218 MHz
E4K L-band gap: 1109 to 1237 MHz

On obtient aussi les gains supportés par la clé, cela peut être utile de le changer dans le cas d'une mauvaise réception du signal écouté.

rtl_test -s 3.2e6

Un taux de 2.4e6 doit être possible à traver une connection tcp connections (voir rtl_tcp). Un taux de 2.88e6 devrait pouvoir être obtenu sans perte, mais tout dépend de la puissance de votre PC.

rtl_test -p
Found 1 device(s):
0:  Realtek, RTL2838UHIDIR, SN: 00000001
Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6
Sampling at 2048000 S/s.
Reporting PPM error measurement every 10 seconds...
Press ^C after a few minutes.
Reading samples in async mode...
lost at least 196 bytes
real sample rate: 2048184 current PPM: 90 cumulative PPM: 90
real sample rate: 2048151 current PPM: 74 cumulative PPM: 82
real sample rate: 2048198 current PPM: 97 cumulative PPM: 87
real sample rate: 2048152 current PPM: 74 cumulative PPM: 84
real sample rate: 2048186 current PPM: 91 cumulative PPM: 85
real sample rate: 2048166 current PPM: 82 cumulative PPM: 85
real sample rate: 2048161 current PPM: 79 cumulative PPM: 84
real sample rate: 2048189 current PPM: 93 cumulative PPM: 85
real sample rate: 2048170 current PPM: 83 cumulative PPM: 85
real sample rate: 2048165 current PPM: 81 cumulative PPM: 84
real sample rate: 2048188 current PPM: 92 cumulative PPM: 85
real sample rate: 2048162 current PPM: 80 cumulative PPM: 85
real sample rate: 2048180 current PPM: 88 cumulative PPM: 85
real sample rate: 2048174 current PPM: 85 cumulative PPM: 85
real sample rate: 2048161 current PPM: 79 cumulative PPM: 84
real sample rate: 2048182 current PPM: 89 cumulative PPM: 85
real sample rate: 2048183 current PPM: 90 cumulative PPM: 85
real sample rate: 2048153 current PPM: 75 cumulative PPM: 84
real sample rate: 2048179 current PPM: 88 cumulative PPM: 85
real sample rate: 2048184 current PPM: 90 cumulative PPM: 85
real sample rate: 2048165 current PPM: 81 cumulative PPM: 85
real sample rate: 2048178 current PPM: 87 cumulative PPM: 85
real sample rate: 2048177 current PPM: 87 cumulative PPM: 85
real sample rate: 2048166 current PPM: 81 cumulative PPM: 85
real sample rate: 2048195 current PPM: 95 cumulative PPM: 85

Ici, on lit le PPM dans la colonne "cumulative PPM" et cette valeur stagne autour de 85.

rtl_sdr

Cette commande peut être utilisée pour lancer un enregistrement. Par exemple, pour s'accorder à 392.0 MHz avec un taux de 1.8 MS/s :

rtl_sdr /tmp/capture.bin -s 1.8e6 -f 392e6

La sortie peut à la fois être se faire dans un fichier ou un tampon de type fifo.

rtl_tcp

Nous pouvons aussi piloter notre récepteur avec d'autres appareils via le web en lançant la commande suivante :

rtl_tcp -a 192.168.1.2 -p 1234
Found 1 device(s).
Found Elonics E4000 tuner
Using Generic RTL2832U (e.g. hama nano)
Tuned to 100000000 Hz.
listening...

Il est alors possible de se connecter à un récepteur distant avec GnuRadio-companion en utilisant l'argument rtl_tcp=192.168.1.2:1234 dans l'entrée OsmoSDR afin d'en contrôler les paramètres d'acquisition (fréquence, gain, …) et de recevoir les échantillons.

GnuRadio

Configuration multimode

Pour faire nos premiers pas avec GnuRadio, et plus précisément GnuRadio-Companion (GRC), nous allons ouvrir une configuration appelée multimode qui permet de démoduler les principaux modes de communication analogiques.

Après s'être assuré que subversion est bien installé, ouvrir un terminal pour télécharger la configuration multimode de GnuRadio :

cd
svn co https://github.com/bgamari/gnuradio-multimode

Lancer GnuRadio-Companion et ouvrez le fichier de configuration téléchargé ~/multimode/trunk/multimode.grc.

Comme vous pourrez le constater, GnuRadio-Companion permet de configurer graphiquement les paramètre d'acquisition, de traitement et d'affichage du signal radio.

FIXME

GQRX

gqrx-sdr intègre désormais le support des librairies rtl-sdr.

Exemples d'utilisation

FIXME

A voir aussi