Vous êtes sur la page 1sur 14

Centre Universitaire de Bordj Bou Arreridj

Institut des Sciences et de la technologie


Département d’électronique

COMPTE RENDU DU T.P De Traitement De Signal

Réalisé par : Guissous amine

3eme Télécommunication

Année universitaire :2010-2011
Centre Universitaire de Bordj Bou Arreridj
Institut des Sciences et de la technologie
Département d’électronique

Dans ce TP on se propose de traiter comme sujet ,l’analyse et la modélisation des différent


systèmes et signaux analogiques à l’aide de MATLAB qu’est un environnement puissant,
complet et facile a utiliser destiné au calcul scientifique .

1) On définit l’axe du temps.


2) On le pas d’échantionnage :
fs=250;
t=-5:1/fs:5;
dt=1/fs;

3) On fait le traçage des signaux à l’aide des fonctions polt, stem, xlabel, ylabel, ylim, set, tit, et on va
considérer que les fonctions sont continues de pas presque négligeable.

Le traçage de a(t)

Script MATLAB le tracé de a(t)


fs=250;
dt=1/fs; 1 cos(t)
t=-5:1/250:5;
T=1
a=cos(pi*t/T) 0.5
plot(t,a,'b','linewidth',
3);grid on;
cos(t)

set(gca,'fontsize',14); 0
legend('cos(t)');
title('le tracé de a(t)')
xlabel(' t(ms) '); -0.5
ylim([-1.2 1.2]);
ylabel(' cos(t)');
-1

-5 0 5
t(ms)

Compte rendu du TP de traitement de signal de l’année 20010-2011


Centre Universitaire de Bordj Bou Arreridj
Institut des Sciences et de la technologie
Département d’électronique

le tracé de b(t)
Le traçage de b (t) :
sinc(t/T)
1

0.8
0.6

sinc(t/T)
0.4

0.2
0

Le traçage de C(t) -0.2


-0.4

-5 0 5
fs=250; t(ms)
dt=1/fs;
t=-5:1/250:5;
T=1
c=1/2*(sign(t)+1) le tracé de c(t)
plot(t,c,'r','linewidth',3);g
rid on; 1
set(gca,'fontsize',14);
0.8
title('le tracé de c(t)') 0.6
xlabel(' t(ms) ');
echelon(t)

0.4
ylim([-0.6 1.2]);
ylabel(' echelon(t)'); 0.2
0
Le traçage de Dirac(t) : -0.2
-0.4
fs=250;
dt=1/fs; -5 le tracé 0de d(t) 5
t=-5:1/250:5; t(ms)
T=1 1
d=not(t) 0.8
plot(t,d,'r','linewidth',3);g
rid on; 0.6
Dirac(t)

set(gca,'fontsize',14); 0.4
0.2
title('le tracé de d(t)')
0
xlabel(' t(ms) ');
ylim([-0.6 1.2]); -0.2
ylabel(' Dirac(t)'); -0.4

-5 0 5
t(ms)

Le traçage de Rect(t) :

Compte rendu du TP de traitement de signal de l’année 20010-2011


Centre Universitaire de Bordj Bou Arreridj
Institut des Sciences et de la technologie
Département d’électronique

T=1;
t=-5:1/250:5;
s=1/2*(sign((t+1)/4*T)+1)-1/2*(sign((t-1)/4*T)+1);
plot(t,s,'r','linewidth',3);grid on;
set(gca,'fontsize',14);
legend('rect(t)');
title('rectangle')
xlabel(' t(ms) ');
ylim([0 1.2]);
ylabel(' rect(t)');

rectangle

rect(t)
1

0.8
re c t(t)

0.6

0.4

0.2

0
-5 0 5
t(ms)

Le traçage de tri(t) :
y=1/2*(sign(t+1/2)+1)-1/2*(sign(t-1/2)+1
plot(t,y,'b','linewidth',3);grid on;
set(gca,'fontsize',14);
legend('tri(t)');
title('signal triangle')
xlabel(' t(ms) ');
ylim([0 1.2]);
ylabel('tri(t)');

signal triangle

tri(t)
1

0.8
tr i( t)

0.6

0.4

0.2

0
-5 0 5
t(ms)
fs=250;
dt=1/fs;
t=-5:1/250:5;
T=1
Le traçage de z(t) :
s=1/2*(sign((t+1)/4*T)+1)-1/2*(sign((t-1)/4*T)+1)
u=cos(pi*t/4*T);
plot(t,s.*u,'r','linewidth',3);grid on;
set(gca,'fontsize',14);
title('le
Compte rendu du tracé de z(t)')
TP de traitement de signal de l’année 20010-2011
xlabel(' t(ms) ');
xlim([-5 5]);
ylim([-0.6 1.2]);
ylabel(' z(t)');
Centre Universitaire de Bordj Bou Arreridj
Institut des Sciences et de la technologie
Département d’électronique

le tracé de z(t)

1
0.8
0.6
z (t)

0.4
0.2
0
-0.2
-0.4

-5 0 5
t(ms)

4) On détermine la période et la fréquence du signal :

πt 2π 1
On a a (t)=cos ( )=cos(2 π f 0 t )Or 2π f 0= Donc T_0= 2T=2s  et f 0= =0,5 Hz
T T0 T0

5) On effectue le calcul théorique des énergies de x(t), y(t) et z(t) (avec T=1) :
Afin de faciliter le calcul et comme le pas d’echantionnage est très petit, nous allons travailler
Avec les signaux continus.
2
E x =∫ dt=4
−2

2 2
2
E y =∫ ¿ 1−|t /2|¿ dt =∫ ¿ ¿ ¿
−2 −2

2 2
¿ + =1.33
3 3
2 2
πt 2
E z=∫ ¿ cos ⁡( )¿ dt=1/2 ∫ ¿ ¿ ¿
−2 4 −2

Compte rendu du TP de traitement de signal de l’année 20010-2011


Centre Universitaire de Bordj Bou Arreridj
Institut des Sciences et de la technologie
Département d’électronique

6) On calcule numériquement les énergies de x(t), y(t) et z(t)

L’énergie x(t) :

fs=250;
dt=1/fs;
T=1;
f=-4:0.1:4;
t=-5 :dt:5;
df=0.1;
s=1/2*(sign(t+2*T)+1)-1/2*(sign(t-2*T)+1);
E=dt*sum(abs(s).^2)
E= 3.9746

L’énergie y(t)

fs=250;
dt=1/fs;
T=1;
f=-4:0.1:4;
t=-5:dt:5;
df=0.1;
s=1/2*(sign(t+1/2)+1)-1/2*(sign(t-1/2)+1)
E=dt*sum(abs(s).^2)
E = 1.3333

L’énergie z(t)

fs=250;
dt=1/fs;
T=1;
f=-4:0.1:4;
t=-5:dt:5;
df=0.1;
u=1/2*(sign((t+1)/4*T)+1)-1/2*(sign((t-1)/4*T)+1);
s=cos(pi*t/4*T).*u
E=dt*sum(abs(s).^2)
E =2.0000

Conclusion :

En comparant les résultats théoriques et ceux donnés par MATLAB, on constate que MATLAB
est plus précis. Il donne le résultat exact de l’énergie du signal. Donc le calcul théorique ne donne que des
résultats approchés.

Compte rendu du TP de traitement de signal de l’année 20010-2011


Centre Universitaire de Bordj Bou Arreridj
Institut des Sciences et de la technologie
Département d’électronique

7) On crée des nouvelles fonctions sous MATLAB :

 la fonction échelon :

function out=echelon(x)

out=0.5*(sign(x)+1)

 impulsion de Dirac :

function out=delta(t);
out=not(t);

 fonction rect :

function out=rect(t)
out=1/2*(sign(t+1/2)+1)-1/2*(sign(t-1/2)+1)
 fonction « Tri  » qui réalise l’impulsion triangulaire:
function out=tri(x)

out=(1-abs(x)).*rect(x/2);

Pour faire le produit scalaire de 2 fonctions on doit ajouter un point a coté de l’opération, sinon MATLAB
renvoie une erreur.

8) On définit l’axe de fréquence de pas 0.1 par :


df=0.1;
f=-4:df:4

Compte rendu du TP de traitement de signal de l’année 20010-2011


Centre Universitaire de Bordj Bou Arreridj
Institut des Sciences et de la technologie
Département d’électronique

9) On utilise la définition de la TF dans le domaine discret pour élaborer une fonction qui fait la transforme de
FOURIER des fonctions a l’aide d’une boucle for :

df=0.1;
fs=250 ;
dt=1/fs ;
t=-2:1/250:2;
j=sqrt(-1);
f=-4:df:4;
X=0;
n=0:1:length(f);
for k=1:length(t)
X=X+dt*exp(-2*j*pi*n*df*k*1/250);
end
out=X;
plot(n*df,real(X),'r','linewidth',3);grid on;
set(gca,'fontsize',14);
legend('Re[X(f)]');
title('Re[X(f)]en fonction de la frequence')
xlabel('frequence(HZ)');
ylabel('reel(X(f))');
plot(n*df,imag(X),'r','linewidth',3);grid on;
set(gca,'fontsize',14);
legend('Imag[X(f)]');
title('Imag[X(f)]en fonction de la frequence')
xlabel('frequence(HZ)');
ylabel('imag(X(f))');

Re[X(f)]en fonction de la frequence Imag[X(f)]en fonction de la frequence


5 3
Re[X(f)] Imag[X(f)]
4 2

3 1
imag(X(f))
reel(X(f))

2 0

1 -1

0 -2

-1 -3
-4 -2 0 2 4 -4 -2 0 2 4
frequence(HZ) frequence(HZ)

Compte rendu du TP de traitement de signal de l’année 20010-2011


Centre Universitaire de Bordj Bou Arreridj
Institut des Sciences et de la technologie
Département d’électronique

10) On crée des nouvelles fonctions Matlab « tfsc » qui réalise la transformée de Fourier d’un
signal alaide d’une boucle for :

function out=tfsc(x,t,f)
X=0;
dt=t(2)-t(1);
df=f(2)-f(1) ;
n=0:1:length(f);
for k=1:length(t)
X=X+x(k)*dt*exp(-2*j*pi*n*df*k*dt);

11) on utilise la fonction « tfsc » pour calculer les transformées de Fourier A(f), B(f), Y(f) et Z(f) des signaux
respectifs.

a(t), b(t), y(t) et z(t)et le traçage des parties réelle et imaginaire de chaque spectre.
f=-4:0.1:4;
T=1 ;
t=-2 :dt:2;
tfsc(cos(pi*t/T),t,f)
plot(f,real(tfsc(cos(pi*t),t,f)),'r','linewidth',2);grid on;
set(gca,'fontsize',14);
legend('Re[A(f)]');
title('Re[A(f)]en fonction de la frequence')
xlabel('frequence(HZ)');
ylabel('reel(A(f))');

Script pour tracer la partie imaginaire

plot(f,imag(tfsc(cos(pi*t),t,f)),'r','linewidth',2);grid on;
set(gca,'fontsize',14);
legend('Imag[B(f)]');
title('Imag[A(f)]en fonction de la frequence')
xlabel('frequence(HZ)');
ylabel('imag(A(f))');

Compte rendu du TP de traitement de signal de l’année 20010-2011


Centre Universitaire de Bordj Bou Arreridj
Institut des Sciences et de la technologie
Département d’électronique

Imag[A(f)]en fonction de la frequence


2
Imag[A(f)]
1.5

0.5
imag(A(f))

-0.5

-1

-1.5

-2
-4 -2 0 2 4
frequence(HZ)

1 −1
Le calcul théorique donne 2 impulsions de Dirac décalé de et
2 2

Traçage de B(f) :

tfsc(sinc(t),t,f)
plot(f,real(tfsc(sinc(t),t,f)),'r','linewidth',3);grid on;
set(gca,'fontsize',14);
legend('real[B(f)]');
title('real[B(f)]en fonction de la frequence')
xlabel('frequence(HZ)');
ylabel('real(B(f))');

Script pour tracer la partie imaginaire

plot(f,imag(tfsc(sinc(t),t,f)),'r','linewidth',2);grid on;
set(gca,'fontsize',14);
legend('Imag[B(f)]');
title('Imag[B(f)]en fonction de la frequence')
xlabel('frequence(HZ)');
ylabel('imag(B(f))');

Re[A(f)]en fonction de la frequence


2.5
Re[A(f)]
2

1.5
re e l(A (f))

0.5

-0.5
-4 -2 0 2 4
frequence(HZ)

Compte rendu du TP de traitement de signal de l’année 20010-2011


Centre Universitaire de Bordj Bou Arreridj
Institut des Sciences et de la technologie
Département d’électronique

Imag[B(f)]en fonction de la frequence


real[B(f)]en fonction de la frequence
1
1
Imag[B(f)] real[B(f)]

0.5 0.5
imag(B(f))

real(B(f))
0 0

-0.5 -0.5

-1 -1
-4 -2 0 2 4 -4 -2 0 2 4
frequence(HZ) frequence(HZ)

Traçage de y(f)

fs=250; fs=250;
dt=1/fs; dt=1/fs;
T=1; T=1;
f=-4:0.1:4; f=-4:0.1:4;
t=-5:dt:5; t=-5:dt:5;
df=0.1; df=0.1;
u=tfsc(tri(t/2*T),t,f) u=tfsc(tri(t/2*T),t,f)
plot(f,real(u),'r','linewidth',3); plot(f,imag(u),'r','linewidth',3);
grid on; grid on;
set(gca,'fontsize',14); set(gca,'fontsize',14);
legend('real[Y(f)]'); legend('imag[Y(f)]');
title('spectre du signal triangle') title(' le trace de l imaginaire')
xlabel('frequence(HZ)'); xlabel('frequence(HZ)');
ylabel('real(Y(f))'); ylabel('real(Y(f))');

Compte rendu du TP de traitement de signal de l’année 20010-2011


Centre Universitaire de Bordj Bou Arreridj
Institut des Sciences et de la technologie
Département d’électronique

spectre du signal triangle


2 -3 le trace de l imaginaire
x 10
real[Y(f)] 6
1.5 imag[Y(f)]

1 4

0.5 2
real(Y(f))

real(Y(f))
0
0
-0.5
-2
-1

-1.5 -4

-2 -6
-4 -2 0 2 4 -4 -2 0 2 4
frequence(HZ) frequence(HZ)

Traçage de Z(f)

fs=250; fs=250;
dt=1/fs; dt=1/fs;
T=1; T=1;
f=-4:0.1:4; f=-4:0.1:4;
t=-5:dt:5; t=-5:dt:5;
df=0.1; df=0.1;
s=cos(pi*t/4*T).*rect(t/4*T) s=cos(pi*t/4*T).*rect(t/4*T)
u=tfsc(s,t,f) u=tfsc(s,t,f)
plot(f,imag(u),'r','linewidth',3) plot(f,real(u),'r','linewidth',3);
; grid on;
grid on; set(gca,'fontsize',14);
set(gca,'fontsize',14); legend('real[Z(f)]');
legend('imag[Y(f)]'); title(' le eel de Z en fonction de
title(' le trace de l f')
imaginaire') xlabel('frequence(HZ)');
xlabel('frequence(HZ)'); ylabel('real(Z(f))');
ylabel('real(Y(f))');

Compte rendu du TP de traitement de signal de l’année 20010-2011


Centre Universitaire de Bordj Bou Arreridj
Institut des Sciences et de la technologie
Département d’électronique

x 10
-3 le trace de l imaginaire le eel de Z en fonction de f
8 3
imag[Z(f)] real[Z(f)]
6
2
4
1
2
real(Z(f))

real(Z(f))
0 0

-2
-1
-4
-2
-6

-8 -3
-4 -2 0 2 4 -4 -2 0 2 4
frequence(HZ) frequence(HZ)

On remarque que les parties réelles de la transformé de Fourier sont paires et les parties imaginaires
sont impaires, ce qui évident puisque toutes les fonctions sont réelles .

12) l’énergie du spectre de la TF de x(t), y(t) et z(t) :

a) L’’énergie de spectre X(f)


fs=250;
dt=1/fs;
T=1;
f=-4:0.1:4;
t=-5:dt:5;
df=0.1;
s=1/2*(sign(t+2*T)+1)-1/2*(sign(t-2*T)+1);
u=tfsc(s,t,f)
E=df*sum(abs(u).^2)
E= 3.9980

b) L’énergie de spectre Y(f) :

Compte rendu du TP de traitement de signal de l’année 20010-2011


Centre Universitaire de Bordj Bou Arreridj
Institut des Sciences et de la technologie
Département d’électronique

fs=250;
dt=1/fs;
T=1;
f=-4:0.1:4;
t=-5:dt:5;
df=0.1;
s=tri(t/2*T)
u=tfsc(s,t,f)
E=df*sum(abs(u).^2)
E = 1.33

c) L’énergie de spectre Z(f) :

fs=250;
dt=1/fs;
T=1;
f=-4:0.1:4;
t=-5:dt:5;
df=0.1;
s=cos(pi*t/4*T).*rect(t/4*T)
u=tfsc(s,t,f)
E=df*sum(abs(u).^2)
E =2.0000

Si on compare ces résultat avec celle obtenue dans la question 6) , on constate que le
théorème de Parseval est bel et bien vérifié ,et on peut vérifier que notre module élaboré dans ce TP
pour calculer la TF est valable.

Compte rendu du TP de traitement de signal de l’année 20010-2011

Vous aimerez peut-être aussi