<aside>

Optimiser des applications

▶︎ Les apprentissages critiques

  1. AC22.01 | Analyser un problème avec des méthodes mathématiques et informatiques
  2. AC22.02 | Comparer des algorithmes pour des problèmes classiques
  3. AC22.03 | Formaliser et mettre en œuvre des outils mathématiques pour l'informatique
  4. AC22.04 | Identifier les structures de données adaptées </aside>

<aside>

📎 SAE à l’appui : S4 — Stage RTsys

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 :

Stage chez RTsys

</aside>

Quelles ont été vos démarches, prises de décisions, degré d’implication et d’autonomie dans la SAE ?

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.


Quelles ressources avez-vous choisies et combinées pour réaliser vos tâches et résoudre les problèmes rencontrés dans cette SAE ?

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.


En vous appuyant sur vos traces, justifiez la maîtrise des apprentissages visés.

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.