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.
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.
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.
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.
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.
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.
gqrx-sdr intègre désormais le support des librairies rtl-sdr.