Définissons la direction vers l'aéroport à l'aide de RTL-SDR et GNU Radio

Salut, Habr !

Actuellement, il n'existe pas tant de normes de communication qui, d'un côté, sont intéressantes et captivantes, et de l'autre, dont la description ne remplit pas 500 pages en format PDF. L'un de ces signaux, facile à décoder, est le signal VHF Omni-directional Radio Beacon (VOR), utilisé en navigation aérienne.

Définissons la direction vers l'aéroport à l'aide de RTL-SDR et GNU Radio
VOR Beacon (c) wikimedia.org

Pour commencer, une question pour les lecteurs : comment former un signal de sorte qu'il soit possible de déterminer la direction à l'aide d'une antenne réceptrice non directionnelle ? La réponse ci-dessous.

Informations générales

Le système Very high frequency Omni-directional Range (VOR) est utilisé pour la navigation aérienne depuis les années 50, et consiste en des radiobalises de portée relativement courte (100-200 km), fonctionnant dans la plage de fréquences VHF 108-117 MHz. Aujourd'hui, à l'ère des gigahertz, le terme very high frequency appliqué à ces fréquences semble amusant et parle de lui-même de l'âge de cette norme, mais il est intéressant de noter que des balises fonctionnent encore NDB, opérant dans la bande des ondes moyennes de 400 à 900 kHz.

Le placement d'une antenne directionnelle sur un avion est structurellement gênant, d'où la nécessité de coder dans le signal même des informations sur la direction de la balise. Le principe de fonctionnement peut être expliqué de manière simple. Imaginons que nous avons une balise normale, émettant un faisceau étroit de lumière verte, dont la lampe tourne une fois par minute. Il est évident qu'une fois par minute, nous verrons un éclair de lumière, mais un éclair de lumière seul ne véhicule pas beaucoup d'informations. Ajoutons à la balise une antenne non directionnelle une lampe de couleur rouge clignotant au moment où le faisceau du phare « passe » dans la direction du nord. Étant donné que la période des éclats et les coordonnées du phare sont connues, en calculant le délai entre les éclats rouge et vert, on peut déterminer l'azimut vers le nord. C'est simple. Il reste à faire la même chose, mais à l'aide de la radio. Cela a été résolu par un changement de phase. Pour la transmission, deux signaux sont utilisés : la phase du premier est constante (référence), la phase du second (variable) change de manière complexe en fonction de la direction d'émission — chaque angle correspond à un décalage de phase particulier. Ainsi, chaque récepteur recevra un signal avec son propre décalage de phase, proportionnel à l'azimut vers le phare. La technologie de la « modulation spatiale » est réalisée à l'aide d'une antenne spéciale (Alford Loop, voir KDPV) et d'une modulation particulière, assez astucieuse. C'est en fait le sujet de cet article.

Imaginons que nous avons un phare classique, fonctionnant depuis les années 50, transmettant des signaux en modulation AM selon l'alphabet Morse. Il est probable qu'autrefois, le navigateur écoutait réellement ces signaux dans des écouteurs et marquait les directions avec une règle et un compas sur la carte. Nous voulons ajouter de nouvelles fonctionnalités au signal, mais sans "détruire" la compatibilité avec les anciens. Un sujet familier, rien de nouveau... Cela a été fait de la manière suivante : à signal AM, un ton de basse fréquence de 30 Hz, servant de signal de phase de référence, a été ajouté, ainsi qu'une composante haute fréquence, codée en modulation de fréquence à 9,96 kHz, transmettant le signal de phase variable. En isolant deux signaux et en comparant les phases, nous obtenons l'angle recherché de 0 à 360 degrés, qui correspond à l'azimut requis. Tout cela ne gêne pas l'écoute du phare "de la manière ordinaire" et reste compatible avec les récepteurs AM anciens.

Passons de la théorie à la pratique. Démarrons un récepteur SDR, choisissons la modulation AM et une largeur de bande de 12 kHz. Les fréquences des phares VOR peuvent facilement être trouvées en ligne. Sur le spectre, le signal apparaîtrait comme suit :

Définissons la direction vers l'aéroport à l'aide de RTL-SDR et GNU Radio

Dans ce cas, le signal du phare est transmis à la fréquence de 113,950 MHz. Au centre, on peut voir facilement la ligne reconnaissable de modulation d'amplitude et des signaux en morse (.- — … ce qui signifie AMS, Amsterdam, aéroport Schiphol). Autour de cela, à une distance de 9,6 kHz de la porteuse, deux pics apparaissent, transmettant le second signal.

Enregistreons le signal au format WAV (pas en MP3 — la compression avec pertes « détruit » toute la structure du signal) et ouvrons-le dans GNU Radio.

Décodage

Étape 1. Ouvrons le fichier avec le signal enregistré et appliquons-lui un filtre passe-bas pour obtenir le premier signal de référence. Le graphique de GNU Radio est montré sur l'image.

Définissons la direction vers l'aéroport à l'aide de RTL-SDR et GNU Radio

Résultat : signal basse fréquence à 30 Hz.

Définissons la direction vers l'aéroport à l'aide de RTL-SDR et GNU Radio

Étape 2: décodons le signal à phase variable. Comme mentionné précédemment, il est situé à une fréquence de 9,96 kHz, nous devons le décaler vers la fréquence zéro et l'envoyer à un démodulateur FM.

Graphique de GNU Radio :

Définissons la direction vers l'aéroport à l'aide de RTL-SDR et GNU Radio

Tout est résolu. Nous voyons deux signaux dont la différence de phase indique l'angle du récepteur au balise VOR :

Définissons la direction vers l'aéroport à l'aide de RTL-SDR et GNU Radio

Le signal est assez bruité, et un filtrage supplémentaire peut être nécessaire pour le calcul final de la différence de phase, mais le principe, j'espère, est clair. Pour ceux qui ont oublié comment la différence de phase est définie, voici une image de aviation.stackexchange.com:

Définissons la direction vers l'aéroport à l'aide de RTL-SDR et GNU Radio

Heureusement, tout cela ne doit pas être fait manuellement : il existe déjà un projet prêt à l'emploi en Python, qui décodent les signaux VOR à partir de fichiers WAV. En fait, son étude m'a inspiré à explorer ce sujet.

Ceux qui le souhaitent peuvent exécuter le programme dans la console et obtenir un angle en degrés à partir d'un fichier déjà enregistré :

Définissons la direction vers l'aéroport à l'aide de RTL-SDR et GNU Radio

Les passionnés d'aviation peuvent même se construire un récepteur portable à partir de RTL-SDR et Raspberry Pi. D'ailleurs, sur un véritable avion, cet indicateur ressemble à ça :

Définissons la direction vers l'aéroport à l'aide de RTL-SDR et GNU Radio
Image © www.aopa.org

Conclusion

De tels signaux « du siècle dernier » sont définitivement intéressants à analyser. Premièrement, ils sont relativement simples, les systèmes modernes comme le DRM ou même le GSM ne peuvent pas être décodés aussi facilement. Ils sont accessibles à la réception, sans clés ni cryptographie. Deuxièmement, il est possible qu'à l'avenir, ils soient relégués au passé et remplacés par la navigation par satellite et des systèmes numériques plus modernes. Troisièmement, étudier ces normes permet d'apprendre des détails techniques et historiques intéressants sur la façon dont les problèmes étaient résolus avec les technologies et les composants du siècle dernier. Ainsi, les propriétaires de récepteurs pourraient être conseillés de capter ces signaux tant qu'ils fonctionnent encore.

Comme d'habitude, je souhaite à tous de bons expérimentations.

Source : habr.com

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster