TP TDS: Ma Propre Transform´ee de Fourrier
Julien Delporte
1 Ma transform´ ee de Fourrier
1.1 Calcul de la TF
Le but de se tp est de coder une fonctionma TF()qui permettra, `a partir d’un signal x(t)donn´e en entr´ee, d’obtenir sa transform´ee de Fourrier. Voici la signature de la fonction :
function [X]= ma_TF(x,t,f) x : le signal temporel.
t : le vecteur temps sur lequel est d´efini le signal temporel.
f : le vecteur fr´equence sur lequel doit ^etre d´efini le signal fr´equentiel.
X : la TF du signal.
Pour simple rappel, voici la d´efinition de la transform´ee de Fourrier d’un signal : X(f) =
Z +∞
−∞
x(t)e−j2πf tdt
1.2 Evaluer sa m´ ethode
Vous testerez votre fonction sur un signal x(t) = Γ(t), d´efini entre −5 et 5 avec un pas d’´echantillonageT e que vous fixerez `a votre guise.
Pour ´evaluer votre m´ethode, vous la comparerez avec la fonctionfft() fourni par matlab. La comparaison aura lieu sur deux plans :
– L’exactitude du calcul.
– Le temps de calcul.
Pour v´erifier l’exactitude de votre calcul, vous tracerez sur un graphe les spectres d’amplitude des trans- form´ees de Fourrier obtenues `a partir des deux diff´erentes fonctions. Pour comparer l’efficacit´e en terme de temps de calcul de votre m´ethode, vous utiliserez les instructionsticet toc.
Conclusion ?
2 Retour sur le filtrage
Suite au TP sur le filtrage analogique o`u vous avez dˆu appliquer un filtre sur un signal qui ´etait une somme de sinuso¨ıdes, vous allez devoir cette fois, nettoyez un signal sonore afin de le rendre audible. le fichier est disponible sur moodle, sous le nom designal.wav. Pour lire un fichier son sous matlab il faut utiliser la commande suivante :
[x,Fs]=wavread(’signal.wav’);
Un son d’une fr´equence ´elev´ee a ´et´e rajout´e sur le signal, vous devrez donc appliquer un filtre passe bas afin de nettoyer le signal. Vous appliquerez un filtre de Chebychev.
Rappel de l’utilisation des fonctions pour cr´eer un filtre :
[B,A] = cheby_asi(ordre,alpha,pulsation_coupure,’s’); % pour un filtre basse basse
[H] = freqs_asi(B,A,w); % o`u w est le vecteur pulsation sur lequel est d´efini votre filtre pour jouer un signal sonore sous matlab, il faut utiliser la commande suivante :
sound(x,Fs);
Reconnaissez-vous ce morceau ?
1