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

Hé Habr !

Actuellement, il n'existe pas beaucoup de normes de communication qui, d'une part, soient curieuses et intéressantes, d'autre part, leur description ne prend pas 500 pages au format PDF. L’un de ces signaux faciles à décoder est le signal de radiobalise omnidirectionnelle VHF (VOR) utilisé dans la navigation aérienne.

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

Tout d'abord, une question pour les lecteurs : comment générer un signal pour que la direction puisse être déterminée à l'aide d'une antenne de réception omnidirectionnelle ? La réponse est sous la coupe.

Informations générales

Système Gamme omnidirectionnelle à très haute fréquence (VOR) est utilisé pour la navigation aérienne depuis les années 50 du siècle dernier et se compose de balises radio à portée relativement courte (100-200 km), fonctionnant dans la gamme de fréquences VHF 108-117 MHz. Or, à l'ère du gigahertz, le nom de très haute fréquence par rapport à de telles fréquences semble drôle et parle en soi de l'âge cette norme, mais d'ailleurs, les balises fonctionnent toujours NDB, fonctionnant dans la gamme d'ondes moyennes 400-900 kHz.

Placer une antenne directionnelle sur un avion n'est pas structurellement pratique, c'est pourquoi le problème s'est posé de savoir comment coder les informations sur la direction de la balise dans le signal lui-même. Le principe de fonctionnement « sur les doigts » peut s'expliquer comme suit. Imaginons que nous ayons une balise ordinaire qui émet un faisceau étroit de lumière verte, dont la lampe tourne 1 fois par minute. Évidemment, une fois par minute, nous verrons un éclair de lumière, mais un tel éclair ne contient pas beaucoup d'informations. Ajoutons-en un deuxième à la balise non directionnel une lampe rouge qui clignote au moment où le faisceau du phare « passe » la direction vers le nord. Parce que la période des éclairs et les coordonnées de la balise sont connues ; en calculant le délai entre les éclairs rouges et verts, on peut connaître l'azimut au nord. C'est simple. Il reste à faire la même chose, mais en utilisant la radio. Ce problème a été résolu en changeant les phases. Deux signaux sont utilisés pour la transmission : la phase du premier est constante (référence), la phase du second (variable) change de manière complexe en fonction de la direction du rayonnement - chaque angle a son propre déphasage. Ainsi, chaque récepteur recevra un signal avec son « propre » déphasage, proportionnel à l'azimut de la balise. La technologie de « modulation spatiale » est réalisée à l'aide d'une antenne spéciale (Alford Loop, voir KDPV) et d'une modulation spéciale, assez délicate. C’est d’ailleurs le sujet de cet article.

Imaginons que nous ayons une balise traditionnelle ordinaire, fonctionnant depuis les années 50, et transmettant des signaux en modulation AM ordinaire en code Morse. Il était probablement autrefois le navigateur qui écoutait ces signaux dans des écouteurs et marquait les directions avec une règle et une boussole sur la carte. Nous souhaitons ajouter de nouvelles fonctions au signal, mais de manière à ne pas « rompre » la compatibilité avec les anciennes. Le sujet est familier, rien de nouveau... Cela a été fait comme suit : une tonalité basse fréquence de 30 Hz a été ajoutée au signal AM, remplissant la fonction d'un signal de phase de référence, et une composante haute fréquence, codée par fréquence. modulation à une fréquence de 9.96 KHz, transmettant un signal à phase variable. En sélectionnant deux signaux et en comparant les phases, on obtient l'angle souhaité de 0 à 360 degrés, qui est l'azimut souhaité. En même temps, tout cela ne gênera pas l'écoute de la balise « de la manière habituelle » et reste compatible avec les anciens récepteurs AM.

Passons de la théorie à la pratique. Lançons le récepteur SDR, sélectionnons la modulation AM et la bande passante 12 KHz. Les fréquences des balises VOR peuvent être facilement trouvées en ligne. Sur le spectre, le signal ressemble à ceci :

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

Dans ce cas, le signal de la balise est transmis à une fréquence de 113.950 MHz. Au centre, vous pouvez voir la ligne de modulation d'amplitude facilement reconnaissable et les signaux en code Morse (.- - ... ce qui signifie AMS, Amsterdam, Schiphol Airport). Aux alentours d'une distance de 9.6 KHz de la porteuse, deux pics sont visibles, transmettant le deuxième signal.

Enregistrons le signal au format WAV (pas en MP3 - la compression avec perte « tuera » 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 GNU Radio est illustré dans la figure.

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

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

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

Étape 2: décode le signal à phase variable. Comme mentionné ci-dessus, il est situé à une fréquence de 9.96 KHz, nous devons le déplacer vers la fréquence zéro et l'envoyer au démodulateur FM.

Graphique radio GNU :

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

Voilà, problème résolu. On voit deux signaux dont la différence de phase indique l'angle du récepteur à la balise VOR :

Déterminer 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 finalement calculer la différence de phase, mais j'espère que le principe est clair. Pour ceux qui ont oublié comment est déterminée la différence de phase, une photo de aviation.stackexchange.com:

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

Heureusement, vous n’êtes pas obligé de faire tout cela manuellement : il existe déjà projet terminé en Python, décodant les signaux VOR à partir de fichiers WAV. En fait, son étude m’a inspiré à étudier ce sujet.

Les personnes intéressées peuvent exécuter le programme dans la console et obtenir l'angle final en degrés à partir du fichier déjà enregistré :

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

Les fans d'aviation peuvent même créer leur propre récepteur portable à l'aide d'un RTL-SDR et d'un Raspberry Pi. À propos, sur un « vrai » avion, cet indicateur ressemble à ceci :

Déterminer 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 certainement intéressants à analyser. Premièrement, ce sont des DRM assez simples et modernes ou, surtout, des GSM, qu'il n'est plus possible de décoder « sur les doigts ». Ils sont ouverts à l’acceptation et n’ont ni clé ni cryptographie. Deuxièmement, peut-être qu’à l’avenir, ils deviendront du passé et seront remplacés par la navigation par satellite et des systèmes numériques plus modernes. Troisièmement, l'étude de ces normes vous permet d'apprendre des détails techniques et historiques intéressants sur la manière dont les problèmes ont été résolus à l'aide d'autres circuits et éléments de base du siècle dernier. Il peut donc être conseillé aux propriétaires de récepteurs de recevoir de tels signaux pendant qu'ils fonctionnent encore.

Comme d'habitude, bonnes expériences à tous.

Source: habr.com

Ajouter un commentaire