Technique SDR 7

Trafic aérien (suite) - Introduction

Avec nos deux précédents articles, et dans l’environnement Raspberry Pi, nous avons entrepris l’interception des données de vol Mode-S et ADS-B émises directement par les avions.
Avec ce septième article, nous allons nous tourner vers Windows en faisant préalablement connaissance du récepteur RSPdx de SDRPLAY associé, ou non, au logiciel SDRUno du même fabriquant. Le mois prochain, alors que nous en aurons terminé avec ces données, nous passerons aux autres communications aériennes.

Quoi décoder ?

Voici, mis à jour, le tableau présentant un aperçu des décodages traités dans cette série d’articles. Les cases vierges signifient que la réception sera traitée dans les mois qui viennent.

Radio-logicielle
Radio-logicielle

Radio-logicielle
ADS-B Communications (source JLC Avionics - http://www.jlcavionics.com/adsb.html)

Retour sous Windows – trafic aérien (suite)

Bande UHF (signaux GPS ADS-B)

RTL1090 / Windows

Sous Windows, notre clé RTL-SDR associée au programme RTL1090 permet aussi la réception des signaux ADS-B. Le logiciel est disponible sur le site https://rtl1090.com/. J’ai pour ma part choisi la version RTL1090 « SCOPE » (rtl1090.Beta3.zip).
Après décompression, il suffit de lancer l’exécutable (rtl1090.beta3.exe) en ayant préalablement, dans mon cas, activé l’alimentation de mon LNA (logiciel rtl_biast). Lors du premier lancement, le pare-feu Windows demande d’autoriser l’application à accéder à Internet. Il faudra accepter les diverses requêtes.

Radio-logicielle
La fenêtre scope de RTL1090 détaillant le vol du TRA29U

Dump1090 / Windows

Tout comme nous l’avons fait sous Raspberry Pi OS, il est possible, avec la version Windows de dump1090, de visualiser sur une véritable carte nos propres données. On utilise pour cela la version téléchargeable depuis l’URL : http://www.satsignal.eu/software/dump1090-win.1.10.3010.14.zip.

Un répertoire, et trois fichiers sont à extraire et à placer dans celui contenant déjà notre logiciel RTL1090 :

  • public.html (répertoire)
  • dump1090.bat
  • dump1090.exe
  • pthreadVC2.dll

On modifiera ensuite que le fichier batch qui devra contenir, sur 2 lignes, les instructions :

  • dump1090.exe --device-index 1 --interactive --net --net-beast --mlat --gain -10 --net-http-port 8080
  • pause

… puis on le lancera, afin de s’assurer du bon fonctionnement de l’ensemble.

Radio-logicielle
Les avions détectés par dump1090.bat

Pour une visualisation des trajets et des informations sur les engins volants, il nous reste maintenant à installer le logiciel Virtual Radar. Je le préfère à Planeplotter du fait que ce dernier n’offre qu’une utilisation sur 21 jours avant de nous réclamer le paiement d’une licence (25€ + TVA).

Depuis la page http://www.virtualradarserver.co.uk/Download.aspx téléchargez la dernière version du logiciel (VirtualRadarSetup.exe) ainsi que :

  • Database Writer Plugin (DatabaseWriterPluginSetup.exe)
  • Database Editor Plugin (DatabaseEditorPluginSetup.exe)
  • Language Pack (LanguagePackSetup.exe),

Passez ensuite, dans cet ordre, à l’installation de ces 4 logiciels. De nombreux tutoriels décrivent leurs installations ; je ne retranscrirai donc pas ici les différents écrans d’invite qui s’affichent au cours de celles-ci. C’est très simple, mais en cas de doute, référez-vous au tutoriel du site Radiofouine.net : https://www.radiofouine.net/downloads/Public/ADS-B/Reception_signaux_ModeS_ADS-B_VRS.pdf. Sur ce PDF, ne tenez compte que de la procédure d’installation de Virtual Radar, ignorez tout le reste !

Ceci fait, et avant d’ouvrir pour la première fois le logiciel, téléchargez depuis ce même site, une base de données de vols qui rendra l’affichage de vos réceptions plus conviviales http://www.radiofouine.net/downloads/Public/ADS-B/VRS.zip. Décompressez le fichier VRS.zip dans un dossier (D:\VRS pour mon cas).

Il est temps maintenant d’ouvrir Virtual Radar pour y modifier toute une série de paramètres dont, en premier lieu, les chemins d’accès vers la base de données qui vient d’être téléchargée. Faites pour cela le choix Outils/Options… Dans l’onglet Source de données, indiquez les chemins vers celles-ci.

Radio-logicielle
Virtual Radar - 1-Onglet Source de données

Dans l’onglet Utilisateurs, créez et activez un profil d’administrateur.

Radio-logicielle
Virtual Radar – 2-Onglet Utilisateurs

Définissez cet utilisateur comme administrateur dans l’onglet Serveur Web/Administrators.

Radio-logicielle
Virtual Radar – 3-Onglet Serveur Web/Administrators

Renseignez votre QRA dans l’onglet Localisation récepteur.

Radio-logicielle
Virtual Radar – 4-Onglet Localisation récepteur

Et enfin, dans l’onglet Récepteurs/Receiver, nommez, définissez les caractéristiques et activez votre récepteur. Entre autres, prenez soin d’indiquer :

  • Format: AVR ou Beast données brutes,
  • Port : 30005

Radio-logicielle
Virtual Radar – Onglet Récepteurs/Receiver (renommé Récepteurs/RTL-SDR)

Après tous ces réglages et une confirmation par OK, vous vous retrouverez sur l’écran d’accueil de Virtual Radar et vous devriez commencer à voir une indication sur l’arrivée des messages (en provenance de Dump1090 que vous aviez préalablement activé).
Si tout fonctionne, il est alors temps de cliquer sur l’invite http://127.0.0.1/VirtualRadar pour atteindre la carte montrant l’état du trafic aérien dans notre région.

Radio-logicielle
Virtual Radar en fonctionnement

A la première ouverture, il peut être utile de spécifier comme langue le Français (France). Ensuite, l’option Menu/Général permet de définir les unités de mesures ainsi que notre position courante. Après avoir coché Fixe position courante, il suffit de déplacer le marqueur vers son QRA. Ceci fait, il faut revenir sur cette même option et la décocher, en ne laissant activé que le choix Affiche position courante.
Il est alors maintenant possible de correctement visualiser le trafic.

Radio-logicielle
Virtual Radar – Le réglage des options de l’interface Web

Radio-logicielle
Virtual Radar – Visualisation du trafic depuis l’interface Web

Nous ne détaillerons pas ici l’envoie de vos données vers un serveur ADB-S. Mais, c’est tout aussi possible que dans l’environnement Raspbian. Il peut s’avérer cependant moins simple de dédier un PC à cet effet comme c’est possible avec une carte Raspberry Pi. Sous Windows, les paramétrages se font par l’intermédiaire de l’onglet Serveurs de rediffusion de Virtual Radar.

Radio-logicielle
Redirection des données vers le site adsbexchange.com

Non testée, la configuration pour un envoi vers le site ADSBHub est consultable ici : https://www.adsbhub.org/howtofeed.php

Retour sur Windows - RSPdx & SDRUno

Après nous être intéressé au monde de la Raspberry PI, nous allons maintenant revenir sous Windows et découvrir ensemble le récepteur RSPdx de la marque SDRPlay.

Ce récepteur couvre de 1kHz à 2 GHz (sans trou) avec 10MHz du spectre à l'écran et un échantillonnage 14 bits. Il est équipé d’un réjecteur de bande radio FM, d'un préampli LNA réglable par logiciel, de 12 filtres de bandes et de 3 connecteurs d'antennes. L’un d’entre eux (accès B) offre la fonction Bias-T en pouvant délivrer 100mA sous 4,7 Volts. Le SDRdx fonctionne avec le logiciel SDRuno sous Windows (gratuit) et CubicSDR sous Linux. Comme nous le verrons par la suite, MultiPSK est également à même de le piloter directement.

Radio-logicielle            Radio-logicielle
Captures : RSPdx chez PASSION-RADIO et Câble d’alimentation pour RSPdx

Pour ma part, je l’ai acheté chez PASSION-RADIO (https://www.passion-radio.fr/recepteurs-sdr/rsp-dx-935.html). Il est livré sans son câble d’alimentation : un câble USB 2.0 Male A - Male B, type câble imprimante que j’ai dû acheter séparément.
L’installation du logiciel SDRUno est très simple. Je ne la détaille pas ici mais vous renvoie à la documentation en français téléchargeable ici : https://www.passion-radio.fr/index.php?controller=attachment&id_attachment=408.
Le seul point important est de démarrer l’installation sans avoir connecté le récepteur et d’attendre l’apparition de la fenêtre indiquant qu’il faut maintenant le brancher. L’installation par défaut crée un sous-répertoire C:\Program Files (x86)\SDRplay\SDRuno.

Prise en main (écoute de la bande FM)

Une fois le logiciel lancé, mes premiers pas furent difficiles : la commutation d’antennes ne fonctionnait pas (impossible d’atteindre ANT-C) et le réglage de la fréquence d’écoute s’avérait très obscur au regard de ceux de SDR-Sharp et SDR-Console. Après quelques heures de tâtonnement et le visionnage du début de la vidéo d’un séminaire SDRPlay d’août 2020, présenté par Steve -KI5ENW et Mike – KD2KOG (durée 1H25, https://www.youtube.com/watch?v=vGoookEnMoI) je me retrouvais avec un logiciel fonctionnel à l’écoute de la bande FM (voir la capture d’écran suivante).
Je sauvegardais cet environnement via le poussoir SAVE WS au bas de la fenêtre MAIN après avoir suivi les conseils des conférenciers :

  • Vérifier Channel Skew Calibration… (Poussoir OPT de MAIN) :
  • Décocher Enable Automatic IQ Correction.
  • Décocher Auto LO offset (ZIF mode) (Poussoir de MAIN / INPUT),
  • Cocher IF AGC (Poussoir de MAIN / IF AGC),
  • Cocher SHOW UTC TIME (Poussoir de MAIN / MISC),
  • Cocher Lock Output Fractional Resampler (Poussoir de RX CONTROL / OUT),
  • Vérifier le choix EU pour l’option PTY REGION (Poussoir de RX CONTROL / RDS).

Ces réglages effectués, si l’on souhaite entrer une fréquence directement au clavier, celle-ci peut être précisée depuis le panneau RX CONTROL :

Radio-logicielle
Fenêtre SDRUno RX CONTROL

 - Un click dans la fenêtre d’affichage de la fréquence (sur l’un des chiffres de la fréquence affichée) fait apparaître la valeur 000. À compter de cette étape une nouvelle valeur peut être tapée au clavier (on termine par Enter).
-  Après une action sur le poussoir Clear, une action de la roue de la souris sur chaque digit permet aussi le choix d’une nouvelle fréquence. La nouvelle valeur prend effet immédiatement.
-  La roue de la souris peut également avoir cet effet sur la valeur affichée à droite de la fenêtre MAIN SP, dans la mesure ou le choix Show F dial est activé dans le menu de cette fenêtre.

Radio-logicielle
Écrans SDRUno en écoute de la bande FM (après fermeture de MEM. PANEL et redimensionnement des autres fenêtres)./p>

En mode WFM, lors de l’écoute des radios de la bande FM, l’affichage des signaux RDS se fait depuis le panneau RX CONTROL en appuyant sur le poussoir RDSW. Lors de ces réceptions en bande FM, pensez bien à décocher les filtres de bande (Notch filters) dédiés à l’élimination des signaux forts.
Le poussoir Bands permet la sélection des séries de bande de fréquence préétablies :

Radio-logicielle
Bandes de fréquence préétablies

Radio-logicielle

En bas, à droite du panneau de commande principal (MAIN), le poussoir MEM PAN fait apparaître la fenêtre des banques de fréquences. Cette fenêtre est initialement vide. Sur le site SDRPlay, Mike Ladd, KD2KOG a mis les siennes à disposition : https://www.sdrplay.com/sdrplayhamguides/
Par un clic droit sur la souris dans cet espace il est possible de définir le lieu de sauvegarde de ces banques (choix Select Banks folder).

Trafic aérien (suite)

Bande UHF (signaux GPS ADS-B)

RSPdx et logiciel dump1090 (SDRPlay)

Une version spécifique de dump1090 pour les récepteurs SDRPlay est disponible au téléchargement, sur leur site, à partir de la page https://www.sdrplay.com/downloads/. Un manuel d’installation est également à votre disposition à cette adresse. Cette version récente de dump1090 possède un programme d’installation. Par défaut, elle se fait dans le sous-répertoire C:\Program Files (x86)\SDRplay\dump1090.
Quatre fichiers batch à l’extension .cmd, sont disponibles pour le lancement de dump1090. Je cite :

  • Start dump1090 in High Perf Interactive mode :  star81.cmd
  • Start dump1090 in High Perf mode : star8.cmd
  • Start dump1090 in Std Perf Interactive mode : star21. cmd
  • Start dump1090 in Std Perf mode : star2.cmd

En mode interactif, la liste des avions s’affiche, en temps réel, dans la fenêtre CMD (paramètre --interactif vs paramètre  --quiet). En mode haute performance, le paramètre --oversample est activé. Il améliore la réception.
En cas d’utilisation d’un LNA autoalimenté, il ne faudra pas oublier de programmer son activation en ajoutant le paramètre --enable-biasT.

Radio-logicielle
Fichier de lancement de dump1090 (RSPdx via start8I.bat)

Radio-logicielle
Lancement de dump1090 (fichier start8I.bat)

Du côté de Virtual Radar (déjà installé), il est préférable de créer un nouveau récepteur (Menu/Outils/Options… onglet Récepteurs) en oubliant pas de désactiver le précédent.

Radio-logicielle
Fenêtre de configuration Virtual Radar (RSPdx et dump1090 de SDRPlay)

MultiPSK en pilotage direct du RSPdx

Concentré sur Raspberry Pi, voilà bien 3 mois que je n’ai pas lancé MultiPSK (ma version installée est néanmoins la dernière V4.45.2). Et me voilà, à nouveau face à un problème déjà rencontré plusieurs fois par le passé. Le logiciel se lance mais refuse de s’afficher correctement. Au passage de la souris sur l’icône de la barre de tâche, j’y entrevois une mini-fenêtre d’accueil incomplète.

Radio-logicielle
MultiPSK refuse de s’ouvrir (mini-fenêtre MultiPSK incomplète)

Comme je crois me souvenir l’avoir lu sur le forum, je désinstalle ma version en ayant pris soin de sauvegarder ma licence (fichier USER.COD). J’efface ensuite le répertoire C:\MULTIPSK, réinstalle l’application et y recopie mes fichiers sauvegardés. Pour ma part, je n’avais pas sauvegardé les sous-répertoires (DATA_ACARS, Maps, QSO et SCREEN), ce qui pourrait s’avérer utile pour d’autres utilisateurs.
Tout rentre alors dans l’ordre.

Radio-logicielle
MultiPSK s’est ouvert normalement (et la mini-fenêtre est complète)

Tout comme la clé RTL-SDR, le RSPdx peut être directement piloté par MultiPSK. Pour rendre possible cette interface, plusieurs fichiers sont situés dans le répertoire Multipsk:

  • rsp_tcp.exe (en version 1.0 utilisant l'API 3.06, pour les anciens équipements SDRplay) avec :
    • mir_sdr_api.dll
    • msvcr100.dll
    • pthreadVCE.dll
    • vruntime140.dll
  • rsp_tcp_V_1_1.exe (rsp_rcp.exe en version 1.1 utilisant l'API 3.07), compatible avec SDRUNO V.1.4 et particulièrement destinée à faire fonctionner le modèle RSPdx, avec :
    • msvcr110.dll
    • libpthead.dll
    • sdrplay_api.dll

Après avoir renommé :

  • rsp_tcp.exe ⇒ rsp_tcp.old
  • rsp_tcp_V1_1.exe ⇒ rsp_tcp.exe

… j’ai créé 3 fichiers batch (fichiers BAT) à lancer avant l’ouverture de MultiPSK, et selon l’antenne choisie :

  • SDRPlay_ANT_A.bat contient la ligne rsp_tcp.exe -E -P0
  • SDRPlay_ANT_B.bat contient la ligne rsp_tcp.exe -E -P1 -T (que je vais ensuite lancer pour la suite de cet article)
  • SDRPlay_ANT_C.bat contient la ligne rsp_tcp.exe -E -P2

MultiPSK calé sur 1090 MHz et en pilotage direct du RSPdx décode lui aussi les signaux ADS-B.

Radio-logicielle
Décodage MultiPSK des signaux ADS-B

L’appui sur le bouton explications donne le détail des messages reçus.

Radio-logicielle
MultiPSK –Décodage ADS-B - Bouton explications

Pour que celles-ci contiennent la position de l’appareil, n’oubliez-pas de renseigner votre position dans l’onglet DONNÉES PERSONNELLES de l’écran de configuration.

Radio-logicielle
MultiPSK – Données personnelles

Coup d’œil sur les squitters

Tout comme les versions de dump1090 avec l’option –raw, MultiPSK nous affiche le contenu hexadécimal des trames reçues (hors préambule). Profitons-en pour élargir notre connaissance du sujet, en les comparant aux documents de standardisation.

Radio-logicielle

Radio-logicielle
Dump1090 avec option --raw

La première chose sautant aux yeux est la présence de deux tailles de trames. Dans le monde de l’aviation, elles portent le nom de squitter.

Elles correspondent aux deux types Mode-S : réponses courtes et réponses longues. Elles débutent par un préambule de 8 µs. La transmission se fait en modulation en position d’impulsions (PPM : Pulse-Position modulation) à une vitesse de 1Mb/s. Les informations sont encodées avec le codage Manchester (0 : transition bas-haut au milieu de la durée du bit, 1 : transition haut-bas au milieu de la durée du bit). La durée d’un bit vaut donc exactement 1,0 µs.
Le préambule a pour valeur binaire 10 10 00 01 01 00 00 00, soit 0xA140 en hexadécimal. Il est suivi des datas : 56 bits (soit 56 µs) pour les réponses courtes, 112 bits (soit 112 µs) pour les réponses longues (celles-ci incluant le standard ADS-B).

Radio-logicielle
Structure des messages Mode-S

Radio-logicielle
Détail du début d’une trame Mode-S

Sur 5 bits, la première donnée après préambule est le code du format (abréviation DF pour Downlink Format

Radio-logicielle
DF est partie intégrante du premier octet du segment data. Dans les exemples donnés plus haut, ce caractère de départ porte les valeurs 5D ou 8D.

Radio-logicielle

Viennent ensuite selon les standards différents champs d’informations. Ils sont pour la plupart explicités dans le document de Junzi Sun.

Radio-logicielle
Champs d’informations en Mode-S

On retrouve des informations sur les squitters DF=18 et DF=19 dans le document Technical Provisions for Mode S Services and Extended Squitter.

Radio-logicielle
Champs d’informations en Mode-S (DF=18)

Dans les exemples donnés plus haut (DF=11 et DF=17), vient ensuite sur 3 bits la capacité, CA. Ici 101 (5 en décimal). Elle désigne le type de transpondeur.

Radio-logicielle
*CA = Les codes 1 à 3 ne sont pas utilisés actuellement (réservés).

Les 24 bits suivant correspondent à l’identifiant OACI de l’avion ; directement visible ici en hexadécimal : 4CA8AF.
L’entrée de cette valeur sur le site www.airframes.org (vous devez être enregistré sur le site ; c’est gratuit) retournera les informations sur l’avion en question.

Radio-logicielle

Résultat de la recherche sur l’avion dont l’adresse OACI est 4CA8AF (source www.airframes.org)

Dans le prochain article :

  • Échanges audios en bande VHF
  • Échanges audios en bande HF
  • Bande HF (trames HFDL / ACARS)
  • Bande VHF (trames ACARS)
  • Signaux ACARS – trafic aérien
  • Signaux VDL-2 – trafic aérien

Vignette : Photo de Quentin Krattiger provenant de Pexels et « Autism A Curios Social Thinker » de Clipartmax.com

A propos de l'auteur

Index