Appliqu ees et de Technologie Fili` ere : RT 2 Ann ee 2012-2013 Enseignante : Wided MILED
TP2 : Matlab et Transformee de Fourier
1 Introduction 1.1 Objectifs La transformee de Fourier est un outil puissant et tr`es largement utilise en traitement du signal ; son utilisation principale est lanalyse frequentielle de signaux. Or, la grande majorite des signaux sont desormais traites de mani`ere numerique, lobjectif de ce TP est de realiser la Transformee de Fourier et detudier le principe dechantillonnage des signaux analogiques par simulation a` laide du logiciel MATLAB. Pour commencer la seance : 1. Creer un repertoire TP2 RT2 sur le bureau. 2. Lancer ensuite Matlab et modifier le repertoire de travail en choisissant le repertoire Bureau/TP2 RT2 que vous avez cree . 3. Ouvrir une fenetre dediteur (Fichier Nouveau Script). 4. Sauvez le fichier dans le repertoire courant sous le nom TP2.m (Fichier Sauver sous). 5. Pour les differentes questions, vous pouvez utiliser un copier-coller a` partir de ce document. Il est fortement recommande de saisir toutes les commandes dans la fenetre de lediteur que vous avez ouverte. Pour executer les commandes saisies, il suffit de les selectionner avec la souris et dappuyer sur la touche F9. 6. Pour inclure des commentaires dans le programme, ce qui est fortement recommande, vous devez utiliser le caract`ere %. Tout ce qui suit ce caract`ere sera neglige lors de lexecution. Pour obtenir laide sur une fonction, tapez help nom fonction. 7. Penser a` sauvegarder reguli`erement le contenu du fichier TP2.m en appuyant sur les touches Ctrl et S.
1.2 Rappels theoriques
1.2.1 Notion de signal Un signal est la representation physique de linformation. La description mathematique des signaux est lobjectif de la theorie du signal. Elle offre les moyens danalyser, de concevoir et caracteriser des syst`emes de traitement de linformation. 1.2.2 Transformee de Fourier La transformation de Fourier permet dobtenir une representation spectrale des signaux deterministes. Celle-ci exprime la repartition frequentielle de lamplitude, de phase, de lenergie ou de puissance des signaux consideres. Definition de la TF : Soit x(t) un signal deterministe, sa Transformee de Fourier est une fonction generalement complexe, de la variable reelle f definie par : Z + X(f ) = x(t)ej2f t dt (1)
2 Representation temporelle et frequentielle
Ce TP est base sur le calcul de la transformee de Fourier dune fonction simple. On e tudiera la fonction x(t) = ea|t| avec a > 0 (2) Commentaires : il est a` remarquer que ce TP traite en principe des signaux continus. Or lutilisation de Matlab suppose lechantillonnage du signal. Il faudra donc e tre vigilant par rapport aux differences de traitement entre le temps continu et le temps discret. 1. Tracer le signal x(t) entre 5 et 5 pour a = 1, avec un pas de temps T e = 0.01 s. 2. Calculer, de mani`ere formelle, sa transformee de Fourier X(f ) et tracez la sur une autre figure entre 5 Hz et 5 Hz avec un pas de frequence F e = 0.01 Hz. 3. Tracer le module et la phase de la transformee de Fourier (fonctions abs et angle).
3 Calcul dune transformee de Fourier par Matlab
Lalgorithme FFT (Fast Fourier Transform), qui permet de calculer rapidement une Transformee de Fourier Discr`ete, est implemente sous Matlab dans la fonction fft. 4. Regardez comment sont calcules les coefficients de Fourier par Matlab (help fft). Quelles differences pouvez-vous constater avec les formules du cours ? En utilisant cette fonction de Matlab , calculez la FFT du vecteur x(t). Tracez le resultat en partie reelle, partie imaginaire, module et phase. Que constatez-vous en terme de symetrie sur le graphe des spectres ? Que valent les e nergies du signal et de la transformee de Fourier ? Verifiez la validite de la formule de Parseval. Indication : sum(A) donne la somme des e lements du vecteur A. 5. On remarquera que la TF est une fonction complexe et que la fonction ainsi obtenue decrit la TF de x(t) entre 1/(2T e) et 1/(2T e) par pas de 1/(N T e) o`u N est le nombre de points constituant le signal x(t). En general, on pref`ere centrer la TF autour de 0. Pour cela, il faut utiliser la fonction fftshift qui, appliquee sur un vecteur X, deplace la deuxi`eme moitie du vecteur au debut ; essayez X=1 :6 suivi de fftshift(X) (cf. figure 1.1).
Tracer le spectre en amplitude de la TF de x(t) entre 5 et 5 Hz. Justifier les differences
avec le resultat du (2.3). >> fx= fftshift(Te * fft(x)) ; 6. La Transformee de Fourier Inverse sobtient par la commande >> xt=abs (ifft(fx)/Te) ; Il est necessaire de considerer le module de la transformee de Fourier inverse car la TF et la TF inverse sont des operateurs a` valeurs complexes. Retrouve ton exactement le signal de depart ? 2
7. Illustrer la propriete de decalage frequentiel de la TF en representant le module de la TF de
x(t) ei2f0 t avec f0 = 5Hz.
Commandes susceptibles de vous e tre utiles
Rappel : Une aide en ligne de toutes les fonctions Matlab sont disponibles grace a` la commande : help nom de fonction
plot xlabel ylabel title axis fft ifft linspace(a,b,n) abs real imag
permet de tracer une fonction
rajoute une legende a` laxe des abscisses rajoute une legende a` laxe des ordonnees rajoute un titre a` une figure permet de modifier la valeur des axes calcule une transformee de Fourier Rapide calcule une transformee de Fourier inverse gen`ere un vecteur de n valeurs e quidistantes entre a et b calcule une valeur absolue ou un module dans le cas complexe extrait la partie reelle dun nombre complexe extrait la partie imaginaire dun nombre complexe