<aside>
▶︎ Les apprentissages critiques
<aside>
Rappel : stage de 10 semaines chez RTsys (Lanester) consistant à développer un outil de visualisation et de traitement FFT pour la bouée acoustique RUBHY-AI.
L’objectif était de remplacer un prototype existant basé sur Chart.js, limité par son architecture et incapable de gérer efficacement des flux audio temps réel.
Le système développé comprend :
</aside>
J’ai abordé le projet en partant d’une analyse des limites du prototype existant basé sur Chart.js, notamment sur les performances de calcul FFT côté JavaScript et le rendu DOM, inadaptés à un flux temps réel.
La décision de refondre l’architecture a été basée sur une analyse fonctionnelle et algorithmique des contraintes (débit audio, latence, affichage continu). Le choix d’une architecture séparant acquisition, traitement DSP et rendu GPU permet de réduire la charge CPU et d’optimiser le pipeline global.
J’ai également introduit un traitement par étapes avec validation intermédiaire afin de garantir la cohérence mathématique des résultats avant intégration dans le flux temps réel.
J’ai mobilisé des notions d’analyse algorithmique, de traitement du signal et de gestion mémoire pour concevoir un pipeline efficace.
La FFT a été optimisée via une version Real-to-Complex exploitant la symétrie hermitienne, réduisant le coût de calcul d’un facteur proche de 2. Le choix des structures de buffers circulaires (ring buffers côté audio et GPU) permet de gérer le flux continu sans réallocation mémoire.
Le rendu WebGL a permis de déplacer une partie du calcul visuel vers le GPU, améliorant significativement les performances par rapport à une approche CPU classique.
AC22.01 — Analyse mathématique et informatique :
La DFT a été formalisée à partir des relations Δf = fs / N et fmax = fs / 2, permettant de relier directement paramètres numériques et interprétation fréquentielle du signal.
AC22.02 — Comparaison d’algorithmes :
Plusieurs choix ont été évalués : Chart.js vs WebGL pour le rendu, FFT classique vs Real-to-Complex pour le calcul, CPU vs GPU pour le traitement. Les choix finaux ont été guidés par les contraintes de performance temps réel.
AC22.03 — Outils mathématiques pour l’informatique :
Les transformations utilisées incluent la normalisation du signal, le calcul des magnitudes FFT et la conversion en échelles logarithmiques (dBFS / dB). Ces transformations assurent une interprétation exploitable des données brutes.