Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des...

31
Chapitre 7 Transform´ ee de Fourier discr` ete La transform´ ee de Fourier discr` ete (DFT) est une m´ ethode qui permet de d´ ecrire un signal discret en termes de fr´ equence, tout comme la transform´ ee de Fourier permet de ecrir un signal continu en termes de fr´ equence. On verra comment se servir de la trans- form´ ee de Fourier discr` ete pour analyser le contenu fr´ equentiel d’un signal discret. ` A la fin du chapitre, on expliquera bri` evement la Transform´ ee de Fourier rapide, la FFT. C’est une m´ ethode beaucoup plus rapide pour calculer la DFT, et c’est l’op´ eration la plus importante en traitement de signal. 7.1 Introduction La transform´ ee de Fourier discr` ete est une m´ ethode pour d´ ecomposer un signal en composantes sinuso¨ ıdales. Pourquoi utiliser des composantes sinuso¨ ıdales, plutˆ ot que des ondes triangulaires ou carr´ ees? L’avantage des ondes sinuso¨ ıdales est la fid´ elit´ e si- nuso¨ ıdale : si l’entr´ ee d’un syst` eme lin´ eaire est un sinuso¨ ıde, la sortie doit ˆ etre un si- nuso¨ ıde de eme fr´ equence et de mˆ eme forme (c’est aussi un sinuso¨ ıde ` a la sortie). Seule l’amplitude et la phase peuvent changer. Les sinuso¨ ıdes sont les seules formes d’onde ` a poss´ eder cette propri´ et´ e. Cette propri´ et´ e simplifie ´ enorm´ ement l’analyse et la d´ ecomposi- tion des signaux. La transform´ ee de Fourier continue dit qu’un signal continu peut ˆ etre d´ ecompos´ e en une somme infinie de sinuso¨ ıdes. Pour le cas discret, le nombre de sinuso¨ ıdes n’est pas infini : c’est un chire fini. La figure 7.1 montre un exemple de signal discret ` a 10 ´ echantillons. 1

Transcript of Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des...

Page 1: Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des ondes sinuso´ ¨ıdales est la fid elit´ e si- ... La notation typique en DSP

Chapitre 7Transformee de Fourier discrete

La transformee de Fourier discrete (DFT) est une methode qui permet de decrire unsignal discret en termes de frequence, tout comme la transformee de Fourier permet dedecrir un signal continu en termes de frequence. On verra comment se servir de la trans-formee de Fourier discrete pour analyser le contenu frequentiel d’un signal discret.

A la fin du chapitre, on expliquera brievement la Transformee de Fourier rapide, laFFT. C’est une methode beaucoup plus rapide pour calculer la DFT, et c’est l’operation laplus importante en traitement de signal.

7.1 Introduction

La transformee de Fourier discrete est une methode pour decomposer un signal encomposantes sinusoıdales. Pourquoi utiliser des composantes sinusoıdales, plutot quedes ondes triangulaires ou carrees ? L’avantage des ondes sinusoıdales est la fidelite si-nusoıdale : si l’entree d’un systeme lineaire est un sinusoıde, la sortie doit etre un si-nusoıde de meme frequence et de meme forme (c’est aussi un sinusoıde a la sortie). Seulel’amplitude et la phase peuvent changer. Les sinusoıdes sont les seules formes d’onde aposseder cette propriete. Cette propriete simplifie enormement l’analyse et la decomposi-tion des signaux.

La transformee de Fourier continue dit qu’un signal continu peut etre decomposeen une somme infinie de sinusoıdes. Pour le cas discret, le nombre de sinusoıdes n’estpas infini : c’est un chiffre fini. La figure 7.1 montre un exemple de signal discret a 10echantillons.

1

Page 2: Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des ondes sinuso´ ¨ıdales est la fid elit´ e si- ... La notation typique en DSP

CHAPITRE 7. TRANSFORMEE DE FOURIER DISCRETE

0 1 2 3 4 5 6 7 8 9 10−20

0

20

40

n

Figure 7.1 – Signal a decomposer

On peut decomposer le signal de la figure 7.1 en 6 cosinus et 6 sinus. Ces ondes sontmontrees aux figures 7.2 et 7.3. Les points en bleu sont les echantillons, tandis que lescourbes en rouge sont juste tracees pour montrer que les points appartiennent bien auxsinusoıdes. Ce n’est peut-etre pas evident, mais si on fait la somme de ces 12 signaux,on obtient exactement le signal de la figure 7.1. Chaque cosinus et chaque sinus est defrequence differente.

Il existe quatre termes qui peuvent definir une transformee de Fourier. Ces quatrestermes proviennent du fait qu’un signal peut etre continu ou discret, et periodique ouaperiodique. La combination de ces caracteristiques donne les quatre termes suivants :

1. Transformee de Fourier : Ceci s’applique aux signaux continus aperiodiques. Cegenre de signal s’etend vers l’infini (positif ou negatif) sans se repeter. Un exponen-tiel est un exemple, ou une courbe gaussienne.

2. Serie de Fourier : S’applique aux signaux continus periodiques. Ces signaux serepetent avec une periode finie. Un sinusoıde, une onde carree, une onde triangu-laire sont des exemples de ce genre de signal.

3. Transformee de Fourier a temps discret (DTFT) : S’applique aux signaux discretsaperiodiques.

4. Transformee de Fourier discrete (DFT) : S’applique aux signaux discrets periodi-ques. Ce genre de signal se repete avec une periode finie.

La seule transformee qui s’applique aux problemes de traitement du signal est laTransformee de Fourier discrete (DFT). Les deux premieres transformees sont appliqueesa des signaux continus, et donc ne peuvent pas etre utilisees pour des signaux discrets.Quand a la DTFT, elle s’applique a des signaux allant de −∞ a +∞, et donc ne peut pasetre utilisee ici, puisque l’information traitee est toujours de longueur finie. Il reste doncla DFT. Bien que les signaux reels sont tres peu souvent periodiques, on va les supposerperiodiques pour pouvoir les traiter.

Gabriel Cormier 2 GELE2511

Page 3: Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des ondes sinuso´ ¨ıdales est la fid elit´ e si- ... La notation typique en DSP

CHAPITRE 7. TRANSFORMEE DE FOURIER DISCRETE

0 2 4 6 8 10

−10

0

10

n0 2 4 6 8 10

−10

0

10

n

0 2 4 6 8 10

−10

0

10

n0 2 4 6 8 10

−10

0

10

n

0 2 4 6 8 10

−10

0

10

n0 2 4 6 8 10

−10

0

10

n

Figure 7.2 – Composantes cosinusoıdales

7.2 Serie de Fourier discrete

La DFT peut etre representee sous trois formes : forme reelle, forme complexe (ouexponentielle) et la forme polaire. Certaines formes permettent de simplifier les calculsmathematiques, tandis que d’autres permettent de mieux comprendre de la transforma-tion. La Transformee de Fourier discrete dans sa forme reelle permet de transformer unsignal discret de N echantillons dans le temps en deux signaux de longueur N/2 + 1 dansle domaine de frequence. Le premier signal transforme represente l’amplitude des ondescosinusoıdales qui forment le signal discret, tandis que le deuxieme signal transformerepresente l’amplitude des ondes sinusoıdales qui forment le signal discret.

Le signal ainsi decompose contient la meme information que le signal original ; elleest juste sous une autre forme. Si on connaıt un domaine, on peut calculer l’autre do-maine. Le fait de passer du domaine du temps au domaine de frequence implique latransformee de Fourier directe (ou juste la transformee de Fourier) ; si on passe du do-maine de frequence au domaine du temps, c’est la transformee inverse. Si on connaıt le

Gabriel Cormier 3 GELE2511

Page 4: Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des ondes sinuso´ ¨ıdales est la fid elit´ e si- ... La notation typique en DSP

CHAPITRE 7. TRANSFORMEE DE FOURIER DISCRETE

0 2 4 6 8 10

−10

0

10

n0 2 4 6 8 10

−10

0

10

n

0 2 4 6 8 10

−10

0

10

n0 2 4 6 8 10

−10

0

10

n

0 2 4 6 8 10

−10

0

10

n0 2 4 6 8 10

−10

0

10

n

Figure 7.3 – Composantes sinusoıdales

domaine de frequence, le calcul du domaine du temps est appele la synthese ; si on calculle domaine de frequence, il s’agit de l’analyse.

Le nombre d’echantillons choisis N est typiquement une puissance de 2 : 128, 256,512, 1024, etc. Il y a deux raisons pour ceci. Premierement, l’information est stockee dansun ordinateur, ou on utilise le binaire ; les puissances de 2 sont donc un choix naturel.Deuxiemement, on verra plus loin qu’on peut accelerer enormement le calcul de la DFTsi la longueur des echantillons est une puissance de 2 ; c’est la Transformee de Fourierrapide (FFT). Les echantillons vont habituellement de 0 a N − 1.

La notation typique en DSP est d’utiliser des lettres minuscules pour representer dessignaux en fonction du temps (comme x[ ], y[ ]), et des majuscules pour les signaux enfonction de la frequence (X[ ],Y [ ]).

La transformee de Fourier discrete est obtenue a partir de la serie de Fourier continue,

Gabriel Cormier 4 GELE2511

Page 5: Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des ondes sinuso´ ¨ıdales est la fid elit´ e si- ... La notation typique en DSP

CHAPITRE 7. TRANSFORMEE DE FOURIER DISCRETE

qui est :

f (t) =∞∑

n=−∞Cne

jnω0t (7.1)

ou les coefficients de la serie sont :

Cn =1T

∫ T

0f (t)e−jnω0t (7.2)

On peut transformer les coefficients de la serie continue aux coefficients de la seriediscrete, en faisant les substitutions suivantes : f (t)→ x[n] (le signal devient echantillon-ne) ; ω0 → 2πf ; t → nts (le temps continu devient un temps discret), dt → ts ; N = T /ts.On obtient alors :

XDFS[k] =1N

N−1∑n=0

x[n]e−j2πkn/N (7.3)

C’est la serie de Fourier discrete (DFS).

La partie reelle des coefficients obtenus represente l’amplitude des cosinus qui formentle signal original, tandis que la partie imaginaire represente l’amplitude des sinus quiforment le signal original. Cependant, les coefficients obtenus representent aussi les coef-ficients des frequences negatives du signal. On prend un exemple pour demontrer.

Soit un signal analogique x(t) = 4cos(100πt). On echantillonne ce signal a 2 fois lafrequence Nyquist, pour 3 periodes. La frequence du signal x(t) est 50Hz ; le taux de Ny-quist est 100Hz, et donc on echantillonne a S = 200Hz. Le signal et l’echantillonnage sontmontres a la figure 7.4. Puisque l’echantillonnage se fait a 4 fois la frequence du signal(200/50), on prend 4 echantillons par periode, pour un total de 12 echantillons.

0 1 2 3 4 5 6 7 8 9 10 11 12

−4

−2

0

2

4

n

Figure 7.4 – Signal echantillonne

Gabriel Cormier 5 GELE2511

Page 6: Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des ondes sinuso´ ¨ıdales est la fid elit´ e si- ... La notation typique en DSP

CHAPITRE 7. TRANSFORMEE DE FOURIER DISCRETE

On applique maintenant la serie de Fourier discrete a la sequence obtenue (equation7.3). On trace a la figure 7.5 l’amplitude de la partie reelle de X[k]. La partie reellerepresente l’amplitude des cosinus qui forment le signal.

0 1 2 3 4 5 6 7 8 9 10 11 12

0

0.5

1

1.5

2

k

Figure 7.5 – Amplitude des coefficients de la DFS

Remarquer qu’on obtient deux pics d’amplitude 2, alors qu’on sait qu’il n’y a qu’unseul cosinus d’amplitude 4. Que se passe-t’il alors ? Et comment interpreter l’abscisse dugraphe ? Il y a un pic au point k = 3 et k = 9, ce qui implique qu’il y a deux cosinus depresents dans le signal, alors qu’on sait qu’il n’y en a qu’un seul.

La serie de Fourier discrete a la propriete d’avoir la symetrie conjugee :

X[k] = X∗[N − k] (7.4)

Ce qui veut dire que les points de k = N/2 + 1 a k = N − 1 sont le conjugue des pointsk = 0,1, · · · ,N /2. De facon pratique, les points de N/2 a N representent les frequencesimaginaires. Pour obtenir le spectre reel de notre signal, il faut prendre les points deN/2 + 1 a N − 1 et les replier. Le point N/2 + 1 devient le point k = −1, le point N/2 + 2devient le point k = −2, et ainsi de suite. Pour la figure 7.5, si on rearrange les points, onobtient la figure 7.6. Remarquer que les points varient maintenant de k = −5 a k = 6. Onvoit bien aussi qu’il y a une frequence negative d’amplitude de 2 au point k = −3.

Si on veut un graphe ou il y a seulement des frequences positives, et que ces frequencescontiennent l’ensemble de l’energie disponible dans le signal, il faudra multiplier tous lescoefficients par 2, sauf le premier (le DC est a la bonne amplitude).

L’abscisse, quant a elle, peut etre representee de plusieurs facons.

1. Les points de k = 0 a N − 1 peuvent etre substitues par F = k/N , la frequencediscrete. L’abscisse prendra donc des valeurs de 0 a 1. C’est un peu comme si les

Gabriel Cormier 6 GELE2511

Page 7: Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des ondes sinuso´ ¨ıdales est la fid elit´ e si- ... La notation typique en DSP

CHAPITRE 7. TRANSFORMEE DE FOURIER DISCRETE

−6 −5 −4 −3 −2 −1 0 1 2 3 4 5 6

0

0.5

1

1.5

2

k

Figure 7.6 – Amplitude des coefficients des cosinus de la DFS

points representent un pourcentage de la frequence d’echantillonnage. Cependant,les seules frequences qui font du sens d’un cote pratique sont les frequences de 0 a0.5F.

2. Les points de k = 0 aN −1 peuvent etre substitues par f = (k/N )fs. Dans ce cas-ci, onutilise une echelle absolue : les frequences sont des frequences reelles. Tout commela situation precedente, seule les frequences de 0 a 0.5fs ont un sens pratique.

3. On peut aussi tracer les frequences sur l’abscisse en termes de frequences radiales.Il suffit alors de multiplier les valeurs par 2π.

On peut donc retracer la figure 7.5 pour obtenir un graphe qui donne plus d’infor-mation pratique. On obtient la figure 7.7, ou on montre 2 options : tracer le graphe enfonction de F ou de f . Dans ce cas, on voit bien que la DFS donne la bonne frequence dusignal : 50Hz.

0 0.1 0.2 0.3 0.4 0.5

0

1

2

F

0 20 40 60 80 100

0

1

2

f (Hz)

Figure 7.7 – Amplitude de la partie reelle de la DFS

Gabriel Cormier 7 GELE2511

Page 8: Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des ondes sinuso´ ¨ıdales est la fid elit´ e si- ... La notation typique en DSP

CHAPITRE 7. TRANSFORMEE DE FOURIER DISCRETE

7.2.1 Problemes de la DFS

Qu’arrive-t’il si on n’echantillonne pas un nombre entier de periodes ? Est-ce que ca vachanger le spectre obtenu ?

On reprend l’exemple precedent, sauf qu’on echantillonne a 240Hz. Le rapport S/f0 nedonne pas un entier ; il n’y a donc pas un nombre entier d’echantillons par periode, et onn’a pas echantillonne pour un nombre entier de periodes (on n’a pas une periode completedu signal discret). La figure 7.8 montre ce signal echantillonne.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

−4

−2

0

2

4

n

Figure 7.8 – Signal echantillonne

On va maintenant faire la DFS de ce signal echantillonne, comme on l’a fait pourl’exemple precedent. On va seulement montrer la partie pratique de la DFS, c’est-a-direles frequences de 0 a 0.5S, donc 0 a 120Hz. La figure 7.9 montre le spectre.

Il y a bien une erreur dans le spectre : la frequence reelle est 50Hz, alors que lafrequence montree est 51.5Hz, une erreur de 3%. Cette erreur se produit si on ne prendpas un nombre entier de points par periode.

On peut aussi comprendre ce phenomene si on considere que de 0 a 120Hz, il y a 8points au total (a cause du nombre d’echantillons utilises). Donc, l’intervalle de 0 a 120est divise en 7 pas egaux, ce qui donne 17.14 Hz par pas. Le point le plus proche de 50Hzest 3 fois 17.14, ou 51.4Hz. On n’a pas assez de points pour representer correctement le50Hz. L’intervalle entre les points dans le domaine de la frequence est appele l’espacementspectral, et est donne par S/N .

Si on n’echantillonne pas un signal pour un nombre entier d’echantillons par periode,il y aura une erreur dans les coefficients de la serie Fourier discrete calcules. On appelle

Gabriel Cormier 8 GELE2511

Page 9: Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des ondes sinuso´ ¨ıdales est la fid elit´ e si- ... La notation typique en DSP

CHAPITRE 7. TRANSFORMEE DE FOURIER DISCRETE

0 10 20 30 40 50 60 70 80 90 100 110 120

0

0.5

1

1.5

2

f (Hz)

Figure 7.9 – Spectre du signal echantillonne a 240Hz

ce phenomene de la fuite spectrale (leakage), et la serie de Fourier calculee donnera desfrequences autres que celles contenues dans le signal (mais quand meme pres de la vraiefrequence).

7.2.2 Effets de la fuite spectrale

La fuite spectrale est presente si on n’echantillonne pas un signal periodique x(t) pourun nombre entier de periodes. La transformee de Fourier discrete aura des composantesnon-nulles a des frequences autres que ±f0, parce que l’extension de notre signal x(t)n’est pas egale a la periode du signal x[n]. Il peut aussi avoir du repliement si le si-gnal continu contient des harmoniques de frequences plus elevees que la moitie du tauxd’echantillonnage.

On peut reduire les effets du repliement si on echantillonne a un taux plus grand quele taux de Nyquist. De facon pratique, pour avoir une erreur plus petite que 5% dansles M premieres harmoniques, on utilise un taux d’echantillonnage S = 8fM , ou fM est lafrequence de la Mieme harmonique.

Pour minimiser les effets de fuite spectrale, on devrait idealement echantillonner pourun nombre entier de periodes. De facon pratique, ceci n’est pas possible. On doit doncechantillonner le plus longtemps possible, pour avoir plus d’echantillons (et donc reduirel’espacement spectral).

On prend un autre exemple pour montrer les effets de la fuite. Soit le signal de la figure7.10. Il s’agit d’une onde carree a 50Hz echantillonnee a 1kHz, donc 20 echantillons parperiode.

Gabriel Cormier 9 GELE2511

Page 10: Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des ondes sinuso´ ¨ıdales est la fid elit´ e si- ... La notation typique en DSP

CHAPITRE 7. TRANSFORMEE DE FOURIER DISCRETE

0 2 4 6 8 10 12 14 16 18 20

−1

0

1

Temps (ms)

Figure 7.10 – Onde carree a 50Hz echantillonnee a 1kHz

Les coefficients de la serie de Fourier pour une onde carree sont X[k] = − j2kπ ou k estimpair. On va donc appliquer la serie de Fourier discrete au signal echantillonne pourtrouver les frequences de ce signal (un rappel qu’une onde carree a une infinite d’harmo-niques).

On obtient le spectre de la figure 7.11. On voit bien l’amplitude des harmoniques.

0 50 100 150 200 250 300 350 400 450 500

0

0.2

0.4

0.6

Frequence (Hz)

Figure 7.11 – Spectre de l’onde carree a 50Hz echantillonnee a 1kHz

Les coefficients calcules de la serie de Fourier discrete sont

X[k] = {0,−j0.6346,0,−j0.206,0,−j0.1169, . . .} (7.5)

Cependant, les coefficients de la serie de Fourier sont

X[k] = {0,−j0.6366,0,−j0.212,0,−j0.1273, . . .} (7.6)

L’erreur sur les coefficients de la serie de Fourier discrete augmentent de plus en plusselon les harmoniques.

Gabriel Cormier 10 GELE2511

Page 11: Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des ondes sinuso´ ¨ıdales est la fid elit´ e si- ... La notation typique en DSP

CHAPITRE 7. TRANSFORMEE DE FOURIER DISCRETE

7.3 Transformee de Fourier discrete

La transformee de Fourier discrete est donnee par :

XDFT [k] =N−1∑n=0

x[n]e−j2πkn/N (7.7)

La relation entre la serie de Fourier discrete et la transformee de Fourier discrete esttres simple :

XDFT =NXDFS (7.8)

La transformee inverse (IDFT), qui permet de retrouver le signal x[n], est :

x[n] =1N

N−1∑k=0

XDFT [k]ej2πkn/N (7.9)

Exemple 1

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

La DFT est donc : XDFT = {4,−j2,0, j2}. Noter que XDFT est symetrique conjugue parrapport a k =N/2 = 2.

Gabriel Cormier 11 GELE2511

Page 12: Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des ondes sinuso´ ¨ıdales est la fid elit´ e si- ... La notation typique en DSP

CHAPITRE 7. TRANSFORMEE DE FOURIER DISCRETE

Quelques transformees utiles :

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

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

7.4 Applications

On verra ici quelques applications de la transformee de Fourier.

7.4.1 Analyse spectrale d’un signal

Il existe plusieurs signaux dont l’information est encodee dans des sinusoıdes. La voixest un bon exemple ; les humains peuvent distinguer des sons de 20Hz a 20kHz environ ;la musique n’est qu’une suite de notes de frequence fixes (la note A4 est 440Hz). Les palesd’un sous-marin tournent a une frequence qui peut etre detectee.

On prend un exemple pour demontrer comment l’information peut etre contenue dansdes sinusoıdes. Supposons qu’on veut caracteriser le son qui se propage dans l’ocean. Onplace un microphone dans l’eau, puis on amplifie le signal jusqu’a ce qu’il soit de quelquesvolts. Un filtre passe-bas est utilise pour enlever les frequences au-dessus de 80Hz, et doncon echantillonne a 160 echantillons par secondes. Apres avoir echantillonne le signal,quelle est la prochaine etape ?

La premiere chose a faire est de tout simplement regarder le signal echantillonne.La figure 7.12 montre le signal echantillonne. On ne peut pas distinguer quelque chosed’utile dans ce signal. Il y a beaucoup de bruit.

Apres avoir filtre le signal pour eliminer le bruit, et fait la transformee de Fourier, onobtient le spectre de la figure 7.13.

On peut maintenant analyser le contenu du spectre. Si on ignore les pics pour le mo-ment, on voit que entre 10Hz et 70Hz que la valeur est relativement constante. Ceci estdu au bruit blanc gaussien. Le bruit blanc est appele ainsi parce qu’il contient une mon-tant egal de frequences, tout comme la lumiere blanche. C’est un bruit non correle : la

Gabriel Cormier 12 GELE2511

Page 13: Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des ondes sinuso´ ¨ıdales est la fid elit´ e si- ... La notation typique en DSP

CHAPITRE 7. TRANSFORMEE DE FOURIER DISCRETE

0 0.2 0.4 0.6 0.8 1 1.2 1.4

−0.2

0

0.2

0.4

Temps (s)

Figure 7.12 – Signal echantillonne

0 10 20 30 40 50 60 70 80

0

0.2

0.4

Frequence (Hz)

Figure 7.13 – Spectre du signal echantillonne

valeur du bruit pour un echantillon ne donne aucune information a propos d’un autreechantillon. Par exemple, le mouvement aleatoire des electrons produit du bruit blanc.Donc, dans le spectre de la figure 7.13, le bruit blanc peut etre cause par plusieurs choses,soit l’electronique utilisee pour mesurer le signal, ou l’ocean lui-meme.

Pour les frequences tres faibles, moins de 5Hz dans ce cas-ci, on remarque que le bruitaugmente rapidement, avec une forme qui ressemble a 1/f . C’est le bruit rose, ou fli-cker noise, ou 1-over-f noise. La source de ce type de bruit est inconnu. Le bruit rose ap-paraıt dans pratiquement tous les systemes, que ce soit electrique, mecanique, etc. Au-cune theorie ne permet presentement d’expliquer tous les cas ou ce bruit se trouve. Pourles systeme electroniques et plusieurs systemes physiques, le bruit rose devient plus faibleque le bruit blanc entre 1 et 100Hz environ.

On peut maintenant analyser sur les pics. Le plus simple a expliquer est celui de 60Hz :c’est la contamination des appareils electroniques. On voit aussi souvent des pics a 120Hz,180Hz, etc a cause des harmoniques. Il y a aussi souvent de la contamination electronique

Gabriel Cormier 13 GELE2511

Page 14: Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des ondes sinuso´ ¨ıdales est la fid elit´ e si- ... La notation typique en DSP

CHAPITRE 7. TRANSFORMEE DE FOURIER DISCRETE

a 25-40kHz, qui sont les frequences les plus utilisees pour les alimentations a decoupage.Des pics a basses frequences peuvent aussi etre causes par des mouvements mecaniques :par exemple, le moteur d’un bateau qui tourne a 1800 tours/minute apparaıtront a 30Hz.

Dans le signal de la figure 7.13, on obtient un pic tres prononce a 13Hz environ, etun pic plus faible a 26 Hz, ce qui est probablement un harmonique du signal de 13Hz. Cesignal pourrait etre cause par un sous-marin dont les pales tournent a 4.33 tours/seconde.Cette technique est la base du sonar passif utilise pour detecter des sous-marins.

Obtention du spectre

Pour obtenir le spectre d’un signal a l’aide de la DFT, il suffit d’appliquer l’equation7.7 aux echantillons. Cependant, il faut bien savoir interpreter les resultats. On prend unexemple assez simple : soit le signal de la figure 7.14. Ce signal fut genere en Matlab, etest la somme de trois sinusoıdes :

x[t] = 0.5cos(2π44t) + 0.4sin(2π322t) + 0.5cos(2π415t) (7.13)

On a aussi ajoute du bruit blanc gaussien, avec un rapport signal-a-bruit (SNR) de15dB. Le signal est echantillonne a 3kHz, et on prend 256 echantillons. Le code Matlabpour generer la figure est le suivant :

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);

0 10 20 30 40 50 60 70 80 90

−1

0

1

Temps (ms)

Figure 7.14 – Signal echantillonne

Gabriel Cormier 14 GELE2511

Page 15: Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des ondes sinuso´ ¨ıdales est la fid elit´ e si- ... La notation typique en DSP

CHAPITRE 7. TRANSFORMEE DE FOURIER DISCRETE

On peut maintenant appliquer la transformee de Fourier a ce signal pour retrouver lesfrequences. Le code Matlab pour implanter l’equation 7.7 est :

n = 1:N;

X = fft(x);

ou x est le signal genere avec le code plus haut. On obtient ainsi le graphe de la figure7.15. Remarquer qu’on n’a conserve que les 129 premiers points ; les autres ne sont pasnecessaires.

0 10 20 30 40 50 60 70 80 90 100 110 120 130

0

20

40

60

k

Figure 7.15 – DFT du signal echantillonne

Pour tracer la figure, on utilise :

n = 0:N/2;

X1 = abs(X); stem(n,X1(1:N/2+1),’o’);xlabel(’f (Hz)’);

Il y a un probleme avec la figure : l’abscisse est en fonction des points k, et ne donneaucune information quant a la frequence. Il faut transformer l’axe des x a un axe enfonction de la frequence d’echantillonnage. C’est seulement en fonction de la frequenced’echantillonnage que le graphe peut faire du sens du cote pratique. Les points de 0 a 128doivent en fait etre de 0 a 1500Hz. On utilisera donc, en Matlab,

f = 0:S/N:0.5*S;

X1 = abs(X); stem(f,X1(1:N/2+1),’o’);xlabel(’k’);

au lieu du code precedent, ce qui donne la figure 7.16.

Gabriel Cormier 15 GELE2511

Page 16: Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des ondes sinuso´ ¨ıdales est la fid elit´ e si- ... La notation typique en DSP

CHAPITRE 7. TRANSFORMEE DE FOURIER DISCRETE

0 200 400 600 800 1,000 1,200 1,400

0

20

40

60

Frequence (Hz)

Figure 7.16 – DFT du signal echantillonne, en fonction de la frequence

Il y a peu d’information utile apres 500Hz, selon le spectre obtenu. On va donc limiterl’axe x a 500Hz pour mieux voir les composantes spectrales. En Matlab, pour limiter l’axex, on utilise la commande xlim().

xlim([0 500]);

Le spectre obtenu apres toutes ces modifications est donne a la figure 7.17. Remarquerqu’on obtient un pic a 44Hz, et deux pics a environ 330Hz et deux pics a environ 420Hz.Les pics sont tous aux bonnes frequences, mais on n’a pas assez de points pour obtenirune bonne resolution.

0 50 100 150 200 250 300 350 400 450 500

0

20

40

60

Frequence (Hz)

Figure 7.17 – DFT du signal echantillonne, en fonction de la frequence

Avec 1024 points, on obtient le spectre de la figure 7.18. La resolution spectrale estbien meilleure.

Gabriel Cormier 16 GELE2511

Page 17: Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des ondes sinuso´ ¨ıdales est la fid elit´ e si- ... La notation typique en DSP

CHAPITRE 7. TRANSFORMEE DE FOURIER DISCRETE

0 50 100 150 200 250 300 350 400 450 500

0

100

200

Frequence (Hz)

Figure 7.18 – DFT du signal echantillonne, en fonction de la frequence, avec 1024 points

Avec plus de points, la resolution est encore meilleure, mais le temps de calcul aug-mente. Avec 4096 points, en utilisant l’algorithme presente plus haut, il faut plus de 15secondes avec un Pentium IV 2.4GHz pour faire le calcul de la DFT. Pour des applicationsen temps reel ceci est beaucoup trop long ; et souvent, pour des applications reelles, il fautplusieurs milliers de points.

Fenetre de Hamming

Une autre facon d’ameliorer les pics sans utiliser plus de points est de multiplier lesignal par une composante qu’on appelle une fenetre de Hamming. Une fenetre de Ham-ming est un graphe qui ressemble a celui de la figure 7.19 a), tandis que son effet sur lesignal echantillonne est montre a la figure 7.19 b). L’effet de la fenetre de Hamming estd’attenuer les bouts du signal.

0 50 100 150 200 2500

0.5

1

n0 20 40 60 80

−1

0

1

Temps (ms)

Figure 7.19 – Fenetre de Hamming et son effet sur le signal echantillonne

Gabriel Cormier 17 GELE2511

Page 18: Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des ondes sinuso´ ¨ıdales est la fid elit´ e si- ... La notation typique en DSP

CHAPITRE 7. TRANSFORMEE DE FOURIER DISCRETE

En termes de spectre, l’effet de la fenetre de Hamming est de rendre les pics plusgrands par rapport au bruit, mais cependant ca les elargit. On peut voir a la figure 7.20le spectre sans la fenetre de Hamming et avec celle-ci. Remarquer qu’avec la fenetre deHamming, les pics sont plus grands par rapport au bruit, mais qu’ils sont plus larges.

0 100 200 300 400 5000

20

40

60

Frequence (Hz)

Sans fenetre de Hamming

0 100 200 300 400 500

0

10

20

30

Frequence (Hz)

Avec la fenetre de Hamming

Figure 7.20 – Effet de la fenetre de Hamming sur le spectre

Il existe d’autre fenetres que celle de Hamming : fenetre de Blackman, fenetre flat-top,fenetre Bartlett, etc. Celles-ci ont tous differents avantages et desavantages : ou bien ellespermettent d’avoir un pic plus etroit et des bandes laterales plus larges, ou le pic est pluslarge mais les bandes laterales sont plus faibles. Le choix d’une fenetre se fait en fonctionde l’application : a-t’on besoin de pics tres minces, ou est-ce qu’il faut eliminer les bandeslaterales a tout prix ? Toutes les fenetres doivent maximiser l’energie dans le lobe principal(de leur spectre en frequence) et minimiser l’energie dans les lobes lateraux.

7.4.2 Reponse en frequence d’un systeme

Une autre application de la DFT est la reponse en frequence d’un systeme, qui permetde voir comment un systeme se comporte en termes de frequence. La reponse en frequenced’un systeme est la transformee de Fourier de sa reponse impulsionnelle. Dans certainscas, la reponse en frequence donne beaucoup plus d’information sur la fonction d’unsysteme.

Soit la reponse impulsionnelle de la figure 7.21. A regarder ce signal, on ne peut pasdire quelle est la fonction du systeme.

Cependant, si on fait la DFT de ce systeme, alors la fonction devient bien plus claire.La figure 7.22 montre la DFT du systeme effectuee avec 64 points. Le systeme est en fait

Gabriel Cormier 18 GELE2511

Page 19: Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des ondes sinuso´ ¨ıdales est la fid elit´ e si- ... La notation typique en DSP

CHAPITRE 7. TRANSFORMEE DE FOURIER DISCRETE

0 5 10 15 20 25 30 35 40 45 50 55 60

−0.2

0

0.2

n

Figure 7.21 – Reponse impulsionnelle d’un systeme quelconque

un filtre passe-bande.

0 5 · 10−2 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5

0

0.5

1

F

Figure 7.22 – DFT du systeme a 64 points

Pour obtenir plus de resolution, on va effectuer la DFT avec plus de points. Pour ac-complir ceci, il suffit d’ajouter des zeros apres la sequence mesuree. La figure 7.23 montrececi.

7.4.3 Convolution par la DFT

Une autre application de la DFT est pour faire la convolution de deux signaux. Sup-posons qu’on a un signal et la reponse impulsionnelle d’un systeme. Comment trouver lasortie ? On a vu que dans le domaine du temps, on doit utiliser la convolution. Mais onpeut aussi utiliser la DFT. En effet, une convolution dans le domaine du temps est egal ala multiplication des DFT :

x[n] ∗ h[n]⇐⇒ XDFT [k]HDFT [k] (7.14)

Gabriel Cormier 19 GELE2511

Page 20: Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des ondes sinuso´ ¨ıdales est la fid elit´ e si- ... La notation typique en DSP

CHAPITRE 7. TRANSFORMEE DE FOURIER DISCRETE

0 100 200 300 400 500

−0.2

0

0.2

n

Signal additionne de zeros

0 0.1 0.2 0.3 0.4 0.5

0

0.5

1

F

DFT

Figure 7.23 – DFT du systeme a 512 points

Bien qu’il y a des etapes supplementaires (on doit faire la DFT de x[n], la DFT de h[n],puis multiplier les deux et faire ensuite la transformee inverse), en termes de temps decalcul, ce processus est souvent plus rapide, surtout a cause de la FFT, qu’on verra auprochain chapitre.

Une autre application de la DFT a la convolution est la deconvolution. Si on a la sortiea un systeme et sa reponse impulsionnelle, comment faire pour calculer l’entree ? Si onessaie de faire ce calcul dans le domaine du temps, il s’agit de la deconvolution. Cepen-dant, la deconvolution est beaucoup plus complexe que la convolution et tres difficile aconceptualiser. Dans le domaine de la frequence, en utilisant la DFT, la deconvolution estune simple operation de division.

Il y a cependant un probleme associe a faire la convolution en passant par la DFT : lalongueur de la sequence de sortie. On a vu que la longueur d’un signal qui est le resultat dela convolution de deux signaux de longueurM et N estM+N −1. La longueur d’une DFTappliquee a un signal de longueur N est de longueur N aussi. Il manque donc les M − 1points pour obtenir la vraie convolution, Exemple : soit un signal d’entree de longueurN =256 points, et la reponse impulsionnelle du systeme deM = 51 points. La convolutionproduira alors un signal de longueur 306 points. Mais si on utilise la DFT pour calculer lasortie, on aura 256 points a la sortie. Comment peut-on prendre les 306 points et les placerdans 256 points ? On ne peut pas. Ceci est appele le probleme de la convolution circulaire.

Ce qui arrive lorsqu’on fait la convolution circulaire, c’est que lesM−2 derniers pointsde la convolution s’additionnent aux premiers points de la convolution. LesM−2 premierspoints sont alors faux : les valeurs sont ajoutees ensembles, et on ne peut plus reconstruirela bonne information.

Pour eviter ce probleme, il suffit d’ajouter des zeros aux signaux, de sorte que lorsque

Gabriel Cormier 20 GELE2511

Page 21: Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des ondes sinuso´ ¨ıdales est la fid elit´ e si- ... La notation typique en DSP

CHAPITRE 7. TRANSFORMEE DE FOURIER DISCRETE

les M − 2 derniers points s’additionnent aux premiers points, il n’y ait pas d’erreur. Parexemple, on pourrait ajouter des zeros au signal d’entree et a la reponse impulsionnelledes signaux mentionnes ci-haut de sorte qu’ils soient 512 points de longueur. La DFT deces signaux sera alors composee de 306 echantillons qui ne sont pas zero, et les 206 autresechantillons seront nuls.

Exemple 2

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

La convolution reguliere donne y[n] = {4,−9,−3,18,14,11,5}.

Si on fait la DFT de x[n] et h[n], on obtient X[k] = {4, j8,0,−j8} et H[k] = {10,−2 −j2,2,−2 + j2}.

La multiplication point par point de ces deux sequences est :

Y [k] = {40,16 + j16,0,16− j16}

et ensuite on calcule la transformee inverse,

y[n] = {18,2,2,18}

ce qui est bien different de la convolution reguliere.

Il faut ajouter des zeros aux sequences originales. La convolution reguliere aura unelongueur de 4+4−1 = 7 echantillons. Il faut donc ajouter 3 zeros a chacune des sequencesx[n] et h[n] pour qu’elles soient de longueur 7.

Si on refait les etapes de calcul, on aura

X[k] = {4,−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.71,2.32 + j0.71,2.15 + j1.282,4.52 + j4.73}

On multiplie les sequences :

Y [k] = {40,−29.11 + j22.86,17.63 + j10.70,5.47− j8.77,5.47 + j8.77,17.63− j10.70,−29.11− j22.86}

Puis on fait la IDFT :y[n] = y[n] = {4,−9,−3,18,14,11,5}

ce qui est la meme chose.

Gabriel Cormier 21 GELE2511

Page 22: Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des ondes sinuso´ ¨ıdales est la fid elit´ e si- ... La notation typique en DSP

CHAPITRE 7. TRANSFORMEE DE FOURIER DISCRETE

7.5 Proprietes de la DFT

Voici certaines proprietes de la DFT. Si XDFT est la DFT d’un signal discret x[n], alors

kx[n]⇐⇒ kXDFT [k] linearite (7.15)x1[n] + x2[n]⇐⇒ X1[k] +X2[k] additivite (7.16)

x[−n]⇐⇒ XDFT [−k] = X∗DFT [k] repliement (7.17)

x[n− s]⇐⇒ e−j2πsk/NXDFT [k] dephasage (7.18)

x[n]y[n]⇐⇒ 1NXDFT [k]~YDFT [k] multiplication (7.19)

x[n]~ y[n]⇐⇒ XDFT [k]YDFT [k] convolution periodique (7.20)

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’interpolation zero de XDFT etmultipliee par M.

{x[n],x[n],x[n], . . . ,x[n]︸ ︷︷ ︸Mfois

} ⇐⇒MXDFT [k/M] (7.21)

2. Si un signal subit une interpolation zero de M, alors la DFT est repetee M fois :

x[n/M]⇐⇒ {XDFT [k],XDFT [k],XDFT [k], . . . ,XDFT [k]︸ ︷︷ ︸Mfois

} (7.22)

7.5.1 Theoreme de Parseval

Puisque le domaine du temps et de la frequence sont equivalents pour representer unsignal, ils doivent avoir la meme energie. On appelle ceci la loi de Parseval. Pour la DFT,on l’exprime de la facon suivante :

N−1∑i=0

x2[n] =1N

N/2∑k=−N/2

|X[k]|2 (7.23)

Bien que d’un cote physique ce theoreme soit interessant, d’un cote pratique il est peuutilise.

Gabriel Cormier 22 GELE2511

Page 23: Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des ondes sinuso´ ¨ıdales est la fid elit´ e si- ... La notation typique en DSP

CHAPITRE 7. TRANSFORMEE DE FOURIER DISCRETE

7.5.2 Formulation matricielle de la DFT

On peut exprimer la DFT sous forme matricielle. Dans certains cas, ceci peut aider laprogrammation de la DFT. Soit WN = e−j2π/N , alors

XDFT [k] =N−1∑n=0

x[n]W nkN , k = 0,1, . . . ,N − 1 (7.24)

On peut alors ecrire la relation matricielle suivante :

X = WNx (7.25)

ou X et x sont des matrices N × 1, et la matrice WN est la matrice DFT :

WN =

W 0N W 0

N W 0N · · · W 0

NW 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

(7.26)

7.6 Detection de signaux avec la DFT

Etant donne un signal analogique x(t), qu’on sait contient des composantes periodi-ques, comment faire pour les detecter ? Une methode simple est d’utiliser les effets durepliement : l’emplacement des composantes du spectre peut changer a cause du replie-ment. Si on peut echantillonner les donnees a de differents taux d’echantillonnage, onpeut trouver les composantes periodiques du signal. Cette methode est simple, mais cen’est certainement pas la meilleure facon de detecter un signal.

Un exemple est donne a la figure 7.24. Dans ce cas-ci, le signal utilise est

x(t) = 0.5cos(170πt) + 0.3cos(230πt) + 0.8cos(450πt)

On va echantillonner ce signal a differents taux d’echantillonnage pour voir si le spectrevarie.

Dans la figure 7.24, on voit que les pic changent de position et d’amplitude pour S =100Hz, 200Hz et 500Hz. Pour S = 1kHz, les pics n’ont pas change de position ; seulel’amplitude a change un peu.

Gabriel Cormier 23 GELE2511

Page 24: Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des ondes sinuso´ ¨ıdales est la fid elit´ e si- ... La notation typique en DSP

CHAPITRE 7. TRANSFORMEE DE FOURIER DISCRETE

0 10 20 30 40 50

0

0.2

0.4

f (Hz)

S = 100Hz

0 20 40 60 80 100

0

0.2

0.4

f (Hz)

S = 200Hz

0 50 100 150 200 250

0

0.1

0.2

0.3

f (Hz)

S = 500Hz

0 100 200 300 400 500

0

0.1

0.2

0.3

0.4

f (Hz)

S = 1000Hz

Figure 7.24 – Spectre d’un signal pour differents taux d’echantillonnage

7.7 DTFT

La DTFT (transformee de Fourier a temps discret) est une methode pour decrire un si-gnal discret comme une somme d’exponentiels complexes. La DTFT, qui est appliquee surun signal discret, produit un spectre continu. La DFT represente la version echantillonneede la DTFT.

Par definition, la DTFT est :

X(F) =∞∑

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

ou F est une variable continue.

La DTFT est periodique, avec une periode de 1. L’intervalle de −0.5 < F < 0.5 est appele

Gabriel Cormier 24 GELE2511

Page 25: Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des ondes sinuso´ ¨ıdales est la fid elit´ e si- ... La notation typique en DSP

CHAPITRE 7. TRANSFORMEE DE FOURIER DISCRETE

la periode principale.

La DTFT inverse est :

x[n] =∫ 0.5

−0.5X(F)ej2πnFdF (7.28)

Exemple 3

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 7.25.

−0.4 −0.2 0 0.2 0.4 0.6 0.8 1

2

3

4

5

6

F

Am

pli

tud

e

Figure 7.25 – Amplitude de la DTFT de l’exemple 3

Remarquer le spectre periodique de X(F) par rapport a F = 0 et F = 0.5.

7.8 Transformee de Fourier rapide

Il existe plusieurs methodes pour calculer la DFT, mais la plus rapide est la trans-formee de Fourier rapide (FFT). Cet algorithme est tres efficace, jusqu’a des centaines de

Gabriel Cormier 25 GELE2511

Page 26: Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des ondes sinuso´ ¨ıdales est la fid elit´ e si- ... La notation typique en DSP

CHAPITRE 7. TRANSFORMEE DE FOURIER DISCRETE

fois plus rapide que les methodes conventionnelles. Si la FFT n’aurait pas ete inventee, ilne serait pas pratique d’utiliser plusieurs methodes de traitement du signal.

J.W. Cooley et J.W. Tukey sont les deux ingenieurs credites pour l’invention de la FFT,dans un article paru en 1965. Bien que la technique utilisee n’etait pas recente, les deuxauteurs etaient les premiers a realiser que les methodes mathematiques de Gauss pou-vaient etre utilisees avec des ordinateurs. La FFT est comme le transistor du traitementdes signaux.

7.8.1 Problemes de la DFT

L’algorithme de la DFT, tel que presente au chapitre precedent, a certains problemes.L’algorithme est inefficace : il n’utilise pas certaines proprietes interessantes de la trans-formee, comme par exemple le fait que la deuxieme moitie de la transformee est le conju-gue de la premiere moitie. L’optimisation du calcul de la DFT est rendue possible en ex-ploitant les proprietes suivantes :

1. Exploiter la symetrie et la periodicite de WN : En fait, puisque WN = e−j2π/N , ilpossede de la symetrie et de la periodicite.

(a) W n+NN = e−j2π(n+N )/N = e−j2πn/N e−j2πN/N = e−j2πn/N =W n

N ,

(b) W n+N/2N = e−j2π(n+N/2)/N = e−j2πn/N e−jπ = −e−j2π/N = −W n

N ,

(c) WNkN = e−j2πNk/N = e−j2πk = 1, ou k est un entier,

(d) W 2N = e−j2π2/N = e−j2π/(N/2) = e−j2π/N =WN/2

2. Choisir une valeur de N qui est le produit de plusieurs petit chiffres : On veutque N = r1r2 · · · rm. Il est utile de choisir la meme valeur de r, de sorte que N = rm. Lechoix le plus populaire est r = 2.

3. La decimation des indices : On accelere le calcul si on separe les indices en nombrespairs et impaires.

4. Utilisation efficace de la memoire : Cet aspect touche plutot le cote pratique, sion emmagasine les resultats des calculs dans les meme adresses qu’occupaient lesdonnees.

5. L’utilisation de quelques resultats simples mais fondamentaux :

(a) La DFT d’un seul echantillon est l’echantillon lui-meme :

XDFT [0] = x[0]W 01 = x[0] (7.29)

(b) La DFT de deux echantillons est une operation simple :

X2[0] = x[0]W 02 + x[1]W 0

2 = x[0] + x[1] (7.30)

X2[1] = x[0]W 02 + x[1]W 1

2 = x[0]− x[1] (7.31)

Gabriel Cormier 26 GELE2511

Page 27: Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des ondes sinuso´ ¨ıdales est la fid elit´ e si- ... La notation typique en DSP

CHAPITRE 7. TRANSFORMEE DE FOURIER DISCRETE

7.8.2 FFT

Le calcul de la DFT est une operation d’ordre N 2. On considere en premier l’equationde la DFT,

X[k] =N−1∑n=0

x[n]W nkN (7.32)

ouWN = e−j2π/N (7.33)

En regardant les equations precedentes, on remarque qu’il faut :

1. N 2 multiplications complexes

2. N (N − 1) additions complexes

pour faire le calcul de la DFT.

Il y beaucoup d’operations a effectuer. Qu’arrive-t’il si on separe le travail en deux,c’est-a-dire de diviser le signal en deux parties egales, et faire la DFT sur chaque signal,puis recombiner a la fin ?

On separe le signal original x[n] en deux composantes xe[n] et xo[n], qui represententles parties paires et impaires du signal original, respectivement. Selon les proprietes de laDFT, on obtient :

X[k] = Xe[k] +Xo[n] =∑n=pair

x[n]W nkN +

∑n=impair

x[n]W nkN (7.34)

On fait la substitution n = 2m pour les indices paires et n = 2m + 1 pour les indicesimpaires, et on obtient :

X[k] =N/2−1∑m=0

x[2m]W 2mkN +

N/2−1∑m=0

x[2m+ 1]W k(2m+1)N (7.35)

Si on regarde cette derniere equation de plus pres, on remarque qu’il faut N · (N/2) mul-tiplications pour le premier groupe pair, et la meme chose pour le groupe impair. Il y adonc au total N 2/2 +N 2/2 =N 2 multiplications. On en est donc au meme point qu’avant !Cependant, on peut prendre avantage de la symetrie pour reduire le nombre d’operations.

En effet, W 2N =WN/2. On peut reecrire l’equation 7.35 a :

X[k] =N/2−1∑m=0

x[2m]W kmN/2 +W k

N

N/2−1∑m=0

x[2m+ 1]W kmN/2 (7.36)

Gabriel Cormier 27 GELE2511

Page 28: Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des ondes sinuso´ ¨ıdales est la fid elit´ e si- ... La notation typique en DSP

CHAPITRE 7. TRANSFORMEE DE FOURIER DISCRETE

Les signaux x[2m] et x[2m + 1] sont de longueur N/2. On utilise Xe[k] et Xo[k] pourdesigner leur DFT. On obtient :

X[k] = Xe[k] +W kNX

o[k] (7.37)

ou k = 0,1, · · · ,N − 1.

Puisque Xe[k] et Xo[k] sont des DFT de longueur N/2, ils sont periodiques avec uneperiode N/2. Avec les proprietes de la DFT, on peut ecrire Xe[k +N/2] = Xe[k], et Xo[k +N/2] = Xo[k]. Et comme on a vu plus haut, W k+N/2

N = −W kN . On peut donc ecrire :

X[k] = Xe[k] +W kNX

o[k], k = 0,1, · · · ,N /2− 1 (7.38)

X[k +N/2] = Xe[k]−W kNX

o[k], k = 0,1, · · · ,N /2− 1 (7.39)

Si on calcul le nombre d’operations necessaires, on voit qu’il faut (N/2)(N/2) multipli-cations pour calculer Xe[k], et la meme chose pour calculer Xo[k]. Il faut N/2 multiplica-tions de plus pour calculer W k

NXo[k], ce qui fait un total de N 2/2 +N/2 multiplications,

au lieu de N 2. L’algorithme est deja plus rapide.

On peut continuer ce processus, en divisant chaque signal en deux, pour finir par avoirdes DFT de 1 seul point. Dans ce cas, il faudra (N/2)log2N multiplications, ce qui est bienmoins que N 2 pour N grand.

7.8.3 Decimation

La FFT fonctionne en decomposant un signal discret de N echantillons en N signauxde longueur d’un seul point. La deuxieme etape est de calculer les N spectres qui corres-pondent aux N signaux. La derniere etape est de reconstruire le spectre de N points.

La figure 7.26 montre un exemple de la decomposition utilisee pour la FFT. Un signalde 16 points est decompose en 4 etapes a 16 signaux de 1 point chacun. A chaque etape,on divise les signaux en composantes paires et impaires : c’est la decimation des indices.Il y a donc log2N etages de decomposition.

Bien que la decomposition semble donner une sequence aleatoire, l’ordre des indicessuit un ordre particulier. En fait, il s’agit de lire les indices sous forme binaire en ordreinverse. Au lieu de lire les chiffres binaires de gauche a droite, on fait la lecture de droitea gauche ; c’est aussi la meme chose que de tourner les bits de 180° par rapport au centre.La figure 7.27 montre un exemple de decimation pour un signal a 16 points.

La prochaine etape dans le calcul de la FFT est de trouver la DFT des signaux de 1point. Rien n’est plus facile : la DFT d’un signal d’un seul point est le point lui-meme,

Gabriel Cormier 28 GELE2511

Page 29: Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des ondes sinuso´ ¨ıdales est la fid elit´ e si- ... La notation typique en DSP

CHAPITRE 7. TRANSFORMEE DE FOURIER DISCRETE

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 151 signal de 16

points

0 2 4 6 8 10 12 14 1 3 5 7 9 11 13 152 signaux de 8

points

0 4 8 12 2 6 10 14 1 5 9 13 3 7 11 154 signaux de 4

points

0

0

8

8

4

4

12

12

2

2

10

10

6

6

14

14

1

1

9

9

5

5

13

13

3

3

11

11

7

7

15

15

8 signaux de 2points

16 signaux de 1point

Figure 7.26 – Decomposition d’une FFT a 16 points

0 1 2 3 . . .

Sequence originale

0000 0001 0010 0011

Sequence originale sousforme binaire

Inversion de la sequence

0000 1000 0100 11000 8 4 12 . . .

Sequence de la FFT

Figure 7.27 – Decimation des indices (systeme a 4 bits)

comme on a vu plus haut. Il n’y a donc rien a faire a cette etape ici. Une fois la decimationterminee, le signal n’est plus un signal en fonction du temps, mais un signal en fonctionde la frequence.

La derniere etape de l’algorithme est de recombiner les N signaux en un seul signalde N points. Il faut faire la reconstruction en suivant exactement l’ordre inverse de celuiutilise pour la decimation. Cependant, il n’y a pas de raccourci ou de sequence facile autiliser ; il faut faire la reconstruction etape par etape.

Lorsqu’on combine les sequences pour reconstruire le spectre, si on effectue la recons-truction dans le domaine du temps, c’est comme si on ajoute des zeros entre les bits :l’interpolation zero est utilisee. La figure 7.28 illustre ce concept, en utilisant la memesequence que dans la figure 7.26.

Cependant, a ce stade-ci, la reconstruction se fait dans le domaine de la frequence.

Gabriel Cormier 29 GELE2511

Page 30: Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des ondes sinuso´ ¨ıdales est la fid elit´ e si- ... La notation typique en DSP

CHAPITRE 7. TRANSFORMEE DE FOURIER DISCRETE

0 8 4 12

2 sequences de2 points

Ajout dezeros

+

0 0 8 0

0 4 0 12

0 4 8 12

1 sequence de4 points

Figure 7.28 – Reconstruction du signal, dans le domaine du temps

Quel est l’effet de la reconstruction dans le domaine de la frequence ? L’ajout de zerosdans le domaine du temps correspond a doubler le spectre dans le domaine de frequence.Si on a une sequence abcd dans le domaine du temps, et qu’on ajoute des zeros pouravoir a0b0c0d0, dans le domaine de frequence on aura ABCDABCD. Par contre, pourla sequence impaire, on ajoute un zero au debut. Dans le domaine de frequence, cecicorrespond a multiplier par un sinusoıde.

On peut representer la combinaison de deux sequences de 1 point en une sequence de2 points par une figure appelee un papillon de calcul. La figure 7.29 montre ce papillon decalcul pour la FFT.

×W

+

+

a

b

A = a+WNb

B = a−WNb−

Figure 7.29 – Papillon de calcul de la FFT

7.8.4 Ordinogramme

On utilise souvent un graphique appele un ordinogramme pour representer les calculsde la FFT. L’ordinogramme montre comment les echantillons du signal original sont mul-tiplies et decimes pour obtenir la FFT. C’est un assemblage des papillons de calcul. Lafigure 7.30 montre un exemple d’ordinogramme pour une FFT a 8 points.

7.8.5 Implantation de la FFT

L’implantation pratique de la FFT necessite un nombre de points (d’echantillons) quiest une puissance de 2. Si le nombre d’echantillons n’est pas une puissance de 2, on doit

Gabriel Cormier 30 GELE2511

Page 31: Transformee de Fourier discr´ ete` - umoncton.ca · FFT. C’est une methode ... L’avantage des ondes sinuso´ ¨ıdales est la fid elit´ e si- ... La notation typique en DSP

CHAPITRE 7. TRANSFORMEE DE FOURIER DISCRETE

x[0]

x[4]

x[2]

x[6]

x[1]

x[5]

x[3]

x[7]

X[0]

X[1]

X[2]

X[3]

X[4]

X[5]

X[6]

X[7]

W0

W0

W0

W0

W0

W2

W0

W2

W0

W1

W2

W3

Figure 7.30 – Ordinogramme d’une FFT a 8 points

ajouter des zeros a la fin de la sequence pour combler le manque. De plus, l’algorithme vuprecedemment est appele la decimation en temps : on fait la decimation sur les echantillonsqui sont en fonction du temps. Il est aussi possible de faire la decimation dans le domainede la frequence. Dans ce cas-la, on utilise les echantillons en fonction du temps dansl’ordre, et ensuite il faut organiser les echantillons en fonction de la frequence. Le resultatest le meme.

Gabriel Cormier 31 GELE2511