La réception de signaux venus de l'espace par récepteur de télévision numérique terrestre

Spécialité(s)


Résumé

Nous avions exprimé, dans un article précédent concernant GNURadio et l'utilisation des récepteurs de télévision numérique terrestre (DVB-T) [1], notre frustration à l'incapacité à recevoir les signaux de satellites en orbite polaire basse. Cette déficience sera ici corrigée, et de façon plus générale l'ambition de recevoir des signaux venus de l'espace au moyen de récepteurs de DVB-T nous fournira l'opportunité d'explorer divers concepts de traitements de signaux radiofréquences et en particulier par traitement logiciel des signaux : communication entre processus par pipe et analyse multicanaux.


Body

La réception de signaux venant de l'espace va induire deux nouvelles contraintes par rapport à nos explorations passées de l'utilisation de récepteurs de télévision numérique terrestre (DVB-T) pour le traitement logiciel de signaux radiofréquences. D'une part, la faible puissance du signal radiofréquence reçu va nécessiter l'ajout d'un pré-amplificateur et ajuster quelque peu la géométrie de l'antenne à la bande de fréquence considérée. D'autre part, la fugacité des signaux nous encourage à analyser simultanément plusieurs bandes de fréquence adjacentes afin de ne pas rater le signal à détecter et devoir attendre un nouveau passage de satellite dont l'orbite ne l'amène que rarement au-dessus du site du récepteur. Ces concepts seront par ailleurs mis en œuvre sur des signaux terrestres, plus simples à recevoir pour déverminer les applications proposées, mais toujours dans l'optique d'être appliqués à des signaux venus de l'espace. Nous conclurons par l'accès aux signaux transmis par la constellation GPS, où cette fois tous les satellites transmettent sur la même fréquence mais la différenciation des sources se fera par décalage Doppler de la fréquence lié au mouvement de chaque satellite, et par le code transmis qui ne sera pas abordé ici.

1. Sensibilité des récepteurs

Nous avons à notre disposition trois récepteurs de télévision numérique terrestre (DVB-T) vendus pour une somme avoisinant les 10 euros, d'apparence externe similaire mais qui s'avèrent munis d'étages de traitement de signaux radiofréquences (frontend) différents. Il s'agit de l'Elonics E4000, du Rafael Micro R820T1 et du Fiticomm FC0013. Tous ces frontends radiofréquences génèrent une paire de signaux analogiques I et Q qui sont numérisés sur 8 bits par un convertisseur Realtek RTL2832U. La réception de signaux venus de l'espace nécessite de connaître la sensitibilité de chaque récepteur, i.e. la capacité à déceler un signal de puissance faible à l'entrée d'antenne. Quatre bandes de fréquence vont nous intéresser : la bande de communication entre aéronefs, proche de la bande utilisée par les satellites en orbite polaire basse, de 137 MHz. La deuxième bande est la bande des signaux GPS autour de 1,5 GHz. La popularité des récevepteurs DVB-T pour le décodage de signaux transmis entre avions et le sol (ADS-B) suggère d'analyser la bande autour de 1090 MHz. Finalement, une bande intermédiaire peut être intéressante à caractériser car n'étant pas soumise à une demande de régulation individuelle pour l'exploiter : 434 MHz. Pour caractériser la sensibilité des divers récepteurs dans ces diverses bandes, nous utilisons un synthétiseur de signaux radiofréquences professionnel - Rohde & Schwartz SMA100A - configuré en générateur de signal modulé en fréquence ou en amplitude autour d'une fréquence de porteuse parmi la gamme proposée ci-dessus. Nous ajustons chaque récepteur DVB-T sur le gain maximal de son frontend radiofréquence - tel qu'indiqué dans les sources de rtlsdr à https://github.com/steve-m/librtlsdr/blob/master/src/librtlsdr.c#L945-L956 - et abaissons la puissance du synthétiseur jusqu'à ce que le rapport signal à bruit du signal démodulé atteigne un seuil prédéfini (Fig. 1). Nous avons choisi de noter la puissance radiofréquence émise pour laquelle les blocs de démodulation logiciel AM et WBFM fournis par GNURadio génèrent un rapport signal à bruit de 10 dB (tel qu'observé sur un affichage de la FFT du signal démodulé). De cette façon, nous nous affranchissons des définitions différentes de gains des étages radiofréquences qui ne présentent pas tous la même architecture (gamme de gain et position des amplificateurs). Dans tous les cas, l'acquisition se fait à 2,3 MHz, un filtre passe-bas décime le flux d'un facteur 12 avant d'entrer dans le bloc de démodulation AM ou WBFM, qui lui même décime de 5. Le résultat est affiché dans le bloc FFT avec une bande passante de 2300/60≃ 38 kHz sur 1024 points, ou une résolution spectrale de 37 Hz.

Récepteur

137 MHz

434 MHz

1090 MHz

1500 MHz

E4000

-105

-105

-96

-95

R820T

-112

-112

-109

-102

FC0013

-112

-111

-76

-58

Récepteur

137 MHz

434 MHz

1090 MHz

1500 MHz

E4000

-109

-110

-101

-101

R820T

-117

-119

-113

-110

FC0013

-116

-115

-80

-62

Tableau 1 : Puissance de la porteuse radiofréquence (en dBm) nécessaire pour atteindre un rapport signal à bruit de 10 dB sur le signal démodulé par chaque récepteur réglé sur son gain maximal (39 dB et 45 dB pour le gain RF et IF respectivement du E4000, 50 dB pour le gain RF du R820T et 20 dB pour le gain RF du FC0013). En haut le cas de la modulation FM (modulation sinusoïdale à 3 kHz pour une excursion de 5 kHz) et en bas le cas de la modulation AM (modulation sinusoïdale à 3 kHz pour une modulation à 30%).

Il apparaît que la définition du “meilleur” composant de traitement des signaux radiofréquences dépend de l'application envisagée. À basse fréquence (137 MHz pour les satellites en orbite polaire basse, ACARS ou tour de contrôle d'aéroport), le FC0013 semble un bon choix. Cependant, il devient catastrophique pour la réception des signaux GPS autour de 1500 MHz, et le Rafael R820T se comporte bien mieux à haute fréquence (au-dessus du GHz). Il n'est pas exclu que les sensibilités meilleures du R820T viennent du remplacement du connecteur d'antenne d'origine par une embase SMA, alors que les entrées antennes des deux autres récepteurs ont été remplacées par des embases BNC se comportant un peu moins bien à haute fréquence.

2. Satellites en orbite polaire basse

Nous avons déjà présenté dans ces pages divers concepts de physique et de traitement du signal liés à la réception d'images issues de satellites en orbite polaire basse, en particulier ceux exploités par la NOAA [2]2. Pour rappel, une porteuse autour de 137 MHz est modulée en fréquence à 2400 Hz, cette seconde porteuse (sous-porteuse) audiofréquence étant elle-même modulée en amplitude (AM) afin de retranscrire l'intensité lumineuse détectée par le capteur optique embarqué sur le satellite. Cette multitude de modulations peut paraître surprenante au premier abord, jusqu'au moment où on se rappelle que le vecteur de vol est en mouvement (le satellite le long de son orbite), et la fréquence du signal vu depuis le sol est décalée par effet Doppler. Dans nos précédentes investigations, le signal radiofréquence ne nous était pas accessible : seul le signal audio-fréquence était disponible en sortie d'une chaîne de traitement analogique pour enregistrement sur carte son et démodulation de la modulation AM.

Un récepteur DVB-T n'est pas conçu pour recevoir un signal d'un émetteur distant de plusieurs centaines de kilomètres - plus de 800 km pour les satellites en orbite polaire basse. Il est donc judicieux d'ajouter un amplificateur radiofréquence entre l'antenne et le récepteur. Il est classique d'utiliser le même câble coaxial pour porter la tension d'alimentation du préamplificateur et le signal radiofréquence reçu par l'antenne - la distinction entre les deux composantes se faisant par la bande de fréquence associée. En effet, la composante radiofréquence de fréquence f se verra coupée par une inductance L d'impédance ZL=2π*L*f tandis qu'un condensateur C ne présente qu'une impédance ZC=1/(2πC*f) d'autant plus faible que f est élevée. En pratique, en choisissant L de l'ordre de quelques dizaines de microhenris et C de quelques nanofarads, on obtient un pont diviseur d'impédances ZL≃ 10 kΩ et ZC≃ 1 Ω : le signal radiofréquence passe préférentiellement à travers le condensateur plutôt que dans l'inductance. Un circuit nommé “T de polarisation” propose donc un pont diviseur qui vise à bloquer l'arrivée du signal radiofréquence dans l'alimentation par une inductance et laisser passer le signal radiofréquence vers le récepteur au travers d'un condensateur. Au contraire, une inductance se comporte comme une résistance de faible valeur pour l'alimentation continue, et le condensateur comme un circuit ouvert qui évite de détériorer le récepteur radiofréquence par l'application d'un potentiel continu sur son entrée (Fig. 1). Ce concept sera ré-utilisé pour la réception de signaux GPS qui nécessite une antenne active munie d'un pré-amplificateur.

fig0

Figure 1 : Schéma d'un T de polarisation (en rouge) permettant d'alimenter le préamplificateur situé après l'antenne réceptrice et le filtre basse-bande. Le condensateur laisse passer le signal radiofréquence et bloque la composante continue de l'alimentation. L'inductance bloque le signal radiofréquence et se comporte comme une résistance de valeur négligeable pour l'alimentation continue.

Afin d'améliorer nos chances de réception et tenter de compenser en partie l'efficacité médiocre de l'antenne que nous proposerons (par soucis de compacité et de transportabilité plus que d'efficacité), nous avons ajouté un pré-amplificateur alimenté par le circuit que nous venons de décrire. Comme les bandes de fréquences autour de 137 MHz sont proches de la bande FM commerciale (88-108 MHz), nous nous inspirons de la pléthore de circuits d'amplification de cette bande disponibles sur le web. Nous sommes partis d'un des schémas disponibles sur le web3 pour modifier les valeurs des condensateurs des filtres passe-bande en entrée et en sortie pour les décaler vers 137 MHz. Ce travail nécessite cependant de l'instrumentation radiofréquence spécialisée qui n'est que rarement accessible à l'amateur, en particulier du fait de l'utilisation commune des inductances à noyau d'air, de réalisation peu reproductible. Une alternative plus reproductible nous semble une approche d'assemblage de briques aux performances connues et stables, à savoir filtres à ondes élastiques de surface (SAW) et amplificateur monolithique. En ce sens, nous avons acquis sur Ebay à un tarif dérisoire (moins de 10 euros) des filtres passe-bande Epcos (désormais TDK) B36074 centrés sur 140 MHz et présentant environ 10 dB de pertes afin de réduire la bande passante du circuit (60 dB de rejection hors bande), et un amplificateur Hittite (désormais Analog Devices) HMC478MP86 (tout autre modèle d'amplificateur monolithique large bande conviendra) qui a le bon goût de s'alimenter en 5 V depuis le port USB d'un PC.

La réduction de la bande passante en entrée de ces amplificateurs de bande très large est nécessaire d'une part pour ne pas être saturé par les signaux puissants proches de la bande qui nous intéresse (la bande FM n'est que 30 MHz sous la bande des signaux émis par les satellites), et pour réduire le bruit thermique intégré par l'amplificateur qui pourrait cacher le signal faible à détecter.

2.1 Approche SDR avec un récepteur DVB-T

La richesse de l'approche de radio définie par logiciel (SDR) est que, mis à part une transposition analogique initiale par mélange pour amener le signal radiofréquence dans la bande passante de la chaîne de numérisation (convertisseur analogique-numérique et communication USB - bande passante d'environ 2,5 MHz), tous les traitements se font de façon logicielle. Nous avons donc sans effort accès à tous les signaux, et en particulier avant la démodulation FM pour l'extraction du signal audio à 2400 Hz.

fig1a

Figure 2 : Gauche : blocs d'acquisition pour les images NOAA autour de 137 MHz, avec comparaison des démodulateurs WBFM et NFM, et divers gains audio. Droite : FFT du signal issu du mélangeur du DVB-T après filtrage passe-bas pour décimation. Ce signal présente les raies séparées de 2400 Hz représentatives de la modulation FM de la porteuse, raies qui se décalent par effet Doppler au cours du vol du satellite au-dessus du récepteur. En haut, le signal démodulé est quant à lui insensible à l'effet Doppler puisque toute dérive de la porteuse est compensée par le démodulateur : seul l'espacement entre les raies de modulation, et non leur position, importe.

Le décalage Doppler est un phénomène bien connu dans les fréquences audibles (la sirène de pompier plus aigue lorsque le camion s'approche et grave quand il s'éloigne), mais qui affecte tout phénomène ondulatoire, en particulier électromagnétique : si la source d'un signal périodique de fréquence f0 se propageant à la célérité c, et le récepteur sont affectés d'une vitesse relative v, alors la fréquence du signal vu par le récepteur est f=f0*((c+v)/(c−v)). Si c>>v, alors c+v≃ c et il reste f≃ f0*(c/(c−v)) ou plus classiquement f−f ≃ f0*v/c−v. On observe donc un décalage Doppler de la fréquence émise proportionnelle à la vitesse relative entre la source et le récepteur, le terme c−v étant pratiquement constant.

Un satellite orbitant autour de la Terre à r=870 km effectue un tour complet en 102 minutes (http://www.osd.noaa.gov/Spacecraft%20Systems/Pollar_Orbiting_Sat/NOAA_N_Prime/NOAA_NP_Factsheet.pdf - la faute d'orthographe dans le titre est d'origine). La vitesse linéaire du satellite (rayon terrestre R=40000/(2π)=6370 km) est donc de 2π*(R+r)≃ 45500 km en 102 minutes ou 26700 km/h=7,43 km/s. En supposant que la Terre est plate5, le satellite dépasse l'horizon (de la Terre plate ?!) avec une vitesse relative de +7,43 km/s, passe au-dessus de l'observateur pour finalement repartir vers l'horizon opposé avec une vitesse de -7,43 km/s. Seule la projection de la vitesse en direction du récepteur importe dans le calcul du décalage Doppler : l'angle entre le satellite et le récepteur au sol, toujours dans l'approximation d'une Terre plate, est une loi en arctan() du ratio de la position du satellite sur son orbite à son altitude. Lorsque le satellite est juste au-dessus du récepteur, la projection de la vitesse dans la direction de visée est nulle. Aux deux horizons, le décalage Doppler est asympotiquement prédit comme ± 7430*(137*106)/(3*108)=± 3400 Hz avec le dénominateur de 3*108 m/s la célérité de la lumière. Nous prévoyons donc d'observer la porteuse radiofréquence décalée de ± 3400 Hz au cours du passage d'un satellite.

Un récepteur de télévision numérique terrestre (DVB-T) est principalement (pour vraiment simplifier !) un mélangeur radiofréquence pour transposer le signal reçu sur l'antenne vers une bande plus basse exploitable, et un circuit de numérisation. L'oscillateur local du récepteur DVB-T est configuré à une valeur fixe autour de 137 MHz, et l'acquisition s'effectue à environ 2 MHz, donc nous observerons les phénomènes dans la bande 137± 1 MHz. Si seule la porteuse radiofréquence était émise, nous pourrions (sous certaines conditions) observer un signal initialement décalé de +3400 Hz, qui disparaîtrait progressivement (en suivant la loi en arctan mentionnée précédemment) lorsque le satellite passe au-dessus de notre tête (par annulation de la composante DC dans un récepteur tel que le DVB-T), et finalement réapparaître à -3400 Hz lorsque le satellite s'éloigne de nous. Heureusement, la modulation audio à 2400 Hz va nous donner un point de repère tout au long du passage du satellite. La modulation en fréquence au rythme de 2400 Hz d'une porteuse se traduit, dans le domaine spectral, par un peigne de raies éloignées de multiples de 2400 Hz de la porteuse. Si la porteuse se décale par effet Doppler, le peigne de raies va suivre ce phénomène (Fig. 3, droite). La tendance est bien observée, mais l'excursion de décalage Doppler lorsque le satellite passe d'horizon à horizon est un peu plus faible que prévu.

Afin d'affiner un peu le modèle, nous quittons l'approximation de la Terre plate, modèle rejeté par la majorité de la communauté scientifique depuis plus de 2000 ans6, pour introduire un modèle de Terre sphérique qui fera l'affaire pour ce qui nous concerne (Fig. 3, gauche). Un récepteur situé au point P peut observer un satellite d'horizon à horizon HH′. Le satellite passe au-dessus de l'horizon en H et le vecteur vitesse OS13 symbole-Vfleche 4du satellite le long de l'orbite présente une projectionOS13 symbole-VflecheIndice 1 vers P selon de la trigonométrie élémentaire : l'angle ϑ vérifie

formule_1

qui vaut donc 3000 Hz en H et -3000 Hz en H′.

Nous validons expérimentalement ces concepts en affichant le spectre du signal brut issu du récepteur DVB-T - avant toute démodulation (dont nous allons voir que le rôle est de justement s'affranchir de l'effet du décalage Doppler). Le transformée de Fourier du flux de données I/Q issu du récepteur traduit l'évolution du spectre du signal reçu en fonction de la position du satellite lors de son passage d'horizon à horizon au dessus du récepteur fixe au sol (Fig. 3, droite). En toute rigueur, cette analyse n'est valable que pour un satellite passant à une élévation de 90° au-dessus de l'observateur. En pratique, un satellite passant suffisament haut dans le ciel vérifie convenablement les résultats de ce calcul.

fig2ab-s 1

Figure 3 : Gauche : schéma aidant à suivre le raisonnement de la projection du vecteur vitesse OS13 symbole-Vfleche 0du satellite le long de sa trajectoire en direction du récepteur P lors de son survol d'horizon à horizon HH′. L'illustration du satellite vient dehttp://www.oso.noaa.gov/poesstatus/. Droite : évolution dans le temps (axe des abscisses) des fréquences des signaux (ordonnée) acquis du satellite, avant démodulation. L'espacement de 2400 Hz est bien visible tout au cours du passage, tandis qu'une même raie se décale de 6000 Hz entre le passage du satellite au-dessus de l'horizon (point H sur le schéma de gauche) et son passage sous l'autre côté de l'horizon (point H′) - décalage indiqué par les symboles en bleu. La fonction arctan(x) a été ajoutée sur une des traces pour guider l'œil, sans prétention d'un ajustement rigoureux des paramètres par minimisation de l'erreur.

2.2 Résultats d'images démodulées

Le signal brut venant du satellite est démodulé de sa modulation en fréquence par les blocs GNURadio WBFM (FM large bande) ou NBFM (FM bande étroite). Nous n'avons pas observé de différence de performance de ces deux blocs, et tous les résultats présentés ci-dessous sont acquis sur les signaux sauvegardés dans un fichier au rythme de 11025 Hz tel que requis par wxtomig (http://www.wxtoimg.com), logiciel fermé mais gratuit de conversion des flux audiofréquences en images. Afin de respecter cette contrainte sur le débit du flux de sortie, l'acquisition s'effectue à samp_rate=11025*128= 1,411 MHz. Un premier filtre passe-bas décime le flux d'un facteur 32, ou 44100 Hz. L'évolution au cours du temps de la FFT de ce signal a été affichée pour générer le graphique de la Fig. 3, droite, tandis que ce même signal alimente le bloc de démodulation WBFM qui lui-même décime d'un facteur 2 pour atteindre 22050 Hz, la plus basse fréquence d'échantillonnage accessible pour la carte son d'un ordinateur portable Panasonic CF-19. Ce signal est envoyé sur la sortie audio pour fournir à l'opérateur un signal audiofréquence permettant d'ajuster l'orientation de l'antenne au cours du passage du satellite. Enfin, un filtre de décimation rejette encore un point sur 2 pour finalement atteindre les 11025 Hz du débit de données allant dans un fichier de sauvegarde au format WAV, 16 bits/échantillon.

fig3a-s

Figure 4 : Capture d'image de NOAA 15 survolant Clermont-Ferrand avec une élévation maximale de 78o. Haut : l'image brute démodulée par GNURadio, sauvegardée dans un fichier audio au débit de 11025 Hz, puis décodé par wxtoimg, avec (droite) et sans (gauche) la superposition des frontières en post-traitement. Bas : gauche l'image Meteosat prise à la même date, et à droite le montage expérimental.

Une des captures résultantes, Fig. 4, compare avantageusement les images prises par notre montage et la photographie obtenue sur le web à www.wetterzentrale.de, de Meteosat10. L'image issue du récepteur DVB-T est aussi proposée avec la superposition des frontières pour mieux situer la géographie de la région observée. En particulier, noter la très mauvaise résolution de l'image Meteosat au-dessus de 60°N : les satellites géostationnaires sont peu appropriés pour observer les zones polaires au-dessus de 60° et en dessous de -60° [3]. Ce constat justifie l'intérêt des satellites en orbite polaire - les prévisions météorologiques en Europe étant fortement influencées par le comportement des masses d'air en région arctique par exemple [4] - et, puisque les données sont transmises en temps réel par ces satellites, la nécessité de placer des stations de réception à proximité de ces régions.

La contrainte d'emporter ce montage lors de nos déplacements - notamment en avion - définit la nature de l'antenne qui doit être démontable, compacte et légère. Nous avons donc sélectionné l'architecture du crossed-dipole dans laquelle deux dipôles taillés pour fonctionner à 137 MHz (chaque brin fait environ 55 cm de long) sont reliés par un câble coaxial de longueur λ/4 (ou, à 137 MHz, 36 cm pour tenir compte de la célérité d'une onde électromagnétique dans un cable coaxial de 66% de la célérité dans le vide). Cette architecture démontable tient dans un tube de 60 cm de long et 5 cm de diamètre, respectant les consignes des compagnies aériennes sur les dimensions de bagages en soute.

2.3 Comparaison avec RIG RX2

Nous avions auparavant [2] présenté la réception de signaux issus de satellites en orbite polaire basse au moyen d'un récepteur commercialisé en kit par le Remote Imaging Group (RIG) anglais, qui ne semble plus disponible aujourd'hui. Ce récepteur reste notre référence par l'excellente qualité des images acquises.

La sortie d'antenne, avant le préamplificateur, est divisée en deux signaux. Une fraction de la puissance incidente est dirigée vers le RX2, tandis que le complément passe dans le circuit de pré-amplification+passe-bande et arrive au récepteur DVB-T. Les signaux audiofréquences générés par GNURadio et acquis sur l'entrée de la carte son reliée à la sortie du RX2 sont acquis simultanément. Les deux fichiers WAV sont alors traités avec wxtoimg qui adapte au mieux son gain en fonction du rapport signal à bruit observé sur chaque jeu de données (Fig. 5).

fig4ab-s

Figure 5 : Comparaison des signaux acquis par un RIG RX-2 (gauche) et un récepteur DVB-T (droite) : le même signal radiofréquence est divisé vers les deux récepteurs pour traitement simultané. Bien que la structure générale des images soit similaire, le rapport signal à bruit est meilleure pour le RX2, effet particulièrement visible lorsque le satellite est près de l'horizon et propage un signal significativement atténué par l'atmosphère.

La bande passante réduite du récepteur RX2 (dédié uniquement aux satellites en orbite polaire basse) et l'accès pour traitement logiciel uniquement au signal démodulé audiofréquence ne répond pas aux exigences de cet article, mais le traitement du signal analogique hétérodyne proposé par le RX2 fournit à terme une sensibilité nettement meilleure qui compense la médiocrité de l'antenne dipôle utilisée pour ces expériences. Les deux images se comparent cependant avantageusement et la qualité moins bonne de l'image acquise par DVB-T ne dégrade pas significativement le résultat (Fig. 5). Nous reviendrons sur ces point plus bas lors de l'analyse multicanaux des signaux reçus de satellites en orbite polaire (section 5.3) - résultat uniquement accessible par DVB-T que le RX2 n'autorise pas du fait de sa chaîne de traitement analogique qu'il faudrait dupliquer par le nombre de canaux à traiter simultanément.

3. Bilan de liaison

Il peut paraître a priori surprenant qu'un récepteur de télévision numérique terrestre réussisse à capturer un signal issu d'un satellite. Devons nous réellement nous en étonner ?

Dans un premier temps, notons que la propagation en espace libre d'ondes électromagnétiques (radiofréquences) entre le satellite et le sol s'approche du cas idéal : pas de rebond ni d'atténuation sur des obstacles, pas d'interaction de l'onde électromagnétique avec le sol dans la zone dite de Fresnel. Le satellite envoie une onde sphérique qui se propage uniformément jusqu'à atteindre le récepteur. Dans ces conditions, la seule limitation à la portée d est la conservation de l'énergie qui nous informe que la puissance émise depuis le satellite se distribue uniformément sur la sphère de rayon d donc de surface 4πd2. Ceci revient à dire que la puissance décroît comme la classique loi en 1/d2. Si l'antenne réceptrice a une taille de l'ordre de la longueur d'onde λ, alors l'intersection de la sphère sur laquelle se distribue la puissance émise et l'antenne porte sur une surface λ2/(4π) (le terme 4π correspond à la normalisation par la surface de la sphère imaginaire qui entoure l'antenne supposée isotrope), et la fraction de puissance reçue par l'antenne réceptrice est λ2/(4πd)2. Puisque la longueur d'onde est le ratio de la célérité de l'onde c sur sa fréquence f, nous avons donc une fraction de la puissance émise arrivant au récepteur égale à c2/(4πfd)2. Il s'agit là des pertes de propagation en espace libre ou free space propagation loss7. Si nous passons en décibels en prenant 10log10 de cette expression (qui facilite les calculs en transformant les produits en sommes), alors 10log10(c2/(4πfd)2)= 20log10(c/(4π))−20log10(d)−20log10(f) avec le premier terme qui vaut, pour c=3*108 m/s, +148 dB. Un satellite POES de la NOAA émet une puissance de 10 W (http://en.wikipedia.org/wiki/Automatic_Picture_Transmission - pour comparaison, Radio Campus à Besançon émet 1 kW pour une portée annoncée de 25 km) ou +40 dBm (noter que le dBm est référencé à 1 mW donc 1 W qui fait 1000 mW vaut +30 dBm et 10 W valent +40 dBm), donc la puissance atteignant le sol à 870 km du satellite (λ vaut 2,2 m pour une fréquence de f=137,5 MHz) est de +40−148+20log10(870*103)+20log10(137,5*106)= −94 dBm. Nous insérerons un amplificateur d'environ 15 dB entre l'antenne et le récepteur : la puissance reçue est alors de l'ordre de -80 dBm. Cette valeur peut sembler ridiculement faible (une dizaine de pico-watt), mais le plancher d'un récepteur de type DVB-T est observé (section 1) autour de -110 dBm. Le signal reçu du satellite est donc clairement visible avec 30 dB de signal au-dessus du bruit, en accord avec nos observations expérimentales. Les raies horizontales sur les images que nous produisons (Fig. 5) sont interprétées comme des directions dans laquelle l'antenne fonctionne mal (nuls du diagramme de rayonnement) et pour lesquelles le bilan de liaison est donc dégradé.

4. Connexion par pipe

Des outils de traitement logiciel du signal ont longtemps existé, bien avant l'explosion de la mode de la SDR, et en particulier à l'époque où la sortie audio d'un récepteur radiofréquence large bande (scanner) était connectée à l'entrée d'une carte son. Parmi les plus connus,multimon permet de décoder de nombreux modes numériques de bande passante réduite, déterminée par la fréquence d'échantillonnage de la carte son. La question consiste donc, à l'instar d'Alexandru Csete sur http://www.youtube.com/watch?v=GBmli8Vflig, de connecter la sortie de GNURadio vers un autre programme externe chargé de la conversion du flux de données audiofréquences en trame de données numérique. Sous réserve que ce dernier accepte un flux de données brutes (i.e. ne nécessitant pas les points d'accès d'une carte son par exemple), nous connectons la sortie du flux de données issues de GNURadio à un fichier. Cependant, le fichier sera en réalité un pipe nommé, c'est-à-dire une FIFO qui transmet les données qui y entrent vers un programme qui prend en entrée la sortie de la FIFO. Il s'agit donc, sous forme d'un pseudo-fichier, d'obtenir la même fonction que le | d'unix. La seule subtilité à identifier est qu'un programme faisant appel à un pipe nommé est bloqué tant que le second côté du tuyau n'est pas connecté à un puits. D'autre part, les données attendues par multimon sont celles qui viendraient d'une carte son, donc format d'entiers codés sur 16 bits et avec un débit de 22050 Hz. Nous convertissons donc, après homothétie, les flottants issus d'un bloc de démodulation vers un flux de shorts qui est redirigé vers un fichier. Ce pseudo fichier a été créé par la commande mkfifo fichier. Finalement, multimon se connecte à la FIFO par multimon -t raw fichier.

Notre intérêt pour multimon porte en particulier sur sa capacité à décoder le protocole d'encodage des signaux émis depuis le sol et retransmis vers le sol par la Station Spatiale Internationale (ISS) autour de 145,800 MHz (ou 145,825 MHz). L'encodage le plus commun pour ce mode de communication numérique amateur, issu de AX25, est APRS. La modulation est AFSK1200, c'est-à-dire des états de bits encodés sur deux fréquences audio. Cependant, l'ISS passe rarement, et l'horaire n'est pas toujours approprié pour expérimenter avec un nouveau concept.

fig5

Figure 6 : Traitement d'un signal modulé en fréquence puis transmis à multimon au travers d'un pipe nommé pour décodage du flux de données numériques.

4.1 Décodage de POCSAG (pagers)

Afin de tester la capacité à exploiter le pipe d'unix pour faire communiquer GNURadio avec un logiciel de traitement numérique des trames démodulées, nous devons accéder à une source continue de messages qui soit plus reproductible que les brefs passages de la Station Spatiale Internationale (ISS) et son transpondeur ARISS. Heureusement, le successeur des vénérables Tamtam et autres Tatoo existe encore sous le nom de e*Message et continue à diffuser, à des fins professionnelles, des messages sur les ondes électromagnétiques autour de 466 MHz8. Noter le commentaire publicitaire de l'exploitant « Choisir e*Message, c'est bénéficier de nombreux avantages : un réseau indépendant et sécurisé » - la notion de sécurité est toute relative lorsque les informations sont transmises dans un format numérique trivial à décoder ... Nous allons donc caler le récepteur DVB-T sur les fréquences autour de 466 MHz et configurer GNURadio pour émettre un flux de données continu décodable par le vénérable multimon (disponible en paquet précompilé sous Debian/GNU Linux).

fig6-s

Figure 7 : En haut à droite : la sortie graphique (SCOPE) de multimon présente l'évolution temporelle des bits en cours de décodage, issus de la démodulation de fréquence (FSK) du signal radiofréquence incident. En bas, le spectre affiché par gnuradio dans la bande de fréquence portant les signaux POCSAG : en bleu, la bande de fréquence servant à la transmission du signal en cours de décodage, et en vert la puissance maximale observée pour chaque point de la FFT (historique). Terminal de gauche : affichage des messages décodés par multimon ayant identifié un protocole POCSAG, ici des messages de maintenance du réseau de communication, la loi nous interdisant de diffuser des messages plus pertinents (tel que par exemple les avis de décès transmis lors des interventions de pompiers).

Bien que la loi nous interdise de diffuser les messages décodés, le rapport signal à bruit des raies liées aux canaux de communication numérique visibles sur Fig. 7 est excellent et laisse présager d'un décodage aisé. Par ailleurs la vue scope de multimon permet de facilement se familiariser avec le flux de données et associer deux fréquences de modulation aux deux états possibles des bits transmis. Notre expérience depuis divers sites de Besançon est qu'il se passe rarement plus de 30 secondes sans qu'un message ne soit diffusé au format POCSAG, le plus souvent des messages automatiques de maintenance, et sinon des messages liés aux interventions de pompiers, maintenance informatique ou état de diverses installations hospitalières ou prise de fonction des personnels soignants. Noter sur la Fig. 6 un filtre passe haut entre la sortie du démodulateur FM et le convertisseur flottant en entiers : il s'agit d'une tentative timide de compenser tout biais de l'oscillateur local du récepteur par rapport à la porteuse émise par un pager, afin de centrer la courbe décodée par multimon sur 0. En effet en FM, un écart entre fréquences d'oscillateurs se traduit par un biais sur le signal décodé, et l'algorithme de détection de passage par 0 de multimon échoue si la courbe est trop éloignée de l'origine des ordonnées.

4.2 Décodage des liaisons numériques APRS

Avant d'être utilisé pour les transactions numériques au travers de l'ISS, l'APRS est avant tout utilisé pour les liaisons au sol. En Europe de l'ouest, la fréquence dédiée à l'APRS est 144.800 MHz, proche de la fréquence qui nous concerne pour l'ISS. Nous allons démontrer notre capacité à décoder l'APRS avec une puissance de signal inférieure à celle observée au cours d'une liaison vocale depuis l'ISS, laissant présager un décodage efficace si une transaction à travers ARISS se faisait.

La séquence ci-dessous est acquise sur une durée d'environ 30 minutes depuis le plateux des Cézeaux sur le campus universitaire de Clermont-Ferrand, en réglant le récepteur DVB-T, connecté à l'antenne prévue pour les satellites en orbite polaire, sur 145,800 MHz.

jmfriedt@rugged:~/sdr$ multimon -t raw pipe

multimod  (C) 1996/1997 by Tom Sailer HB9JNX/AE4WA

available demodulators: POCSAG512 POCSAG1200 POCSAG2400 EAS AFSK1200 AFSK2400 DTMF ZVEI SCOPE

Enabled demodulators: POCSAG512 POCSAG1200 POCSAG2400 EAS AFSK1200 AFSK2400 DTMF ZVEI SCOPE

AFSK1200: fm F6FQI-12 to TU3RV6-0 via F6FQI-2,WIDE1-0,F5ZFC-3 UI  pid=F0

`yJ.oS<v/'":[}|4

AFSK1200: fm F4CGN-0 to APU25N-0 via F5SNV-3,F5ZFC-3,WIDE2-0 UI^ pid=F0

;F4CGN    *121247z4618.15N\00428.95E?PHG50304/Probe Enabled

AFSK1200: fm F6FQI-12 to TU3RW5-0 via F6FQI-2,WIDE1-0,F5ZFC-3 UI  pid=F0

`yJHmS v/'":p}Bruno, 145.450 ou Relais local - U.Bat:14.3V  73's|4

AFSK1200: fm F5ZHR-4 to APFD39-0 via F5SNV-3,F5ZFC-3,WIDE2-0 UI^ pid=F0

!4658.33NV00553.19E#PHG3940 Digi APRS VHF du Mont Poupet Dept 39

AFSK1200: fm F1ZFJ-3 to APFD03-0 via F5ZFC-3,WIDE2-0 UI^ pid=F0

!4610.47N/00257.35E#  APRS DIGI ADRASEC 03 UIDIGI 1.9B3

AFSK1200: fm F4CGN-0 to APU25N-0 via F5SNV-3,F5ZFC-3,WIDE2-0 UI^ pid=F0

;F4CGN    *121247z4618.15N\00428.95E?PHG50304/Probe Enabled

AFSK1200: fm F5SNV-4 to APRS58-0 via F5ZFC-3,WIDE2-2 UIv pid=F0

AFSK1200: fm F5SNV-4 to APRS58-0 via F5ZFC-3,WIDE2-2 UIv pid=F0

=4706.44NV00307.33E#PHG3200/DIGI_NED Digi Urbain Nevers.

AFSK1200: fm F4CGN-0 to APU25N-0 via F5SNV-3,F5ZFC-3,WIDE2-0 UI^ pid=F0

;TRAFFIC  *121246z4618.15N\00428.95E?42 In 10 Minutes

AFSK1200: fm F4CGN-13 to APU25N-0 via F5SNV-3,F5ZFC-3,WIDE2-0 UI^ pid=F0

@121249z4618.15N/00428.95E_332/006g010t072r000P000p000h45b10158/Virtual Weather station / WMR928N {UIV32N}

AFSK1200: fm F4CGN-0 to APU25N-0 via F5SNV-3,F5ZFC-3,WIDE2-0 UI^ pid=F0

>120847zUI-View32 V2.03

AFSK1200: fm F6FQI-12 to TU3SP2-0 via F6FQI-2,WIDE1-0,F5ZFC-3 UI  pid=F0

`yJ`mfuv/'";C}|4

AFSK1200: fm F1ZFJ-3 to APFD03-0 via F5ZFC-3 UI^ pid=F0

!4610.47N/00257.35E#  DIGI APRS JN16LE LA BOSSE 03 ALLIER

AFSK1200: fm F6FQI-12 to TU3RX5-0 via F6FQI-2,WIDE1-0,F5ZFC-3 UI  pid=F0

`yJdnIEv/'";n}|4

AFSK1200: fm HB9MMC-9 to TV2XT8-0 via WIDE1-0,F5SNV-3,F5ZFC-3,WIDE2-0 UI  pid=F0

`|2Fr@Xj/'"8W}Bonjour!w_#!|3

AFSK1200: fm F6FQI-12 to TU3RX3-0 via F6FQI-2,WIDE1-0,F5ZFC-3 UI  pid=F0

`yJqn].v/'";v}Bruno, 145.450 ou Relais local - U.Bat:14.4V  73's|4

AFSK1200: fm F6FQI-12 to TU3RX1-0 via F6FQI-2,WIDE1-0,F5ZFC-3 UI  pid=F0

`yK3n*Zv/'"<=}|4

AFSK1200: fm F5SNV-3 to APRS58-0 via F5ZFC-3 UIv pid=F0

AFSK1200: fm F5SNV-3 to APRS58-0 via F5ZFC-3 UIv pid=F0

!4658.29NV00358.52E#PHG4700/DIGI_NED Digi APRS du MORVAN 818m.

AFSK1200: fm F1ZYB-3 to APFD01-0 via F5ZHR-4,F5SNV-3,F5ZFC-3,WIDE3-1 UI  pid=F0

>TT4 Digi Col du Berthiand 01

AFSK1200: fm F6IKY-5 to APU25N-0 via F5SNV-3,F5ZFC-3 UI^ pid=F0

@121253z4638.01N/00514.62E_008/003g006t071r000P000p000h55b10133Meteo Chateaurenaud 71500 {UIV32N}

AFSK1200: fm F6FQI-2 to BEACON-0 via F5ZFC-3 UI  pid=F0

=4534.22N100347.68E#PHG2625/Solar powered. Bat = 13.4V le 121254 UTC

 

Il est amusant de recevoir, depuis Clermont Ferrand, des messages issus du Mont Poupet dans le Jura, proche de Besançon où réside actuellement l'auteur. Les messages comprennent principalement l'état des relais radiofréquences et des informations météorologiques, mais le plus important est de démontrer le bon fonctionnement de la réception et décodage de ce mode de transmission numérique.

4.3 Cas de l'ISS

Un passage de l'ISS est un évènement bref - la station passe d'un horizon à l'autre en environ 10 minutes - qui ne laisse pas le temps pour des réglages des paramètres du récepteur DVB-T. On validera donc le montage, la connexion du préamplificateur et de la configuration de GNURadio, sur les signaux ACARS émis à une fréquence suffisamment proche (131,725 MHz en Europe), avant de se lancer dans les signaux faibles venus de l'espace.

L'APRS nécessite deux interlocuteurs, un émetteur et un récepteur, l'ISS ne faisant qu'office de relais. Alors que ce type de mesure était courant il y a une dizaine d'années (voir par exemple la photographie prise en 2001 disponible à http://friedtj.free.fr/iss.gif), il semble que ce mode de communication soit devenu moins populaire à ce jour. Malgré notre incapacité à recevoir un message numérique lors d'un passage de l'ISS, nous avons eu la satisfaction de recevoir le 9 août 2014 un signal vocal en russe citant une observation du Stromboli qui s'avérait être justement en éruption à cette date, que nous attribuons à un des cosmonautes à bord de l'ISS. Un enregistrement de ce passage est mis à disposition du lecteur à http://jmfriedt.free.fr/140809_iss.ogv. Il y apparaît que le rapport signal à bruit de la réception (Fig. 8) est largement suffisant pour permettre un décodage des transmissions numériques. Cependant, au cours des divers essais pendant l'été 2014, aucun signal numérique n'a été détecté lors des passages de l'ISS, plaçant un doute sur le bon fonctionnement du répéteur ARISS dont le statut n'est pas clair.

fig7ab-s

Figure 8 : Gauche : zone de visibilité de l'ISS lors du passage du 9 août 2014 vers 21 h, qui comprend les îles Éoliennes, au nord de la Sicile, où se trouve le Stromboli dont il est question dans la conversation. Droite : capture d'écran de la FFT du signal reçu à 145,800 MHz pendant le passage de l'ISS, indiquant l'excellent rapport signal à bruit du signal reçu de la station spatiale.

5. Traitement des signaux par canaux

Le spectre radiofréquence est canalisé : diverses bandes de fréquences sont attribuées à diverses applications, et chaque sous bande contient elle-même des canaux définis par une fréquence centrale de travail et une bande passante (Fig. 9). Plus cette bande passante BW est élevée, plus le débit de communication C peut être important et uniquement limité par le rapport signal à bruit SNR de la liaison : il s'agit de la célèbre équation de Shannon publiée en 1948 [5] C=BW*log2(1+SNR). À aucun moment nous ne voyons apparaître la fréquence de communication dans cette équation, si ce n'est pour des contraintes technologiques de taille d'antenne ou de facilité à atteindre BW élevé (il est technologiquement plus simple d'atteindre un BW élevé à une fréquence beaucoup élevée que BW).

fig8-s

Figure 9 : Canalisation des signaux radiofréquences, et stratégie de mesure simultanée des canaux par transposition numérique des diverses bandes de fréquences contenues dans la bande passante d'acquisition.

Un circuit analogique ne peut traiter qu'un canal de communication à la fois : l'oscillateur local est calé sur la fréquence centrale du canal, et les filtres en sortie du mélangeur sont de largeur fixe pour respecter la définition de chaque canal. Changer la nature du canal implique de sortir son fer à souder et placer un nouveau filtre en sortie du mélangeur, une opération fastidieuse qui nécessite généralement par la suite une phase d'étalonnage et de qualification de la modification. Dans une approche logicielle, modifier la nature d'un filtre revient uniquement à recalculer les coefficients du filtre à réponse impulsionnelle finie (FIR) qui est généralement placé entre les flux de données I/Q issu du matériel et l'étage de démodulation logicielle (AM, WBFM ...).

La bande passante d'échantillonnage du dongle DVB-T est suffisante pour couvrir plusieurs canaux. Tous les canaux couverts par la bande d'acquisition des signaux pourront être traités en parallèle : la seule contrainte est de comprendre comment séparer les signaux associés à chaque canal pour ne pas mélanger toutes ces informations. Pour prendre l'exemple de la bande FM commerciale, les canaux sont séparés de multiples de 100 kHz. Ainsi, le récepteur avec ses plus de 2 MHz de bande passante peut couvrir plus d'une dizaine de chaînes. Dans un exercice purement académique et (dans un premier temps) sans intérêt pratique, nous allons démontrer sur cette bande de fréquence comment multiplexer les traitements pour les appliquer à plusieurs canaux et ainsi écouter simultanément plusieurs stations de la bande FM commerciale.

Le composant clé pour effectuer cette tâche est le bloc GNURadio nommé Frequency Xlating FIR filter. Ce composant est un nouvel étage de transposition de fréquence (par mélange avec un oscillateur local numérique cette fois) suivi d'un filtre passe-bas. Les coefficients du filtre passe-bas sont sélectionnés pour ajuster la bande passante du filtre à la largeur du canal de transmission, tandis que la fréquence de l'oscillateur local va sélectionner un canal dans les ± 1 MHz de bande échantillonée par le récepteur DVB-T et l'amener près de la fréquence nulle. Ainsi, la chaîne de démodulation qui suivra (démodulateur WBFM ou AM par exemple) se s'appliquera qu'à un canal bien défini et pas sur la somme de tous les signaux issus de tous les canaux dans la bande observée. Cette approche est très puissante car elle permet d'observer continûment une multitude de canaux avec un seul récepteur radiofréquence [7], au lieu de multiplier les récepteurs (matériels) comme on le ferait dans une approche analogique.

5.1 Illustration du concept : recevoir deux chaînes de la FM commerciale

Pour illustrer l'exemple de la bande FM commerciale, nous sélectionnons deux canaux (les stations France Info et Europe 1 - séparées de 500 kHz donc nettement moins que les 2 MHz accessibles par la fréquence d'échantillonnage du récepteur DVB-T). Nous nous plaçons au milieu de cette bande, 300 kHz sous un des canaux et 200 kHz au-dessus de l'autre. Deux Frequency Xlating FIR filter sont connectés au flux de données I/Q afin d'alimenter deux démodulateurs WBFM. Les deux flux de données audiofréquences sont alors sommés pour alimenter la carte son. Le résultat est certes difficilement audible, mais démontre nettement que les deux stations FM ont été analysées simultanément - il aurait évidemment été possible d'envoyer les deux flux de données sur deux périphériques ou fichiers disctincts. La vidéo illustrant ce traitement, difficile à présenter sous forme de figure, est disponible à http://jmfriedt.free.fr/xlating_filter.mp4. Cette méthode de travail s'étend en ajoutant autant de Frequency Xlating FIR filter que de canaux à analyser, uniquement limité par la puissance de calcul de l'ordinateur qui traite le flux de données I/Q.

Un point clé de la transposition de fréquences tient dans le filtre passe-bas (Fig. 10) situé après le mélangeur - voir Fig. 11 pour un schéma similaire à celui utilisé dans la vidéo citée ci-dessus - contenu dans chaque bloc Frequency Xlating FIR filter. Trop étroit, la bande passante du signal utile se verra tronquée et la démodulation de pourra pas se faire efficacement du fait de la perte d'informations. Trop large, le canal adjacent risque de laisser de l'énergie baver dans le canal en cours d'étude qui sera donc perturbé (cas visible en haut à gauche de la figure du milieu de Fig. 12 ou dans le cadre du milieu-gauche dans la figure de droite de Fig. 12). GNURadio se propose de nous faire utiliser son outil de synthèse de filtre en générant dans une variable les coefficients par

firdes.low_pass(1,samp_rate,15000,5000,firdes.WIN_HAMMING,6.76)

Cependant, cet outil ne nous informe ni du nombre de coefficients (qui déterminera la puissance de calcul nécessaire pour appliquer le filtre en temps réel), ni de la nature de ces coefficients. Compte tenu des implications sur les ressources de calcul nécessaires, il est important de bien maîtriser la génération des coefficients du filtre. Pour ce faire, nous générons le top_block.ply à partir de gnuradio-companion et ajoutons après self.firdes_tap = firdes_tap = firdes.low_pass(1,samp_rate,1500,500,firdes.WIN_RECTANGULAR) les instructions Python print len(firdes_tap) pour connaître le nombre de coefficients requis et print firdes_tap pour obtenir ces coefficients eux-mêmes. L'exécution dutop_block.ply nous informe que GNURadio a généré un filtre de 153 coefficients. Nous comparons ces coefficients avec ceux issus de la fonction firls de GNU/Octave qui prend en argument les fréquences pour lesquelles le gabarit du filtre est défini, et les amplitudes pour chacun de ces points, ainsi que le nombre de coefficients. Ainsi ce même filtre passe-bas se définit par a=firls(153,[0 1500 2000 samp_rate/2]/(samp_rate/2),[1 1 0 0]); La réponse spectrale du filtre se trace par [h,w]=freqz(a,1); qui cette fois donne un axe des abscisses en fréquence angulaire au lieu d'une fréquence normalisée, donc l'affichage de cette réponse spectrale est plot(w/pi*samp_rate/2,abs(h)). Le résultat de cette analyse est proposé sur la Fig. 10.

fig9-s

Figure 10 : Comparaison des réponses spectrales (gauche) et temporelles (droite) des filtres définis par GNURadio (rouge) et GNU/Octave (bleu).

Nous constatons que pour une fenêtre de pondération du filtre de Hamming, les deux outils génèrent des coefficients induisant des filtres aux réponses spectrales similaires. Pour une pondération rectangulaire, GNURadio se comporte beaucoup moins bien que GNU/Octave, avec des oscillations importantes dans la bande passante du filtre pour une largeur de transition du filtre comparable.

5.2 Application du concept à quatre canaux POCSAG

Le concept du traitement d'une multitude de canaux est alors fort simple : le récepteur radiofréquence transpose de la plage RF d'intérêt vers une bande accessible pour le traitement numérique. Une fois le flux de données numérisé, nous transposons chaque canal vers la zone accessible par le démodulateur. Dans l'exemple de la Fig. 11, la démodulation du signal FM s'effectue dans une bande passante de 176 kHz donc nous devons ramener chaque canal dans cette bande de fréquence. Le filtre passe-bas reste toujours le même donc exploite toujours les mêmes coefficients du FIR, mais la fréquence de l'oscillateur local (NCO) est ajustée pour transposer chaque bande sous les 176 kHz de cet exemple. Ces opérations sont cependant gourmandes en ressources de calcul : nous avons constaté en pratique qu'il est peu judicieux que le nombre de canaux analysés dépasse le nombre de tuyaux de traitement (pipelines) disponibles sur le ou les processeurs de l'ordinateur exécutant GNURadio. Sur un Panasonic CF-19, nous avons constaté une chute significative des performances lorsque le nombre de canaux dépasse 4 (soit le nombre de pipelines du processeur i5).

fig10-s

Figure 11 : Graphique gnuradio-companion illustrant l'analyse simultanée de 4 canaux dans la bande d'émission des messages encodés en POCSAG. Le récepteur radiofréquence est calé sur la fréquence du premier canal, donc la démodulation se contente d'un filtre passe-bas et d'un démodulateur FM. Pour les autres canaux, le filtre passe-bas est remplacé par un Frequency Xlating FIR filter qui comporte un oscillateur de transposition de fréquence suivi du filtre passe-bas. Chacune des sorties est connectée à un gain, une conversion de flottant en entier signé sur 16 bits, et une sortie sur un fichier qui est en réalité un pipe nommé.

Chaque flux de données démodulé est ensuite transmis à une des quatre instances du programme multimon qui est à l'écoute d'un pipe nommé différent. Les décodages se font donc bien en parallèle sur tous les canaux de flux encodés selon le protocole POCSAG (Fig. 12). En pratique, un seul canal est décodé à chaque instant car il est rare de voir des transmissions sur deux canaux simultanément.

fig11abs-s

Figure 12 : Quatre instances de multimon sont exécutées et connectées à quatre sorties de GNURadio, chacune issue d'une valeur différente de translation de fréquence par le Frequency Xlating FIR Filter. Des quatre affichages en mode SCOPE de multimon, un seul est actif pour chaque émission dans un canal donné (de gauche à droite : le troisième canal pour l'affichage du haut, le premier canal pour l'affichage du milieu à gauche, et le second canal pour l'affichage en bas à gauche).

Fig. 12 chacune des fenêtres du mode scope de multimon à une des raies spectrales correspondant à un des canaux POCSAG. Après une nuit de ce traitement (Fig. 13), les 4 canaux analysés ont clairement été définis, tandis que 358 chaînes alphanumériques ont été reçues et convenablement décodées.

fig12-s

Figure 13 : Démonstration du bon fonctionnement du décodage multicanaux en réduisant la puissance de calcul nécessaire en retirant l'option SCOPE de multimon (option -s). Après une nuit d'enregistrement, chaque fichier correspondant à chaque canal décodé contient plus de 10 koctets d'enregistrements dont 358 chaînes alphanumériques.

5.3 Application aux satellites en orbite polaire basse

Nous mentionnons cette fonctionnalité d'analyse multicanaux pour revenir à nos satellites : plusieurs satellites émettent sur des fréquences différentes (FDMA - Frequency Division Multiple Access). Chaque signal occupe donc son propre canal spectral. Aux latitudes tempérées, il est rare que deux satellites passent en même temps au-dessus d'un récepteur, et la question de recevoir simultanément les deux canaux ne se pose pas. Près des pôles cependant, chaque satellite repasse toutes les 90 minutes (de par leur orbite polaire), et il est fréquent que deux satellites soient visibles simultanément. Dans ces conditions, le traitement simultané de plusieurs canaux prend tout son sens (Fig. 14).

fig13-s 0

Figure 14 : Les 4 canaux autour de 137,5 MHz alloués aux communications des satellites météorologiques en orbite basse. Tous ces canaux tiennent dans les 2 MHz de la bande passante d'un récepteur DVB-T.

Afin d'illustrer pourquoi travailler en région arctique est le paradis pour la réception de signaux de satellites en orbite polaire basse (et de façon générale, mais nous sortons du sujet de l'article), les tableaux ci-dessous fournissent les horaires prédits par wxtoimg pour tous les satellites survolant une région tempérée (par exemple pour Clermont-Ferrand) :

2014-08-13 UTC

  Satellite   Dir  MEL  Long         Local Time    UTC Time Duration      Freq

  NOAA 19       N  71E    6E     08-13 14:45:22    12:45:22    11:47  137.1000

  NOAA 18       N  74E    6E     08-13 17:09:38    15:09:38    11:44  137.9125

  NOAA 15       N  68E    7E     08-13 18:00:02    16:00:02    11:15  137.6200

tandis qu'à la même date pour Ny-Ålesund, par 79°N, nous obtenons

2014-08-13 UTC

  Satellite   Dir  MEL  Long         Local Time    UTC Time Duration      Freq

  NOAA 19       S  61E   27E     08-13 04:47:54    02:47:54    11:54  137.1000

  NOAA 19       S  89E   12E     08-13 06:28:59    04:28:59    12:01  137.1000

  NOAA 18       S  59E   27E     08-13 07:12:22    05:12:22    11:41  137.9125

  NOAA 15       S  62E   25E     08-13 08:08:14    06:08:14    11:24  137.6200

  NOAA 19       S  75W   10E     08-13 08:09:52    06:09:52    11:57  137.1000

  NOAA 18       S  87E   13E     08-13 08:53:25    06:53:25    11:50  137.9125

  NOAA 15       S  89W   12E     08-13 09:48:22    07:48:22    11:30  137.6200

  NOAA 19       N  75E   15E     08-13 09:50:34    07:50:34    11:57  137.1000

  NOAA 18       S  76W   10E     08-13 10:34:16    08:34:16    11:46  137.9125

  NOAA 15       S  72W   10E     08-13 11:28:16    09:28:16    11:25  137.6200

  NOAA 19       N  89W   11E     08-13 11:31:22    09:31:22    12:00  137.1000

  NOAA 18       N  76E   14E     08-13 12:14:57    10:14:57    11:47  137.9125

  NOAA 15       N  73E   15E     08-13 13:08:01    11:08:01    11:25  137.6200

  NOAA 19       N  60W    3W     08-13 13:12:36    11:12:36    11:52  137.1000

  NOAA 18       N  87W   11E     08-13 13:55:44    11:55:44    11:51  137.9125

  NOAA 15       N  90W   12E     08-13 14:47:52    12:47:52    11:29  137.6200

  NOAA 18       N  58W    4W     08-13 15:36:58    13:36:58    11:41  137.9125

  NOAA 15       N  61W    2W     08-13 16:28:08    14:28:08    11:21  137.6200

avec par exemple deux satellites qui passent simultanément en vue du récepteur vers 8h10 le matin, 9h50 ou 11h30. Cette fréquence élevée de passages explique l'intérêt stragégique des pays ayant accès aux ressources spatiales d'installer des stations d'écoute des signaux issus de satellites près des pôles, avec la question de l'utilisation de ces signaux à des fins militaires pour des régions supposées démilitarisées [8].

fig14ab-s

Figure 15 : Signaux acquis simultanément autour de 137,620 et 137,9125 MHz lors du passage de NOAA 15 et 18 au-dessus du Spitsberg vers 9h12 heure locale.

fig15ab-s

Figure 16 : Signaux acquis simultanément autour de 137,620 et 137,9125 MHz lors du passage de NOAA 15 et 18 au-dessus du Spitsberg ver 8h00 heure locale. La mauvaise qualité de l'antenne, ainsi que l'illumination faible des régions arctiques aussi tard dans l'année (1er Octobre 2014), ne permettent de distinguer que peu de structures au sol au-delà des nuages aux latitudes les plus basses. Les barres de télémétrie, verticales sur ces figures, sont quant à elles bien décodées.

Recevoir simultanément ces deux signaux sans devoir faire le choix cornélien de sélectionner un des deux satellites ne peut se faire que par la méthode présentée ci-dessus. À titre d'exemple, les figures 15 et 16 démontrent la réception simultanée de NOAA 15 et NOAA 18 émettant respectivement sur 137,620 MHz et 137,9125 MHz. L'écart de 300 kHz est largement compris dans les 1,5 MHz de bande passante d'échantillonnage que nous avons sélectionné. Cette bande passante est en fait suffisante pour décoder les 3 bandes de fréquence accessibles aux satellites de la NOAA, de 137,100 à 137,9125, selon le schéma de gnuradio-companion proposé dans 17. Les ré-échantilloneurs sont imposés entre la sortie audio à la fréquence la plus basse supportée de 22050 Hz, et la fréquence d'échantillonnage imposée par wxtoimg lors du traitement des fichiers audio de 11025 Hz. La sortie audio, somme des 3 flux issus des démodulateurs, s'avère une aide indispensable pour aider l'opérateur à orienter l'antenne sans avoir à observer sur l'écran de l'ordinateur la puissance de la raie démodulée à 2400 Hz.

On notera par ailleurs que wxtoimg impose, pour générer une carte de la localisation du récepteur et des traits de côtes, un nom de fichier de la forme MMDDHHMM.wav comprenant la date et heure de création (par exemple au moyen de touch -d "08/12 17:30" 08121722.wav pour dater le fichier acquis le 12 août lors d'un passage de satellite qui a commencé à 17h22, données audio enregistrées dans le fichier nommé 08121722.wav). De plus, si les acquisitions sont automatisées par lancement d'un script python généré pargnuradio-companion en exécutant une commande retardée par le démon at, on prendra soin de désactiver tout accès aux interfaces graphiques et remplacer la nature du flux (workflow) de WX GUI à No GUI. En l'absence de cette modification, le script python ne pourra s'exécuter car l'accès aux ressources graphiques lui est interdit.

fig16

Figure 17 : Schéma gnuradio-companion pour le décodage simultané de tous les satellites NOAA. Le récepteur est calé sur la fréquence de NOAA 15 de 137,62 MHz, et la fréquence d'échantillonnage de 1,4 MHz permet de décoder les signaux dans la plage de 137,62±0,7=136,92-137,32 MHz, comprenant les fréquences des autres satellites. Deux Xlating FIR filter ramènent les deux signaux en 137,1 MHz et 137,9125 MHz proche de la fréquence centrale pour une démodulation FM en vue de l'extraction des images par traitement des fichiers audio résultant.

Le RX2 du RIG reste la référence en qualité d'images acquises, mais ne répond pas à notre ambition de recevoir les signaux de plusieurs émetteurs simultanément. Nous ne résistons cependant pas à la présentation d'images acquises il y quelques années dans les mêmes conditions (Fig. 18) : un tel résultat doit être accessible avec un récepteur DVB-T sous réserve d'affiner la qualité de l'antenne pour compenser la sensibilité médiocre du récepteur, et d'effectuer les mesures en avril-mai lorsque les régions polaires sont convenablement illuminées, plutôt qu'en octobre lorsque le pôle nord est déjà dans l'ombre de la nuit.

fig17ab-s

Figure 18 : Images acquises au moyen d'un RIG RX2, antenne dipôles croisés, les 30 mars 2007 à 8h36 (gauche) et 31 mars 2007 à 14h09 (droite). Non seulement la sensibilité du récepteur est adéquate pour compenser l'antenne médiocre, mais l'illumination des régions polaires est ici uniforme, facilitant le décodage. La figure de gauche comporte une carte qui indique la position du pôle nord, visible sur les deux images, et du Spitsberg, avec la position de la station réceptrice comme croix jaune.

La méthode de travail que nous avons exposé au cours de cette prose est applicable pour le traitement de tout signal dans la bande passante d'analyse. On insistera donc lourdement sur le fait que la caractéristique principale en traitement logiciel de signaux radiofréquences n'est pas la fréquence centrale de travail (qui en pratique est encore implémentée sous forme d'un mélangeur analogique avec un oscillateur local programmable) mais la bande passante d'acquisition du flux de données I/Q. Cette bande passante détermine aussi le débit des signaux décodés dans une approche de sauts de fréquence (frequency hopping en vue de réduire les potentielles interférences sur un canal donné) telle qu'utilisée en Zigbee ou Wifi. Dans ce cas, suivre les sauts de fréquence ne se fait pas en reprogrammant l'oscillateur local (tâche qui serait bien trop longue par rapport aux débits de communication et temps de stabilisation de l'oscillateur local) mais simplement en reprogrammant l'oscillateur numérique du Xlating FIR filter et poursuivre le traitement sur un signal qui a ainsi été convenablement ramené près de la fréquence nulle.

6. GPS

L'apothéose de cette étude tient en la réception de signaux GPS. La constellation orbite à près de 20000 km, et pourtant le signal reçu par un récepteur de télévision peut être traité pour sortir un signal pertinent du bruit. Ce résultat est certes atteint au prix d'une antenne active alimentée par un T de polarisation (vu auparavant en Fig. 1), mais est impressionant compte tenu de l'application initiale du récepteur radiofréquence. Pour le moment nos compétences dans le domaine se résument à celles de simple utilisateur d'une bibliothèque de traitement de signaux de positionnement par satellite, gnss-sdr disponible à gnss-sdr.org. Le rôle de ce logiciel est en particulier d'associer chaque code à chaque satellite émetteur (CDMA - Code Division Multiple Access), mais nous nous intéresserons ci-dessous au problème amont d'identification des propriétés de la porteuse avant ce traitement.

La compilation des outils est un peu longue car faisant appel à de nombreuses bibliothèques, mais l'archive de la version 0.4 disponible sur http://sourceforge.net/projects/gnss-sdr/ est parfaitement fonctionnelle. Tous nos tests s'effectuent avec un récepteur équipé d'un frontend E4000 et d'un T de polarisation pour alimenter par le bus USB (5V) une antenne active9 de gain nominal de 27 dB. Nos expérimentations n'ont pas vocation à se positionner au moyen des signaux GPS (tout récepteur OEM compact fera cela mieux qu'un récepteur de télévision numérique terrestre détourné de sa fonction d'origine) mais d'acquérir une connaissance détaillée du traitement de signaux transmis par le système de navigation.

6.1 Propriétés de la porteuse

Comme nous l'avons vu dans le cas des satellites météorologiques en orbite passe, la fréquence de la porteuse du signal émise par le vecteur de vol mobile est décalée par effet Doppler. Dans le cas du GPS et de ses satellites situés à 20000 km de la surface de la Terre, la vitesse linéaire est de 14000 km/h compte tenu de la période d'environ 12 h de l'orbite. En reprenant le calcul proposé auparavant, nous trouvons un décalage Doppler maximum, dans le modèle de Terre sphérique, de ±4,2 kHz.

gnss-sdr propose une fonctionnalité fort utile d'étalonnage de l'écart de l'oscillateur local au récepteur DVB-T par rapport à sa fréquence nominale. Cette information est nécessaire pour un décodage ultérieur des informations codées en phase sur la porteuse puisque cette dernière doit être éliminée lors de la démodulation (section 6.2). Une bonne partie du traitement des signaux GPS vise à identifier la fréquence de la porteuse synthétisée par les horloges atomiques embarquées dans les satellites et asservir l'oscillateur local au sol sur cette information. Deux causes de décalage des fréquences relatives du signal GPS reçu et de l'oscillateur local sont le décalage Doppler d'une part, et la dérive en température du quartz d'autre part. Nous allons étudier ces deux sources de perturbations.

En pratique, le programme front-end-cal fourni par gnss-sdr dans le répertoire de compilation build/src/utils/front-end-cal et prenant comme fichier de configuration conf/front-end-cal.conf nous fournira les données nécessaires à notre analyse.front-end-cal utilise l'almanach de position des satellites et la position du récepteur pour prédire quels satellites sont visibles et réduire le temps de recherche des codes lors de la démodulation des signaux reçus par le récepteur radiofréquence (services de positionnement par GPS assisté fourni pour la téléphonie mobile en particulier) : nous devons donc renseigner notre latitude et longitude dans le fichier de configuration. Une fois cette correction effectuée, nous lançons périodiquement l'étallonage du récepteur DVB-T par

while true; do nom=`date +%s`;echo $nom;../build/src/utils/front-end-cal/front-end-cal | tail -26 > $nom;sleep 300;done

Chaque fichier de sortie fournit deux informations précieuses : une observation du décalage Doppler de chaque porteuse émise par les satellites (tous les satellites GPS émettent sur la même porteuse - la différentiation se fait sur les codes transmis dans la modulation de phase) d'une part, et d'autre part une estimation du décalage de fréquence de l'oscillateur local au récepteur DVB-T puisque l'almanach informe gnss-sdr du décalage Doppler prédit (connaissant la position du satellite dans l'espace et la position du récepteur sur Terre). La première information nous permet de suivre le satellite sur son orbite, tandis que la seconde information nous permet de remonter à la principale source de dérive de l'oscillateur local, à savoir la température (Fig. 19). Il s'agit donc d'une approche logicielle d'identification de dérive d'un oscillateur à quartz au sol par comparaison avec la référence fournie par les horloges atomiques embarquées dans les satellites qui se compare avec l'approche matérielle que nous avions proposé dans [9].

fig18ab-s

Figure 19 : Gauche : évolution du décalage Doppler observé par un récepteur DVB-T dans la gamme de fréquence des signaux GPS, après correction du biais de fréquence de l'oscillateur local. Les faisceaux de courbes correspondant chacune à un satellite sont clairement visibles. Droite : évolution du biais de fréquence du récepteur DVB-T en fonction du temps (haut), et température extérieure proche de Besançon (http://www.wunderground.com/personal-weather-station/dashboard?ID=IFRANCHE9). L'influence de la température sur la fréquence de l'oscillateur est clairement visible, avec quelques point remarquables indiqués par des traits verticaux entre les deux graphiques.

6.2 Décodage du code modulé en phase

Le paragraphe suivant sort quelque peu du cadre concernant l'exploitation d'un logiciel libre pour décoder un signal numérique transmis par radiofréquence puisque nécessite du matériel spécialisé pour monter l'expérience. Il s'agit d'une démonstration de concept sur la reconstruction du signal encodé sur une porteuse radiofréquence selon un mode de modulation représentatif de l'encodage utilisé en GPS.

Le signal GPS est encodé en phase sur une porteuse à 1575,42 MHz. Cette porteuse est modulée en phase, signifiant que le signal présente une phase de 0° pour coder un état de bit, et 180° pour représenter l'autre état. En présence de deux états, il s'agit d'une modulation BPSK, pour Binary Phase Shift Keying (le concept s'étend à un nombre arbitraire d'états pour transmettre plus d'un bit par intervalle de temps élémentaire). Le problème de la démodulation consiste à retrouver la séquence encodée dans les rotations de phase, sachant que les deux oscillateurs locaux (sur l'émetteur et le récepteur) ne sont pas identiques et donc soumis à des variations de fréquence différentes (Doppler pour l'émetteur, dérive thermique pour le récepteur). En l'absence de synchronisation des oscillateurs qui sont alors séparés de Δf, une rotation de phase ϕ s'ajoute au cours du temps t aux variations de phase de l'encodage : ϕ=2πΔf*t. Il nous faut donc une stratégie pour identifier Δf et l'annuler. La littérature nomme ce problème carrier recovery (reconstition de la porteuse).

fig19-s

Figure 20 : En haut à gauche : simulation d'un signal modulé en BPSK, un état de phase (0) représentant un état de bit et l'autre état de phase (π) l'autre état de bit. La transformée de Fourier (en bas à gauche) présente deux raies de modulation de part et d'autre de la fréquence centrale à laquelle la porteuse n'est pas visible. Prendre le carré du signal temporel (en haut à droite) induit une sinusoïde continue puisque la rotation de phase de π est devenue 2π : la transformée de Fourier de ce signal (en bas à droite) présente une unique raie dominante à la fréquence de la porteuse.

L'encodage BPSK présente la propriété qu'en prenant le carré du signal radiofréquence, la phase de 0° reste à 0° mais la phase de 180° devient 360° (en se rappelant ses relations trigonométriques qui indiquent que le carré d'une fonction trigonométrique induit de doubler l'argument de cette fonction, c'est-à-dire que la phase ϕ de l'argument devient 2ϕ). Ainsi, le carré du signal radiofréquence perd sa modulation et il ne reste que la porteuse au double de la fréquence (toujours selon sin2(f)∝ sin(2f), Fig. 20). En divisant par deux la fréquence de ce résultat, il nous reste une copie locale propre de la porteuse du signal reçu de l'émetteur. Le code ci-dessous de simulation pour GNU/Octave illustre ces concepts qui ont résulté dans la génération de la Fig. 20.

1 t =[0:0.01:20]; % le temps est continu

2 s =(sin(2*pi* t )); % une sinusoide continue ...

3 s (100:300)=sin(2*pi*t (100:300)+pi); % ... dont quelques bits passent

4 s (1000:1200)=sin(2*pi*t (1000:1200)+pi); % a 1 en ajoutant une phase de

5 s (1300:1800)=sin(2*pi*t (1300:1800)+pi); % 180 degres

6 subplot(221)

7 plot(s );axis tight ;xlabel('temps (u.a.)');ylabel('signal (u.a.)')

8 subplot(222)

9 plot(s .^2);axis tight ;xlabel('temps (u.a.)');ylabel('signal^2 (u.a.)')

10 subplot(223)

11 plot(abs(fftshift(fft(s )))); xlim ([1000 -200 1000+200]);

12 xlabel('frequence(u.a.)');ylabel('FFT(signal) (u.a.)')

13 subplot(224)

14 plot(abs(fftshift(fft(s .^2)))); xlim ([1000 -200 1000+200])

15 xlabel('frequence(u.a.)');ylabel('FFT(signal^2) (u.a.)')

En mélangeant le signal reçu par l'antenne avec cette copie locale de la porteuse (compensée de l'écart Δ f qui est donc nul lorsque la boucle d'asservissement fonctionne), nous retrouvons une copie au sol du signal modulant. Cet asservissement de l'oscillateur local pour fournir une copie de la porteuse en vue de démoduler un signal modulé en phase s'appelle la boucle de Costas11 (Fig. 21).

fig20ab-s

Figure 21 : Gauche : montage expérimental pour générer un signal modulé en BPSK sur porteuse à 1,21 GHz (moitié gauche), et connexion de la sortie au récepteur DVB-T pour démodulation (“réception”). La puissance radiofréquence émise est ajustée pour ne pas endommager ni saturer l'étage de réception du DVB-T. Droite : schéma de démodulation gnuradio-companion pour l'extraction de la porteuse et du signal démodulé par “boucle de Costas”. La sortie complexe de la boucle fournit le signal mélangé avec l'image de la porteuse dont une représentation de la fréquence est fournie sur la sortie réelle. La constante d'asservissement de la boucle est celle fournie dans la page d'aide, à savoir 2π/100 (?!).

L'expérience décrite sur la Fig. 21 vise à démoduler un signal artificiel comportant une porteuse (choisie à 1,21 GHz afin que la mise au carré nous amène dans la bande de 2,45 GHz pour laquelle des filtres passe-bande son facilement accessibles dans une implémentation matérielle de la boucle de Costas12) modulée en BPSK à 100 kHz (donc bien en dessous des 2 MHz de fréquence d'échantillonnage du DVB-T). Le signal acquis à 2 Méchantillons/seconde est fourni au bloc de traitement Costas loop d'une part, et multiplié par lui-même (pour une mise au carré) afin de démontrer l'élimination de la porteuse par ce traitement. Le Frequency Xlating FIR filter a pour vocation de permettre de transposer la fréquence centrale du signal mis au carré : une mise en œuvre manuelle de la boucle de Costas aurait pour vocation d'asservir l'oscillateur numérique de ce bloc pour annuler le signal d'erreur à la fréquence nulle. Cependant, GNURadio ne permet pas de fermer une boucle d'asservissement en dehors d'un bloc de traitement donc cette recherche de porteuse reste ouverte. Par ailleurs, la sortie de la boucle de Costas est d'une part une image de la fréquence estimée (sortie réelle, en orange), et d'autre part le signal transposé de l'estimation de la porteuse (sortie complexe, en bleu). Étant donné que le signal est modulé en phase, l'extraction de la phase du signal transposé de la fréquence de la porteuse (bloc Complex to Arg) est nécessaire pour obtenir une grandeur pertinante que nous affichons sur sortie oscilloscope.

fig21abcd-s

Figure 22 : Résultats expérimentaux, selon le schéma de la Fig. 21, de l'application du bloc “boucle de Costas” au signal modulé en BPSK enregistré par DVB-T. Pour chaque condition de mesure : en haut à droite l'évolution temporelle de la phase du signal démodulé (bleu) et de la fréquence de la porteuse estimée (vert) ; en haut à gauche le spectre du signal en sortie de la boucle de Costas (recentrée sur 0 si la boucle est vérouillée) ; en bas à gauche le spectre en entrée du récepteur DVB-T (décalé en fréquence de Δ f≠ 0) ; en bas à droite le carré du signal reçu, qui atténue les raies de modulation et fait ressortir la raie associée à la porteuse.

Nous constatons que tant que l'asservissement est stable (Fig. 22, haut), la phase (en haut à droite de chaque série de graphiques, en bleu) marque des rotations toutes les 5 µs, en accord avec le signal carré modulant la porteuse. Par ailleurs, le spectre transposé de la copie de la porteuse (en haut à gauche de chaque série de graphiques) est toujours centré sur 0, quelquesoit l'écart de la porteuse, positif ou négatif (haut, gauche et droite respectivement). Le carré du signal ne présente plus des maxima écartés de la fréquence du signal modulant (±100 kHz) mais une raie unique à la fréquence de la porteuse (en bas à droite de chaque série de graphiques). Au contraire lorsque l'écart entre la fréquence locale et la porteuse devient plus importante que la bande passante de la boucle d'asservissement, la boucle n'est plus vérouillée et la phase du signal en sortie de boucle de Costas présente les rotations de 180 degrés de la modulation superposées aux rotations dans le temps de 2πΔf*t. La seconde composante tend à masquer la première et à rendre la restitution du signal modulant inopérante. Que nous fassions varier la fréquence de l'émetteur (1,21 GHz nominal, variation de quelques dizaines de kHz représentative du décalage Doppler) ou du récepteur (1,21 GHz nominal, variation de quelques dizaines de kHz représentative de l'effet de la température sur l'oscillateur à quartz), la boucle de Costas compense le décalage entre les deux fréquences : ce décalage est indiqué par la courbe verte dans chaque graphique en haut à droite (valeur positive si l'oscillateur local est plus élevé que la porteuse reçue, négative dans le cas contraire).

Cette discussion, limitée au cas particulier du GPS, est évidemment appliquable à tout transfert de signaux numériques, plus complexes que notre simple carré à 100 kHz, sur porteuse radiofréquence par modulation de phase.

7. Conclusion

Nous avons exploité un récepteur de télévision numérique terrestre pour la réception de signaux venus de l'espace. Bien que la portée puisse paraître impressionnante, il s'agit en fait des conditions idéales de propagation de signaux radiofréquences qui ne sont pas perturbés par les obstacles dans la zone dite de Fresnel entre les antennes émettrice et réceptrice. Une bonne antenne reste néanmoins une condition nécessaire à la réception d'un signal de qualité acceptable compte tenu de la sensibilité de ces récepteurs. Afin de se familiariser avec les méthodes de traitement du signal et en particulier de signaux distribués dans des canaux de fréquences adjacentes, nous nous sommes rabattus sur les signaux bassement terrestres des pagers encodés en POCSAG et le packet radio.

Nos prochaines investigations concerneront le décodage de signaux émis par les ballons sondes - impliquant de nouveaux concepts de traitement du signal tels que extraction de l'amplitude du signal par transformée de Hilbert et encodage de Reed-Solomon pour la correction d'erreurs.

Remerciements

Y. Haddab et É. Carry (Institut FEMTO-ST, Besançon) ont amélioré le manuscript par leur relecture et leurs commentaires, tandis que E. Rubiola a expliqué l'utilisation du mélangeur pour la modulation BPSK. Les études sur la réception de signaux issus du GPS sont en partie motivées par la préparation des cours du Séminaire Européen sur le Temps-Fréquence (EFTS - http://efts.eu) soutenu par le labex FIRST-TF (http://first-tf.com).

Références

[1] J.-M Friedt, G. Goavec-Mérou, La réception radiofréquence définie par logiciel (Software Defined Radio - SDR), GNU/Linux Magazine France 153 (Octobre 2012), pp.4-33

[2] J.-M Friedt, S. Guinot, La réception d'images météorologiques issues de satellites : principes de base, GNU/Linux Magazine France, Hors Série 24 (Février 2006)

[3] B. Hoover, D. Santek, M. Lazzara, R. Dworak, C. Velden, J. Key & N. Bear, High Latitude Satellite Derived Winds From Combined Geostationary and Polar Orbiting Satellite Data, 11th International Winds Workshop, IWWG (New Zealand, 2012) disponible à https://www.eumetsat.int/

[4] W. Dege, War North of 80: The Last German Arctic Weather Station of World War II, consultable sur books.google.com

[5] C.E. Shannon, A Mathematical Theory of Communication, The Bell System Technical Journal 27, pp. 379-423, 623-656, (July, October, 1948), disponible à http://cm.bell-labs.com/cm/ms/what/shannonday/shannon1948.pdf

[6] M. Schillat, A visit to Haudegen station on Nordaustlandet - the weather war in Svalbard, dans Polar Essays of the Arctic, Ed. M. Schillat & I. Stone, Editorial Fuegia (2007), disponible à monika-schillat.eu/texte/e_essays.pdf

[7] B.H. Tietche et al., Software radio FM broadcast receiver for audio indexing applications, IEEE Int. Conf. on Industrial Technology (ICIT), pp.585-590 (2012), ou B.H. Tietche et al., FPGA-Based Simultaneous Multichannel FM Broadcast Receiver for Audio Indexing Applications in Consumer Electronics Schenarios, IEEE Trans. Consumer Electronics 58 (4), pp. 1153-1161 (2012)

[8] B. Wormdal, The Satellite War, CreateSpace Independent Publishing Platform (2011)

[9] J.-M. Friedt, A. Masse & F. Bassignot, Les microcontroleurs MSP430 pour les applications faibles consommations - asservissement d'un oscillateur sur le GPS, GNU/Linux Magazine France 98, Octobre 2007

Notes

1 http://superkuh.com/gnuradio/R820T_datasheet-Non_R-20111130_unlocked.pdf

2 l'activité des satellites est résumée régulièrement à http://homepage.ntlworld.com/phqfh1/status.htm

3 http://www.circuittrue.com/fm-booster-circuit-that-comprises-a-common-emitter-tuned-rf-preamplifier-wired-around-vhfuhf-transistor-2sc2570/

4 http://www.epcos.com/inf/40/ds/mc/B3607.pdf, référence exacte B39141-B3607-Z510

5 http://news.bbc.co.uk/2/hi/uk_news/magazine/7540427.stm et http://en.wikipedia.org/wiki/Flat_Earth_Society

6 un monde plat soutenu par quatre éléphants sur une carapace de tortue ferait pourtant des images satellites intéressantes

7 http://en.wikipedia.org/wiki/Free-space_path_loss

8 http://fr.wikipedia.org/wiki/POCSAG

9 https://www1.elfa.se/data1/wwwroot/assets/datasheets/07840051.pdf

10  Un mélangeur attaqué sur son entrée radiofréquence RF par la porteuse, et sur l'entrée locale LO par un signal carré rendant une diode passante, donc d'amplitude supérieure à ‘1 V, génère sur la broche IF une porteuse modulée en BPSK tel que décrit sur la Fig. 2 du document rédigé par E. Rubiola et disponible à http://arxiv.org/pdf/physics/0608211.pdf. Le principe est que selon la polarité de LO, le commutateur passant est tantôt sur l'alternance positive, tantôt sur l'alternance négative du transformateur dont le point milieu est à la masse. Pour des questions de bande passante et de symétrie des fonctions, nous plaçons en pratique la porteuse sur LO et la modulation sur IF pour générer le signal modulé sur RF.

11 http://gnuradio.org/redmine/projects/gnuradio/wiki/Guided_Tutorial_PSK_Demodulation

12 dans l'implémentation matérielle de la boucle de Costas, un mélangeur voit ses deux entrées LO et IF attaquées par le signal arrivant sur l'antenne, produisant donc le carré du signal incident. La sortie RF du mélangeur ne contient alors plus que la porteuse et des raies de modulation très atténuées - de plus de 40 dB dans nos expériences. Théoriquement il suffirait de diviser par deux la fréquence de ce signal pour avoir une image de la porteuse sur laquelle asservir l'oscillateur local contrôlable en tension. En pratique un diviseur est un compteur qui agit sur une version saturée (“numérisée”) du signal radiofréquence. La saturation est très sensible à toute composante spectrale autre que la raie à diviser. Le mélangeur génère une composante au double de la fréquence porteuse mais aussi une image du signal incident qu'il faut filtrer pour permettre au diviseur de fonctionner convenablemement. Les filtres passe-bande à 2,45 GHz étant facilement accessibles car utilisés pour les gadgets grand-public communiquant dans cette bande radiofréquence, nous avons choisi d'effectuer cette expérience sur une porteuse de 1,21 GHz, par ailleurs proche des 1575,42 MHz de la porteuse L1 du GPS.



Article rédigé par

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous