gele2511 chapitre 7 : transformée de fourier discrète€¦ · gele2511 chapitre 7 : transform ee...
TRANSCRIPT
GELE2511 Chapitre 7 :Transformee de Fourier discrete
Gabriel Cormier, Ph.D., ing.
Universite de Moncton
Hiver 2013
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 1 / 79
Introduction
Contenu
Contenu
Serie de Fourier discrete
Transformee de Fourier discrete
Applications
Transformee de Fourier rapide
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 2 / 79
Introduction
Introduction
La transformee de Fourier discrete est une methode qui permet dedecrire un signal discret en fonction de la frequence.
On verra ici comment se servir de la transformee de Fourier discrete(DFT) pour analyser le contenu frequentiel d’un signal.
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 3 / 79
Introduction
Introduction
Il existe plusieurs termes pour definir la transformee de Fourier de signauxcontinus et discrets.
Transformee de Fourier : s’applique aux signaux continusaperiodiques. Produit un spectre aperiodique.
Serie de Fourier : s’applique aux signaux continus periodiques.Produit un spectre discret.
Transformee de Fourier a temps discret (DTFT) : s’applique auxsignaux discrets aperiodiques. Produit un spectre continu periodique.
Transformee de Fourier discrete (DFT) : s’applique aux signauxdiscrets periodiques. Produit un spectre discret.
Serie de Fourier discrete (DFS) : sert d’approximation auxcoefficients de la serie de Fourier.
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 4 / 79
Introduction
Introduction
La seule transformee qui s’applique aux problemes de traitement designaux est la transformee de Fourier discrete (DFT).
Les transformees qui s’appliquent aux signaux continus ne peuventpas etre utilisees pour des signaux discrets.
Quant a la DTFT, elle s’applique aux signaux de duree infinie : on nepeut pas s’en servir pour des signaux reels (qui auront une dureefinie).
Meme si les signaux discrets ne sont pas necessairement periodiques,la DFT est la seule transformee applicable.
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 5 / 79
Serie de Fourier discrete
Serie de Fourier discrete
La serie de Fourier discrete est tres semblable a la serie de Fourier.
Pour le cas discret, le nombre de sinusoıdes qui constituent un signalest fini.
On peut utiliser 3 formes, comme la serie de Fourier : forme reelle,forme complexe, forme polaire.
Tout comme le cas a temps continu, on utilise une minuscule pourrepresenter un signal en fonction du temps (x[n]) et une majusculepour representer un signal en fonction de la frequence (X[n]).
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 6 / 79
Serie de Fourier discrete
Serie de Fourier discrete
La serie de Fourier discrete est obtenue a partir de la serie de Fouriercontinue :
f(t) =
∞∑n=−∞
Cnejnω0t
ou les coefficients de la serie de Fourier sont :
Cn =1
T
∫ T
0f(t)e−jnω0t dt
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 7 / 79
Serie de Fourier discrete
Serie de Fourier discrete
On peut transformer les coefficients de la serie de Fourier continueaux coefficients de la serie de Fourier discrete en faisant lessubstitutions suivantes :
f(t)→ x[n] (le signal est echantillonne)ω0 → 2πft→ ntsdt→ ts
On obtient :
XDFS [k] =1
N
N−1∑n=0
x[n]e−j2πkn/N
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 8 / 79
Serie de Fourier discrete
Exemple
Soit un signal continu x(t) = 4 cos(100πt), echantillonne a 2 fois le tauxde Nyquist, pour 3 periodes. Puisque f = 50Hz, fN = 100Hz, et doncfs = 200Hz.
0 2 4 6 8 10 12
−4
−2
0
2
4
n
Le signal echantillonne 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
Serie de Fourier discrete
Exemple (2)
On applique l’equation de la DFS pour calculer le spectre.
0 2 4 6 8 10 12
0
1
2
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
Serie de Fourier discrete
Exemple (3)
On a un pic a k = 3 et k = 9.
F =f
fs=
50
200=
1
4=
1
4· 33=
3
12=
k
N
A cause de 3 periodes
Est-ce que ca implique qu’on a 2 cosinus dans le signal ?
Il faut considerer la composante negative :
2 cos(−2π50t) + 2 cos(2π50t) = 4 cos(2π50t)
La DFS a la propriete d’etre symetrique conjugue :
X[k] = X∗[N − k]
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 11 / 79
Serie de Fourier discrete
Exemple (4)
On rearrange l’abscisse pour identifier les composantes negatives.
−6 −4 −2 0 2 4 6
0
1
2
k
Les pics sont a k = −3 et k = 3, qui sont donc a la meme frequence.
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 12 / 79
Serie de Fourier discrete
Exemple (5)
Les points de N/2 + 1 a N − 1 sont le conjugue des points de N/2 a0.
Si on veut un graphe ou il y a seulement des frequences positives, ilfaudra multiplier les amplitudes des coefficients 1 a N/2 (le DC est ala bonne amplitude).
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 13 / 79
Serie de Fourier discrete
Exemple (6)
Comment interpreter l’abscisse ?
L’abscisse fait seulement du sens en fonction du tauxd’echantillonnage.
Les points de k = 0 a N − 1 peuvent etre remplaces par F = k/N ;l’abscisse variera de 0 a 1.
Les points k = 0 a N − 1 peuvent etre remplaces par f = (k/N)fs ;l’abscisse variera de 0 a fs.
On peut aussi representer les frequences de facon radiale : onmultiplie par 2π.
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 14 / 79
Serie de Fourier discrete
Exemple (7)
On peut retracer le spectre en fonction de F ou fs.
0 0.2 0.4
0
1
2
F
0 20 40 60 80 100
0
1
2
f (Hz)
Le pic est bien a la bonne frequence : 50Hz.
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 15 / 79
Fuite spectrale
Problemes de la DFS
On verra qu’on peut avoir des erreurs dans le spectre sil’echantillonnage n’est pas fait correctement.
On verra qu’il y a des erreurs si on n’echantillonne pas pour unnombre entier de points par periode.
On reprend l’exemple precedent, mais cette fois on echantillonne a240Hz au lieu de 200Hz.
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 16 / 79
Fuite spectrale
Problemes de la DFS
On echantillonne a 240Hz : on a 240/50 = 4.8 echantillons par periode.
0 2 4 6 8 10 12 14
−4
−2
0
2
4
n
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 17 / 79
Fuite spectrale
Problemes de la DFS
On calcule la DFS de ce signal.
0 10 20 30 40 50 60 70 80 90 100 110 120
0
1
2
f (Hz)
Il y a erreur dans la frequence : c’est 51.5 Hz environ, une erreur de 3%.
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 18 / 79
Fuite spectrale
Problemes de la DFS
On peut aussi comprendre ce phenomene si on considere que de 0 a120 Hz, il y a 8 points (incluant le DC). L’intervalle de 0 a 120 Hz estdivise en 7 : 17.14 Hz par pas.
Le point le plus pres de 50 Hz est 3×17.14, ou 51.4 Hz.
Dans ce cas-ci, on n’a pas assez de points pour representercorrectement le 50 Hz.
L’intervalle entre les points est appele l’espacement spectral, etcorrespond a S/N .
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 19 / 79
Fuite spectrale
Fuite spectrale
Si on n’echantillonne pas un signal pour un nombre entier de pointspar periode, il y aura une erreur dans les coefficients de la serie deFourier.
On appelle ce phenomene la fuite spectrale.
La serie de Fourier discrete calculee donnera des frequences autresque celles dans le signal (mais quand meme pres 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 presente si on n’echantillonne pas pour unnombre entier de points par periode.
La transformee de Fourier aura des composantes non nulles a desfrequences autres que celles du signal.
Il peut aussi avoir du repliement si le signal continu contient desharmoniques de frequence plus elevee que le taux d’echantillonnage.
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 echantillonne aun taux plus eleve que le taux de Nyquist.
De facon pratique, pour avoir une erreur plus petite que 5% dans lesM premieres harmoniques, il faut echantillonner a fs = 8fM , ou fMest la frequence de la M ieme harmonique.
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 22 / 79
Fuite spectrale
Minimiser la fuite spectrale
On devrait idealement echantillonner pour un nombre entier de pointspar periode.
Pratiquement, ceci est rarement possible, puisqu’on ne connaıt pas apriori les frequences d’un signal.
On doit donc echantillonner le plus longtemps possible, pour reduirel’espacement spectral.
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 23 / 79
Fuite spectrale
Exemple
Soit une onde carree de 50 Hz echantillonnee a 1 kHz : 20 echantillons parperiode.
0 2 4 6 8 10 12 14 16 18 20
−1
0
1
Temps (ms)
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 24 / 79
Fuite spectrale
Exemple (2)
Le spectre :
0 100 200 300 400 500
0
0.2
0.4
0.6
Frequence (Hz)
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 25 / 79
Fuite spectrale
Exemple (3)
On compare les coefficients de la serie de Fourier a ceux de la DFS :
|C(k)| |X[k]| ErreurDC 0 0 0Fondamentale 0.6366 0.6346 0.3%2e harmonique 0 0 03e harmonique 0.212 0.206 2.9%4e harmonique 0 0 05e 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
Transformee de Fourier discrete
Transformee de Fourier discrete
On peut obtenir la transformee de Fourier discrete a partir de la serie deFourier discrete.
Transformee de Fourier discrete
XDFT [k] =
N−1∑n=0
x[n]e−j2πkn/N = NXDFS
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 27 / 79
Transformee de Fourier discrete
Transformee de Fourier discrete inverse
La transformee inverse (IDFT) est :
Transformee de Fourier discrete inverse
x[n] =1
N
N−1∑k=0
XDFT [k]ej2πkn/N
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 28 / 79
Transformee de Fourier discrete
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 definition de la DFT,e−j2πkn/N = e−jπkn/2. On calcule les valeurs :
k = 0 : XDFT [0] =
3∑n=0
x[n]e0 = 1 + 2 + 1 + 0 = 4
k = 1 : XDFT [1] =
3∑n=0
x[n]e−jπn/2 = 1 + 2e−jπ/2 + e−jπ + 0 = −j2
k = 2 : XDFT [2] =3∑
n=0
x[n]e−jπn = 1 + 2e−jπ + e−j2π + 0 = 0
k = 3 : XDFT [3] =3∑
n=0
x[n]e−j3πn/2 = 1 + 2e−j3π/2 + e−j3π + 0 = j2
XDFT = {4,−j2, 0, j2}
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 29 / 79
Transformee de Fourier discrete
Quelques proprietes
Quelques transformees 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 frequence,et vice-versa.
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 30 / 79
Applications
Applications
On verra quelques applications de la transformee de Fourier discrete :
Analyse spectrale d’un signal
Reponse en frequence d’un systeme
Convolution
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 31 / 79
Applications Analyse spectrale
Analyse spectrale
Il existe plusieurs signaux dont l’information est codee dans des sinusoıdes.
La voix est un bon exemple : les humains peuvent distinguer des sonsde 20Hz a 20kHz environ.
La musique n’est qu’une suite de notes de frequence fixe (ex : A4 est440Hz).
Les pales d’un sous-marin tournent a une frequence qui peut etredetectee.
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 32 / 79
Applications Analyse spectrale
Exemple 1
Supposons qu’on veut caracteriser les sons enregistres dans l’ocean.
On place un microphone dans l’eau pour enregistrer les sons, puis onamplifie le signal.
On utilise un filtre passe-bas pour couper les sons au-dessus de 80Hz.On echantillonne a 160Hz.
On procede ensuite a 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 deduire del’information.
0 0.5 1 1.5−0.2
−0.1
0
0.1
0.2
0.3
temps (s)
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 34 / 79
Applications Analyse spectrale
Exemple 1
On observe maintenant le spectre.
0 10 20 30 40 50 60 70 800
0.2
0.4
0.6
0.8
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 estconstant ; c’est le bruit blanc gaussien.
Le bruit blanc gaussien est appele ainsi parce qu’il est constant surtoutes les frequences.
Le bruit blanc est cause par plusieurs choses : ici, ca peut etre lemicrophone, ou meme l’ocean.
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 36 / 79
Applications Analyse spectrale
Exemple 1
Analyse du contenu spectral (suite) :
Pour les frequences tres faibles, on remarque que le bruit augmentetres rapidement, avec une forme qui ressemble a 1/f : c’est le bruitrose (flicker noise).
Ce type de bruit apparaıt dans pratiquement tous les systemesphysiques, que ce soit electrique, mecanique, etc. Aucune theorie nepermet d’expliquer tous les cas ou se trouve ce type de bruit.
Pour les systemes electriques courants, c’est generalement en-dessousde 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
A 60Hz, il y a generalement pollution causee par l’equipementelectronique. On peut observer des harmoniques a 120Hz, 180Hz, etc.
Il y a souvent des pics entre 25kHz et 40kHz qui sont causes parcertains types d’alimentations a decoupage.
Les appareils mecaniques rotatifs causent aussi des frequences faibles :un moteur qui tourne a 1800rpm cause des vibrations a 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 a 13Hz, et un pic plus faible a 26Hz, qui estprobablement une harmonique de celui de 13Hz.
Ce signal pourrait etre cause par les pales triples d’un sous-marin quitournent a 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 a l’aide de la DFT, il suffitd’appliquer l’equation de la DFT aux echantillons.
Cependant, il faut bien savoir interpreter les resultats.
On prend donc un exemple simple pour demontrer commentinterpreter 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 a ce signal en utilisant la commandeawgn dans Matlab.
Le signal sera echantillonne a 3kHz, et on utilisera 256 echantillons.
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 41 / 79
Obtention du spectre Exemple
Obtention du spectre
Le signal est le suivant :
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09−1.5
−1
−0.5
0
0.5
1
1.5
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
A l’aide de la DFT, on obtient le spectre suivant :
0 20 40 60 80 100 120 1400
10
20
30
40
50
60
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 precedente :
L’abscisse est en fonction de k, et pas en fonction de la frequence.
Il faut transformer l’abscisse de sorte qu’elle soit en fonction de lafrequence d’echantillonnage, si on veut que le graphe fasse du sens ducote pratique.
Les points de 0 a 128 doivent en fait varier de 0 a 1500Hz (0 a fs/2).
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 44 / 79
Obtention du spectre Exemple
Obtention du spectre
En fonction de la frequence :
0 500 1000 15000
10
20
30
40
50
60
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 apres 500Hz, donc on fait un zoom sur cettepartie du spectre a l’aide de la commande xlim.
0 50 100 150 200 250 300 350 400 450 5000
20
40
60
f (Hz)
Cependant, la resolution spectrale (S/N) est de 11.72Hz, ce qui ne permetpas de bien determiner les frequences. 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 resolution est bien meilleure.
0 50 100 150 200 250 300 350 400 450 5000
100
200
300
f (Hz)
Cependant, plus on a de points, plus le temps de calcul est eleve.
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 47 / 79
Obtention du spectre Fenetre de Hamming
Fenetre de Hamming
Un facon d’ameliorer les pics sans utiliser plus de points est demultiplier le signal en fonction du temps par une composante appeleeune fenetre de Hamming.
La fenetre de Hamming va attenuer les bouts du signal. En termes despectre, la fenetre de Hamming va rendre les pics plus grands parrapport au bruit, mais ca va aussi les elargir.
Il existe plusieurs autres fenetres.
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 48 / 79
Obtention du spectre Fenetre de Hamming
Fenetre de Hamming
Effet de la fenetre de Hamming :
0 50 100 150 200 2500
0.2
0.4
0.6
0.8
1
n
Fenêtre de Hamming
0 0.02 0.04 0.06 0.08−2
−1
0
1
2
t
Signal multiplié par la fenêtre
Code Matlab :x = x.*hamming(N)’;
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 49 / 79
Obtention du spectre Fenetre de Hamming
Fenetre de Hamming
On peut voir l’effet de la fenetre de Hamming sur le spectre.
0 100 200 300 400 5000
20
40
60
80
f (Hz)
Sans fenêtre de Hamming
0 100 200 300 400 5000
10
20
30
40
f (Hz)
Avec la fenêtre de Hamming
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 50 / 79
Reponse en frequence
Reponse en frequence
Une autre application de la DFT est la reponse en frequence d’unsysteme, qui permet de voir le comportement en termes de frequence.
La reponse en frequence d’un systeme est la transformee de Fourierde la reponse impulsionnelle.
Dans certains cas, la reponse en frequence donne beaucoup plusd’information sur la fonction d’un systeme que sa reponseimpulsionnelle.
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 51 / 79
Reponse en frequence
Reponse en frequence
Exemple : reponse impulsionnelle d’un systeme quelconque. Il est difficilede determiner la fonction du systeme.
0 10 20 30 40 50 60−0.4
−0.2
0
0.2
0.4
n
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 52 / 79
Reponse en frequence
Reponse en frequence
En faisant la DFT de ce signal, la fonction est plus claire : c’est un filtrepasse-bande.
0 0.1 0.2 0.3 0.4 0.50
0.5
1
1.5
F
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 53 / 79
Reponse en frequence
Reponse en frequence
Pour obtenir plus de resolution, on va effectuer la DFT avec plus depoints. On ajoute des zeros a la fin du signal.
0 100 200 300 400 500−0.4
−0.2
0
0.2
0.4
n
signal additioné de zéros
0 0.1 0.2 0.3 0.4 0.50
0.5
1
1.5
F
DFT
On n’a pas augmente la precision du spectre, seulement sa resolution.
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 deuxsignaux.
Dans le domaine du temps, on utilise la convolution pour calculer lasortie d’un systeme.
Dans le domaine de frequence, 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 etapes supplementaires, c’est plus rapide de passerpar la DFT pour faire la convolution.
Etapes : DFT de x[n], DFT de h[n], multiplication, transformeeinverse.
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 56 / 79
Convolution
Convolution par la DFT
Certains problemes :
La longueur de la convolution n’est pas la meme que la DFT.
Pour un signal x[n] de longueur N et h[n] de longueur M , lalongueur 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 zeros aux signaux pour qu’ils soient delongueur 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 parla DFT.
La convolution serait de longueur 4 + 4− 1 = 7. Il faut ajouter 3 zeros achaque sequence.
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 transformee inverse :
y[n] = {4,−9,−3, 18, 14, 11, 5}
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 58 / 79
Convolution
Deconvolution
Si on connaıt la sortie d’un systeme et la reponse impulsionnelle, on peutcalculer l’entree a l’aide de la deconvolution.
Deconvolution est beaucoup plus complexe que la convolution.
Beaucoup plus facile dans le domaine de frequence.
Division simple dans le domaine de frequence.
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 59 / 79
Proprietes
Proprietes de la DFT
Si XDFT est la DFT d’un signal discret x[n], alors :
kx[n]⇐⇒ kXDFT [k] linearite
x1[n] + x2[n]⇐⇒ X1[k] +X2[k] additivite
x[−n]⇐⇒ XDFT [−k] = X∗DFT [k] repliement
x[n− s]⇐⇒ e−j2πsk/NXDFT [k] dephasage
x[n]y[n]⇐⇒ 1
NXDFT [k]~ YDFT [k] multiplication
x[n]~ y[n]⇐⇒ XDFT [k]YDFT [k] convolution periodique
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 60 / 79
Proprietes
Proprietes de la DFT
Si XDFT [k] est la DFT d’une sequence x[n], alors :
1 Si un signal est repete M fois, la DFT de ce signal est l’interpolationzero de XDFT et multipliee par M .
{x[n], x[n], x[n], . . . , x[n]︸ ︷︷ ︸M fois
} ⇐⇒MXDFT [k/M ]
2 Si un signal subit une interpolation zero de M , alors la DFT estrepetee M fois :
x[n/M ]⇐⇒ {XDFT [k], XDFT [k], XDFT [k], . . . , XDFT [k]︸ ︷︷ ︸M fois
}
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 61 / 79
Proprietes
Theoreme de Parseval
Puisque le temps et la frequence sont deux domaines equivalents pourrepresenter un signal, ils doivent avoir la meme energie.
C’est le theoreme de Parseval :
N−1∑i=0
x2[n] =1
N
N/2∑k=−N/2
|X[k]|2
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 62 / 79
Proprietes
Formulation matricielle
On peut exprimer la DFT sous forme matricielle. Soit WN = e−j2π/N ,
XDFT [k] =
N−1∑n=0
x[n]WnkN , k = 0, 1, . . . , N − 1
ce qui donne :X = WNx
ou
WN =
W 0N W 0
N W 0N · · · W 0
N
W 0N W 1
N W 2N · · · WN−1
N
W 0N W 2
N W 4N · · · W
2(N−1)N
......
.... . .
...
W 0N WN−1
N W2(N−1)N · · · W
(N−1)(N−1)N
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 63 / 79
Detection de signaux
Detection de signaux
On peut utiliser la DFT pour detecter la frequence de signaux.
On utilise les effets du repliement.
L’emplacement des composantes spectrales peut changer a cause durepliement.
Si on peut echantillonner a des taux differents, on peut trouver lescomposantes spectrales d’un signal.
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 64 / 79
Detection de signaux
Detection de signaux
Pour S = 100, 200 et 500Hz, les pics changent de frequence. Mais aS = 1kHz, les pics sont au meme endroit que S = 500Hz.
0 10 20 30 40 500
0.1
0.2
0.3
0.4
f (Hz)
S = 100Hz
0 50 1000
0.1
0.2
0.3
0.4
f (Hz)
S = 200Hz
0 50 100 150 200 2500
0.1
0.2
0.3
0.4
f (Hz)
S = 500Hz
0 100 200 300 400 5000
0.1
0.2
0.3
0.4
f (Hz)
S = 1000Hz
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 65 / 79
DTFT
DTFT
La DTFT (Transformee de Fourier a temps discret) est une methodepour decrire un signal discret comme une somme d’exponentielscomplexes.
La DTFT produit un spectre continu.
La DFT est la version echantillonnee de la DTFT.
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 66 / 79
DTFT
DFT
Par definition, la DTFT est :
X(F ) =
∞∑m=−∞
x[m]e−j2πmF
ou F est une variable continue.
La DTFT est periodique, avec une periode de 1. L’intervalle−0.5 < F < 0.5 est la periode principale.
La DTFT inverse est :
x[n] =
∫ 0.5
−0.5X(F )ej2πnFdF
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 67 / 79
DTFT
Exemple
Calculer la DTFT de la sequence x[n] = {1, 0, 3,−2}.
A partir de la definition,
X(F ) =
∞∑m=−∞
x[m]e−j2πmF = 1 + 3e−j4πF − 2e−j6πF
L’amplitude du spectre est montre a la figure suivante.
−0.5 0 0.5 10
2
4
6
8
F
Am
plitu
de
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 68 / 79
FFT
FFT
Il existe plusieurs methodes pour calculer la DFT, mais la plus rapideest la FFT.
Cet algorithme est tres efficace, jusqu’a des centaines de fois plusrapide que les methodes conventionnelles.
Sans la FFT, plusieurs techniques de traitement de signal ne seraientpas pratique.
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 69 / 79
FFT
FFT
J.W. Cooley et J.W. Tukey sont les 2 ingenieurs credites pourl’invention de la FFT, dans un article paru en 1965.
Bien que la technique elle-meme n’etaient pas recente, les auteursetaient les premiers a realiser que les methodes mathematiques deGauss pouvaient etre utilisees avec des ordinateurs.
La FFT est comme le transistor du traitement de signal.
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 70 / 79
FFT
Problemes de la DFT
L’algorithme de la DFT a quelques problemes :
Inefficace
N’utilise pas les proprietes de la DFT (symetrie conjuguee, etc.)
On optimise la DFT en exploitant certaines proprietes.
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 71 / 79
FFT
Optimiser la DFT
On peut exploiter la symetrie et periodicite de WN .
Wn+NN = e−j2π(n+N)/N = e−j2πn/Ne−j2πN/N = e−j2πn/N =Wn
N
Wn+N/2N = e−j2π(n+N/2)/N = e−j2πn/Ne−jπ = −e−j2π/N = −Wn
N
WNkN = e−j2πNk/N = e−j2πk = 1, ou k est un entier
W 2N = 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 = r1r2 · · · rm. Il est utile de choisir la meme valeur der, de sorte que N = rm. Le plus commun est r = 2.
Decimation des indices
On accelere le calcul si on separe le signal en composantes paires etimpaires.
Utilisation efficace de la memoire
Ce aspect touche plutot le cote pratique : on enregistre les resultats descalculs dans les memes adresses qui contenaient les donnees.
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 73 / 79
FFT
Optimiser la DFT
Quelques resultats simples mais fondamentaux peuvent simplifier lescalculs :
La DFT d’un seul echantillon est l’echantillon lui-meme :
XDFT [0] = x[0]W 01 = x[0]
La DFT de deux echantillons est une operation simple :
X2[0] = x[0]W 02 + x[1]W 0
2 = x[0] + x[1]
X2[1] = x[0]W 02 + x[1]W 1
2 = x[0]− x[1]
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 74 / 79
FFT
FFT
Le calcul de la DFT est une operation d’ordre N2. Selon l’equation dela DFT,
X[k] =
N−1∑n=0
x[n]WnkN
on remarque qu’il faut :
N2 multiplications complexesN(N − 1) additions complexes
Il y a beaucoup d’operations a effectuer.
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 75 / 79
FFT
FFT
A l’aide des proprietes vues auparavant, on peut grandement accelererle calcul de la DFT.
On passe d’un calcul ayant N2 multiplications a un calcul ayantlog2(N) multiplications.
Pour des signaux a plusieurs echantillons, la FFT est beaucoup plusrapide.
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 76 / 79
FFT
FFT
L’implantation pratique de la FFT necessite un nombre de points quiest une puissance de 2.
Si le nombre de points n’est pas une puissance de 2, on doit ajouterdes zeros a la fin de la sequence.
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 77 / 79
FFT
IFFT
Pour calculer la transformee inverse, on utilise la formulationmatricielle :
X = WMx⇒ x = W−1M X =
1
M[W∗
M ]T X
C’est pratiquement le meme calcul que la FFT, sauf qu’on utilise leconjugue de WM transpose.
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 78 / 79
Conclusion
Conclusion
Les points cles de ce chapitre sont :
Calculer la DFT (FFT) d’un signal.
Savoir appliquer l’axe de frequence a la DFT.
Utiliser la fenetre de Hamming.
Utiliser la DFT pour faire la convolution, la detection de signaux et lareponse en frequence.
Gabriel Cormier (UdeM) GELE2511 Chapitre 7 Hiver 2013 79 / 79