Académique Documents
Professionnel Documents
Culture Documents
Aaaaaaaaaa
Aaaaaaaaaa
Universit Cadi
Anne
universitaire :2014/2
015
Ayyad
Ecole Suprieur de
Technologie
Traitement du signal
Ralis par :
Encadr par :
ZYATE
M.BOUMAAZ
Page
1
Abdellah
CHMIMO Yassine
Page
2
INTRODUCTION :
MATLAB ( matrix laboratory ) est un langage de programmation
de quatrime
gnration mul par un environnement de
dveloppement du mme nom ; il est utilis des fins de calcul
numrique.
MATLAB permet de manipuler des matrices, d'afficher des courbes
et des donnes, de mettre en uvre des algorithmes, de crer des
interfaces utilisateurs, et peut sinterfacer avec dautres langages
comme le C, C++, Java, et Fortran.
Matlab peut sutiliser seul ou
bien avec des toolbox ( bote outils ).
Objectifs du TP :
Le but de ce TP est de vous familiariser avec le logiciel Matlab qui
sera utilis pour tous les TP de traitement de signal.
Dans ce TP on trouvera en premire partie un bref descriptif du
logiciel et en deuxime partie le TP proprement dit qui se compose de
plusieurs exercices.
Page
3
1.
Description de matlab :
Page
4
Entre au
clavier
Le rsultat
saffiche
Entre au
clavier
Le rsultat est
calcul et affich
Page
5
On peut aussi crire des fonctions sous Matlab. Une fonction sera un fichier
Matlab qui commence par function (et non pas par fonction) et qui aura des
arguments. Par exemple voici la fonction mean qui calcule la moyenne dun
vecteur :
>> a=1:99;
>> y=mean(a);
function y = mean(x)
%MEAN Average or mean value.
% For vectors, MEAN(X) is the mean value of the elements in X.
% For matrices, MEAN(X) is a row vector containing the mean value
% of each column.
Page
6
Exemples :
a. x [0,1], f1(x) = cos(tan(x)):
Programme sous
matlab
t1=0:0.01:1;
f1=cos(tan(pi*t1));
0.8
plot(t1,f1);grid
0.4
title('cos(tan(pi*x),')
cos(tan(pi*x),
0.6
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0.1
0.2
0.3
0.4
0.5
0.6
0.7
matlab
Page
7
0.8
0.9
t2=-10:0.01:10;
f2=sin(t2)./t2;
plot(t2,f2);grid
f2(x) = sin(x)/ x ,
1
0.8
0.6
0.4
title('f2(x) = sin(x)/
x ,')
0.2
0
-0.2
-0.4
-10
-8
-6
-4
-2
f3=t.^5+2*t.^2+t+1;
9000
plot(t3,f3);grid
7000
title('f3=x.^5+2*x.^2+x+1')
10000
8000
6000
5000
4000
3000
2000
1000
0
-100
Page
8
-80
-60
-40
-20
20
40
60
80
100
10
Programme sous
matlab
Page
9
figure(1)
Impulsion unit
1.5
t=-10:10;
x=[zeros(1,10),1,zero
s(1,10)] ;
Amplitude
stem(t,x);
0.5
-0.5
-10
Page
10
-5
0
n
10
matlab
figure(1)
Impulsion unit
1.5
t=-10:10;
x=[zeros(1,10),1,zer
os(1,10)] ;
axis([-10 10 -0.5
1.5]);
title('Impulsion
unit');
Amplitude
stem(t,x);
0.5
xlabel('n');
ylabel('Amplitude');
-0.5
-10
2)Lchelon unit :
Page
11
-5
0
n
10
Programme sous
Echelon unite
1.5
Amplitude
matlab
figure(2)
t=-10:10;
x=[zeros(1,10),ones(1,1
1)];
stem(t,x);
axis([-10 10 -0.5 1.5]);
title('Echelon unit);
xlabel('n');
ylabel('Amplitude');
0.5
-0.5
-10
-8
-6
-4
-2
0
n
10
0.5
A m plitude
t=-10:10;
x=sin(0.35*t);
stem(t,x);
axis([-10 10 -1.5
1.5]);
title('sinus');
xlabel('n');
ylabel('Amplitude');
sinus
1.5
-0.5
-1
-1.5
-10
Page
12
-8
-6
-4
-2
0
n
10
exponentielle
dcroissante
title('Exponentielle
retarde);
xlabel('n');
ylabel('Amplitude');
0.5
Am
plitude
t=-10:10;
u=[zeros(1,10),ones(
1,11)];
x=exp(-0.2*t).*u;
stem(t,x);
axis([-10 10 -1.5
1.5]);
Exponentielle retarde
1.5
-0.5
-1
-1.5
-10
-8
-6
-4
Page
13
-2
0
n
10
Dcalage :
t=-10:10;
delta=[zeros(1,10),ones(1,11)];
subplot(3,1,1);
stem(t,delta);
axis([-10 10 -1.5 1.5]);
title('\delta[n]');
xlabel('n');
ylabel('Amplitude');
subplot(3,1,2);
deltam2=[zeros(1,2),delta(1:length(
delta)-2)];
stem(t,deltam2);
retournement temporelle
Amplitude
1
0
-1
-10
-8
-6
-4
-2
0
n
x[-n]
10
-8
-6
-4
-2
0
n
10
1
Amplitude
t=-10:10;
u=[zeros(1,10),ones(1,11)];
x=exp(-0.2*t).*u;
subplot(2,1,1);
stem(t,x);
axis([-10 10 -1.5 1.5]);
title('x[n]');
xlabel('n');
ylabel('Amplitude');
subplot(2,1,2);
x1=x(length(x):-1:1);
stem(t,x1);
axis([-10 10 -1.5 1.5]);
title('x[-n]');
xlabel('n');
ylabel('Amplitude');
Page
14
-1
-10
f=5sin (2ft)
f=1Hz
g=6cos (2ft)
f1=5Hz
Page
15
Programm
e sous
Page
16
3
-20
20
0.5
1.5
2
t en secondes
2.5
3
2.5
0.5
0
-20
20
V en volts
h=y*x;
subplot(3,1,4
)
plot(t,h)
figure(14)
title('produit'
)
xlabel('t en
secondes')
ylabel('V en
volts')
1.5
2
t en secondes
sous
1
1
0.5
0
-10
10
volts')
3.5
3.5
3
2.5
1.5
2
t en secondes
somme
cos
subplot(3,1,3
)
plot(t,f)
figure(13)
title('sous')
xlabel('t en
secondes')
ylabel('V en
V en volts
f=y-x;
V en volts
subplot(3,1,2
)
plot(t,g)
figure(13)
title('somme'
)
xlabel('t en
secondes')
ylabel('V en
volts')
3.5
matlab
g=y+x;
CONCLUSION
Matlab est loutil de rfrence pour la simulation numrique,
notamment en ce qui concerne traitement du signal Il offre
des possibilits avances que ce soit en matire
didentification ou de commande.
Il permet, de manire plus gnrale, de rsoudre une grande
diversit de
problmes de simulation, dans des domaines aussi varies que
le traitement du signal, les statistiques ou la vision.
Page
17