Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/07127.jsonl.gz/379

Home
GNU Radio par la pratique
Par Michel Vonlanthen HB9AFO

La description qui va suivre n'est pas un mode d'emploi exhaustif de GNU Radio mais une marche à suivre pour faire très rapidement ses premiers pas en GNU Radio. Les liens disséminés dans le texte permettront de compléter vos connaissances. Bien que nativement GNU soit un système d'exploitation en lui-même, les expérimentations se feront sur un PC fonctionnant sous Windows 10. Le sujet est quasiment infini puisque ce projet ne touche pas seulement la radio mais des centaines d'autres domaines disponibles sous forme de logiciels libres gratuits développés sous Linux.
GNU est un système d'exploitation lancé en 1984 par Richard Stallman et maintenu par le Projet GNU. GNU signifie "gnou" en français, nom d'un animal, sorte de grosse vache, qui vit dans les grandes plaines africaines. C'est aussi l'acronyme de GNU is Not Unix (GNU n'est pas Unix), bien qu'en fait il reprenne les principes de fonctionnement de cet ancien système d'exploitation.
Pour en savoir plus (Wikipedia):
On peut aussi lire l'article de Bernard Pidoux F6BVP "Introduction à GNU Radio" en cours de publication dans Radio-REF.
C'est assez fastidieux de décrire GNU Radio par des mots car il s'agit d'un langage visuel constitué de blocs reliés par des fils. Chacun de ces blocs réalise une fonction dont on peut modifier les paramètres en double-cliquant sur le bloc. Un ensemble de blocs s'appelle graph (.GRC) et réalise un équipement complet comme, par exemple, un récepteur, un émetteur, un générateur ou autres. On trouve à droite de la fenêtre de travail de GNU Radio Compagnon un volet qui contient une foule de blocs déjà réalisés et qu'on peut ré-utiliser sans limitation.
J'utiliserai ma propre expérience et approche de GNU Radio dans ce qui suit, en débutant par la mise en service d'un récepteur DATV DVB-T conçu par Michel HB9DUG sur la base de modules existants.
Michel avait présenté GNU Radio aux radio Amateurs Vaudois (RAV) il y a quelques années et j'avais été conquis par sa présentation. Et puis le temps a passé et d'autres envies sont passées avant. Ce n'est qu'il y a quelques jours, encouragé par Pierre HB9IAM qui venait lui-même d'installer le récepteur DVB-T de Michel, que je me suis décidé à installer GNU Radio Compagnon sur mon nouveau PC, un "de course" prévu pour les jeux (gaming) et donc très rapide du point de vue graphique. Il faut dire que j'étais limité depuis des années par la puissance de mon notebook H-P, pourtant très récent. La génération de DVB-S à l'aide de la carte DATV-Express n'avait jamais fonctionné selon mes souhaits, images saccadées et résolution limitée. Cela a changé du tout au tout avec ce nouveau PC de table.
Un peu de théorie avant de passer à la pratique. La base de tout projet est le logiciel GNU Radio Compagnon.
Fig 1 Fenêtre vide de GNU Radio Compagnon
Le menu en haut, le volet des blocs déjà réalisés à droite, la liste des exécutions en bas et la fenêtre de travail au milieu. En haut à gauche de celle-ci figurent déjà deux rectangles de base qui contiennent les options de base et les variables.
Il faut maintenant charger un graph (.grc) afin de réaliser quelque chose. Ensuite le principe est le suivant:
Mais tout ce ceci n'est pas important et vous pouvez ne pas le retenir si ce n'est pour votre culture générale si vous vous contentez de simplement charger et exécuter un graph développé par quelqu'un d'autre. C'est ce que j'ai fait avec le graph DVB-T de Michel HB9DUG, aidé au démarrage par Pierre HB9IAM. Je les remercie tous deux ici.
En résumé, POUR EXECUTER LE GRAPH REALISE, on peut soit charger GNU radio Compagnon et ensuite, en cliquant sur l'icône triangle, exécuter le fichier graph (.grc) qui est par défaut, soit exécuter directement le fichier Python (.py) qui a été généré et automatiquement mémorisé lors de la première exécution. Cette dernière méthode permet de créer des raccourcis sur le bureau de Windows
Marche à suivre
Contrairement à ce que je pensais, la mise en route de mon premier projet GNU radio, le récepteur DVB-T de Michel, ne m'a pris que le temps d'une soirée. J'ai dû:
C'est ce que je vais décrire ci-après.
Récepteur DVB-T avec une clé Air-Spy
Il s'agit d'un récepteur DATV DVB-T expérimental (parce que encore en développement) qui permet de recevoir du DVB-T à toutes largeurs de bande (250 kHz à 1 MHz) et à tous FEC (1/2 à 7/8). Il affiche le spectre reçu, sa position à l'intérieur des filtres et la constellation. L'affichage des images se fait au moyen du logiciel gratuit VLC.
Avec le récepteur Knucker, récemment développé par nos amis de la BATC, c'est le seul récepteur qui permette de recevoir des bandes passantes inférieures à 1 MHz. Jusqu'à présent, Le récepteur Hides HV-122 était le seul à recevoir du 1 MHz.
La description de HB9DUG est sur le site du
SWISSATV:
Mise en service
Fig 2 Fenêtre d'exécution
A la fin des chargements la fenêtre principale de GNU Radio Compagnon s'ouvre (Fig 3 ci-dessous) avec le fichier
graph
dvbt-airspyr2-rx-qpsk-fec-v2.grc (Fig 3 ci-dessous)
.
Fig 3 GNU Radio Compagnon avec le graph DVB-T chargé
Dans le menu, un clic sur l'icône qui a la forme d'un triangle gris (Execute the flow graph) exécutera le graph et le résultat apparaître dans une nouvelle fenêtre (Fig 4).
Fig 4 Fenêtre de travail
Il n'y a plus qu'à choisir les paramètres désirés pour que la réception se fasse. Il faudra bien-sûr que l'Air-Spy soit connecté à une antenne.
Par défaut la fréquence reçue est 437.0 MHz. On peut en changer dans le champ "RX Frequency" en haut à droite. Afin que cette fréquence reste mémorisée, on peut la modifier dans le bloc correspondant du graph appelé "Variable, id freq_central, value 437M" situé en haut à gauche du graph. Double cliquez sur le bloc avec la souris et inscrivez-y la fréquence en Hertz. Elle restera alors mémorisée lorsque vous fermerez le logiciel.
Il faut choisir la bande passante désirée, de 125 kHz à 1 MHz.
Le FEC, de 1/2 à 7/8.
Dans un premier temps laissez les autres paramètres tels-quels. Si un signal à la fréquence voulue, avec la bande passante et le FEC choisis est présent à la prise antenne de l'Air-Spy, une constellation sous la forme de 4 points apparaîtra dans la fenêtre de droite. Le points devront être les plus petits possibles.
Pour voir l'image reçue, ouvrezr le logiciel VLC, qui aura été au préalable téléchargé et installé. Il faudra lui indiquer l'adresse du flux reçu du graph dans le menu Média/Ouvrir un média: TCP://:@<ip-pii>:10000.
Si tout se passe bien, vous devez maintenant pouvoir visualiser les images de votre correspondant..
Fig 5 Premier essai sur Oscar-100: mon signal en retour
Il ne vous restera plus qu'à vous familiariser avec les différents réglages et, plus tard si vous le désirez, créer votre propre graph.
C'est mon premier projet en GNU Radio. Il reçoit du 437 MHz, +/- 5 MHz et en affiche le spectre et la chute d'eau. Le curseur permet de faire coïncider très précisément la fréquence reçue avec celle affichée.
L'utilisation principale de ce graph est double
Fig 6 Le graph spectrum.grc
Fig 7 Ecran du spectrum
C'est le graphe de Michel HB9DUG mais avec toutes les commutation enlevées de façon à ne laisser que ce qui est exclusivement nécessaire à la compréhension du principe de réception DVB-T. Les paramètres sont les suivants:
Mis à part que les paramètre de réception sont bloqués à 250kHz et FEC 1/2, ce récepteur fonctionne de la même façon que celui du graph original. Comme l'original, ce récepteur n'a pas de contrôle automatique de la fréquence (AFC), ce qui implique que la fréquence de réception soit être ajustée à 1 kHz-près d'où la présence du réglage fin. A noter que la stabilité de l'AirSpy est correcte et que celle du Portsdown 2020 (avec Lime junior) que j'utilise comme émetteur DVB-T également.
Fig 8 Récepteur DVB-T minimum
Fig 9 Ecran du récepteur
Exécution
On peut exécuter le fichier graph .grc à partir de GNU Radio Compagnon, en le chargeant par le menu "ouvrir", si ce n'est déjà fait, puis en en cliquant sur le triangle "Execute the flow graph".
Mais on peut aussi le faire sans passer par GRC, en exécutant directement le fichier Python .py que génère GRC lors de chaque exécution. Il suffit de créer un fichier batch au moyen du bloc note (Notepad) de Windows avec le contenu suivant:
C:
où:
Et de le sauvegarder avec le nom (par exemple) dvbt_rx_min.bat. Il faut encore créer un raccourci vers ce fichier sur le bureau de Windows afin de pouvoir démarrer ce programme en cliquant sur son icône.
Et hop !...
A suivre...