Transformée de Fourier discrète (TFD)
- Le
problème qui se pose souvent dans la pratique est le suivant:
le signal analogique
étudié a été enregistré sous forme
échantillonnée pendant une certaine durée, et on
aimerait avoir le maximum de renseignements sur son spectre (on ne
connaît évidemment pas ici l'expression de la fonction).
- Autrement
dit on connaît
pour
(
est l'intervalle d'échantillonnage, son inverse
est la fréquence d'échantillonnage,
est le nombre de points enregistrés, la durée totale
d'enregistrement est
.
- L'obtention de renseignements sur le spectre , nécessairement limités puisqu'on ne connaît pas la totalité du signal analogique de départ, se fait à l'aide d'une opération mathématique appelée "Transformée de Fourier Discrète".
- C'est cette opération qui est utilisée par les analyseurs de spectre (par exemple la fonction TF ou FFT de certains oscilloscopes numériques) et par les logiciels qui font de l'analyse de Fourier (Regressi par exemple). D'où l'intérêt de savoir ce qu'elle permet de faire et quelles sont ses limites.
Ce qu'est la TFD
- En approximant les intégrales qui interviennent dans les expressions des coefficients de Fourier d'une fonction périodique par une intégrale approchée par la méthode des rectangles, on obtient un spectre discret:
,
amplitude de la fréquence
pour
.
- Comme le spectre est une fonction à la fois paire et
périodique de période,
seule la partie entre 0 et
est
intéressante.
Domaine de validité
Les conditions pour appliquer valablement la TFD sont:
- g est
périodique de période
,
de fréquence
- son
spectre est limité en fréquence à l'intervalle
(ou
en
spectre complexe)
- le critère
de Shannon est satisfait:
- la durée d'acquisition
(largeur de la "fenêtre") est un multiple de la
période
:
avec
.
Problèmes rencontrés hors du domaine de validité
- La TFD est en fait utilisée par tous les logiciels ou circuit spécialisés (circuits "DSP" pour Digital Signal Processing) de calcul de TF à partir d'un signal échantillonné, même hors des conditions de validité vues précédemment.
- Il faut donc être conscient des limites pratiques d'utilisation de ces logiciels/circuits.
- Respect du critère de Shannon: s'il n'est pas respecté, on sait qu'il y a recouvrement des spectres, et dans ce cas tout ou partie du spectre calculé sera faux.
- Effet du fenêtrage: on sait que le fenêtrage a comme conséquence un élargissement des pics, avec apparition de lobes secondaires:
Si
les lobes secondaires ont une amplitude trop grande, il se peut qu'un
lobe secondaire vienne "masquer" le pic principal de la
fréquence suivante, qui ne sera alors pas vue avec la bonne
amplitude.
Le remède
employé consiste à pondérer dans la TFD les
par
une fonction qui permet de diminuer la hauteur des lobes: on dit
qu'on change de type de "fenêtre": au lieu d'utiliser
une "fenêtre rectangulaire", on peut utiliser des
fenêtres triangulaire, parabolique, cosinusoïdale, de
Hanning, de Hamming, de Blackmann, de Gauss, de Kaiser, de
Dolph-Chebychev....bref tout une bestiaire de fenêtres de
pondération présentant chacune avantages et
inconvénients (en général quand on diminue la
hauteur des lobes secondaires, on élargit le pic principal,
faisant perdre en résolution spectrale), et qu'on peut être
amené à rencontrer dans les menus des logiciels.
- Effet d'une largeur de fenêtre non multiple de la période du signal: la TFD suppose que le signal est périodique et que la durée d'acquisition est multiple de la période; si ce n'est pas le cas, cela signifie qu'on "périodise" mal:
Le
spectre obtenu est donc différent du "vrai", et
l'apparition de discontinuités introduit des fréquences
parasites.
Tuto_Fourier permet de choisir la fenêtre utilisée pour les calculs:
- soit totalité des points
- soit période du signal s'il arrive à la détecter (algorithme Yin utilisé: http://audition.ens.fr/adc/pdf/2002_JASA_YIN.pdf)
- soit librement, en réglant les indices du premier et du dernier point
FFT
Le calcul de la TFD étant gourmand en nombre d'opérations, il a été développé des algorithmes permettant de réduire la puissance de calcul: le plus connu est appelé "FFT" (Fast Fourier Transform, Transformée de Fourier Rapide); c'est pourquoi on utilise parfois abusivement le terme "FFT" pour "TFD". L'algorithme permet par exemple de diviser par 100 le temps de calcul pour N=4096. Par contre il ne fonctionne bien que si N est une puissance de 2. La FFT sur N=2048 points nécessite 0,1ms sur un ordinateur actuel.
Des algorithmes permettent également d'accélérer les calculs lorsque N n'est pas une puissance de 2. C'est dans le cas où N est premier que l'accélération est impossible.