{{tag> radio rtl2832u}} ====== La Radio Définie par Logiciel (SDR) avec le chipset rtl2832u ====== ===== Introduction ===== La **radio Définie par logiciel**, ou **SDR** pour **//Software Definied Radio//**, consiste à utiliser un ordinateur et une suite logicielle pour recevoir/émettre, moduler/démoduler, crypter/décrypter des signaux Radio. La pratique s'est développée dans les années 90 avec le perfectionnement du matériel informatique. [[http://palosaari.fi/linux/|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 [[http://sdr.osmocom.org/trac/wiki/rtl-sdr|osmocom]] et sont utilisables avec un bon nombre de [[http://sdr.osmocom.org/trac/wiki/rtl-sdr#KnownApps|logiciels]]. Ce tutoriel a pour objectif de décrire les procédures d'installation et d'utilisation du [[rtl2832u]]. ===== Choix du matériel ===== {{http://sdr.osmocom.org/trac/raw-attachment/wiki/rtl-sdr/ezcap_top.jpg?400 |}} *Les clés USB basées sur le [[rtl2832u]] sont nombreuses et peu coûteuses (généralement moins de 20€ frais de ports compris). *Toutefois, différents tuners sont associé au démodulateur, et il semblerait que le E4000 permette une réception de meilleure qualité grâce à la [[http://www.nitehawk.com/sm5bsz/linuxdsp/hware/rtlsdr/rtlsdr.htm|suppression logicielle de l'AGC]]. *De plus, des [[http://www.hamradioscience.com/differences-in-sensitivity-rtl2832u-e4000-dongles/|différences]] de qualité entre différentes clés ont été observées. Si un comparatif rigoureux mérite encore d'être fait, il est probablement utile de lire quelques retours d'utilisation sur les forum avant de choisir son modèle... *Bref, une recherche des mots clés **rtl2832u + e4000** fera surement votre bonheur ===== 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 [[http://sdr.osmocom.org/trac/wiki/rtl-sdr|RTL-SDR]] ou simplement [[apt://rtl-sdr]] , de [[apt://gnuradio]] muni de ses extensions nécessaires est automatisée par l'utilisation de [[http://www.sbrac.org/files/build-gnuradio|ce script]] : wget http://www.sbrac.org/files/build-gnuradio chmod +x build-gnuradio ./build-gnuradio Le script s'assure que toutes les dépendances sont installées et installe le nécessaire. ===== Premiers pas ===== ==== Commandes RTL-SDR ==== ===rtl_test=== *Pour commencer, nous pouvons vérifier le fonctionnement de notre clé en testant sa gamme de fréquence. 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 *Nous pouvons également déterminer le taux d'échantillonnage maximum possible sur votre PC. Pour cela augmenter le taux tant qu'il n'y a pas de perte : 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_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 [[apt>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 ===== * (fr) [[http://www.tsf70.com/forum/viewtopic.php?id=3652|Topic dédié à l'utilisation de RTL-SDR sous Linux sur un forum francophone]] * (en) [[http://sdr.osmocom.org/trac/wiki/rtl-sdr|Le wiki officiel]] * (en) [[http://wiki.spench.net/wiki/RTL2832U|Le wiki de SpenchWiki]]