6  Projets Open-Source et Bibliothèques Logicielles

Ce répertoire liste les outils majeurs de l’écosystème SDR, DAB+ et FPGA open-source, explicitant leur pertinence vis-à-vis du plan de développement décrit dans ce manuel.

6.1 Opendigitalradio (ODR)

  • Type : Écosystème logiciel de référence mondiale pour le DAB+ open-source.
  • Site officiel : https://www.opendigitalradio.org
  • Utilité pour le projet : ODR est l’organisation qui maintient les outils critiques du DAB+. Leur suite logicielle (notamment ODR-DabMod) décrit l’exact inverse de votre récepteur (la chaîne de modulation). L’étude de leur documentation technique et de leur code source est une mine d’or absolue pour comprendre l’agencement exact des symboles OFDM, la structure des intervalles de garde et la constitution des paquets FIC/MSC du standard.

6.2 Welle.io

  • Type : Logiciel d’application complet (C++ / Qt5).
  • Dépôt officiel : https://github.com/AlbrechtL/welle.io
  • Utilité pour le projet : Il sert de point de départ pour le Palier I (IHM distante et décodage logiciel de test). Sa fonctionnalité critique est son mode ligne de commande welle-cli, capable de s’interfacer à un serveur réseau via l’argument -c tcp:// ou de lire un flux d’octets pré-enregistré en simulation via l’argument -f <fichier>. Il intègre en outre les modules logiciels de décodage AAC+ de référence (libfaad2/fdk-aac) qui valident l’intégrité de vos flux.

6.3 Dablin

  • Type : Décodeur et lecteur de flux DAB/DAB+ pour Linux (C++).
  • Dépôt officiel : https://github.com/Opendigitalradio/dablin
  • Utilité pour le projet : Outil indispensable pour l’Étape 6 du plan. Lorsque votre simulateur matériel sur PC extrait les paquets binaires MSC (Main Service Channel) et FIC, Dablin prend ce fichier binaire brut en entrée standard (stdin ou via l’argument -f) et joue directement l’audio. C’est l’outil de validation auditive idéal pour prouver que votre code VHDL/Verilog de démodulation fonctionne avant de toucher au matériel.

6.4 Helix AAC Decoder

  • Type : Bibliothèque logicielle de décodage audio optimisée (C / Assembleur).
  • Dépôt de référence : Multiples forks optimisés pour l’embarqué (ex : https://github.com/pschatzmann/arduino-audio-tools).
  • Utilité pour le projet : Crucial pour l’Étape 10. Ce décodeur a été historiquement conçu par RealNetworks pour s’exécuter sur des processeurs mobiles très limités. Contrairement aux décodeurs classiques qui nécessitent une unité de calcul en virgule flottante (FPU) lourde, Helix est entièrement écrit en virgule fixe (Fixed-Point math). C’est le candidat parfait pour être compilé sur un petit microcontrôleur soft-core RISC-V instancié dans le FPGA Tang Nano.

6.5 GNU Radio

  • Type : Framework de traitement de signal open-source (C++ / Python).
  • Site officiel : https://www.gnuradio.org
  • Utilité pour le projet : Utilisé à l’Étape 4 pour la validation spectrale. En raccordant un bloc source de fichier (“File Source”) pointant vers votre fichier de capture signal_brut.bin à un bloc de visualisation de densité spectrale (“QT GUI Sink”), vous pouvez analyser instantanément la forme du spectre, mesurer le niveau de bruit analogique de l’AD9226 et ajuster vos paramètres de gain avant codage.