Sie sind auf Seite 1von 79

GELE2511 Chapitre 7 :

Transformée de Fourier discrète

Gabriel Cormier, Ph.D., ing.

Université de Moncton

Hiver 2013

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 1 / 79


Introduction

Contenu

Contenu
Série de Fourier discrète
Transformée de Fourier discrète
Applications
Transformée de Fourier rapide

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 2 / 79


Introduction

Introduction

La transformée de Fourier discrète est une méthode qui permet de


décrire un signal discret en fonction de la fréquence.
On verra ici comment se servir de la transformée de Fourier discrète
(DFT) pour analyser le contenu fréquentiel d’un signal.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 3 / 79


Introduction

Introduction

Il existe plusieurs termes pour définir la transformée de Fourier de signaux


continus et discrets.
Transformée de Fourier : s’applique aux signaux continus
apériodiques. Produit un spectre apériodique.
Série de Fourier : s’applique aux signaux continus périodiques.
Produit un spectre discret.
Transformée de Fourier à temps discret (DTFT) : s’applique aux
signaux discrets apériodiques. Produit un spectre continu périodique.
Transformée de Fourier discrète (DFT) : s’applique aux signaux
discrets périodiques. Produit un spectre discret.
Série de Fourier discrète (DFS) : sert d’approximation aux
coefficients de la série de Fourier.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 4 / 79


Introduction

Introduction

La seule transformée qui s’applique aux problèmes de traitement de


signaux est la transformée de Fourier discrète (DFT).
Les transformées qui s’appliquent aux signaux continus ne peuvent
pas être utilisées pour des signaux discrets.
Quant à la DTFT, elle s’applique aux signaux de durée infinie : on ne
peut pas s’en servir pour des signaux réels (qui auront une durée
finie).
Même si les signaux discrets ne sont pas nécessairement périodiques,
la DFT est la seule transformée applicable.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 5 / 79


Série de Fourier discrète

Série de Fourier discrète

La série de Fourier discrète est très semblable à la série de Fourier.


Pour le cas discret, le nombre de sinusoı̈des qui constituent un signal
est fini.
On peut utiliser 3 formes, comme la série de Fourier : forme réelle,
forme complexe, forme polaire.
Tout comme le cas à temps continu, on utilise une minuscule pour
représenter un signal en fonction du temps (x[n]) et une majuscule
pour représenter un signal en fonction de la fréquence (X[n]).

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 6 / 79


Série de Fourier discrète

Série de Fourier discrète

La série de Fourier discrète est obtenue à partir de la série de Fourier


continue :
X∞
f (t) = Cn ejnω0 t
n=−∞

où les coefficients de la série de Fourier sont :


1 T
Z
Cn = f (t)e−jnω0 t dt
T 0

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 7 / 79


Série de Fourier discrète

Série de Fourier discrète

On peut transformer les coefficients de la série de Fourier continue


aux coefficients de la série de Fourier discrète en faisant les
substitutions suivantes :
f (t) → x[n] (le signal est échantillonné)
ω0 → 2πf
t → nts
dt → ts
On obtient :
N −1
1 X
XDF S [k] = x[n]e−j2πkn/N
N
n=0

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 8 / 79


Série de Fourier discrète

Exemple

Soit un signal continu x(t) = 4 cos(100πt), échantillonné à 2 fois le taux


de Nyquist, pour 3 périodes. Puisque f = 50Hz, fN = 100Hz, et donc
fs = 200Hz.

4
2
0
−2
−4
0 2 4 6 8 10 12
n

Le signal échantillonné est x[n] = {4, 0, −4, 0, 4, 0, −4, 0, 4, 0, −4, 0}.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 9 / 79


Série de Fourier discrète

Exemple (2)

On applique l’équation de la DFS pour calculer le spectre.

0
0 2 4 6 8 10 12
k

Cependant, on a 2 pics dans le spectre, alors qu’il n’y a qu’un seul cosinus.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 10 / 79


Série de Fourier discrète

Exemple (3)

On a un pic à k = 3 et k = 9.
À cause de 3 périodes
f 50 1 1 3 3 k
F = = = = · = =
fs 200 4 4 3 12 N

Est-ce que ça implique qu’on a 2 cosinus dans le signal ?


Il faut considérer la composante négative :

2 cos(−2π50t) + 2 cos(2π50t) = 4 cos(2π50t)

La DFS a la propriété d’être symétrique conjugué :

X[k] = X ∗ [N − k]

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 11 / 79


Série de Fourier discrète

Exemple (4)

On réarrange l’abscisse pour identifier les composantes négatives.

0
−6 −4 −2 0 2 4 6
k

Les pics sont à k = −3 et k = 3, qui sont donc à la même fréquence.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 12 / 79


Série de Fourier discrète

Exemple (5)

Les points de N/2 + 1 à N − 1 sont le conjugué des points de N/2 à


0.
Si on veut un graphe où il y a seulement des fréquences positives, il
faudra multiplier les amplitudes des coefficients 1 à N/2 (le DC est à
la bonne amplitude).

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 13 / 79


Série de Fourier discrète

Exemple (6)

Comment interpréter l’abscisse ?


L’abscisse fait seulement du sens en fonction du taux
d’échantillonnage.
Les points de k = 0 à N − 1 peuvent être remplacés par F = k/N ;
l’abscisse variera de 0 à 1.
Les points k = 0 à N − 1 peuvent être remplacés par f = (k/N )fs ;
l’abscisse variera de 0 à fs .
On peut aussi représenter les fréquences de façon radiale : on
multiplie par 2π.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 14 / 79


Série de Fourier discrète

Exemple (7)

On peut retracer le spectre en fonction de F ou fs .

2 2

1 1

0 0
0 0.2 0.4 0 20 40 60 80 100
F f (Hz)

Le pic est bien à la bonne fréquence : 50Hz.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 15 / 79


Fuite spectrale

Problèmes de la DFS

On verra qu’on peut avoir des erreurs dans le spectre si


l’échantillonnage n’est pas fait correctement.
On verra qu’il y a des erreurs si on n’échantillonne pas pour un
nombre entier de points par période.
On reprend l’exemple précédent, mais cette fois on échantillonne à
240Hz au lieu de 200Hz.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 16 / 79


Fuite spectrale

Problèmes de la DFS

On échantillonne à 240Hz : on a 240/50 = 4.8 échantillons par période.

−2

−4
0 2 4 6 8 10 12 14
n

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 17 / 79


Fuite spectrale

Problèmes de la DFS

On calcule la DFS de ce signal.

0
0 10 20 30 40 50 60 70 80 90 100 110 120
f (Hz)

Il y a erreur dans la fréquence : c’est 51.5 Hz environ, une erreur de 3%.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 18 / 79


Fuite spectrale

Problèmes de la DFS

On peut aussi comprendre ce phénomène si on considère que de 0 à


120 Hz, il y a 8 points (incluant le DC). L’intervalle de 0 à 120 Hz est
divisé en 7 : 17.14 Hz par pas.
Le point le plus près de 50 Hz est 3×17.14, ou 51.4 Hz.
Dans ce cas-ci, on n’a pas assez de points pour représenter
correctement le 50 Hz.
L’intervalle entre les points est appelé l’espacement spectral, et
correspond à S/N .

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 19 / 79


Fuite spectrale

Fuite spectrale

Si on n’échantillonne pas un signal pour un nombre entier de points


par période, il y aura une erreur dans les coefficients de la série de
Fourier.
On appelle ce phénomène la fuite spectrale.
La série de Fourier discrète calculée donnera des fréquences autres
que celles dans le signal (mais quand même près de la vraie valeur).

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 20 / 79


Fuite spectrale

Effets de la fuite spectrale

La fuite spectrale est présente si on n’échantillonne pas pour un


nombre entier de points par période.
La transformée de Fourier aura des composantes non nulles à des
fréquences autres que celles du signal.
Il peut aussi avoir du repliement si le signal continu contient des
harmoniques de fréquence plus élevée que le taux d’échantillonnage.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 21 / 79


Fuite spectrale

Minimiser la fuite spectrale

On peut minimiser les effets de la fuite spectrale si on échantillonne à


un taux plus élevé que le taux de Nyquist.
De façon pratique, pour avoir une erreur plus petite que 5% dans les
M premières harmoniques, il faut échantillonner à fs = 8fM , où fM
est la fréquence de la M ieme harmonique.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 22 / 79


Fuite spectrale

Minimiser la fuite spectrale

On devrait idéalement échantillonner pour un nombre entier de points


par période.
Pratiquement, ceci est rarement possible, puisqu’on ne connaı̂t pas à
priori les fréquences d’un signal.
On doit donc échantillonner le plus longtemps possible, pour réduire
l’espacement spectral.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 23 / 79


Fuite spectrale

Exemple

Soit une onde carrée de 50 Hz échantillonnée à 1 kHz : 20 échantillons par


période.

−1
0 2 4 6 8 10 12 14 16 18 20
Temps (ms)

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 24 / 79


Fuite spectrale

Exemple (2)

Le spectre :

0.6

0.4

0.2

0
0 100 200 300 400 500
Fréquence (Hz)

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 25 / 79


Fuite spectrale

Exemple (3)

On compare les coefficients de la série de Fourier à ceux de la DFS :

|C(k)| |X[k]| Erreur


DC 0 0 0
Fondamentale 0.6366 0.6346 0.3%
2e harmonique 0 0 0
3e harmonique 0.212 0.206 2.9%
4e harmonique 0 0 0
5e harmonique 0.1273 0.1169 8.2%

La fondamentale et la 3e harmonique ont moins de 5% d’erreur :


S < 8(3f0 )

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 26 / 79


Transformée de Fourier discrète

Transformée de Fourier discrète

On peut obtenir la transformée de Fourier discrète à partir de la série de


Fourier discrète.
Transformée de Fourier discrète
N
X −1
XDF T [k] = x[n]e−j2πkn/N = N XDF S
n=0

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 27 / 79


Transformée de Fourier discrète

Transformée de Fourier discrète inverse

La transformée inverse (IDFT) est :

Transformée de Fourier discrète inverse


N −1
1 X
x[n] = XDF T [k]ej2πkn/N
N
k=0

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 28 / 79


Transformée de Fourier discrète

Exemple

Calculer la DFT du signal suivant : x[n] = {1, 2, 1, 0}

Dans ce cas-ci, on a N = 4, et donc selon la définition de la DFT,


e−j2πkn/N = e−jπkn/2 . On calcule les valeurs :
3
X
k = 0 : XDF T [0] = x[n]e0 = 1 + 2 + 1 + 0 = 4
n=0
3
X
k = 1 : XDF T [1] = x[n]e−jπn/2 = 1 + 2e−jπ/2 + e−jπ + 0 = −j2
n=0
3
X
k = 2 : XDF T [2] = x[n]e−jπn = 1 + 2e−jπ + e−j2π + 0 = 0
n=0
3
X
k = 3 : XDF T [3] = x[n]e−j3πn/2 = 1 + 2e−j3π/2 + e−j3π + 0 = j2
n=0

XDF T = {4, −j2, 0, j2}

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 29 / 79


Transformée de Fourier discrète

Quelques propriétés

Quelques transformées utiles :

{1, 0, 0, 0, . . . , 0} impulsion ⇐⇒ {1, 1, 1, 1, . . . , 1} constante


{1, 1, 1, 1, . . . , 1} constante ⇐⇒ {N, 0, 0, 0, . . . , 0} impulsion
cos(2πnk0 /N ) sinusoı̈de ⇐⇒ 0.5N (δ[k − k0 ] + δ[k − (N − k0 )])

Remarquer qu’un signal qui est court dans le temps est long en fréquence,
et vice-versa.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 30 / 79


Applications

Applications

On verra quelques applications de la transformée de Fourier discrète :


Analyse spectrale d’un signal
Réponse en fréquence d’un système
Convolution

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 31 / 79


Applications Analyse spectrale

Analyse spectrale

Il existe plusieurs signaux dont l’information est codée dans des sinusoı̈des.
La voix est un bon exemple : les humains peuvent distinguer des sons
de 20Hz à 20kHz environ.
La musique n’est qu’une suite de notes de fréquence fixe (ex : A4 est
440Hz).
Les pales d’un sous-marin tournent à une fréquence qui peut être
détectée.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 32 / 79


Applications Analyse spectrale

Exemple 1

Supposons qu’on veut caractériser les sons enregistrés dans l’océan.


On place un microphone dans l’eau pour enregistrer les sons, puis on
amplifie le signal.
On utilise un filtre passe-bas pour couper les sons au-dessus de 80Hz.
On échantillonne à 160Hz.
On procède ensuite à l’analyse du spectre.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 33 / 79


Applications Analyse spectrale

Exemple 1

On observe le signal en fonction du temps pour voir si on peut déduire de


l’information.
0.3

0.2

0.1

−0.1

−0.2
0 0.5 1 1.5
temps (s)

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 34 / 79


Applications Analyse spectrale

Exemple 1

On observe maintenant le spectre.


0.8

0.6

0.4

0.2

0
0 10 20 30 40 50 60 70 80
Fréquence (Hz)

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 35 / 79


Applications Analyse spectrale

Exemple 1

On analyse le contenu spectral :


Si on ignore les pics, on voit qu’entre 10Hz et 70Hz le spectre est
constant ; c’est le bruit blanc gaussien.
Le bruit blanc gaussien est appelé ainsi parce qu’il est constant sur
toutes les fréquences.
Le bruit blanc est causé par plusieurs choses : ici, ça peut être le
microphone, ou même l’océan.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 36 / 79


Applications Analyse spectrale

Exemple 1

Analyse du contenu spectral (suite) :


Pour les fréquences très faibles, on remarque que le bruit augmente
très rapidement, avec une forme qui ressemble à 1/f : c’est le bruit
rose (flicker noise).
Ce type de bruit apparaı̂t dans pratiquement tous les systèmes
physiques, que ce soit électrique, mécanique, etc. Aucune théorie ne
permet d’expliquer tous les cas où se trouve ce type de bruit.
Pour les systèmes électriques courants, c’est généralement en-dessous
de 100Hz qu’on retrouve ce type de bruit.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 37 / 79


Applications Analyse spectrale

Exemple 1

Analyse du contenu spectral (suite) : les pics


À 60Hz, il y a généralement pollution causée par l’équipement
électronique. On peut observer des harmoniques à 120Hz, 180Hz, etc.
Il y a souvent des pics entre 25kHz et 40kHz qui sont causés par
certains types d’alimentations à découpage.
Les appareils mécaniques rotatifs causent aussi des fréquences faibles :
un moteur qui tourne à 1800rpm cause des vibrations à 30Hz.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 38 / 79


Applications Analyse spectrale

Exemple 1

Analyse du contenu spectral (suite) : les pics


Il y a un pic important à 13Hz, et un pic plus faible à 26Hz, qui est
probablement une harmonique de celui de 13Hz.
Ce signal pourrait être causé par les pâles triples d’un sous-marin qui
tournent à 4.33 tours/seconde.
Cette technique est la base du sonar passif.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 39 / 79


Obtention du spectre

Obtention du spectre

Pour obtenir le spectre d’un signal à l’aide de la DFT, il suffit


d’appliquer l’équation de la DFT aux échantillons.
Cependant, il faut bien savoir interpréter les résultats.
On prend donc un exemple simple pour démontrer comment
interpréter correctement la DFT.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 40 / 79


Obtention du spectre Exemple

Obtention du spectre

Le signal :

x(t) = 0.5 cos(2π44t) + 0.4 sin(2π232t) + 0.5 cos(2π415t)

On va ajouter du bruit blanc gaussien à ce signal en utilisant la commande


awgn dans Matlab.

Le signal sera échantillonné à 3kHz, et on utilisera 256 échantillons.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 41 / 79


Obtention du spectre Exemple

Obtention du spectre
Le signal est le suivant :
1.5

0.5

−0.5

−1

−1.5
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09

Code Matlab :
N = 256;
S = 3000;
t = 0 : 1/S : (N-1)/S;
x = 0.5*cos(2*pi*t*44)+0.4*sin(2*pi*t*322)+0.5*cos(2*pi*t*415);
x = awgn(x,15);
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 42 / 79
Obtention du spectre Exemple

Obtention du spectre
À l’aide de la DFT, on obtient le spectre suivant :
60

50

40

30

20

10

0
0 20 40 60 80 100 120 140
k

Code Matlab :
X = fft(x);
k = 1:N;
plot(k,abs(X));
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 43 / 79
Obtention du spectre Exemple

Obtention du spectre

Quelques remarques sur la figure précédente :


L’abscisse est en fonction de k, et pas en fonction de la fréquence.
Il faut transformer l’abscisse de sorte qu’elle soit en fonction de la
fréquence d’échantillonnage, si on veut que le graphe fasse du sens du
côté pratique.
Les points de 0 à 128 doivent en fait varier de 0 à 1500Hz (0 à fs /2).

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 44 / 79


Obtention du spectre Exemple

Obtention du spectre

En fonction de la fréquence :

60

50

40

30

20

10

0
0 500 1000 1500
f (Hz)

Code Matlab :
f = 0: S/N : 0.5*S;
stem(f,abs(X(0:129))); xlabel(’f (Hz)’);

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 45 / 79


Obtention du spectre Exemple

Obtention du spectre

Il y a peu d’information utile après 500Hz, donc on fait un zoom sur cette
partie du spectre à l’aide de la commande xlim.

60

40

20

0
0 50 100 150 200 250 300 350 400 450 500
f (Hz)

Cependant, la résolution spectrale (S/N ) est de 11.72Hz, ce qui ne permet


pas de bien déterminer les fréquences. Il faudrait utiliser plus de points.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 46 / 79


Obtention du spectre Exemple

Obtention du spectre

Avec 1024 points, la résolution est bien meilleure.

300

200

100

0
0 50 100 150 200 250 300 350 400 450 500
f (Hz)

Cependant, plus on a de points, plus le temps de calcul est élevé.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 47 / 79


Obtention du spectre Fenêtre de Hamming

Fenêtre de Hamming

Un façon d’améliorer les pics sans utiliser plus de points est de


multiplier le signal en fonction du temps par une composante appelée
une fenêtre de Hamming.
La fenêtre de Hamming va atténuer les bouts du signal. En termes de
spectre, la fenêtre de Hamming va rendre les pics plus grands par
rapport au bruit, mais ça va aussi les élargir.
Il existe plusieurs autres fenêtres.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 48 / 79


Obtention du spectre Fenêtre de Hamming

Fenêtre de Hamming

Effet de la fenêtre de Hamming :


Fenêtre de Hamming Signal multiplié par la fenêtre
1 2

0.8
1
0.6
0
0.4
−1
0.2

0 −2
0 50 100 150 200 250 0 0.02 0.04 0.06 0.08
n t

Code Matlab :
x = x.*hamming(N)’;

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 49 / 79


Obtention du spectre Fenêtre de Hamming

Fenêtre de Hamming

On peut voir l’effet de la fenêtre de Hamming sur le spectre.


Sans fenêtre de Hamming Avec la fenêtre de Hamming
80 40

60 30

40 20

20 10

0 0
0 100 200 300 400 500 0 100 200 300 400 500
f (Hz) f (Hz)

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 50 / 79


Réponse en fréquence

Réponse en fréquence

Une autre application de la DFT est la réponse en fréquence d’un


système, qui permet de voir le comportement en termes de fréquence.
La réponse en fréquence d’un système est la transformée de Fourier
de la réponse impulsionnelle.
Dans certains cas, la réponse en fréquence donne beaucoup plus
d’information sur la fonction d’un système que sa réponse
impulsionnelle.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 51 / 79


Réponse en fréquence

Réponse en fréquence

Exemple : réponse impulsionnelle d’un système quelconque. Il est difficile


de déterminer la fonction du système.

0.4

0.2

−0.2

−0.4
0 10 20 30 40 50 60
n

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 52 / 79


Réponse en fréquence

Réponse en fréquence

En faisant la DFT de ce signal, la fonction est plus claire : c’est un filtre


passe-bande.

1.5

0.5

0
0 0.1 0.2 0.3 0.4 0.5
F

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 53 / 79


Réponse en fréquence

Réponse en fréquence

Pour obtenir plus de résolution, on va effectuer la DFT avec plus de


points. On ajoute des zéros à la fin du signal.
signal additioné de zéros DFT
0.4 1.5

0.2
1
0
0.5
−0.2

−0.4 0
0 100 200 300 400 500 0 0.1 0.2 0.3 0.4 0.5
n F

On n’a pas augmenté la précision du spectre, seulement sa résolution.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 54 / 79


Convolution

Convolution par la DFT

Une autre application de la DFT est pour faire la convolution de deux


signaux.
Dans le domaine du temps, on utilise la convolution pour calculer la
sortie d’un système.
Dans le domaine de fréquence, on fait la multiplication.

x[n]h[n] ⇐⇒ X[k]H[k]

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 55 / 79


Convolution

Convolution par la DFT

Bien qu’il y ait des étapes supplémentaires, c’est plus rapide de passer
par la DFT pour faire la convolution.
Étapes : DFT de x[n], DFT de h[n], multiplication, transformée
inverse.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 56 / 79


Convolution

Convolution par la DFT

Certains problèmes :
La longueur de la convolution n’est pas la même que la DFT.
Pour un signal x[n] de longueur N et h[n] de longueur M , la
longueur de la convolution est N + M − 1.
La longueur de la DFT est N (si N > M ).
Il manque des points.
Il faut donc ajouter des zéros aux signaux pour qu’ils soient de
longueur N + M − 1, avant de faire la DFT.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 57 / 79


Convolution

Exemple
Soit x[n] = {1, −3, 1, 5} et h[n] = {4, 3, 2, 1}. Effectuer la convolution par
la DFT.

La convolution serait de longueur 4 + 4 − 1 = 7. Il faut ajouter 3 zéros à


chaque séquence.
X[k] = {4.0, −5.60 − j0.80, 3.88 + j7.27, 3.21 − j2.79, 3.21 + j2.79,
3.88 − j7.27, −5.60 + j0.80}
H[k] = {10, 4.52 − j4.73, 2.15 − j1.28, 2.32 − j0.72, 2.32 + j0.72,
2.15 + j1.28, 4.52 + j4.73}
On multiplie point par point :
Y [k] = {40, −29.11 + j22.86, 17.63 + j10.72, 5.47 − j8.77, 5.47 + j8.77,
17.63 − j10.70, −29.11 − j22.86}
Puis la transformée inverse :
y[n] = {4, −9, −3, 18, 14, 11, 5}

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 58 / 79


Convolution

Déconvolution

Si on connaı̂t la sortie d’un système et la réponse impulsionnelle, on peut


calculer l’entrée à l’aide de la déconvolution.
Déconvolution est beaucoup plus complexe que la convolution.
Beaucoup plus facile dans le domaine de fréquence.
Division simple dans le domaine de fréquence.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 59 / 79


Propriétés

Propriétés de la DFT

Si XDF T est la DFT d’un signal discret x[n], alors :

kx[n] ⇐⇒ kXDF T [k] linéarité


x1 [n] + x2 [n] ⇐⇒ X1 [k] + X2 [k] additivité

x[−n] ⇐⇒ XDF T [−k] = XDF T [k] repliement
−j2πsk/N
x[n − s] ⇐⇒ e XDF T [k] déphasage
1
x[n]y[n] ⇐⇒ XDF T [k] ~ YDF T [k] multiplication
N
x[n] ~ y[n] ⇐⇒ XDF T [k]YDF T [k] convolution périodique

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 60 / 79


Propriétés

Propriétés de la DFT

Si XDF T [k] est la DFT d’une séquence x[n], alors :


1 Si un signal est répété M fois, la DFT de ce signal est l’interpolation
zéro de XDF T et multipliée par M .

{x[n], x[n], x[n], . . . , x[n]} ⇐⇒ M XDF T [k/M ]


| {z }
M fois

2 Si un signal subit une interpolation zéro de M , alors la DFT est


répétée M fois :

x[n/M ] ⇐⇒ {XDF T [k], XDF T [k], XDF T [k], . . . , XDF T [k]}


| {z }
M fois

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 61 / 79


Propriétés

Théorème de Parseval

Puisque le temps et la fréquence sont deux domaines équivalents pour


représenter un signal, ils doivent avoir la même énergie.
C’est le théorème de Parseval :
N −1 N/2
X 1 X
x2 [n] = |X[k]|2
N
i=0 k=−N/2

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 62 / 79


Propriétés

Formulation matricielle

On peut exprimer la DFT sous forme matricielle. Soit WN = e−j2π/N ,


N
X −1
XDF T [k] = x[n]WNnk , k = 0, 1, . . . , N − 1
n=0

ce qui donne :
X = WN x
où 0
 0 0 0

WN WN WN ··· WN
0 1 2 N −1
 WN
 WN WN ··· WN 

W 0 2 4 2(N −1)
WN = N WN WN ··· WN 

 . .. .. ..
..

 .
.

 . . . . 
0 N −1 2(N −1) (N −1)(N −1)
WN WN WN ··· WN

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 63 / 79


Détection de signaux

Détection de signaux

On peut utiliser la DFT pour détecter la fréquence de signaux.


On utilise les effets du repliement.
L’emplacement des composantes spectrales peut changer à cause du
repliement.
Si on peut échantillonner à des taux différents, on peut trouver les
composantes spectrales d’un signal.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 64 / 79


Détection de signaux

Détection de signaux
Pour S = 100, 200 et 500Hz, les pics changent de fréquence. Mais à
S = 1kHz, les pics sont au même endroit que S = 500Hz.
S = 100Hz S = 200Hz
0.4 0.4

0.3 0.3

0.2 0.2

0.1 0.1

0 0
0 10 20 30 40 50 0 50 100
f (Hz) f (Hz)
S = 500Hz S = 1000Hz
0.4 0.4

0.3 0.3

0.2 0.2

0.1 0.1

0 0
0 50 100 150 200 250 0 100 200 300 400 500
f (Hz) f (Hz)

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 65 / 79


DTFT

DTFT

La DTFT (Transformée de Fourier à temps discret) est une méthode


pour décrire un signal discret comme une somme d’exponentiels
complexes.
La DTFT produit un spectre continu.
La DFT est la version échantillonnée de la DTFT.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 66 / 79


DTFT

DFT

Par définition, la DTFT est :



X
X(F ) = x[m]e−j2πmF
m=−∞

où F est une variable continue.


La DTFT est périodique, avec une période de 1. L’intervalle
−0.5 < F < 0.5 est la période principale.
La DTFT inverse est :
Z 0.5
x[n] = X(F )ej2πnF dF
−0.5

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 67 / 79


DTFT

Exemple
Calculer la DTFT de la séquence x[n] = {1, 0, 3, −2}.

À partir de la définition,

X
X(F ) = x[m]e−j2πmF = 1 + 3e−j4πF − 2e−j6πF
m=−∞

L’amplitude du spectre est montré à la figure suivante.


8

6
Amplitude

0
−0.5 0 0.5 1
F

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 68 / 79


FFT

FFT

Il existe plusieurs méthodes pour calculer la DFT, mais la plus rapide


est la FFT.
Cet algorithme est très efficace, jusqu’à des centaines de fois plus
rapide que les méthodes conventionnelles.
Sans la FFT, plusieurs techniques de traitement de signal ne seraient
pas pratique.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 69 / 79


FFT

FFT

J.W. Cooley et J.W. Tukey sont les 2 ingénieurs crédités pour


l’invention de la FFT, dans un article paru en 1965.
Bien que la technique elle-même n’étaient pas récente, les auteurs
étaient les premiers à réaliser que les méthodes mathématiques de
Gauss pouvaient être utilisées avec des ordinateurs.
La FFT est comme le transistor du traitement de signal.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 70 / 79


FFT

Problèmes de la DFT

L’algorithme de la DFT a quelques problèmes :


Inefficace
N’utilise pas les propriétés de la DFT (symétrie conjuguée, etc.)
On optimise la DFT en exploitant certaines propriétés.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 71 / 79


FFT

Optimiser la DFT

On peut exploiter la symétrie et périodicité de WN .

WNn+N = e−j2π(n+N )/N = e−j2πn/N e−j2πN/N = e−j2πn/N = WNn


n+N/2
WN = e−j2π(n+N/2)/N = e−j2πn/N e−jπ = −e−j2π/N = −WNn
WNN k = e−j2πN k/N = e−j2πk = 1, où k est un entier
WN2 = e−j2π2/N = e−j2π/(N/2) = e−j2π/N = WN/2

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 72 / 79


FFT

Optimiser la DFT

Choisir une valeur de N qui est le produit de plusieurs petits chiffres.


On veut que N = r1 r2 · · · rm . Il est utile de choisir la même valeur de
r, de sorte que N = rm . Le plus commun est r = 2.
Décimation des indices
On accélère le calcul si on sépare le signal en composantes paires et
impaires.
Utilisation efficace de la mémoire
Ce aspect touche plutôt le côté pratique : on enregistre les résultats des
calculs dans les mêmes adresses qui contenaient les données.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 73 / 79


FFT

Optimiser la DFT

Quelques résultats simples mais fondamentaux peuvent simplifier les


calculs :
La DFT d’un seul échantillon est l’échantillon lui-même :

XDF T [0] = x[0]W10 = x[0]

La DFT de deux échantillons est une opération simple :

X2 [0] = x[0]W20 + x[1]W20 = x[0] + x[1]


X2 [1] = x[0]W20 + x[1]W21 = x[0] − x[1]

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 74 / 79


FFT

FFT

Le calcul de la DFT est une opération d’ordre N 2 . Selon l’équation de


la DFT,
N
X −1
X[k] = x[n]WNnk
n=0

on remarque qu’il faut :


N 2 multiplications complexes
N (N − 1) additions complexes
Il y a beaucoup d’opérations à effectuer.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 75 / 79


FFT

FFT

À l’aide des propriétés vues auparavant, on peut grandement accélérer


le calcul de la DFT.
On passe d’un calcul ayant N 2 multiplications à un calcul ayant
log2 (N ) multiplications.
Pour des signaux à plusieurs échantillons, la FFT est beaucoup plus
rapide.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 76 / 79


FFT

FFT

L’implantation pratique de la FFT nécessite un nombre de points qui


est une puissance de 2.
Si le nombre de points n’est pas une puissance de 2, on doit ajouter
des zéros à la fin de la séquence.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 77 / 79


FFT

IFFT

Pour calculer la transformée inverse, on utilise la formulation


matricielle :
−1 1 ∗ T
X = WM x ⇒ x = WM X= [WM ] X
M
C’est pratiquement le même calcul que la FFT, sauf qu’on utilise le
conjugué de WM transposé.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 78 / 79


Conclusion

Conclusion

Les points clés de ce chapitre sont :


Calculer la DFT (FFT) d’un signal.
Savoir appliquer l’axe de fréquence à la DFT.
Utiliser la fenêtre de Hamming.
Utiliser la DFT pour faire la convolution, la détection de signaux et la
réponse en fréquence.

Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 79 / 79

Das könnte Ihnen auch gefallen