Beruflich Dokumente
Kultur Dokumente
Support de cours
Dramane BONKOUNGOU
Reproduction interdite
0. Programme..................................................................................................................................... 1
1. Analyse spectrale numérique........................................................................................................ 2
1.1. La décomposition en série de Fourier à l’aide de la FFT....................................................... 2
1.1.1. Représentation fréquentielle d’un signal périodique à l’aide de la série de Fourier....... 2
1.1.2. Détermination de la série complexe de Fourier à l’aide de la FFT ................................... 8
1.1.3. L’effet leakage ou étalement spectral ................................................................................ 10
1.2. La transformation de Fourier à l’aide de la FFT ................................................................. 15
1.2.1. Analyse spectrale du signal non périodique à l’aide de la transformation de Fourier . 15
1.2.2. Détermination de la transformation de Fourier à l’aide de la FFT ................................ 18
0. Programme
Objectifs:
Contenu :
s
mp
Te
ps
Te m
ps
Tem
Fr é q
uenc
e
Fréquence
Un signal analogique périodique de période T0 peut être décomposé en une somme infinie de
composantes sinusoïdales (forme cosinus et sinus):
(1.2)
&'
2
= sin 2 = 1,2,3, … , ∞
−
() + )*+ = , - + - cos . + / + 0 23
=4 + 4 cos 2 +5 1.3
Avec:
−
4 = ; 4 =7 -
+ -
; 5 = / +0 2; = 1,2,3, … , ∞ 1.4
2
Les Ak (toujours positifs) sont les amplitudes des composantes sinusoïdales de x(t) et
représentent le spectre unilatéral d’amplitude de x(t) :
Les αk sont les phases à zéro des composantes sinusoïdales de x(t) et représentent le spectre
unilatéral de phase de x(t) :
9:
+ ;9:
() =
2
On obtient la série de Fourier complexe:
C
φ(k) = arg(X(k)) représente le spectre bilatéral de phase et est une fonction impaire car les
coefficients complexes avec un index négatif sont les complexes conjugués des coefficients
complexes avec un index positif.
φ(k)
φ(3)
φ(-2) φ(1) φ(4)
φ(-5)
φ(6)
... -6f0 -4f0 -3f0 -f0 ...
2f0 5f0
0
-5f0 -2f0 f0 3f0 4f0 6f0 f = kf0
φ(-6)
φ(5)
φ(-4)
φ(-1) φ(2)
φ(-3)
Les coefficients complexes sont plus faciles à déterminer car la manipulation des fonctions
exponentielles est plus simple que la manipulation des fonctions trigonométriques
Le spectre unilatéral peut être déterminé à partir du spectre bilatéral à l’aide des relations
suivantes:
4 = |< 0| ; 4 = 2|< | 5 = Q J(M/ = 1, 2, 3, … 1.7
Sachant que la puissance moyenne Pm d’un signal périodique de période T0 est donnée par:
&'
1
ST = -
= <UVV
-
Si le signal x(t) est une tension ou un courant, Pm est la puissance dans une résistance de 1Ω.
4
< UVV = 1.9
√2
Pour faciliter la représentation d’un grand intervalle de valeurs, on utilise une représentation
logarithmique en dB:
ST 4
ST Z = 10K(N [ ] = 20K(N [ ] 1.10
S\UV 4\UV
Phénomène de Gibbs
A travers la série de Fourier, un signal périodique peut être décomposé en un nombre infini de
composantes sinusoïdales (ou harmoniques). En pratique la série de Fourier c.à.d. la somme
des harmoniques doit être limité à un nombre de harmoniques. A cause de cette limitation,
quelle est la différence entre le signal reconstitué à partir des harmoniques et le signal
original ? Cette différence est plus grande pour des signaux contenant des discontinuités ( ou
sauts).
L’idée ici est d’utiliser l’intégration numérique pour calculer approximativement mais plus
simplement les coefficients complexes de Fourier d’un signal périodique x(t) de période T0
selon (1.6) :
&'
1
< = e;>-?@A' B dt
On suppose qu’on dispose de N échantillons du signal x(t) pendant une période T0 qui est
l’intervalle d’analyse (ou la durée d’enregistrement des échantillons).
Ainsi l’écart de temps entre deux échantillons successifs qui est la période d’échantillon est
Te = T0/N. La fréquence d’échantillonnage correspondante est fe = 1/Te.
Les N échantillons d’une période forment le signal ou la séquence à temps discret x(nTe) avec
n = 0, 1, 2, …, N-1.
En remplaçant l’intégral dans (1.6) par une somme puisque x(t) est maintenant disponible
sous forme discrète, on obtient approximativement les coefficients complexes de Fourier:
^;
1 ;>-?@ a`b
< = + U e `' ⋅ Te
_
^;
1 a
< = + e;>-?@g avec k = −∞, … , −2, −1,0,1,2, … , +∞ 1.11
f U
_
(1.11) est une approximation de (1.6) car on a considéré un nombre fini N de valeurs de x(n)
puisque la durée du calcul numérique doit être limitée. La conséquence de cette limitation sera
analysée dans 1.1.3.
Lorsqu’on calcule les coefficients X(k) selon (1.11) avec par exemple Matlab, on remarque
que les coefficients se répètent avec la période N. Et si on ne tient pas compte du facteur 1/N
et avec x(nTe) = x(n) on obtient:
^;
a
<k = + e;>-?@g avec k = 0, 1, 2, … , N − 1 1.12
_
Ainsi on remarque la FFT demande environ cent fois moins de temps pour effectuer les
opérations de multiplications que la DFT.
Remarque: La FFT n’est pas une nouvelle transformation mais seulement une méthode
rapide qui permet d’obtenir les mêmes résultats que ceux fournis par la DFT.
Pour plus d’informations détaillées sur les différents algorithmes de la FFT, voir la
bibliographie suivante:
• Cooley J.W. ; Tukey J.W: An algorithm for the machine calculation of complex
Fourier series. Mathematics of computation, Vol. 19, April 1965.
• Burrus C. S. ; Park T.W: DFT/FFT and convolution algorithms. Jonh Wiley & Sons,
New York, 1985.
<k
< = k = 0, 1, 2, … , N − 1 1.13
f
= = = = = 0, 1, 2, … , f − 1 1.14
f U f U
Remarque:
On montre que:
•
f f
Pour un nombre d’échantillons N pair, on a:
<k = <k∗ f − = 1, 2, … , −1 <k 0 2 ) /é K 1.15
2 2
•
f−1
Pour un nombre d’échantillons N impair, on a:
<k = <k∗ f − = 1, 2, … , 1.16
2
A partir de la DFT (ou de la FFT) on peut retrouver le signal temporel (ou la séquence) x(n) à
travers la DFT inverse définie par :
^;
1 a
+ = <k e>-?@g avec n = 0, 1, 2, … , N − 1 1.17
f
Pour le calcul de la DFT inverse dans MATLAB, on peut utiliser la fonction ifft.
Nous avons vu dans 1.1.2 qu’il fallait considérer un nombre fini N de valeurs du signal
périodique x(n) à analyser à travers l’échantillonnage (puisque le calcul numérique doit être
limité dans le temps). Cette limitation correspond à une opération de troncation de x(n) et
consiste mathématiquement à multiplier le signal x(n) par un signal fenêtre w(n) appelée
fenêtre d’observation.
f U =I I ∈ ℕ∗ 1.18
Etude de l’effet leakage (étalement spectral) à travers la FFT d’un signal sinusoïdal
avec Matlab:
Représentation temporelle
10
-10
-20
0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.05
Temps en s
Signal avec f2 = 200 Hz (fe = 800 Hz)
5
-5
0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.05
Temps in s
0
0 50 100 150 200 250 300 350 400
Frequence en Hz; (f1 = 130 Hz; fs = 800 Hz; m1 = 6.5)
3
Module(DFT/N)
0
0 50 100 150 200 250 300 350 400
Frequence en Hz; (f2 = 200 Hz; fs = 800 Hz; m2 = 10)
On observe clairement l’effet leakage qui correspond à un étalement spectral pour m= 6,5).
Pour m = 10, on observe comme prévu la présence d’une seule raie à 200 Hz entre 0 et fe/2
qui s’explique par le fait qu’en dehors de la vraie harmonique toutes les autres harmoniques
sont tombées sur les points d’annulation de l’enveloppe continue.
0
0 50 100 150 200 250 300 350 400
Frequence en Hz
Spectre damplitude du Signal xd2 (f2 = 200Hz)
3
Module(DFT/N)
0
0 50 100 150 200 250 300 350 400
Frequence en Hz
Pour atténuer l’effet leakage on utilise des fenêtres spéciales. Ainsi les valeurs des
échantillons de l’intervalle d’analyse sont multipliées par des coefficients qui correspondent
aux valeurs du signal fenêtre.
Les fenêtres les plus connus sont implémentées dans MATLAB et se trouvent dans le Toolbox
Signal Processing.
Par exemple avec la commande plot(barlett(128)) ; on obtient la représentation
graphique des valeurs de la fenêtre de Barlett pour un intervalle d’analyse 128 valeurs. De
manière similaire on peut représenter les fenêtres de Hamming, Hanning, Kaiser et la fenêtre
triangulaire. La fenêtre rectangulaire (boxcar) correspond à une multiplication par 1 avec le
plus grand effet leakage.
L’effet leakage est beaucoup plus visible lorsqu’on représente les spectres de puissance de
manière logarithmique en dB. De nombreux analyseurs de spectre numériques permettent à
l’utilisateur de choisir le type de fenêtre.
10
-10
-20
0 0.005 0.01 0.0150.02 0.025 0.03 0.035 0.04 0.045 0.05
Temps en s
Spectre damplitude de xd1*hanning-Fenetre (f1 = 130Hz)
4
Module(DFT/N)
0
0 50 100 150 200 250 300 350 400
Frequence en Hz
Nous avons vu dans 1.1.1 que la série de Fourier permet de décomposer un signal périodique
en une somme de signaux sinusoïdaux. Et cette décomposition permet la représentation
fréquentielle (ou spectrale) du signal sinusoïdal.
La question qu’on peut se poser maintenant est la suivante:
Une représentation fréquentielle d’un signal non périodique est-elle possible ?
La réponse est oui et l’outil est la transformation de Fourier (TF).
Un signal périodique de période T0 peut être transformé en un signal non périodique en faisant
tendre la période T0 vers l’infini. Nous avons vu que le spectre d’un signal périodique est une
fonction discrète et l’écart entre les raies c.à.d. les composantes spectrales (harmoniques)
est f0 = 1/T0.
Lorsqu’on génère un signal non périodique à partir d’un signal périodique de période T0 en
faisant T0 → ∞, les raies se rapprochent si bien que la variable discrète kf0 → f et devient une
variable continue. Malheureusement les coefficients complexes de Fourier définis par
&0
2
<
1
= ( ) e−j2πkf0t dt avec k = 0, ±1, ±2, ±3, … (1.19)
&
0
− 0
2
reste limité et sa limite lorsque T0 → ∞, est appelé transformation de Fourier du signal non
périodique obtenu et est donnée par:
C
(1.21) montre que le spectre d’un signal non périodique est une fonction continue.
Le signal x(t) peut être déterminé à partir du spectre X(f) à l’aide de la transformation inverse
de Fourier donnée par:
C
-u vwa x V' -u -u
Spectre du signal périodique: < = ⋅ = )* 2y 1.23
&' x V' -u &'
0.5
0
-40 -30 -20 -10 0 10 20 30 40
i*w0 rad/s
1
|X(k)|
0.5
0
-40 -30 -20 -10 0 10 20 30 40
i*w0 rad/s
1
|X(k)|
0.5
0
-40 -30 -20 -10 0 10 20 30 40
i*w0 rad/s
0.5
0
-40 -30 -20 -10 0 10 20 30 40
w rad/s
Comme pour les signaux périodiques la DFT (ou la FFT) sera utilisée comme méthode
numérique pour déterminer la transformation de Fourier des signaux non périodiques.
L’intégrale de définition de la transformation de Fourier
C
On a supposé ici que le signal non périodique x(t) est défini seulement pour > 0 et on
dispose de N échantillons de x(t) échantillonné avec la période d’échantillonnage Te. Ce qui
suppose que x(t) → 0 pour T0 → ∞ et seulement un intervalle de temps limité est analysé. Cet
intervalle de temps est donc discrétisé avec la fréquence d’échantillonnage fe = 1/Te.
Etant donné que le spectre estimé selon (1.26) est périodique avec une période fe puisque x(t)
a été échantillonné avec fe (voir spectre d’un signal échantillonné en numérisation du signal),
l’analyse du domaine fréquentiel sera limitée de 0 à fe. Pour éviter le phénomène de
recouvrement spectral (aliasing) le spectre est analysé de 0 à la fréquence de Nyquist
fN = fe/2.
Afin de pouvoir calculer numériquement le spectre selon (1.26), il est nécessaire de discrétiser
la fréquence f dans l’intervalle 0 à fe avec la période d’échantillonnage ou incrément
V
fréquentiel Δ = } . N étant le nombre de fréquences à analyser. Ainsi les valeurs des N
^
fréquences à analyser sont:
U
= Δ = = 0, 1, 2, … , f − 1 1.27
f
(1.27) montre que pour un nombre N donné d’échantillons, il n’est pas possible d’avoir
simultanément une très bonne résolution temporelle (Te petite) et une très bonne résolution
fréquentielle (∆f petite).
Ainsi avec la discrétisation de la fréquence selon (1.27), l’estimation du spectre selon (1.26)
devient discret et est donnée par:
^;
Ab
<z = <z 0 2 = <z
U
∆ = + e;>-?@ g a`b = 0, 1, 2, … , f − 1
f U U
_
Et avec + U = + , on a:
^;
@
<z = <z 0 2 = <z
U
∆ = + e;>-?ga = 0, 1, 2, … , f − 1 1.27
f U
_
Si le nombre d’échantillons N est une puissance de 2, la DFT devient la FFT et se calcule plus
rapidement.
On obtient ainsi approximativement le spectre < à partir de la DFT (ou de la FFT) <k
selon:
A partir de la DFT (ou de la FFT) on peut retrouver le signal temporel (ou la séquence) x(n) à
travers la DFT inverse définie par :
^;
1 a
+ = <k e>-?@g avec n = 0, 1, 2, … , N − 1 1.30
f
Comment choisir N et Te pour obtenir une très bonne approximation du spectre exact X(f) à
travers la méthode numérique c'est-à-dire la DFT (ou la FFT) ?
Si le spectre exact X(f) est limité à fmax, alors d’après le théorème d’échantillonnage
fe ≥ 2fmax c.à.d. que la période d’échantillonnage Te doit satisfaire la condition suivante:
1
≤ 1.31
U
2 T€:
V}
La résolution fréquentielle souhaitée définie par Δ = =
^ ^&}
permet avec (1.31) d’obtenir
la condition concernant le nombre N d’échantillons:
U
f≥ 1.32
∆
-6
x 10 Module de la FFT de limpulsion rectangulaire (N = 64)
1.5
Module en 1/Hz
0.5
0
0 1 2 3 4 5 6 7 8 9 10
Frequence en Hz 6
x 10
-6 Modules de la Transformation de Fourier et de la FFT (avec Shift)
x 10
1.5
Module en 1/Hz
0.5
0
-5 -4 -3 -2 -1 0 1 2 3 4 5
Frequence en Hz 6
x 10
La représentation idéale du spectre d’amplitude (symétrie par rapport à l’axe des ordonnées) a
été obtenue à l’aide de la fonction MATLAB fftshift.