Vous êtes sur la page 1sur 10

École Nationale

des Sciences Appliquées


Université Ibno Zohr
- Agadir -

Transformation de
Fourier et Filtrage

Préparé par : Encadré par :

Ä ASSID Morad. M. BELKADID Jamal


Ä Bazaoui Othman.
Transformation de fourrier & filtrage
OBJECTIF :
Dans ce TP, on se propose d’étudier le spectre de certains signaux avec des applications
directes dans le domaine du filtrage. Tout en vérifiant des propriétés de la transformée de fourrier vus
dans la théorie.

1ère partie :

1)-
- Analytiquement la transformée de Fourrier de la fonction X1 (t) = cos(2*pi*f1 *t) est :
1
X 1 (n ) = (d (n - f 1 ) + d (n + f 1 )) , Car X(t)=(eiπft+e-iπft)/2
2
- En la réalise numériquement avec le script Malab :

Réalisation de la fonction cosinus :

k=256 ;
fe = 8000;
f1 = 400;
t = (0:255)/fe;
x1 = cos(2*pi*f1*t);
n=(-k/2 :(k/2)-1);

Calcule de sa TF :

y1 = abs(fft(x1));
plot(y1) ;

Le résultat est dans le graphe si après.

Commentaire :
Le résultat trouvé par la pratique prouve ce qui était prévu théoriquement.

2)- On refait la même chose pour un sinus et la somme de deux cosinus de fréquences différents :

f1 = 400;
f2 = 600;
x2 = sin(2*pi*f1*t);
x3 = cos(2*pi*f1*t) + cos(2*pi*f2*t);
y2 = abs(fft(x2),k);
y3 = abs(fft(x3),k);
subplot(2,3,1); plot(x1); title('signal x1 = cos(2*pi*f1*t)'); xlabel('t'); ylabel('x1'); grid on;
subplot(2,3,2); plot(x2); title('signal x2 = sin(2*pi*f1*t)'); xlabel('t'); ylabel('x2'); grid on;
subplot(2,3,3); plot(x3); title('signal x3 = cos(2*pi*f1*t)+cos(2*pi*f2*t)'); xlabel('t'); ylabel('x3');
grid on;
subplot(2,3,4); plot(y1); title('signal y1 = abs(fft(x1))'); ylabel('y1'); grid on;
subplot(2,3,6); plot(y3); title('signal y3 = abs(fft(x3))'); ylabel('y3'); grid on;
2ème partie :

1)-
Construction d’ une fonction gaussienne d’écart type 7 centrée 0 :

k=256 ;
t = (-128:127);
s = 7; to = 0;
g = (1/sqrt(2*pi*s))*exp(-(t-to).^2/(2*s^2));
n=(-k/2 :(k/2)-1);

Calcul de sa TF :

TFD_g = (fftshift(fft(fftshift(g)),k));

2)-
Représentation du module,la phase,la partie réelle et la partie imaginaire de sa TF :

moddule_g = abs(TFD_g);
phase_g = angle(TFD_g);
real_g = real(TFD_g);
imaginaire_g = imag(TFD_g);
subplot(231); plot(t,g); title('gaussienne g(t)'); xlabel('t'); ylabel('g(t)'); grid on;
subplot(232) ;plot(n,abs(TFD_g)); title('module de TFD de g(t)'); grid on; ylabel('module');
subplot(233) ;plot(moddule_g); title('module de TFD de g(t)'); grid on; ylabel('module');
subplot(234) ;plot(phase_g); title('phase'); grid on; ylabel('phase');
subplot(235) ;plot(real_g); title('Real') ; grid on; ylabel('real');
subplot(236) ;plot(imaginaire_g); title('imginaire') ; grid on; ylabel('imaginaire');
-3
gaussienne x 10 TF de la gaussienne réel de g
0.06 4 0.06

3.5
0.05 0.05
3
0.04 0.04
2.5

0.03 2 0.03

1.5
0.02 0.02
1
0.01 0.01
0.5

0 0 0
-200 -100 0 100 200 -200 -100 0 100 200 -200 -100 0 100 200

imag de g angle de g le module


1 1 0.06

0.05
0.5 0.5
0.04

0 0 0.03

0.02
-0.5 -0.5
0.01

-1 -1 0
-200 -100 0 100 200 -200 -100 0 100 200 -200 -100 0 100 200

3ème partie : On refait la même chose avec une gaussienne d’écart type 2*7
On remplace dans le script précèdent la nouvelle valeur de S, on obtient :

Les gaussiennes
0.12
s=l"écart type
0.1
s=3.5

0.08

0.06

0.04
s=7
0.02
s=14
0
-150 -100 -50 0 50 100 150

-3
x 10 Les TF des gaussiennes
4

3.5

3
s=7
2.5

1.5 s=3.5
1
s=14
0.5

0
-150 -100 -50 0 50 100 150
1)-
On constate que lorsqu’on double la valeur de l’écart type s l’amplitude de la fonction
gaussiennes g démunie et la fonction devient plus large par rapport au temps.
En ce qui concerne le module de la TFD de g son amplitude augmente et sa largeur par rapport
à la fréquence diminue.

2)- Comparant la TF de notre fonction gaussienne g avec celle de g*exp(2ipiax) :

k=256;
a = 0.1;
t = (-128:127);
n=(-k/2 :(k/2)-1);
s=7; to = 0;
g = (1/sqrt(2*pi*s)).*exp(-(t-to).^2/(2*s^2));
g1 = g.*exp(2*i*pi*a*t);
real_TFD_g = real(abs((fftshift(fft(fftshift(g)),k))));
real_TFD_g1 = real(abs((fftshift(fft(fftshift(g1)),k))));
hold on
plot(real_TFD_g,'r') ; grid on ; title('la partie real de TFD de g');
plot(real_TFD_g1,'b') ; grid on ; title('la partie real de TFD de g');

Commentaire : La réponse de la question numéro 2 nous a permis de mettre en évidence la propriété


qu’on passant par la transformée de fourrier la modulation temporelle implique la translation
fréquentielle.

3)- On veut mettre en évidence la propriétés : F(g(t-a))= G(υ)*exp(-2iπat), pour ça on décale notre
gaussienne d’une valeur a.

K=256 ;
a = 0.1;
t = (-128:127);
n=(-k/2 :(k/2)-1);
s = 7; to= 0;
g = (1/sqrt(2*pi*s)).*exp(-(t-to).^2/(2*s^2));
real_TFD_g = real(abs((fftshift(fft(fftshift(g))))));
real_TFD_g2 = real_TFD_g.*exp(-2*i*pi*a*t);
g1=(1/sqrt(2*pi*s)).*exp(-(t-to-a).^2/(2*s^2));
real_TFD_g1=real(abs((fftshift(fft(fftshift(g1))))));
hold on
plot(t,real_TFD_g2,'r') ; title('la partie real de TFD de g(t) et g(t-a)');
plot(t,real_TFD_g1,'b') ; grid on ;

Commentaire :
- La translation temporelle implique la modulation fréquentielle.

4ème partie :

Génèrer une porte centrée en 128 est dont l'ouverture vaux 2 fois 30 :

p=abs ([-128:127]) <30;

1)-

k=256 ;
f=500
t=(-128:127)/600;
n=(-k/2 :(k/2)-1);
pf=fftshift(p);
pf=fft(pf,k);
pf=fftshift(pf);
subplot(3,1,1)
plot(p);title(' la fonction porte');grid
subplot(3,1,2)
plot(n,abs(pf));title('le spectre de la fonction porte');grid

Commentaire : Conformément à la théorie la TF de la fonction porte est un sinus cardinal.

2)- On multiplie un cosinus par une porte et on calcule sa TF :

p=abs([-128:127])<11;
k=256 ;
f=500 ;
n=(-k/2 :(k/2)-1);
t=(-128:127);
x1=cos(2*pi*t*f);
s=x1.*p
sf=fftshift(s);
sf=fft(sf,k);
sf=fftshift(sf);
plot(n,abs(sf));title('TF(p*cos)');grid
TF(p*cos)
30

25

20

15

10

0
0 50 100 150 200 250 300

Commentaire :
- L’allure montre que le spectre correspond à la somme deux sinus cardinaux ,
Ce qui correspond à la théorie.
- Lorsqu’on réduit la largeur de la porte on aura le résultat suivant :

0.5

0
0 50 100 150 200 250 300
20

10

0
0 50 100 150 200 250 300
15

10

0
0 50 100 150 200 250 300

Remarque :
Si on réduit la largeur de la porte l’amplitude de sa TF ainsi que celle de la porte
multipliée par le cos diminue.

5ème partie :

Soit le signal : f ( x ) = cos( 2pt / a ) + er ( x) ou r(x) est un bruit aléatoire gaussien


de moyenne nulle et de variance 1

Traçant le signal bruité ainsi que le module de sa TF :


e=2;
a=30;
c=1;
t0=0;
k=512 ;
n=(-k/2 :(k/2)-1);
t=(0:511);
r=randn(size(t));
s=cos(2*pi*t/a)+e*r;
sf=fft(s);
subplot(2,1,1);
plot(s);title('le signal bruité')
subplot(2,1,2)
plot(n,abs(sf));title('LA TF du signal bruité')

le signal bruité
10

-5

-10
0 100 200 300 400 500 600

LA TF du signal bruité
300

200

100

0
0 100 200 300 400 500 600

1)-
Non, d’après le signal trouver on ne peut pas reconnaît la sinusoïde.

2)-
D’après le signal trouver on peut identifier les deux pics du module du TF du signal

3)-
A partir de la valeur de e =7 il devient impossible de distinguer les fréquences du cosinus
sur le graphe de la TF.

1)-
f ( x) = exp(- x / 100 ) + e cos(2px / a )
Soit le signal :

Traçant le graphe du signal pur ( e =0) et le signal tramé ( e =0.1)

t= (-256:255);
k=512 ;
a=20;
s1=exp(-abs(t/100))+ 0*cos(2*pi*t/a);
s2=exp(-abs(t/100))+ 0.1*cos(2*pi*t/a);
p=fftshift(s2);
p=fft(p,k);
p=fftshift(p);
hold on;
plot(s1);
plot(s2);
grid;
hold off;

2)-
transformé de fourrier du signal tramé
200

180

160

140

120

100

80

60

40

20

0
0 100 200 300 400 500 600

3)-

x = -256:255;
k=512 ;
a = 20;
e = 0.1;
f1 = exp(-abs(x/100));
f2 = exp(-abs(x/100)) + e*cos(2*pi*x/a);
p = abs(-256:255)<20
mod_f2 = abs(fftshift(fft(fftshift(f2)),k));
z = mod_f2.*p;
h = abs(fftshift(ifft(fftshift(z)),k));
subplot(3,1,1); plot(f1); title('signal pur'); grid on;
subplot(3,1,2); plot(f2); title('signal tramé'); grid on;
subplot(3,1,3); plot(h); title('signal filtré'); grid on;

signal pur
1

0.5

0
0 100 200 300 400 500 600
signal tramé
1.5

0.5

-0.5
0 100 200 300 400 500 600
signal filtré
1

0.5

0
0 100 200 300 400 500 600

Conclusion :
Il est à noter que pour filtrer un signal tramé il faut multiplier sa TF avec une fonction porte.
Le filtrage a pour but l’élimination de bruits ainsi que la reconstruction du signal original, chose
qui vient d’être prouvée à partir du problème précédent.

Vous aimerez peut-être aussi