Vous êtes sur la page 1sur 19

TP n.

1 Analyse de signaux par Tranforme de


Fourier sous Matlab/Simulink
ACHOURAK Mustapha
CHEN Wenping
Tugce Turan
Groupe 2

Introduction :
Un signal numrique est dfini par un nombre dchantillons N relevs une
frquence dchantillonnage Fe. Les signaux sont toujours capts de manire
temporelle, mais on sintresse souvent leur allure frquentielle.
Lobjectif de ce TP est de gnrer et de visualiser des signaux usuels tels que
les signaux carres, sinusoidaux puis deffectuer leur analyse spectrale laide des
outils disponibles sous Matlab tels que la FFT(Fast Fourier Transform) et
DFT(Discrete Fourier Transform) et aussi le filtrage et lanalyse dun signal bruit.

1. Commandes de base sous Matlab pour le traitement du signal


1. Un vercteur ligne et un vecteur colonne

Ligne :
Commande : A=[1 2 3]
Rsultat dans la Commande Window :
A=
1

Colonne :
Commande : B=[1;2;3]
Rsultat dans la Commande Window :
B=
1
2
3
2.Une matrice identit

Commande : eye(6)
Rsultat dans la Commande Window :
ans =
1
0
0
0
0
0

0
1
0
0
0

0
0
1
0
0
0

0
0
0
1
0
0

0
0
0
0
1
0

0
0
0
0
0
0

3.Une matrice constante


Commande : ones(2,3,3)
Rsultat dans la Commande Window :
ans =
3
3

3
3

3
3

4.Une matrice alatoire


Commande : rand(2,3)
Rsultat dans la Commande Window :
ans =
0.9572
0.4854

0.8003
0.1419

0.4218
0.9157

2. Analyse spectrale des signaux selon la methode de Fourier

1.En ralisant sous Matlab le programme permettant lchantillonnage fe=1000Hz et


laffichage dun signal sinusoidal x(t) dune dure de 1s avec une frquence propre fe=10Hz et une
amplitude de 5
Programme :

2. fe=100Hz

fe=15Hz

3.A laide de la commande <fft>

fe=1000Hz
>> plot(abs(fft(y)));

fe=100Hz
>> plot(abs(fft(y)));

fe=15Hz

>> plot(abs(fft(y)));

Nous pouvons voir que plus la frquence dchantillonnage est faible, plus le signal de sortie est
satur.
4.Taille de X(f)

5. Dans tous les cas, on ne peut pas observer une simple composante frquenteille
. Parce que dans tous les cas, Fe (la frequence echantillonnage) soit suprieur ou
gale deux fois la plus haute frquence contenue dans le spectre de ce signal,dou les
diagrammes sont symtriques par rapport .

6.A laide de la commande <ifft>


fe=15Hz

fe=100Hz

fe=1000Hz

7. Conclure
Aprs avoir fait des simulations en variant la frquence dchantillon, on peut conclure
que la frquence dchantillon plus leve, les rsultats sont plus prcis et plus ressemblent
aux rsultats thoriques.

3.Filtrage et analyse dun signal bruite


1et 2 Cration de 1000 chantillons de xb(t) et laffichage de son taille

Commande :
t=[0:0.001:1] ;
x=0.7*sin(2*pi*50*t)+sin(2*pi*120*t)+randn(size(t)) ;
size(t)
size(x)
Rsultat dans la Commande Window :
ans =
1

1001

1001

ans =

La taille de
La taille de

est 1001.
est 1001.

3.Visualisation de lvolution temporelle du signal xb(t) :


plot(x) ;

4.Visualisation de lvolution temporelle de FFT du signal xb(t) :

plot(abs(fft(x)));

5. Observation en changement de facteur Q


Q=1.2
Commande :
t=[0:0.001:1] ;
x=0.7*sin(2*pi*50*t)+sin(2*pi*120*t)+1.2*randn(size(t)) ;
size(t)
size(x)
Rsultat dans la Commande Window :
ans =
1

1001

1001

ans =

La taille de
La taille de

est 1001.
est 1001.

plot(abs(fft(x)));

Q=1.5
Commande :
t=[0:0.001:1] ;
x=0.7*sin(2*pi*50*t)+sin(2*pi*120*t)+1.5*randn(size(t)) ;
size(t)
size(x)
Rsultat dans la Commande Window :
ans =
1

1001

1001

ans =

La taille de
La taille de

est 1001.
est 1001.

plot(abs(fft(x)));

6. On synthtise le filter numrique

7. Nous affichons les spectres damplitudes et de phase de ce filtre laide de la commande


<freqz>

8. Nous pouvons en dduire la fonction de transfert du filtre laide de la commande <tf>


BRUITE:

H = TF(1,[-0.003871 1.758e-018 0.03209 0.1167 0.2207 0.2687 0.2207 0.1167 0.03209


1.758e-018 -0.003871]);
>> t=[0:0.001:1];
>> X=0.7*sin(2*pi*50*t)+sin(2*pi*120*t)+randn(size(t));
>> lsim(H,X,t)

SANS BRUITE :

H = TF(1,[-0.003871 1.758e-018 0.03209 0.1167 0.2207 0.2687 0.2207 0.1167 0.03209


1.758e-018 -0.003871]);
t=[0:0.001:1];
X=0.7*sin(2*pi*50*t)+sin(2*pi*120*t);
>> lsim(H,X,t)

6. Visualisation des signaux filtr et non filtr


Spectre filtr
>> Y=lsim(H,X,t);
>> plot(abs(fft(Y)));

Spectre non filtr

Avec filtrage, moins de perturbation,plus precise.

4.Generation de signaux deterministes sous SIMULINK


T=10s

T=5s

Signal carre :

Conclusion finale :
Cette premire cance nous a tous dabord permis de nous familiariser avec
le logiceil Matlab et deffectuer la transforme de fourrier dun signal non bruit et
dun signal bruit. Ce TP nous a aussi permit de faire le lien entre la thorie vu en
cours et la pratique.

Vous aimerez peut-être aussi