SAE SNA - Synthèse Numérique d'Audio - BUT2 - S4


Projet SAE SNA - Synthèse Numérique d'Audio
Synthétiseur numérique

Architecture du synthétiseur numérique modulaire : exemple de l'hélice

Généralités :
Date de début : Mars 2024 - BUT 2 S4
Durée : 3 mois
Groupe : 1 personne
Caractéristiques :
Complexité 85%
Recherche 90%
Ouverture 70%
Travail personnel 90%
Compétences travaillées :
Traitement du signal numérique : Synthèse de filtres FIR, fenêtrage Blackman-Harris, analyse spectrale FFT
Programmation embarquée C : Implémentation temps réel, optimisation algorithmique, gestion mémoire contrainte
Modulation audio : Modulation FM/AM, lois de modulation complexes, synthèse harmonique
Analyse mathématique : Séries de Fourier, équations de récurrence, optimisation numérique, Simulations MathCAD

Note : Les niveaux présentés dans "Caractéristiques" sont subjectifs. La signification précise est détaillée dans Détails des caractéristiques des projets universitaires.



J'ai développé un synthétiseur numérique temps réel en C pour la génération d'audio embarquée, spécialement orienté vers la simulation de sons sous-marins. Le système fonctionne sur ARM Cortex-A79 avec échantillonnage 10 kHz et contrainte temps réel de 100µs par échantillon.

Schéma fonctionnel du synthétiseur
Architecture modulaire du synthétiseur numérique
Architecture et optimisations

L'architecture modulaire repose sur plusieurs générateurs de signaux : un générateur de famille de raies (jusqu'à 4 harmoniques) et un générateur de bruit blanc (librairie Dave Hale). Le système exploite un coefficient de normalisation $K_V = 8192$ pour maximiser la dynamique 16 bits et intègre des optimisations critiques pour l'embarqué.

Les filtres FIR à 64 coefficients utilisent l'optimisation de symétrie divisant par deux les multiplications nécessaires. Cette approche garantit un temps de groupe constant essentiel pour l'audio et respecte les contraintes temps réel. L'équation de récurrence s'écrit :

$$y_n = \sum_{k=0}^{N-1} x_{n-k} \cdot h_k$$

En mode famille de raies, le générateur atteint une séparation spectrale de 15,9 dB entre fréquences désirées (77,8 dB) et parasites (61,9 dB max). L'implémentation inclut une gestion automatique des débordements numériques par remise à zéro basée sur la plus petite fréquence. Le signal généré suit l'équation :

$$y_n = K_V \cdot \sum_{i=1}^{4} V_i \cdot \sin(2\pi F_i T_e n + \phi_i)$$

En mode bruit filtré, les filtres FIR à 64 coefficients garantissent un temps de groupe constant de 3,3 ms, essentiel pour les applications audio.

Spectre du bruit blanc filtré par LPF
Mode bruit filtré - Spectre du bruit blanc filtré par LPF (fc = 500 Hz)
Spectre du générateur de raies
Mode famille de raies - Spectre fréquentiel
Modulations avancées

Le système intègre une modulation FM sophistiquée avec quatre lois implémentées : constante, croissante (dents de scie), sinusoïdale et aléatoire. L'architecture utilise des pointeurs de fonction permettant l'ajout transparent de nouvelles lois selon l'équation :

$$y(t) = K_{fm} \cdot \sin(\text{offset}(t) + \text{indiceMOD} \cdot x_m(t))$$

$$\left\{ \begin{array}{l @{\quad \quad} l} K_{fm} & \text{Le facteur de niveau du signal modulé} \\ \text{offset}(t) & \text{La phase instantanée de la porteuse} \\ \text{indiceMOD} & \text{L'indice de modulation} \\ x_m(t) & \text{Le signal modulant} \end{array} \right.$$

La modulation AM exploite la décomposition en série de Fourier avec reconstruction par les 8 harmoniques de plus haut niveau. Les coefficients $a_n$ et $b_n$ sont calculés via MathCAD et l'algorithme gère seuils et niveau continu pour une synthèse audio réaliste. La série de Fourier s'exprime :

$$S_{mod}(t) = a_0 + \sum_{n=1}^{8} [a_n \cos(\omega_n t) + b_n \sin(\omega_n t)]$$
Signal modulant et série de Fourier
Décomposition en série de Fourier du signal modulant
Application concrète

L'application finale synthétise le son d'une hélice sous-marine à 4 pales (60 rpm) combinant trois éléments : bruit ambiant filtré 0-600 Hz, modulation AM périodique à 4 motifs (f0 = 1 Hz) avec une pale déséquilibrée, et modulation FM croissante 100-110 Hz reproduisant l'effet Doppler.

Cette application démontre la capacité du synthétiseur à créer des sons complexes réalistes par combinaison de techniques avancées de traitement du signal numérique.

Bilan technique

Ce projet illustre la maîtrise complète du traitement du signal numérique embarqué, de la conception algorithmique aux optimisations temps réel. L'architecture modulaire facilite l'extension fonctionnelle tandis que les optimisations (symétrie FIR, structures configurables) assurent la viabilité embarquée.

La réalisation démontre l'intégration réussie de concepts avancés : filtrage FIR, modulations FM/AM complexes, génération de bruit, et synthèse harmonique dans un système temps réel contraint. Cette base constitue un fondement solide pour le développement de systèmes audio numériques professionnels.

Note : L'ensemble du code est disponible sur mon GitHub : SAE402-SNA.