Trasformée de Fourier Discrète Trasformée de Fourier rapide (F.F.T.) Pierre Le Bars (avec la collaboratio de Fracis Gary) lebars@moiut.uiv-bpclermot.fr
Trasformée de Fourier Discrète Trasformée de Fourier rapide (F.F.T.) I/ Eocé du problème O a vu la dualité temps - fréquece ; coaissat le sigal x(t), o peut e déduire sa trasformée de Fourier X(f) : + j..f.t X(f ) x(t).e.dt = (I) Le problème est le suivat : x(t) état cou expérimetalemet (et o mathématiquemet), est-il possible d évaluer cette itégrale, autremet dit, est-il possible de détermier expérimetalemet le spectre X(f) de x(t)? Il existe deux types d aalyseur de spectre : aalyseurs aalogiques, utilisés e hautes fréqueces (supérieures à quelques mégahertz). Ils permettet otammet d aborder les problèmes de CEM. aalyseurs umériques, utilisés e basses fréqueces. ous allos étudier cette deuxième catégorie d aalyseurs de spectre. II/ Trasformée de Fourier Discrète (TFD) x(t) -- Pricipe T E x e (t) {x } C.A.. Calculateur Spectre x = x e(.t E) = x(.t E) O suppose le ombre de bits du covertisseur suffisat pour égliger les effets de la quatificatio, et surtout o suppose que l échatilloage est correct : le théorème de Shao est respecté. O dispose d u ombre fii d échatillos, umérotés de = à = -, stocés das la mémoire du calculateur. O coaît doc x(t) sur ue durée D =.T E. Le problème cosiste à évaluer l itégrale (I) avec les échatillos. Or les bores d itégratio de (I) s étedet de à +, et o e coaît le sigal que de t = à t =.T E. Pour défiir x(t) pour toutes les valeurs de t (de à + ), il faut doer des valeurs arbitraires à x(t) pour t < ou pour t >.T E.
O peut evisager deux solutios simples : x(t) = pour t < ou t >.TE D =.T E x(t) x e (t) x T E.T E (-).T E t Le sigal x(t) est de durée limitée : il possède ue trasformée de Fourier X(f). La foctio X de la variable cotiue f est pas accessible à u système de traitemet umérique : le calculateur devrait calculer ue ifiité de valeurs X(f) pour toutes les fréqueces f. Cette solutio est pas possible e pratique, doc sas itérêt. «périodiser» x(t) Soit x P (t) u sigal périodique, de période D, tel que sur l itervalle [,D ], x P (t)=x(t). x D =.T E x(t) x P (t) x e (t) T E.T E (-).T E D t
x P (t) est u sigal périodique, qui peut être décomposé e série de Fourier, et sur l itervalle [,D ] : + j....t D x P(t) = x(t) = X.e car : f = = fréquece de x P(t) = D Mais ous avos supposé que le théorème de Shao est vérifié ; c est à dire que : fe X = si. > soit > car D=.TE =. D fe O peut doc écrire fialemet : () P + j.... π D.t = x (t) = x(t) = X.e (sur l itervalle [, D]) Cette solutio est itéressate car le calculateur doit détermier valeurs X, fe correspodat aux fréqueces. =. =., c est à dire qu il doit calculer u D.TE ombre fii de valeurs. -- Trasformée de Fourier Discrète : défiitio La relatio () est vérifiée pour toute valeur de t comprise etre et D ; o peut l écrire e particulier aux istats d échatilloage t =.T E : Soit : + j.....te.te P E = E = = = E = x (.T ) x(.t ) x X.e car : D.T + j... = x = X.e Peut-o évaluer X à partir des échatillos x? D j...t D X =. x(t).e.dt (calcul des coefficiets de Fourier) D. T E. x(.t ).e = E j.... TE. T E Par défiitio, la trasformée de Fourier discrète (T.F.D.) de la suite umérique {x } est la suite umérique {X } telle que :.T E + j... = x = X.e X =. x.e = j... () (3) 3
-3- Vérificatio Le raisoemet approché suivi ci-dessus (calcul approché de l itégrale par ue somme de Darboux) permet de compredre l origie de la relatio (3). O peut vérifier à posteriori la cohérece de ces relatios : + j... j..p. j... (3) :. x.e. X p.e =.e (e itroduisat la relatio ()) = = p = + j..(p ). p = p = =. X.e S = + j..(p ). X. p e p = = S Calculos la somme S : S= = = e j..(p ). j..(p ) v (e posat : v e ) = = v si v soit p = v (somme des termes d'ue progressio géométrique) siv= soitp= Or, si p : j..(p ). j..(p ) v v = e = e = S= = v La somme S se réduit doc au seul terme correspodat à p =, tous les autres état uls. O a doc : j.... x.e =.X. = X = C est bie ce qu o voulait démotrer. 4
-4- Propriétés de la T.F.D. 4.. Périodicité La suite {X } est ue suite périodique de période. E effet : j..( + ). j... j... j... X + =. x.e =. x.e.e =. x.e = X = = = O pouvait s attedre à ce résultat : le sigal x(t) a été échatilloé. O a doc redu so spectre périodique de période FE = =.T D 4.. Autre expressio de la T.F.D. E j.. e = E teat compte de la périodicité, o peut remplacer tous les termes X d idice égatif par X -. Les relatios et 3 devieet alors : = j... x = X.e (') X =. x.e = j... (3) 4.3. Symétrie.. * π j..( ). π j... * = = = = = = X. x.e X. x. e X * où X désige le complexe cojugué de X. Avec la propriété de périodicité, o peut dire que : X = X = X (4) * Coséquece pratique : le calculateur e calculera que / coefficiets X, puis o complétera par symétrie. -5- Le double échatilloage Le sigal x(t) est tout d abord échatilloé das le temps avec ue période d échatilloage T E. O calcule à partir des échatillos x les coefficiets X, amplitudes FE complexes du spectre de x(t) pour les fréqueces. =. =., c est à dire qu o D.T E 5
obtiet u échatilloage e fréquece du spectre de x(t) avec ue période (fréquetielle!) F E /. x ECHATILLOAGE TEMPOREL x Période T E T E.T E t X Trasf. FOURIER «classique» ECHATILLOAGE SPECTRAL X T.F.D. Période F E / F E /.F E / f -6- Dualité temps - fréquece E échatilloat u sigal x(t) das le domaie temporel, o «périodise» so spectre (voir le théorème de Shao). De même e échatilloat le spectre X(f) (das le domaie spectral), o «périodise» le sigal x(t) (das le domaie temporel). III/ Trasformée de Fourier Rapide (Fast Fourier Trasform) O emploie gééralemet l expressio «trasformée de Fourier rapide» ou «F.F.T.» (Fast Fourier Trasform). O devrait dire e toute rigueur : «algorithme rapide de calcul de la trasformée de Fourier discrète». -- Mise e œuvre d ue T.F.D. O dispose de échatillos x, et ous devos calculer coefficiets X (la relatio 4 permet de e calculer que la moitié des coefficiets). 6
j... X =. x.e = Pour u terme X, il faut faire :. additios ( pour la partie réelle et pour la partie imagiaire). multiplicatios (même raiso) soit pour coefficiets : (. ) = additios (. ) = multiplicatios U D.S.P. (Digital Sigal Processor = processeur spécialisé das le traitemet umérique du sigal) réalise l esemble multiplicatio + additio e aosecodes eviro. Si o dispose de = 4 échatillos, le calcul des coefficiets de la TFD dure : = = = excluat ue utilisatio e temps réel. 8 6 8 t calcul (4 ). 6..,6 s -- Algorithme de Cooley et Tuey De ombreux algorithmes ot été proposés, le premier état celui de Cooley et Tuey. Si est pair, soit : =.P : j.. X =. x.u (e posat : u = e ) = P P. x..q.(.q ).q.u x.q.u + = + + q= q= e séparat les échatillos d idices pairs et d idices impairs. Or : Si o pose : o a : j....q j....q j...q..q.p P u = e = e = e x' = x ; y' = x et u' = e q.q q.q+ j. P X. x'.u' u. y'.u' P P q. q. = q + q q= q=. X' u = +.Y' où X et Y sot les TFD des suites x q et y q de logueur P. Pour calculer X, il faut P multiplicatios + additios, et autat pour Y. De plus, il faut faire P multiplicatios + additios du type u.y' (P/ pour la partie réelle et P/ pour la partie imagiaire). Il faut doc faire : P + P opératios (multiplicatio + additio), soit : +. Pour l exemple ci-dessus, o passe de 6. 6 opératios à 8,. 6. Algorithme proposé e 963 7
Mais si P est pair à so tour, o peut recommecer. De sorte que si est de la forme m =, o peut recommecer m fois, et passer aisi de opératios à eviro m. Exemple : = 496 = Si ue opératio multiplicatio + additio pred s, le calcul dure : tcalcul = 4 96 s 5 µs à comparer à t ( ) calcul = 4 96 s,7 s si o utilise directemet la relatio (3), soit u gai d u facteur 34. -3- Exemple Pour illustrer l algorithme de Cooley et Tuey, preos = 8 = 3 (m = 3) x x = x x = x x = x = x x = x = x 4 x x = x 4 y = x = x x x 3 = x 6 y = x 3 = x 6 x 3 x 4 x 5 y = x y = x 3 x = y = x x = y = x 5 x 6 x 7 y = x 5 y 3 = x 7 y = y = x 3 y = y 3 = x 7 u = e j. 8 u' = e j. 4. j. π u'' = e = où : X =.( X' + u.y' ) 8 =. X '' + u '.Y '' + u. X ''' + u '.Y ''' 8 ( ) ( ) X'' = x'' + ( ).x'' = x + ( ).x 4 Y'' = y'' + ( ).y'' = x + ( ).x 6 X ''' = x ''' + ( ).x ''' = x + ( ).x 5 Y ''' = y ''' + ( ).y ''' = x + ( ).x 3 7 8
IV/ Précautios d utilisatio -- Echatilloage temporel Si o e pred aucue précautio, la trasformée de Fourier discrète (ou la FFT) doe u échatilloage e fréquece du spectre replié de x(t). L exemple ci-dessous (figure a) doe le résultat de l aalyse FFT d u sigal carré de fréquece 5 Hz, échatilloé à 56 Hz, sur = fe 56 = 4 poits (résolutio = =, 5 Hz ). 4.7 5 Hz (a).7 (b).6.6.5.5.4.4 X X F.3. 75 Hz 5 Hz.3... 4 6 8 F (Hz) 4 6 8 F (Hz) Le remède est cou : il suffit de placer à l etrée de l aalyseur u filtre d atirepliemet : x(t) x F (t) Aalyseur de spectre F La figure b doe le résultat de l aalyse spectrale, réalisée das les mêmes coditios, mais e itercalat, avat l échatilloeur, u filtre passe-bas de Butterworth d ordre 8 de fréquece de coupure 8 Hz. -- Exemple de calcul C FE = j...f.t Soit x(t) = e π E, échatilloé à la fréquece f E : x j...f..t = e π, respectat le fe théorème de Shao : f <. Das la pratique, u tel sigal existe pas : x(t) = cos(.f.t) ou si(.f.t), qu o peut décomposer e deux sigaux expoetiels de fréqueces f et f. 9
Cherchos la TFD {X } de la suite {x } : j... j..f..te X =. e.e = =. e j.. f.t E. = j.. f.te =. v où v = e = er cas : il existe ue valeur de telle que f.t E = f.t E = f = = D=.T.TE T D O a eregistré u ombre etier de périodes du sigal x(t). Pour cette valeur = : v = = X = = = Pour les autres valeurs de : ' : ( ') j.. v e = v j.. ' v = = = X' = ( ) e FE FE O obtiet doc ue seule raie à la fréquece. = f..t. = f O obtiet le spectre attedu. E ème cas : existe pas ; o a pas eregistré u ombre etier de périodes. O e peut pas simplifier l expressio de X : X =. -3- ombre limité d échatillos ( π ) si..f.t E π si π.f.t E. Das l exemple ci-dessus, o e cherche pas la trasformée de Fourier d ue siusoïde (de durée ifiie), mais la trasformée de Fourier d ue siusoïde de durée fiie D (voir aexe du chapitre sur l échatilloage) : D si [ π.(f f ).D] X(f) =. π.(f f).d et, e plus, ce spectre est replié! La figure ci-dessous doe le résultat de l aalyse spectrale, sur = 4 = 6 poits du sigal x(t) = si(.f.t) échatilloé à f E = 3 Hz (D =.T E = 6/3 =,5 s), pour deux valeurs de f : f = 6 Hz : o a eregistré u ombre etier de périodes (D =,5 s = 3.T ) f = 5 Hz
f = 6 Hz f = 5Hz.5.5 X X(f).4.4.3.3 X(f) X.... 5 5 3 4 5 6 7 8 f (Hz) 5 5 3 4 5 6 7 8 f (Hz) Dit d ue autre faço, la FFT e coaît que les fréqueces -4- Iterprétatio physique Pour itroduire la TFD, ous avos redu le sigal x(t) périodique. FE.. Hz =. f = 6 Hz f = 5 Hz x(t) f = 6 Hz Feêtre w(t) f = 5 Hz x(t) Distorsios sigal étudié («périodisé») sigal étudié («périodisé») E redat le sigal périodique, o itroduit des distorsios sur les bords de la «feêtre d observatio» si o a pas eregistré u ombre etier de périodes.
-5- Remède 5.. Etude qualitative La feêtre w(t) utilisée précédemmet est ue feêtre rectagulaire (parfois appelée feêtre aturelle) : w(t) = si t < D et w(t) = si t [, D[ O costate que les distorsios itroduites e redat le sigal périodique se situet sur les bords de la feêtre ; l idée cosiste doc à utiliser ue feêtre déformate, privilégiat les échatillos au cetre de la feêtre. O affecte chaque échatillo x d u coefficiet de podératio w = w(.t E), et o calcule la FFT de la suite umérique y = x.w. Ces coefficiets sot tels que : w pour voisi de, et w pour voisi de ou voisi de - 5.. Etude quatitative Soit y(t) le sigal déformé par la feêtre : y(t) = x(t).w(t). Si x(t) = si(.f.t), y(t) = w(t).si(.f.t) : y(t) correspod à u sigal modulé e amplitude «sas porteuse» (DSBSC), la porteuse ayat ue fréquece f. Le spectre de y(t) est obteu e décalat le spectre W(f) de w(t) de + f et de - f : Y(f) =.[ W(f f ) W(f + f ) ].j Pour ue feêtre rectagulaire : si ( π.d.f ) W(f) = D. π.d.f.9.8 W(f) D.7.6 lobe cetral.5.4 lobes secodaires.3.. -5-4 -3 - - 3 4 5 D.f largeur du lobe cetral
O a cherché w(t) de faço à ce que les lobes secodaires de W(f) aiet les amplitudes les plus faibles. E gééral ceci s accompage d u élargissemet du lobe cetral (voir aexe). 5.3. Exemple : feêtre de Hammig t,54, 46.cos. si t [, D[ D w(t) = si t [,D[ D Au cetre de la feêtre : w =,54 +,46 = et sur les bords : w() = w(d) =,54,46 =,8 E repreat les deux exemples étudiés précédemmet (f E = 3 Hz, = 6, D =,5 s, f = 6 ou 5 Hz), o obtiet, après podératio les résultats suivats : f = 6 Hz f = 5 Hz y(t) w(t) y(t) w(t) Distorsio y(t) «périodisé» attéuée y(t) «périodisé» Y Y W(f - f ) W(f - f ) 4 6 8 f (Hz) 3 4 4 6 8 f (Hz) 3 4 3
5.4. Exemple d aalyse d u sigal complexe O peut égalemet mettre e évidece l itérêt d ue feêtre de podératio (de Hammig par exemple) e étudiat le sigal : x(t) =.cos.f.t +,.cos.f.t ( ) ( ) où f = 5,3 Hz et f =,5 Hz, échatilloé à 56 Hz sur ue durée D = s (soit = 56 = 8 ). Les fréqueces f et f e sot pas des multiples de f E / = Hz (cas défavorable), de plus il existe u facteur etre les amplitudes de chaque composate..9 Feetre rectagulaire.7 Feetre de Hammig.8.7.6 mise.6 e évidece de l existece d ue composate de fréquece comprise etre et Hz.5 X.5.4 X.4.3.3.... 5 5 5 5 V/ Utilisatio d u aalyseur FFT : choix des paramètres ous predros l exemple de l aalyse spectrale réalisée e TP : aalyse d u sigal de fréquece F P = Hz, modulé e amplitude par u sigal de fréquece Hz. Cette aalyse a été faite à l aide d u oscilloscope à mémoire umérique Tetroix, mui d u module de calcul FFT. U véritable aalyseur de spectre FFT, possède à l etrée u filtre passe-bas d atirepliemet, ce qui est pas le cas de l oscilloscope. F P -f i F P F P +f i f Le spectre du sigal modulé est représeté ci-cotre. Pour respecter le théorème de Shao, il faut que : f >. F + f = Hz ( ) E P i L oscilloscope dispose d ue mémoire de = = 48 poits (m = ). Ces 48 poits correspodet à u balayage de la base de temps. Pour mettre e évidece les 3 raies il faut : respecter le théorème de Shao fe avoir ue résolutio = petite devat f i D = Hz 4
Durée d observatio : D = B, où B est le calibre de la base de temps e s/div. 48 48 De plus : D = 48 T E FE = = D.B O doit doc satisfaire aux coditios suivates : 48 Shao : fe = > B < 93 ms / div.b résolutio : << B >> ms / div.b O peut choisir par exemple B = 5 ms/div, c est à dire visualiser 5 périodes de l iformatio sur l écra de l oscilloscope : o a aisi ue fréquece d échatilloage de 4 Hz eviro et ue résolutio de Hz. Les échatillos sot podérés par ue feêtre de Hammig. O pourrait égalemet predre B = ms/div : résolutio = 5 Hz et f E Hz, mais pas B = ms/div (f E Hz <.(F P + f i )! ) Aexe : exemples de feêtres L aexe suivate présete 5 feêtres classiques. Il e existe bie d autres. O peut citer : «flattop» (proche de la feêtre rectagulaire, mais à bords arrodis) gaussiee (w(t) et W(f) sot des courbes de Gauss, sas lobes secodaires) Kaiser (faisat appel aux foctios de Bessel) etc Le choix de la feêtre, déped du sigal que l o veut aalyser et de la partie spectrale que l o souhaite étudier (comme o choisit u filtre de type Butterworth, Chebychev ou Cauer). 5
EXEMPLES DE FEETRES Remarque : pour simplifier les expressios de w(t) et W(f), les feêtres sot cetrées sur. Pour passer aux feêtres défiies sur [, D[, il suffit de décaler de D/, soit das le domaie spectral de j..f.d multiplier par e π. si x otatio : si c(x) = x om feêtre w(t) W(f) rectagulaire pour t [ ; D [ ou aturelle pour t [ ; D [ triagulaire (Bartlett).t D pour < t < D.t D + pour < t < D si c ( π.d.f ) D si c..f π Ha Hammig Blacma t cos π. D t =. cos.. + π D t,54 +, 46.cos. D, 4 +,5.cos. D +,8.cos 4. π. D t t ( π ) + ( π π ) si c.d.f.si c.d.f +.sic π+π.d.f ( ) ( π ),54.si c.d.f +, 3.si c π π.d.f +, 3.si c π+π.d.f ( ) ( ) ( π ) + ( π π ) + ( π+π ) + ( π π ) + ( π+π ), 4.si c.d.f,5.si c.d.f,5.si c.d.f, 4.si c..d.f, 4.si c..d.f 6.8.6.4..8.6.4. -.4 -...4.6 aturelle Bartlett Hamig Ha Blacma représetatio spectrale représetatio temporelle -4-3 - - 3 4 oms Largeur lobe cetral lobe sec odaire lobe cetral (db) W(f E / ) W() (db) rectagulaire.fe/ -3,3-3,9 Bartlett 4.fE/ - 6 -,4 Ha 4.fE/ - 3 -,4 Hammig 4.fE/ - 54 -,75 Blacma 6.fE/ - 66 -,9