Première édition des French GNU Radio Days

Magazine
Marque
GNU/Linux Magazine
Numéro
218
Mois de parution
septembre 2018
Spécialité(s)


Résumé
Retour sur la première édition d’une réunion de travail (workshop) dédiée à GNU Radio qui a été organisée les 2 et 3 juillet 2018 à l’INSA de Lyon : French GNU Radio Days.

Body

À vocation de regrouper les chercheurs, universitaires, amateurs, hackers et autres développeurs de dispositifs radiofréquences contrôlés par logiciel, la conférence a attiré une trentaine de participants, principalement des deux organismes organisateurs que sont l’INSA de Lyon et l’institut FEMTO-ST de Besançon. Malgré la vocation européenne de l’évènement, une communication un peu tardive n’a permis de n’attirer qu’un orateur étranger, Paul Boven venu spécialement de Hollande pour nous présenter ses activités sur le radiotélescope de Dwingeloo (voir figure 1, à gauche), exploitant pleinement la puissance du traitement numérique des signaux échantillonnés pour cartographier la distribution de matière détectée par le rayonnement de la raie à 21 cm de l’hydrogène (1,42 GHz) [1] : le décalage Doppler de cette émission informe de la vitesse de la source émettrice, et permet en particulier de cartographier les bras de la galaxie (noter le projet open source radiotélescopeopensourceradiotelescopes.org/ – qui vise le même résultat avec du matériel accessible à l’amateur éclairé). Plusieurs participants grenoblois se sont joints à l’évènement, avec en particulier une présentation du GIPSA/CEA LETI sur la caractérisation de canal radiofréquence par GNU Radio. Le laboratoire XLim de Limoges/Poitiers a été représenté avec une démonstration de communication par émission infrarouge depuis une plateforme Ettus Research USRP modifiée pour moduler le signal optique à quelques MHz. Finalement, une liaison radiofréquence avec un projectile, et en particulier synthèse de faisceau radiofréquence pour diriger la liaison vers la source, a été présentée par l’ISL de Saint Louis. Cette journée de présentation était coupée par diverses démonstrations, en particulier sur l’exécution de GNU Radio sur plateformes embarquées de type Armadeus Systems ou Redpitaya, illustrant l’intégration de GNU Radio et des interfaces graphiques associées dans buildroot (voir figure 1, à droite).

f1

Fig. 1 : Gauche : Paul Boven présente ses activités sur le transfert de temps entre radiotélescopes et l’optimisation de l’utilisation des échantillons lors des calculs de transformée de Fourier en radioastronomie. Droite : Gwenhaël Goavec-Merou présente à Tanguy Risset, co-organisateur de la conférence – l’utilisation de GNU Radio sur plateformes ARM suite à son intégration dans Buildroot.

La seconde journée, dédiée aux travaux pratiques, a vu les participants appréhender divers concepts introduits lors des présentations orales. En parallèle à une introduction au traitement de signaux échantillonnés périodiquement en temps discret - qui fera l'objet prochainement d'une présentation détaillée dans ces pages - les hôtes de la conférence ont présenté la plateforme CorteXlab [2]. Cet ensemble d’émetteurs et récepteurs radiofréquences installé en environnement contrôlé – chambre anéchoïque localisée dans une cage de Faraday – accessible à distance à toute personne enregistrée auprès des coordinateurs du projet, permet de prototyper la robustesse de divers modes de communication ou modulation, et de caractériser le canal de propagation. Afin d’illustrer la portée de cette approche, une délégation colombienne a présenté son utilisation de cette plateforme de développement.

A suivi une présentation de Thomas Lavarenne [3] (voir figure 2) sur l’utilisation des tags pour identifier le début de messages, mis en œuvre sur ADS-B (voir figure 3), ACARS et RDS. Cette approche optimise l’utilisation de GNU Radio et simplifie le post-traitement en permettant par exemple de créer un fichier par trame reçue : dans la démonstration de Thomas, ces fichiers sont ensuite analysés par un script Python qui découpe les bits en mots et restitue la phrase contenant l’identifiant et la position d’un avion émettant ADS-B (1090 MHz). Les participants à la séance de travaux pratiques ont expérimenté avec le récepteur de télévision numérique terrestre (DVB-T) qui leur avait été offert à l’arrivée à la conférence. Finalement, l’écriture d’un bloc de traitement dédié et son intégration dans GNU Radio-Companion a conclu la journée de travaux pratiques.

thomas

Fig. 2 : Thomas Lavarenne présente les tags et leur utilisation pour identifier le début des trames par corrélation avec l’entête connu de chaque paquet.

27ann

Fig. 3 : Exemple de trame acquise pendant la séance de travaux pratiques sur l’utilisation des tags dans le contexte d’ADS-B : le site flightradar24.com confirme l’identité de l’aéronef ayant émis le signal traité.

En parallèle de ces sessions, un challenge était organisé pour pousser les participants à analyser divers signaux radiofréquences émis dans l’amphithéâtre des présentations orales. Le challenge a été résolu au cours de la première journée par au moins deux participants.
Malgré une audience quelque peu réduite compte tenu de la communication tardive autour de l’évènement, ces deux journées ont été fructueuses par les échanges entre participants qui ne se connaissaient pas en arrivant.

Alors que wiki.gnuradio.org/index.php/OutOfTreeModules décrit la rédaction d’un bloc dédié en C++ ou en Python, il se garde d’exploiter une des sources des performances de GNU Radio : la bibliothèque VOLK telle que décrite dans le dernier tutoriel. Il s’avère qu’implémenter la mise au carré du signal d’entrée sous VOLK se réduit à l’unique ligne volk_32f_x2_multiply_32f(out,in,in,noutput_items); dans la méthode general_work du bloc de traitement, défini dans le fichier d’entête volk/volk.h. Est-ce que l’utilisation d’une telle bibliothèque est vraiment utile ? À titre d’exemple, remplacer la corrélation res=0;for (k=0;k<length;k++) res+=data[k]*cacode[k]; par volk_32f_x2_dot_prod_32f(&res,data,cacode,length); permet de gagner un facteur 3 sur le temps d’exécution pour length=219 éléments (processeur Intel i5-3320M) (codes de G. Goavec-Merou).

Un axe fort des démonstrations, rarement disponible dans les conférences plus formelles, était l’illustration de circuits fonctionnels et reproductibles : il s’agissait d’un critère de sélection des présentations. Nous comptons renouveler l’évènement l’année prochaine à Besançon. Tous les résumés, transparents et vidéos des présentations sont accessibles dans la section du programme de http://gnuradio-fr-18.sciencesconf.org/.

Références

[1] SAJE T. et VIDMAR M., « A Compact Radio Telescope for the 21 cm Neutral-Hydrogen Line », J. of Microelectronics, Electronic Components and Materials, 47 (2), p. 113 à 128, 2017.

[2] MASSOURI A., CARDOSO L., GUILLON B., HUTU F., VILLEMAUD G., RISSET T., et GORCE J.M, « CorteXlab: An open FPGA-based facility for testing SDR & cognitive radio networks in a reproducible environment », IEEE Computer Communications Workshops, p. 103 et 104, 2014 et www.cortexlab.fr.

[3] LAVARENNE T., « Une clé TNT pour l’étude expérimentale de signaux radiofréquences mettant en jeu différentes modulations numériques », Bull. Union des Physiciens, 995, juin 2017, disponible sur http://bupdoc.udppc.asso.fr/.




Article rédigé par

Par le(s) même(s) auteur(s)

« On ne compile jamais sur la cible embarquée » : Buildroot propose GNU Radio sur Raspberry Pi (et autres)

Magazine
Marque
Hackable
Numéro
37
Mois de parution
avril 2021
Spécialité(s)
Résumé

Le développement de systèmes embarqués se doit d’optimiser l’utilisation des ressources de stockage, de calcul et énergétiques. En aucun cas compiler sur la plateforme embarquée cible ne respecte ces contraintes. Nous présentons Buildroot pour cross-compiler un système GNU/Linux efficacement, et le bénéfice en termes de performances qu’on en tirera.

Les barrages se tordent (de rire) : comparaison d'images (mal) géoréférencées avec l'interférométrie par RADAR spatioporté

Magazine
Marque
GNU/Linux Magazine
Numéro
247
Mois de parution
avril 2021
Spécialité(s)
Résumé

Nombre d’images diffusées sur le Web sont manipulées, en particulier pour être projetées dans un référentiel géographique. Des projections automatiques mal contrôlées peuvent aboutir à un résultat aberrant... repris dans un documentaire diffusé par France 24 et donnant lieu à polémique sur les risques de rupture du plus gros barrage hydroélectrique du monde. Un peu de bon sens et de contrôle de l’information auraient pu éviter la bévue.

Parler à un RADAR spatioporté : traitement et analyse des données de Sentinel-1

Magazine
Marque
GNU/Linux Magazine
Numéro
246
Mois de parution
mars 2021
Spécialité(s)
Résumé

Nous avions étudié comment fonctionne un RADAR pour la mesure de distance, puis d’azimut et finalement interférométrique, lors d’un déploiement depuis le sol. Nous allons appliquer ces connaissances aux données acquises par les RADAR transportés par les satellites de l’ESA Sentinel-1, librement disponibles sur le Web. Nous conclurons en installant au sol une cible coopérative qui sera parfaitement visible depuis l’espace.

Les derniers articles Premiums

Les derniers articles Premium

Cryptographie : débuter par la pratique grâce à picoCTF

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

L’apprentissage de la cryptographie n’est pas toujours évident lorsqu’on souhaite le faire par la pratique. Lorsque l’on débute, il existe cependant des challenges accessibles qui permettent de découvrir ce monde passionnant sans avoir de connaissances mathématiques approfondies en la matière. C’est le cas de picoCTF, qui propose une série d’épreuves en cryptographie avec une difficulté progressive et à destination des débutants !

Game & Watch : utilisons judicieusement la mémoire

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Au terme de l'article précédent [1] concernant la transformation de la console Nintendo Game & Watch en plateforme de développement, nous nous sommes heurtés à un problème : les 128 Ko de flash intégrés au microcontrôleur STM32 sont une ressource précieuse, car en quantité réduite. Mais heureusement pour nous, le STM32H7B0 dispose d'une mémoire vive de taille conséquente (~ 1,2 Mo) et se trouve être connecté à une flash externe QSPI offrant autant d'espace. Pour pouvoir développer des codes plus étoffés, nous devons apprendre à utiliser ces deux ressources.

Raspberry Pi Pico : PIO, DMA et mémoire flash

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Le microcontrôleur RP2040 équipant la Pico est une petite merveille et malgré l'absence de connectivité wifi ou Bluetooth, l'étendue des fonctionnalités intégrées reste très impressionnante. Nous avons abordé le sujet du sous-système PIO dans un précédent article [1], mais celui-ci n'était qu'une découverte de la fonctionnalité. Il est temps à présent de pousser plus loin nos expérimentations en mêlant plusieurs ressources à notre disposition : PIO, DMA et accès à la flash QSPI.

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous