oo
INITIATION A LA RADIO LOGICIELLE :
RECEPTION DES
EMISSIONS ADS-B DES VOLS
COMMERCIAUX
En tant qu'informaticien, bidouilleur, administrateur ou encore développeur,
la communication et la maitrise des technologies associées représentent une
grande part de votre temps. Je ne parle, bien entendu, pas nécessairement de
communication avec d'autres étres vivants mais plutot de celle entre et avec
des systémes informatisés, des PC généralement. Mais avez-vous déja pensé
communiquer avec des systémes d'un tout autre genre, comme par exemple,
ceux embarqués dans les aéronefs, utilisant des ondes électromagnétiques ?
f] ExPERIMENTATIONS []
par Dents Boor
a
Rassurez-vous cela est bien moins cotiteux et complexe qu'il n’y parait.
désigne un ensemble récepteur et/ouémettour prin
ipalement composé d éléments logiciels. La radio.
communication ou téiécommunication au moyen d'ondes
dlectromagnétiques nest pas une invention récente, bien au
contraire. De nos jours énormément de systémes communi:
{quent par ce bias, la “radio” bien entendu, mais également
Ia télévision, la téléphonie mobile, les télécommandes “a fré-
quence’, les systémes en orbite, les bateaux et méme votre
passeport ou votre carte bancaire (NFC). Notez au passage
‘que histoire a reconnu pendant un tempsla paternité de la
radio" & un certain Guglielmo Marconi avec moultes éloges.
avant de corriger son erreur et attribuer enfin, a juste ttre,
‘ces honneurs & monsieur Nikola Tesla, veritable inventeur
‘du systéme de communication et de la transmission déner-
‘pie sans fil. Malhoureusement, dans esprit de la plupart
des gens, le nom de Marconi reste encore aujourd'hui atta-
ché 4 Finvention et non la simple promotion commerciale
de “la radio’
L: SDR (Software Defined Radio) ou ratio logiciele,
Quoi quill en soit, la communication par ondes électro:
_magnétiques est un vaste domaine oit bien des disciplines
entrent en jeu. Avec un systeme radio classique, 'émission
et la réception de signaux sont assurées intégralement par
des composants matgriels dédiés & cet usage. Un excellent
‘exemple peut étre celui du simple récepteur radio FM que Ton
trouve sous diverses formes. Le principal probléme qui se
pose avec ces matéries side dans leur manque do polyva
lence. Un récepteur radio FM ne saurait, sans modifications
importantes, étre adapté a la réception de signaux satellites
ude communication routiere de type CB (Citizen Band.
Voila précisément ce que corrige la SDR, déléguant la ma.
Jorité du traitement a une partie logicielle quill est possible
de plus faclement modifier et adapter. Industriellement et
bien au dela des expeérimentations qui nous intéressent ici
la SDR permet de personnaliser les systémes facilement en
fonction des besoins, On la retrouve, par exemple dans les,
BTS (base station) des réseaux GSM, UMTS, etc... Cependant
la partie intéressante pour l'utilisateur curleux réside sur
tout dans lexploration du domaine de la radiocommunica
tion rendu possible par ladaptabilité de la SDR.
‘Une SDR rest, bien entenda, pas ntégralement logicelle
puisquil est nécessaire de disposer d'un outil de récey
{un tuner) et un moyen de convert le signal analogique
en données manipulables par un circuit dédié (ASIO, un
composant programmable (FPGA) ou tout simplement. un
ordinateur. Jusqu'a récemment le matériel en question état
relativement onéreux mais est arrivé le FUNcube Dongle
{FCD pour les intimes). Il sagit d'un matériel permettant
Ja récoption sur des fréquences entre 64 MH et 1,7 GH,naeenise ADS BUsvabommerian I) RADIO
_—
se connectant & un port USB et étant une composante du
projet FUNcube satelite. Jouer avec cette bestioe vous en
coatera quelques 140 euros ce qui est généralement au
dela des budgets d'un “explorateur’ défrichant un nouveau
terrain de jeu.
a Découvrir la SDR
pour 20 euros
existe cependant une solution plus économique, En ef
fet, cest en février dernier que le développeur noyau Antt!
Palosaari a fait une découverte interessante en travaillant
avec un adaptateur DVB (récepteur TNT) : le matériel en
question semblait tout simplement envoyer les données is
sues du convertisseur analogique/numérique (ADC) direc:
tement & Tordinateur sans autre forme de traitement. En
dautres termes, il numérisalt les informations recues et
retournait tout cela au PC laissant a un programme Windows
le soin de décoder image et son. Le message initial sur la
liste de diffusion se terminait par “I smell very cheap poor
man’s software radio here }". Btc’était exactement le cas |
Lerécepteur DVB-T en question reposait surla puce Realick
RTL2832U fournissant des échantillons 8 bits avec un débit
pouvant atteindre théoriquement 3,2 M/s (2,8 M/S en pra:
tique) et ce avec une plage de fréquences identiques a celle
du FUNeube dongle. Il savéra rapidement que plusieurs mo.
doles utlisatent cette puce Realtek et que les périphériques
les plus intéressants en termes de plage de fréquences utili-
alent un tuner Elonics E4000, Pati les constructeurs on
trouve ainsi Terratec, Dexatek ou encore Compro avec une
variété de modeles dont les prix talent entre 20 et 40 eu-
ros. Le modele utilisé pour les expériences de cet article est
vendu par le site DealExtreme sous le nom “EZCAP Hybrid
ATSC Digital + QAM USB 2.0 HDTW/TY'Tuner/Receiver" ven
du $28 et utilisant le tuner E4000, Précisons au passage que
ce genr
riapporte aucune garantie en terme de constance dans la
fabrication. I! est ainsi parfaitement possible que le produit
vvendu sous les mémes désignations et références soit finale-
ment d'une fabrication différente et rintegre pas les memes
composants. Cst la magie/loterie chinoi
de matériel, disons-le clairement, bas de gamme,
Tout aspect logiciel/pilote pour ces adaptateurs USB est
actuellement maintenue par l'équipe du projet OsmoSDR.
Lobjectif de ce projet est de fournir une solution économique
entiérement open source (logiciel et matériel) sous la forme
Dune carte & base de SoC Atmel Samu, d'un tuner
E4000 et d'un FPGA,
an firmware spécifique ainsi que le code pour le FPGA,
ds pilotes pour les principaux OS,
ct un support du materiel pour GNU radio,
Cette carte est actuellement en vente en version déve
loppeur uniquement (preview edition) au prix de 180 euros.
dans a boutique en ligne du projet (shop sysmocom.de). Cest,
{galemont la quion peut trouver un adaptateur RTL2832U/
F4000, le Newsky TV28T, pour moins de 20 euros en ver-
sion bulk (pas de manuel, de télécommande, de cable, de
CD, dantenne, etc).
Un premier pas simple
pour découvrir la SDR
Comme Yont magnifiquement illustré Jean-Michel Friedt
et Gwenhaél Goavec- Mérou dans un article parut dans
GNU/Linux Magazine 153, une utlisation possible sans doute
la plus fréquente} de ces adaptateurs DVB-T va de paire avec.
Te logiclel GNU Radio, fleuron du logiciel libre dans le domaine
de la SDR, 11 est ainsi possible, de manigre entierement log)
cielle de gérer, manipuler et décoder toutes sortesde signaux,
{que le périphérique est en mesure de recevoir. Cependant,
le domaine du traitement de signal et tout aussi vaste que
complexe. Il peut ainsi étre relativement difficile pour un
debutant 'obtenir un résultatsatisfaisant et surtout immé-
dlat avec ce type de logiciel,
Selon les caractéristiques de 'adaptateur et donc la plage
de fréquences, Il est possible dobenir toutes sortes de ré
sultats, Sila méthode générique pour débuter consiste ge
néralement en la réception de la radio FM (bande 87.5 &
108 MHz) etent"écoute des émissions comme vous pourriez
le faire avec un simple poste redio, nous allons iei adopter
tune démarche a la fois plus simple et plus exotique.
En effet, plutdt que dtiliser GNU Radio et la bende FM,
nous allons mettre en ceavre un logiciel dédie a la réception
ADS-B. LADS-B pour Automatic Dependent Surveillance:
Broadcast est un systeme coopératif de surveillance du
trafic aérien. Ce systeme équipe une vaste majorité des a¢
ronefs utilisés pour les vols commerciaux et est largement
‘utilisé en Europe. Il existe trois liaisons ADS-B: VDL. (VHF
Data Link Mode 4, UAT (Universal Access Transponder) et
1OQDES (1090 MHz Extencied Squitten). Cest certe dern
{que nous utiliserons pour diverses raisons
Les transpondeurs installés dans les avions utilisent la
fréquence de 1090 Mhz qui est accessible a la grande
majorité des récepteurs DVB,
TADS-B est non chiffré, importe qui disposant dun
récepteur peut obtenir les informations émises par un
aéronef,
et surtout, existe une application simple & installer, ne
nécessitant pas de connaissances particuliéres (autres
quinformatique) permettant de décoder les informa:
tions LOSES.Mais quatlons-nous recevoir exactement ? [ADS-B est né
«un besoin croissant d'informations en termes de précision
de positionnement des avions. En effet, le positionnement
GPS (ou Galileo) permettant aux avions de connaitre leur
position en temps réel est plus efficace que le positionnement
radar effectué par le contr6le au sol, Les avions connalssent
ainsi leur position de facon plus précise qulun radar au sol
ne pourrait Testimer. ADS-B fonetionne en mode diffusion
(broadcast) et Naéronef envoi régullérement, et de manidre
omnidirectionnelle, sa position (longitude, latitude, altitude)
ainsi que d'autres informations (numéra de vol, vitesse, cap.
ete), Ce sont I toutes les informations & notre disposition
que nous allons tenter de recevols, décoder et alficher de
maniére aisément interprétable.
Installation logicielle
La prise en charge de Vadaptateur DVB RTL.2832U/
4000 sous GNU/Linux, se fai directement dans espace
uatiisateur van iBUSB vest donc pas cessaire dinstl
Jerun plot sous la forme dun module neyau. En revanche,
afin de facie fa mise en eave, il et important, avant
toutes choses, de configurercorrectement les permlsso
sure périphérique. Aprés connexion umaté
visible va la commande
Notre récepteur apparait ici sous Notez que
sa désignation est fausse (comme cest généralement le cas
avec tous les modeles), En effet, Realtek n'a jamais fabriqué
de composant appelé RTL2838. La vrate désignation de cette
puce est RTI2832U, Afin dautoriser certains utilisateurs &
accéder directement au périphérique, et ainsi éviter lusage
répété de sudo pour des exécutions en tant que super-ut
lisateur, nous devons ajouter une régle Udev (généralement
dans un fichier ayant une extension s placé dans
ofa d/)
Cette simple lig
de lire et écrire & souhait sur le périphérique. Bien
‘entendu, vous pouvea adapter cette ligne en fonction de vos.
besoins, de la distribution utilisé et des identifiants (Ven:
dorlD/ProductID) de votre matériel
permettra aux utilisateurs du groupe
La seconde étape consistera a récupéres, compiler et ins
taller rtl-sde, le support logiciel permettant dobtenir des
EXPERIMENTATIONS
données depuis le récepteur DVB-T. Un certain nombre de
modes de périphériques est pris en charge (environ une
vingtaine), identifié par leurs numéros USB vendeur/produit,
Notez au passage que le nombre de périphériques effective.
ment supportés est bien plus important, le circuit électro-
nique pouvant @ire package sous blen des désignations et
marques. Ces périphériques reposent sur le composant Realtek
RTL2832U couplé a un tuner (Elonies F400, Rafael Micro
R820T, Fitipawer FOOLS, Fitipower FCOOI2 ou FCI FC2580).
Ril-sdr lukméme pred en charge le pllotage a la fois du
composant Realtek et du tuner. On préférera un récepteur
DVB-T équipé d'un tuner Elonics E4000 offrant la plus vaste
gamme de fréquences :de'52 Mhz’ ~2200 MHz (avec quelques
“trou’), Rise se compose de deux éléments
Une bibliothiéque comprenant la majorité du code per
mettant de traiter les données,
et un ensemble diutiitaires de tests, d'évaluation et/ou
destinés & faciliter la mise en ceuvre.
La récupération du code source de rtl-sdr se fera via Git
cn utilisant la commande
‘Vous devez obtenir ainsi un répertoire ir dans em-
placement courant et pourrez alors vous y placer pour créer,
Varborescence de construction avec
Contrairement a la majorite des sources opensource
Yon trouve, rtl-sdr n'utilise pas les AutoTools mais Cmake. 1
vous faucra done installer cet outil de configuration/construc
lon sur votre distribution avant toutes choses, Vous pour
rezalors utiliser
jaNotez l'utilisation de Yoption -DCNAKE_INSTA
permettant de désigner Jusr comme
cibled'installationenliewet place du par défaut
Attention, le fait de procéder ainsi facilite grandement les
choses mats le systeme de gestion de paquetsde votre distri
bution ne sera pas informé de installation puisque celle-ci
est faite en dehors de son contréle, Ce n'est pas un point eri
| tique mais tachez de garder ceci a lesprit | plus tard, vous
rencontrez des problémes découlant d'un éventuel confit
Compilez puis installer bibliothéques et binaire avec
Comme l'indique cette sorte, tous les éléments logiciels
sontlistés,ce qui vous permettra den garder une trace pour
une éventuelle désinstallation. Vous pouvez également vous
plier d'un sud pour tout supprimer dun
coup. On remarque également qulun certain nombre doutils
sont installés, parmi lesquels que nous pouvons
utiliser dans la foulée pour tester la prise en charge effec
| tive de Fadaprateur
lion des emissions ADS-B des vols commerclaux
Cetestconsiste. parcourir une vaste plage de fréquences
afin de vérifier que le périphérique est ert mesure de se “caler
sur chacune d'elles. Ic, le tuner £4000 est parfaitement dé
tecté et la plage Savére aller de 52 Mhz a 2209 Mhz avec un
trou de 1106 Mbz.a 1243 Mhz. Bien entendu, une antenne
adaptée seranécessaire pour recevolr au mieux d’éventuelles
‘émissions. En effet, ce niest pas parce que le tuner peut se
verrouiller sur une certaine fréquence que le reste du maté
riel fantenne interne ou externe) est adapté a la réception.
Unautre test simple peut étre effectué avec permet
tant de décoder la radio FM. Il suffit alors de passer une fré-
quence avec -f (ci 88, e6 signifiant 88°10°6, soit 82000000 et
donc 88 Mhz), -W pour la démodulation WEEM (Wide Band
FM), -s pour le taux échantillonnage du signal icl 200k/)
et +r pour échantillonnage en sortir (48 Klvz, pour Taudio)
En Fabsence de niom de fichier, les données démodulées/dé-
ccodées sont envoyées sur la sortie standard (STDOUT) et an
utilisera le pipe pour rediriger cette derniére vers entrée
standard (STDIN) d'un lecteur audio comme aplay (lecteur
livre avec les outils ALSA). Ce qui nous clone
Normalement, en fonction de la fréquence choisie vous
devez alors obtenir une diffusion du son via lesystéme audio
de votre ordinateur, démontrant de maniére évidente le bon,
fonctionnement de Yensemble.
ooUn autre outll intéressant compilé et Installé en méme
temps que rtl_fmest rtl_tep permettant destreamer les
données 1Q obtenu du récepteur au travers d'un réseau. Il
est possible avec cet outil de placer une machine équipé du
récepteur DVB-T a un endroit du réseau pour faire transt
ter les données vers une autre machine faisant fonctionner
rrtl_tep en réception. Si, comme moi, vous vous trouvez en
rez-de-chaussé, ceci peut savérer d'une grande utili
installant le dispositif de réception sur le toit via un réseau
Ethernet ou Wifi (non test, je laime pas le Wii.
=a Mise en marche et
premiers essais
Entendre la radio FM est une chose mals ce niest pas tres
exotique en dehors du fit que tout le travail de démodula
tion est entiérement acheve parle processeur de votre ma
chine, Levons donc les yeux vers cle et tachons dobtentr
quelque chose de plus iméressant Pour ce faire nous allons
utiliser dump1090, un logiciel developpé par Salvatore San:
filippo (alias Antire2), reposant sur les bibliotheques four:
nies par rt-sdr
Si vous étes d'un naturel curienx, vous aurez sans doute
remarqué la présence de Ioutil rtt_edsb fourni par rt-sdr.
Isagit d'un décodeur ADS-B simpliste pouvant tre utilisé en
premier lieu afin de tester la réception eta presence 'éven:
twelles données décodables autour cle vous
Lasérie de ligne en notation hexadécimale qui saffichent
€ Vécran sont les données ADS-B obtenues via le récepteur
Ceci prouve la présence de tols informations mais cect est
sans communes mesures avec les fonctionnalités offertes
par dump1090. Les sources de ce logiciel sont hébergées
par GitHub et récupérables trés implement via
Antireza choisi dene pas utiliser d’outil de configuration
des sources (AutoTools, Crmake, etc) et un simple make fera
affaire (sl toutes les dépendances sont correctement insta
kes, merci pkg-config)
Ceci fait, vous trouverez dans le répertoire courant un
binaire dunp1698 que vous pouvez directement lancerLes données obtenues et décodées siaffichent au fur et a mesure de leur
réception sous une forme presque intelligible. On reconnait par exemple dans cet
extrait, un message informant de la vélecité de l'aéronef ou encore, plus bas, de
Faltitude d'un autre apparel
Cette présentation est plus “digeste” cue les résultats affichées par rtl_adsb
maisilest possible de faire encore mieuxavec ./dumpl99@ --interactive. Vous
aurez ainsi drott a une sortie comme
Vous pouvez. ajouter Toption --metric afin davoir une visualisation plus
acceptable pour nous, utilisateurs du systéme métrique. Ce made de fonctionne-
ment présente dentlfiant de chaque aéronef. son altitude, sa position ou encore
sa vitesse, et ce, en temps réel
‘Mais nous avons gardé le meilleur pour la fin, car il existe une option magique
s-net. Celle-ci permet de mettre en route le serveur Web (entre autres choses)
intégré a dump1090 et il vous sulfira alors de pointer votre navigateur sur adresse
1270.0. (ou localhost port 8080 pour abtenir cect
Non, vous ne révez pas. Ilsagitdune
carte Google Map faisant apparaitre
les avions a leur emplacement déclaré,
Lantenne bas de gamme du récepteur
es ict placée sur le bord d'une fendtre
aurez-de-chaussé, au centre de Colmar
Pourtant, on peut recevoir et décader
des émissions provenant davions se
trouvant au dessus de Bruyeres, soit
a environ 50 km de distance. Je vous
laisse Imaginer les résultats avec une
antenne plus adaptée & la fréquence
de 1090 Mhz, placée sur le toit d'un
immeuble,
Petite
améliorations
pratiques et
cosmétiques
Dump1090 est un adorable petit ou
tilquion pourra, de plus, en compagnie
dertl-sdr, compiler pour une plateforme
ARM (comme la Raspberry Pi ou la Bea
gleBoard Black) afin diobtenir un sys
{me portable, basse consommation et
pewencombrant de detection daéronel
Cependant, est perfectibe,en particu
ler sures aspects esthetiques de in
terface Web, Lasignalistion des avions
parun triangle jaune, par exemple. rest
pasun cholx des plusefficaces lors d'un
affichage Google Map avec relief ou en
‘mode satellite.
Un petit coup dil aux sources de
Vuuilitaire nous montre quAntirez &
tres bien fait sor travail, En effet, les
6léments de interface Web ne sont pas
{ntégré's aux sources mais présents sous
Ja forme d'un simple fichier gmap. html.
Colui-ci contient la page affichée ainsi
quunensemble de fonctions JavaScript.
‘Nous pouvons ainsi en premier ie
changerlacouleurdestrianglesafindopter
pour un magenta flash bien plus visible
Lafonction getYconForPLane(ptane)
{ntegre une déclaration simple & modi
fier fournissant les valeurs de rouge, de
vertet de bleu pour cet élémentar = 26, 9 20, b= B55
(On pourra ensuite étendre cette fonction pour, par exemple dessiner de jolis
petit avions plutét que des triangles (FORWARD_CLOSED_ARROW). Un autre-élé
ment damélioration, moins casmetique, concerne les données mumériques afl
‘chées comme par exemple, la vitesse d'un avion sélectionné. Dans le domaine de
aviation, Tunité de mesure d'une vitesse est le noeud (ou knot en anglais). Pour
afficher des données en Km/h, cest a la fonction refreshSelectedinfo() que
rhous nous intéresserons en ajoutant, par exemple
var Anh = Math round p. speed 052);
Nous pourrons alors utiliser la variable kh quelques lignes plus bas
an += "Speeds “epepenth” faats ("se vh's
Ten va de méme avec Valtitucea laquelle on ajoutera une valeur en metres en
plus de celle en pieds
a
var elimetre = Mth romp. altituen 34875
tat
a = "Altitude: “tp.altituter” feet (vaTtnetes” m) "4p Tight’ cla> (MTsatrader)