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)

À l’écoute des messages transmis par satellite en orbite basse : Iridium

Magazine
Marque
MISC
HS n°
Numéro
29
Mois de parution
juin 2024
Spécialité(s)
Résumé

Nous explorons les signaux de communication, voix et messages aéronautiques ACARS ainsi que les messages textuels de type SMS, et de localisation de la constellation de satellites en orbite basse Iridium, reçus par radio logicielle connectée à une antenne GPS adaptée pour cette utilisation, afin de décrire la séquence d’utilisation de gr-iridium et iridium-toolkit.

Échanges de données pour un traitement distribué : communication par réseau ou entre langages

Magazine
Marque
GNU/Linux Magazine
Numéro
267
Mois de parution
janvier 2024
Spécialité(s)
Résumé

Comment tirer le meilleur parti des divers langages à notre disposition, entre vitesse de prototypage de Python ou GNU Octave et vitesse d’exécution de C ? Nous allons échanger des données entre des fonctions écrites dans ces langages, soit par socket du réseau soit par bibliothèques dynamiques.

Synchronisation d’ordinateurs par réseau informatique pour la datation sous GNU/Linux : NTP, PTP et GPS sur Raspberry Pi Compute Module 4

Magazine
Marque
Hackable
Numéro
51
Mois de parution
novembre 2023
Spécialité(s)
Résumé

Nombre d’outils, à commencer par make, s’appuient sur la date d’accès aux fichiers pour décider de leur obsolescence. Dans le cadre d’intercomparaisons d’horloges, nous effectuons des acquisitions par radio logicielle sur divers sites géographiquement distincts et nous nous interrogeons sur la date d’acquisition avec une résolution aussi élevée que possible. Que veut dire « élevée » et quel niveau de synchronisation pouvons-nous espérer entre deux ordinateurs exécutant GNU/Linux ? Nous conclurons avec la nécessité de corriger l’erreur de l’oscillateur qui cadence le processeur et démontrerons comment quelques composants passifs sur Compute Module 4 permettent d’atteindre ce résultat.

Les derniers articles Premiums

Les derniers articles Premium

Le combo gagnant de la virtualisation : QEMU et KVM

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

C’est un fait : la virtualisation est partout ! Que ce soit pour la flexibilité des systèmes ou bien leur sécurité, l’adoption de la virtualisation augmente dans toutes les organisations depuis des années. Dans cet article, nous allons nous focaliser sur deux technologies : QEMU et KVM. En combinant les deux, il est possible de créer des environnements de virtualisation très robustes.

Brève introduction pratique à ZFS

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

Il est grand temps de passer à un système de fichiers plus robuste et performant : ZFS. Avec ses fonctionnalités avancées, il assure une intégrité des données inégalée et simplifie la gestion des volumes de stockage. Il permet aussi de faire des snapshots, des clones, et de la déduplication, il est donc la solution idéale pour les environnements de stockage critiques. Découvrons ensemble pourquoi ZFS est LE choix incontournable pour l'avenir du stockage de données.

Générez votre serveur JEE sur-mesure avec Wildfly Glow

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

Et, si, en une ligne de commandes, on pouvait reconstruire son serveur JEE pour qu’il soit configuré, sur mesure, pour les besoins des applications qu’il embarque ? Et si on pouvait aller encore plus loin, en distribuant l’ensemble, assemblé sous la forme d’un jar exécutable ? Et si on pouvait même déployer le tout, automatiquement, sur OpenShift ? Grâce à Wildfly Glow [1], c’est possible ! Tout du moins, pour le serveur JEE open source Wildfly [2]. Démonstration dans cet article.

Les listes de lecture

9 article(s) - ajoutée le 01/07/2020
Vous désirez apprendre le langage Python, mais ne savez pas trop par où commencer ? Cette liste de lecture vous permettra de faire vos premiers pas en découvrant l'écosystème de Python et en écrivant de petits scripts.
11 article(s) - ajoutée le 01/07/2020
La base de tout programme effectuant une tâche un tant soit peu complexe est un algorithme, une méthode permettant de manipuler des données pour obtenir un résultat attendu. Dans cette liste, vous pourrez découvrir quelques spécimens d'algorithmes.
10 article(s) - ajoutée le 01/07/2020
À quoi bon se targuer de posséder des pétaoctets de données si l'on est incapable d'analyser ces dernières ? Cette liste vous aidera à "faire parler" vos données.
Voir les 65 listes de lecture

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous