aaaaaaaaaa.docx

16
Compte rendu des Travaux Pratiques : Traitement du signal Réalisé par : Encadré par : ZYATE Abdellah M.BOUMAAZ CHMIMO Yassine Université Cadi Ayyad Ecole Supérieur de Technologie Année universitaire :2014 /2015

Upload: chmimo-yassine

Post on 16-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: aaaaaaaaaa.docx

Compte rendu des Travaux Pratiques :

Traitement du signal

Réalisé par : Encadré par :

ZYATE Abdellah M.BOUMAAZ

CHMIMO Yassine

Université Cadi Ayyad

Ecole Supérieur de Technologie

Année universitaire :2014/2

015

Page 2: aaaaaaaaaa.docx

INTRODUCTION :

MATLAB (« matrix laboratory ») est un langage de programmation de quatrième génération émulé par un environnement de développement du même nom ; il est utilisé à des fins de calcul numérique.

MATLAB permet de manipuler des matrices, d'afficher des courbes et des données, de mettre en œuvre des algorithmes, de créer des interfaces utilisateurs, et peut s’interfacer avec d’autres langages comme le C, C++, Java, et Fortran. Matlab peut s’utiliser seul ou bien avec des toolbox (« boîte à 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 première partie un bref descriptif du logiciel et en deuxième partie le TP proprement dit qui se compose de plusieurs exercices.

Page 2

Page 3: aaaaaaaaaa.docx

>> Indique que Matlab attend une commande

Entrée au clavier

Le résultat

s’affiche

Entrée au clavier

Le résultat est

calculé et affiché

Commande pour tracer la séquence « b »

Le graphique va apparaître dans une autre fenêtre

« grid on » indique que les unités apparaissent

dans le tracé sous la forme d’une grille

1. Description de matlab :

- Le menu Windows permet d’utiliser les différentes fenêtres de Matlab . - Le menu Help fournit une aide interactive sous la forme d’un fichier Windowsen hypertexte.

Page 3

Page 4: aaaaaaaaaa.docx

Dans cet exemple « a » est un vecteur ligne ; en frappant « b=a+2 » on crée un second vecteur ligne « b » en ajoutant 2 à chacun des éléments de « a »

On demande un tracé en frappant la commande » plot » ; le résultat s’affiche dans une nouvelle fenêtre : en abscisse on obtient le numéro d’indice et en ordonnée la valeur de la composante correspondante de « b ».

Création de programme dans un fichier :

Matlab permet d’utiliser des fichiers de commandes. Un fichier de commandes est fichier rassemblant des commandes Matlab.

Ce fichier est exécuté lorsqu’on tape le nom du fichier sous l’interpréteur. Le nom du fichier doit obligatoirement avoir une terminaison ”.m”. Voici un fichier de commandes fibo.m permettant de calculer la suite de Fibonacci.

% exemple de fichier de commandes, calcul de la suite de Fibonacci% u(n+2)=u(n+1)+u(n)f=[1 1] ;i=1;while f(i) + f(i+1) < 1000 f(i+2)=f(i+1)+f(i); i=i+1;end plot(f)

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 d’un 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.%% See also MEDIAN, STD, MIN, MAX.% Copyright (c) 1984-94 by The MathWorks, Inc.

[m,n] = size(x); if m == 1 m = n;endy = sum(x) / m;

Page 4

Page 5: aaaaaaaaaa.docx

Exemples   :

a. x ∈ [0,1], f1(x) = cos(tan(πx)):

Programme sous matlab Figure sous matlab

t1=0:0.01:1;

f1=cos(tan(pi*t1));

plot(t1,f1);grid

title('cos(tan(pi*x),')

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1cos(tan(pi*x),

b. x ∈ [-10,10], f2(x) = sin(x)/ x

Programme sous matlab Figure sous matlab

t2=-10:0.01:10;

f2=sin(t2)./t2;

plot(t2,f2);grid

title('f2(x) = sin(x)/ x ,')

-10 -8 -6 -4 -2 0 2 4 6 8 10-0.4

-0.2

0

0.2

0.4

0.6

0.8

1f2(x) = sin(x)/ x ,

Page 5

Page 6: aaaaaaaaaa.docx

C. x ∈ [−100,100], f3(x) = x5 + 2x2 + x + 1 :

Approximer par un polynômes du 1er, 2eme et 3eme degrés, la fonction f(x) = sin(x) sur l’intervalle [0,π/2] : x1=0:pi/20:pi/2; n=lenght(x1); y1=sin(x1); figure(6); polt(x1,y1);grid; ordre=3; p=zeros(ordre+1,1); A=zeros(n,ordre+1); for i=1:n for j=1:ordre+1 A(i,j)=x1(i)^(ordre+1-j) end end p=A\y1' c=zeros(1,n); for k=1:ordre+1 c=c+p(k)*x1.^(ordre+1-k); end hold on plot(x1,c,'r');

Page 6

Programme sous matlab Figure sous matlab

t3=-100:10:100;

f3=t.^5+2*t.^2+t+1;

plot(t3,f3);grid

title('f3=x.^5+2*x.^2+x+1')

-100 -80 -60 -40 -20 0 20 40 60 80 1000

1000

2000

3000

4000

5000

6000

7000

8000

9000

10000f3=x.5+2*x.2+x+1

Page 7: aaaaaaaaaa.docx

Programme sous matlab Figure sous matlab

figure(1)

t=-10:10;

x=[zeros(1,10),1,zeros(1,10)

] ;

stem(t,x);

axis([-10 10 -0.5 1.5]);

title('Impulsion unité');

xlabel('n');

ylabel('Amplitude');

-10 -5 0 5 10-0.5

0

0.5

1

1.5Impulsion unité

n

Ampl

itude

Les signaux numériques

Page 7

Page 8: aaaaaaaaaa.docx

1) L’impulsion unité :

2)L’échelon unité :

Programme sous matlab Figure sous matlab

figure(2)t=-10:10;

x=[zeros(1,10),ones(1,11)];stem(t,x);

axis([-10 10 -0.5 1.5]);title('Echelon unité);

xlabel('n');ylabel('Amplitude');

-10 -8 -6 -4 -2 0 2 4 6 8 10-0.5

0

0.5

1

1.5Echelon unit¶e

n

Am

plitu

de

Page 8

Programme sous matlab Figure sous matlab

figure(1)

t=-10:10;

x=[zeros(1,10),1,zeros(1,1

0)] ;

stem(t,x);

axis([-10 10 -0.5 1.5]);

title('Impulsion unité');

xlabel('n');

ylabel('Amplitude');

-10 -5 0 5 10-0.5

0

0.5

1

1.5Impulsion unité

n

Ampl

itude

Page 9: aaaaaaaaaa.docx

Sinus et exponentielle décroissante :

Programme sous matlab Figure sous matlab

Sinus

t=-10:10;

x=sin(0.35*t);

stem(t,x);

axis([-10 10 -1.5 1.5]);

title('sinus');

xlabel('n');

ylabel('Amplitude');

-10 -8 -6 -4 -2 0 2 4 6 8 10-1.5

-1

-0.5

0

0.5

1

1.5sinus

n

Am

plitu

de

exponentielle

décroissante

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]);

title('Exponentielle retardée);

xlabel('n');

ylabel('Amplitude');

-10 -8 -6 -4 -2 0 2 4 6 8 10-1.5

-1

-0.5

0

0.5

1

1.5Exponentielle retardée

n

Ampli

tude

- Opérations sur les signaux   :

1) décalage et retournement temporelle :

Page 9

Page 10: aaaaaaaaaa.docx

Page 10

Page 11: aaaaaaaaaa.docx

Page 11

Décalage :

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);

axis([-10 10 -1.5 1.5]);title('\delta[n-2]');xlabel('n');ylabel('Amplitude');subplot(3,1,3);deltap2=[delta(3:length(delta)),zeros(1,2)];stem(t,deltap2);axis([-10 10 -1.5 1.5]);title('\delta[n+2]');xlabel('n');ylabel('Amplitude');

retournement temporelle 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');

-10 -8 -6 -4 -2 0 2 4 6 8 10

-1

0

1

x[n]

n

Ampl

itude

-10 -8 -6 -4 -2 0 2 4 6 8 10

-1

0

1

x[-n]

n

Ampl

itude

-10

-8-6

-4-2

02

46

810

-1 0 1

[n]

nAmplitude

-10

-8-6

-4-2

02

46

810

-1 0 1

[n-2

]

n

Amplitude

-10

-8-6

-4-2

02

46

810

-1 0 1

[n+

2]

n

Amplitude

Page 12: aaaaaaaaaa.docx

2) Addition, soustraction, multiplication et division sur les signaux :

un programme qui permet de faire les opérations suivantes et qui va les tracer :

f=5sin (2Πf°t) f°=1Hz

g=6cos (2Πf°t) f1=5Hz

h=f+g ; x=f-g ; y=f*g

CONCLUSION

Page 12

Programme

sous matlab

Figure sous matlab

g=y+x;subplot(3,1,2)

plot(t,g)figure(13)

title('somme')xlabel('t en secondes')ylabel('V en

volts')

f=y-x;subplot(3,1,3)

plot(t,f)figure(13)

title('sous')xlabel('t en secondes')ylabel('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')

00.

51

1.5

22.

53

3.5

-10010

cos

t en

sec

onde

s

V en volts

00.

51

1.5

22.

53

3.5

-20020

som

me

t en

sec

onde

s

V en volts

00.

51

1.5

22.

53

3.5

-20020

sous

t en

sec

onde

s

V en volts

Page 13: aaaaaaaaaa.docx

Matlab est l’outil de référence pour la simulation numérique, notamment en ce qui concerne traitement du signal Il offre des possibilités avancées que ce soit en matière d’identification ou de commande.

Il permet, de manière plus générale, de résoudre une grande diversité deproblèmes de simulation, dans des domaines aussi varies que le traitement du signal, les statistiques ou la vision.

Page 13