Fonctions > Traitement du signal > Analyse conjointe temps-fréquence > Exemple : Transformée de Fourier de courte durée
  
Exemple : Transformée de Fourier de courte durée
Utilisez la fonction stft pour calculer la transformée de Fourier à court terme (STFT) d'un signal dont les caractéristiques de spectre varient dans le temps.
La fonction renvoie une matrice dont les colonnes contiennent la transformée de Fourier du signal en entrée, à des moments séparés par des échantillons s. Pour un signal x(t), la STFT est définie en temps continu sous la forme :
Cliquez pour copier cette expression
w(t) est une fenêtre glissante à valeurs réelles, utilisée pour localiser l'influence de la transformée aux environs d'un moment spécifique.
Signal à deux pas
Le signal suivant est composé de deux sinusoïdes de fréquences différentes, se produisant à des moments différents.
1. Définissez les composantes du signal.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
2. Tracez le signal composite.
Cliquez pour copier cette expression
La STFT contient les informations relatives au contenu de la fréquence du signal et à l'heure à laquelle la fréquence est présente.
3. Calculez la STFT avec 100 échantillons de fréquence, un incrément temporel de 30 et une fenêtre de Hanning.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Il s'agit d'une matrice 100 x 56 (le signal de longueur L comprend 56 incréments temporels de 30).
4. Calculez le carré de l'amplitude.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
5. Enregistrez le contour obtenu comme image BMP.
Cliquez pour copier cette expression
(v_spec_rotated.bmp)
L'image indique non seulement les deux fréquences, mais aussi l'heure à laquelle elles se sont produites. Le spectrogramme subit cependant une altération de la localisation. Pour localiser l'heure (autrement dit, pour que la STFT indique les heures auxquelles les sinusoïdes sont actifs), une fenêtre temporelle courte est nécessaire. En revanche, pour bien localiser la fréquence, une longue fenêtre temporelle est requise. Cette altération varie également en fonction du type de fenêtre utilisé, du signal pris en considération, de l'heure et de la fréquence.
6. Pour illustrer ces éléments, calculez la STFT et le spectrogramme du même signal que ci-dessus, en utilisant cependant une longueur de fréquence de fenêtre de 300 au lieu de 100.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
7. Enregistrez le contour obtenu comme image BMP.
Cliquez pour copier cette expression
(v_nbspec_rotated.bmp)
La STFT calculée avec une longue fenêtre offre une meilleure résolution de fréquence, avec cependant une résolution temporelle médiocre. Cette altération de la fréquence temporelle peut être évitée en utilisant d'autres fonctions de fréquence temporelle, telles que timefreq et timecorr.
Fenêtrage personnalisé
Dans cet exemple, la fenêtre de fréquence est remplie de zéros jusqu'à la longueur de la transformée de Fourier.
1. Définissez la longueur de la fenêtre et le pourcentage de cosinus surélevé.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
La longueur de la fenêtre ne peut pas être supérieure à celle de la transformée de Fourier.
2. Remettez à l'échelle les coefficients de la fenêtre de manière à ce que la fenêtre indique l'énergie unitaire.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
3. Calculez la STFT et le spectrogramme.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
4. Enregistrez le contour obtenu comme image BMP.
Cliquez pour copier cette expression
(v_spec2_rotated.bmp)
Essayez de modifier les paramètres de la fonction stft ou les fréquences des sinusoïdes dans le signal d'entrée et observez la façon dont les tracés varient.