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)

Conférence European GNU Radio Days 2024 : annonce de GNU Radio 4.0 et tutoriel sur les blocs de traitement Python

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

Quelques retours sur la conférence européenne dédiée au logiciel libre de traitement de signaux radiofréquences échantillonnés en temps discret GNU Radio, et le développement de blocs Python dédiés au traitement du signal en flux tendu.

Algèbre linéaire rapide : BLAS, GSL, FFTW3, CUDA et autre bestiaire de manipulation de matrices dans le traitement de signaux de radio logicielle

Magazine
Marque
Hackable
Numéro
56
Mois de parution
septembre 2024
Spécialité(s)
Résumé

L’algèbre linéaire est habituellement introduite comme un formalisme abstrait d’opérations matricielles. Nous proposons quelques applications concrètes de cette algèbre dans le cas du traitement de signaux radiofréquences, ainsi que des mises en œuvre sur processeur généraliste (CPU) et graphique (GPU) en vue de passer d’un post-traitement de signaux enregistrés à un traitement en temps réel. Nous survolerons ainsi quelques fonctions des principales bibliothèques de calcul linéaire pour proposer des implémentations de corrélation ou d’optimisation aux moindres carrés.

Trente ans d’open source... pour en arriver là

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

Été 2024... Exactement 30 ans après la première installation de GNU/Linux sur un 80486 cadencé à 100 MHz, 80 disquettes copiées depuis un CD (distribution Slackware) dont je ne possédais pas le lecteur, avec évidemment la 79e disquette défectueuse pour achever l’installation de X11 (alias XFree86, avant sa reprise en X.Org en 1999). Peu importe, l’interface graphique ne sert à rien d’autre que consommer des ressources inutilement [1]. J’ai oublié la version du noyau (kernel), l’historique indique 1.1, mais je ne développais pas à ce niveau à cette époque. J’ai eu la chance de transiter de MS-DOS à GNU/Linux sans passer par l’étape MS Windows, l’École Normale Supérieure de Lyon à laquelle j’accède en septembre 1994 étant exclusivement munie de stations Sun Microsystems sous Solaris.

Les derniers articles Premiums

Les derniers articles Premium

La place de l’Intelligence Artificielle dans les entreprises

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

L’intelligence artificielle est en train de redéfinir le paysage professionnel. De l’automatisation des tâches répétitives à la cybersécurité, en passant par l’analyse des données, l’IA s’immisce dans tous les aspects de l’entreprise moderne. Toutefois, cette révolution technologique soulève des questions éthiques et sociétales, notamment sur l’avenir des emplois. Cet article se penche sur l’évolution de l’IA, ses applications variées, et les enjeux qu’elle engendre dans le monde du travail.

Petit guide d’outils open source pour le télétravail

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

Ah le Covid ! Si en cette période de nombreux cas resurgissent, ce n’est rien comparé aux vagues que nous avons connues en 2020 et 2021. Ce fléau a contraint une large partie de la population à faire ce que tout le monde connaît sous le nom de télétravail. Nous avons dû changer nos habitudes et avons dû apprendre à utiliser de nombreux outils collaboratifs, de visioconférence, etc., dont tout le monde n’était pas habitué. Dans cet article, nous passons en revue quelques outils open source utiles pour le travail à la maison. En effet, pour les adeptes du costume en haut et du pyjama en bas, la communauté open source s’est démenée pour proposer des alternatives aux outils propriétaires et payants.

Sécurisez vos applications web : comment Symfony vous protège des menaces courantes

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

Les frameworks tels que Symfony ont bouleversé le développement web en apportant une structure solide et des outils performants. Malgré ces qualités, nous pouvons découvrir d’innombrables vulnérabilités. Cet article met le doigt sur les failles de sécurité les plus fréquentes qui affectent même les environnements les plus robustes. De l’injection de requêtes à distance à l’exécution de scripts malveillants, découvrez comment ces failles peuvent mettre en péril vos applications et, surtout, comment vous en prémunir.

Bash des temps modernes

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

Les scripts Shell, et Bash spécifiquement, demeurent un standard, de facto, de notre industrie. Ils forment un composant primordial de toute distribution Linux, mais c’est aussi un outil de prédilection pour implémenter de nombreuses tâches d’automatisation, en particulier dans le « Cloud », par eux-mêmes ou conjointement à des solutions telles que Ansible. Pour toutes ces raisons et bien d’autres encore, savoir les concevoir de manière robuste et idempotente est crucial.

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