AccueilMathématiquesVisualiseur DFT & STFT

🎵 Visualiseur DFT & STFT

Visualiseur interactif de Transformée de Fourier Discrète et de Transformée de Fourier à Court Terme. Générez des signaux sinus, carré, dent de scie, chirp et bruit. Observez le spectre de fréquence et le spectrogramme STFT en direct en temps réel. Changez le type de fenêtre et le chevauchement.

Mathématiques3DFacile60 IPS
dft-stft-visualizer ↗ Ouvrir en autonome

À propos du Visualiseur DFT / STFT

La Transformée de Fourier Discrète (DFT) décompose une séquence finie de N échantillons en N composantes de fréquence complexes : Xₖ = Σₙ xₙ · e^(−2πiknN) pour k = 0 … N−1. Elle révèle quelles fréquences contribuent à un signal mais suppose que le signal entier est stationnaire — elle ne peut pas vous dire quand une fréquence se produit. La Transformée de Fourier à Court Terme (STFT) résout ce problème en calculant la DFT sur des trames fenêtrées successives et chevauchantes, produisant un spectrogramme 2D temps-fréquence. Le compromis est fondamental : une fenêtre étroite donne une bonne résolution temporelle mais une mauvaise résolution fréquentielle (principe d'incertitude : Δt · Δf ≥ 1/4π), tandis qu'une fenêtre large inverse l'équilibre — la même contrainte de type Heisenberg qui régit la mécanique quantique.

Le simulateur vous permet de dessiner une forme d'onde ou de charger un extrait audio, puis d'observer le spectre DFT et le spectrogramme STFT se mettre à jour en direct. Vous pouvez ajuster la fonction de fenêtre (Hann, Hamming, rectangulaire) et le pourcentage de chevauchement pour observer comment ils échangent la résolution temporelle contre la résolution fréquentielle.

Questions Fréquentes

Quelle est la différence entre DFT et FFT ?

La DFT est la transformée mathématique elle-même ; la FFT (Transformée de Fourier Rapide) est un algorithme efficace pour la calculer. Un calcul naïf de la DFT nécessite O(N²) multiplications ; l'algorithme FFT de Cooley-Tukey, publié en 1965, réduit cela à O(N log N) en exploitant la symétrie des exponentielles complexes. Pour N = 1 048 576 (2²⁰) échantillons, c'est environ 200 000 fois plus rapide. La FFT est considérée comme l'un des algorithmes les plus importants du 20e siècle.

Qu'est-ce qu'un spectrogramme et comment le lire ?

Un spectrogramme est un tracé 2D d'une STFT : le temps s'étend sur l'axe horizontal, la fréquence sur l'axe vertical, et la couleur ou la luminosité représente la magnitude (ou la magnitude logarithmique en dB) à chaque case temps-fréquence. Les traînées horizontales indiquent des tons soutenus ; les traînées verticales indiquent des clics transitoires ; les traînées diagonales indiquent des balayages de fréquence (chirps). Les spectrogrammes de parole montrent des formants — les bandes horizontales sombres qui codent l'identité des voyelles et permettent la reconnaissance vocale automatique.

Pourquoi ne peut-on pas avoir une résolution parfaite en temps et en fréquence simultanément ?

C'est le principe d'incertitude temps-fréquence : Δt · Δf ≥ 1/(4π), où Δt est la durée RMS de la fenêtre et Δf est la largeur de bande RMS de la réponse en fréquence résultante. Utiliser une fenêtre étroite localise les événements dans le temps (petit Δt) mais étale le spectre (grand Δf), et vice versa. La fenêtre gaussienne atteint le produit d'incertitude minimum (le cas d'égalité), ce qui explique pourquoi elle est utilisée dans l'analyse en ondelettes et les transformées de Gabor.

Que sont les fonctions de fenêtre et pourquoi sont-elles nécessaires ?

Lorsque vous prenez la DFT d'un bloc fini d'échantillons, vous multipliez implicitement le signal par une fenêtre rectangulaire — le coupant abruptement aux bords. Cela crée une fuite spectrale : les bords nets introduisent des composantes de fréquence parasites qui étalent l'énergie des tons forts vers les cases voisines. Les fonctions de fenêtre comme Hann, Hamming, Blackman ou Kaiser atténuent le signal en douceur jusqu'à zéro aux bords, réduisant la fuite au prix de lobes principaux légèrement plus larges (résolution fréquentielle réduite). Le choix de la fenêtre dépend du fait que vous avez besoin d'une faible fuite (Blackman) ou d'un lobe principal étroit (rectangulaire).

Qu'est-ce que le théorème de Nyquist ?

Le théorème d'échantillonnage de Nyquist-Shannon stipule qu'un signal ne contenant aucune fréquence au-dessus de fₘₐₓ peut être parfaitement reconstruit à partir d'échantillons pris à un taux d'au moins 2fₘₐₓ (le taux de Nyquist). Échantillonner en dessous de ce taux cause du repliement : les composantes haute fréquence se replient et apparaissent comme des signaux basse fréquence fantômes. Les CD audio utilisent un taux d'échantillonnage de 44 100 Hz pour capturer des fréquences jusqu'à 22 050 Hz — légèrement au-dessus de la limite d'audition humaine d'environ 20 000 Hz.

Quelle est la différence entre magnitude et phase dans la DFT ?

Chaque coefficient DFT Xₖ est un nombre complexe avec une magnitude |Xₖ| (à quel point la fréquence k est présente) et une phase arg(Xₖ) (le décalage temporel de cette composante de fréquence par rapport au début de la fenêtre). Les spectrogrammes affichent généralement seulement |Xₖ|² (le spectre de puissance) car la phase est difficile à interpréter visuellement et moins pertinente perceptuellement pour l'audio. Cependant, la phase est cruciale pour la reconstruction du signal : la DFT inverse nécessite à la fois la magnitude et la phase pour récupérer le signal original.

Comment la STFT est-elle utilisée dans la compression audio ?

Les codecs audio MP3 et AAC utilisent une version modifiée de la STFT — la Transformée en Cosinus Discrète Modifiée (MDCT) — pour convertir l'audio dans le domaine fréquentiel. Ils appliquent ensuite un masquage psychoacoustique : les tons forts masquent les tons plus faibles proches, donc les bits peuvent être réalloués des fréquences masquées vers les fréquences audibles. La taille de trame MDCT est adaptée dynamiquement (plus longue pour les signaux stationnaires, plus courte pour les transitoires) — exactement le compromis temps-fréquence que contrôle la taille de fenêtre STFT.

Quelle est la relation entre STFT et ondelettes ?

La STFT et la transformée en ondelettes analysent toutes deux un signal à plusieurs emplacements temporels, mais elles diffèrent dans la façon dont elles pavent le plan temps-fréquence. La STFT utilise une taille de fenêtre fixe, donnant une résolution uniforme en temps et en fréquence à toutes les échelles. La transformée en ondelettes utilise une fenêtre qui s'échelonne avec la fréquence : des fenêtres plus larges pour les basses fréquences (bonne résolution fréquentielle) et des fenêtres plus étroites pour les hautes fréquences (bonne résolution temporelle). Cela donne aux ondelettes une largeur de bande relative constante (facteur Q), mieux adaptée à la façon dont le système auditif humain traite le son.

Qu'est-ce que le remplissage de zéros dans le calcul de la DFT ?

Le remplissage de zéros signifie ajouter des zéros à un signal avant de calculer sa DFT, augmentant N sans ajouter de nouvelle information. Il interpole le spectre de fréquence — les cases de sortie deviennent plus densément espacées en fréquence — rendant les pics spectraux plus faciles à voir. Cependant, il n'améliore pas la résolution fréquentielle réelle (qui est déterminée par la longueur réelle du signal, pas la longueur remplie). Le remplissage de zéros est couramment utilisé à des fins d'affichage et pour la convolution efficace via les méthodes overlap-add ou overlap-save.

⚙ Sous le capot

Générez des signaux et observez leurs transformées de Fourier en direct. Basculez entre le spectre de magnitude DFT et le spectrogramme STFT pour voir comment le contenu fréquentiel évolue dans le temps. Inclut les modes sinus, accord, chirp, AM et bruit.

3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install

Qu'avez-vous trouvé ?

Ajouter les étapes de reproduction (facultatif)