Introduction aux radios logicielles avec GNU Radio/Présentation
Nous commençons la découverte des radio logicielles... Au cours des chapitres, nous vous proposerons un apprentissage de l'utilisation de GNU Radio au travers d'exemples concrets et projets. À l'issue, vous serez autonome pour concevoir vous-même les vôtres.
Nous avons voulu limiter la difficulté afin de rendre l'ouvrage largement accessible par les curieux ou les radioamateurs désireux de s'ouvrir à la discipline. Le contenu est ainsi très progressif et les quelques développements mathématiques ne doivent pas vous freiner.
Wikibooks
modifierCe manuel a été rédigé sur le site internet Wikibooks. Wikibooks est un projet lancé le 10 juillet 2003 de rédaction collaborative de livres pédagogiques (manuels scolaires, documentations...). Frère de l'encyclopédie libre Wikipédia, il repose sur le principe du wiki et permet à tous ses visiteurs de modifier son contenu. Vous pouvez nous rejoindre ou consulter nos livres à l'adresse http://fr.wikibooks.org/.
Vous pouvez réutiliser ce livre !
modifierCe livre est un wiki, et peut donc être amélioré par tous. Il est distribué sous licence Attribution-ShareAlike 3.0 Unported (CC-BY-SA 3.0) : vous êtes libres de le copier, le redistribuer, l'adapter, à condition de le repartager sous une licence identique ou compatible et d'indiquer son auteur ainsi que sa provenance.
Qu'est-ce qu'une radio logicielle ?
modifierUn poste de radio classique est un assemblage complexe de composants électroniques dédiés dont le but est d'effectuer un traitement du signal, aussi bien à la réception qu'à l'émission, afin de transmettre et recevoir de l'information. Une radio logicielle, au contraire, fonctionne de façon numérique à l'aide d'un processeur classique d'ordinateur ou d'un processeur de signal numérique (DSP). Un simple convertisseur analogique-numérique, lié à une antenne, permet de recevoir sur une large bande de fréquences les signaux qui seront ensuite traités. Il est donc possible d'utiliser le même équipement pour recevoir une multitude de signaux, sous différentes fréquences et formes, en ne changeant que la partie logicielle.
Les radio logicielles ne nécessitent donc pas d'équipements complexes autres qu'un ordinateur, ce qui en fait un moyen pédagogique rapide et presque gratuit.
À propos de GNU Radio
modifierDans le cadre de cet ouvrage, nous avons choisi d'utiliser le logiciel libre GNU Radio, développé par une communauté internationale de bénévoles. Celui-ci possède l'avantage d'être gratuit et multiplate-formes, tout en offrant puissance et souplesse. Il s'installera sans difficultés sur votre ordinateur comme sur des systèmes embarqués à base GNU/Linux tels que Raspberry Pi, BeagleBone, etc.
GNU Radio est capable d'effectuer toute opération de traitement du signal. Une fois son utilisation maîtrisée, il est possible de s'en servir pour générer et décoder tout type de flux numériques. Il a été développé essentiellement en langage Python tandis que le C++ a été utilisé pour les parties les plus critiques. Cette complémentarité permet de développer rapidement de nouveaux modules en Python, un langage particulièrement maniable et abordable.
Il n'est pour autant pas nécessaire de savoir programmer pour utiliser GNU Radio[1]. En effet, une part importante du projet s'est concentrée sur la réalisation d'un outil en interface graphique (graphical user interface, GUI), très intuitive, appelée GNU Radio Companion (GRC). GNU Radio peut donc être utilisé aussi bien en ligne de commande qu'en interface graphique.
L'exemple d'International Sun-Earth Explorer 3
modifierInternational Sun-Earth Explorer 3 (ISEE 3) est une sonde spatiale américaine, lancée en 1978 aux fins d'étudier le vent solaire. En 1985, il traverse la queue de la comète 21P/Giacobini-Zinner et en 1986 celle de la comète de Halley, puis conduit des études sur l'héliosphère jusqu'en 1997, date à laquelle la NASA décide d'arrêter sa mission. En 2014, un groupe d'amateurs parvient à entrer à nouveau en contact avec le satellite, toujours en fonctionnement. Le traitement du signal a été confié à GNU Radio.
Quel matériel utiliser ?
modifierGNU Radio est une suite exclusivement logicielle ne s'attachant qu'au traitement du signal. Il faut, pour recevoir et émettre, utiliser du matériel permettant la numérisation des signaux. La mise en place complète d'un tel système dépasse de loin le cadre de ce livre ; aussi, nous nous contenterons d'utiliser des équipements déjà conçus, en vente dans le commerce.
En particulier, nous nous attacherons à la partie réception. Nous avons choisi de travailler avec une carte USB utilisée nominalement pour recevoir la télévision sur ordinateur, à base du processeur Realtek RTL2832. De tels périphériques sont en vente pour une quinzaine d'euros dans des boutiques de vente en ligne ; ils sont parfaitement compatibles avec GNU Radio et conviennent à une initiation.
Aspects juridiques
modifierL'interception et l'écoute de communications privées ou confidentielles (police, pompiers, etc) est défendue par la loi, tout comme le brouillage. L'émission sur les fréquences radios n'est pas libre ; l'opérateur doit pour cela être titulaire d'une autorisation ou d'un certificat de radioamateur et utiliser les fréquences adéquates. Dans tous les cas, nous vous recommandons de vous renseigner auprès des autorités de votre pays afin de connaître les bandes autorisées.
Notes
modifier- ↑ Mais quelle belle occasion pour apprendre, le cas échéant !