Exploiter la fonction fft(.) de Scilab Jean-Paul Stromboni, pour les élèves SI3, nécessite un vidéo projecteur, durée 50mn , septembre 2015 J. B. Fourier, séries de Fourier, etc, etc Joseph Jean Baptiste Fourier (1768-1830) résout une équation différentielle sans solution jusque là en décomposant le second membre s(t) en une somme de signaux sinusoïdaux. Il invente les séries de Fourier, la composition fréquentielle, et l’analyse harmonique. Séries de Fourier : avec Transformée de Fourier est le spectre de s(t), quantité complexe Spectre d’amplitude Transformée inverse Transformée de Fourier Discrète (TFD) X(f) est fe-périodique X(f) est une quantité complexe Algorithmes de Transformée de Fourier Rapide (FFT en anglais)
Calcul de la TFD avec la fonction fft de Scilab Les logiciels tels Audacity ou Scilab … calculent la composition fréquentielle en utilisant un algorithme de transformée de Fourier rapide (en anglais FFT) : Il faut noter : Si s contient N échantillons, S contient N valeurs de S(f) calculées aux fréquences fk Résolution fréquentielle (écart entre deux valeurs calculées) Problème de synchronisation Taille de la fenêtre de FFT : N S(f) est une quantité complexe, il faudra calculer le module. Avec Scilab, c’est : S= abs ( fft (s) ); On étudie maintenant la fonction fft de Scilab
Utiliser fft() sur un signal constant Dans TD n°1, on a calculé la TFD d’un signal constant Retrouver a, fe, N, fréquence du signal, résolution fréquentielle ?
Calculer plus de N valeurs de la TFD de s On calcule et on trace M=256 valeurs au lieu de 16. On divise le spectre affiché par N. Pourquoi ? Retrouver a, fe, N, fréquence du signal, résolution fréquentielle ?
Augmenter la taille N de la fenêtre FFT On calcule et on trace N=64 valeurs au lieu de 16. Retrouver a, fe, N, fréquence du signal, résolution fréquentielle ?
Effet de la forme de la fenêtre de FFT On remplace la fenêtre rectangulaire précédente par la fenêtre de Hamming.
Tracé du spectre entre –fe/2 et fe/2 ou entre 0 et fe/2 On peut choisir la période de TFD(s) entre –fe/2 et fe/2 au lieu de 0 et fe, ou d’afficher une demi période seulement
Signal composé d’une fréquence non nulle Forme et taille de fenêtre ? Résolution fréquentielle ? a0 ? f0 ? fe ?
Plusieurs composantes fréquentielles Forme et taille de fenêtre ? Résolution fréquentielle ? a0 ? f0 ? fe ?
Tracé du spectrogramme avec Scilab
Représentation 3D du spectrogramme pour le signal vocal, on sait que la durée de la fenêtre d’analyse ne doit pas dépasser 30ms (?) si fe=8 kHz, c’est une fenêtre de 240 échantillons. On calcule la TFD de la fenêtre, on déplace la fenêtre et on recommence On regroupe les résultats dans un spectrogramme, en 3D (cf. ci-dessous) ou en 2D (cf. Goldwave) Quelle est ici la résolution fréquentielle ? Comment obtenir une fenêtre de 20ms, sachant que fe=22050Hz ? Donner la résolution fréquentielle. Voici le spectrogramme de piano_c3.wav tracé par WaveLab : retrouver les informations de fréquence fondamentale, durée du signal, enveloppe …
Exploitation du tracé du spectre d'amplitude sur les tracés suivants, retrouver : fe, N, a0 et f0, la durée de la fenêtre temporelle et l'axe de symétrie. Que vaut Df ? Quelle est la relation entre les deux tracés ? fe=8000, N=32, s=0.25*cos(2*pi*500*t)