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
fs=250; dt=1/fs; t=-5:1/250:5; T=1 a=cos(pi*t/T) plot(t,a,'b','linewidth', 3);grid on; set(gca,'fontsize',14); legend('cos(t)'); ) title('le tracé de a(t)' xlabel(' t(ms) '); ylim([-1.2 1.2]); ylabel(' cos(t)');
1

le tracé d e a(t) co s(t)

0 .5 co s(t)

0

-0 .5

-1 -5 0 t(m s) 5

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 traçage de b (t) :
1 0 .8 s in c (t/T ) 0 .6 0 .4 0 .2 0

le trac é d e b (t) s inc (t/T )

Le traçage de C(t)
fs=250; dt=1/fs; t=-5:1/250:5; T=1 c=1/2*(sign(t)+1) plot(t,c,'r','linewidth',3);g rid on; set(gca,'fontsize',14); title('le tracé de c(t)' ) xlabel(' t(ms) '); ylim([-0.6 1.2]); ylabel(' echelon(t)');

-0 .2 -0 .4 -5 0 t(m s ) 5

le trac é d e c (t) 1 0 .8 0 .6 e c h e lo n (t) 0 .4 0 .2 0 -0 .2 -0 .4

Le traçage de Dirac(t) :
-5 0 t(m s )
le tracé de d(t) 1 0.8 0.6 D irac(t) 0.4 0.2 0 -0.2 -0.4 -5 0 t(ms) 5

5

fs=250; dt=1/fs; t=-5:1/250:5; T=1 d=not(t) plot(t,d,'r','linewidth',3);g rid on; set(gca,'fontsize',14); ) title('le tracé de d(t)' xlabel(' t(ms) '); ylim([-0.6 1.2]); ylabel(' Dirac(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

Le traçage de Rect(t) :

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)');
re c ta n g le re c t(t) 1 re c t(t) 0 .8 0 .6 0 .4 0 .2 0 -5

0 t(m s )

5

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

s ig n a l t r ia n g l e t r i( t ) 1 0 .8 0 .6 0 .4 0 .2 0 -5

t r i( t )

0 t(m s )

5

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 traçage de z(t) :
fs=250; dt=1/fs; t=-5:1/250:5; T=1 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 tracé de z(t)' ) xlabel(' t(ms) '); xlim([-5 5]); ylim([-0.6 1.2]); ylabel(' z(t)');

le tra c é d e z (t) 1 0 .8 z (t) 0 .6 0 .4 0 .2 0 -0 .2 -0 .4 -5 0 t(m s ) 5

4) On détermine la période et la fréquence du signal :
On a        Or 2  = 

Donc T_0= 2T=2s

et  

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. 

…‘•

…‘•

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

C t i tit t

6) O

l l

i

tl

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 l résultats t éori ues 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 t éorique ne donne que des résultats approchés.
C E BA D C

C

t

t it

t 

 ¦    ©! ¡¨¢   § ¡    ¢    ¦ ¥   ¥ ¥   ¨ ¨¡     § © ¡    §     ¡  ¦ ¥ ¢  ¤ ¡£   ¢ ¡  § ¢  ¢¢ ©¨ §¢¨   §   ¢

it i i

t

t

B jB t l t l t i

l

i j i

i

t),

t) t

t)

99 8 @89 88 %6 25 % 2 3 % % % 2 % % % & ( 10 )( )(' & $#" 7 7 '' ( '4 ( ' #

i

l

l

Centre Uni ersitaire de Bordj Bou Arreridj Institut des Sciences et de la technologie Département d¶électronique

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

l fonction échel
function out echelon(x) out 0.5*(sign(x)+1)
I I

:

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) 

S

fonction « Tri » qui réalise l¶i pulsion triangulaire:
S

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

QP 

i pulsion de Di c :
R

F

:

R

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

R e [X (f)]e n fo nctio n e la fre q ue nce 5 R e [X (f)] 4 3 2 1 0 -1 -4 i a g (X (f)) re e l(X (f)) 2 1 0 -1 -2 -3 -4 3

Im ag [X (f)]e n fo nctio n e la fre q ue nce Im ag [X (f)]

-2

0 fre q ue nce (HZ )

2

4

-2

0 fre q ue nce (HZ)

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

T

U

T

2

4

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

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)
'r','linewidth',2);grid on; plot(f,real(tfsc(cos(pi*t),t,f)), 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))');

Im ag [A (f)]e n fo nc tio n d e la fre q ue nc e 2 Im ag [A (f)] 1 .5 1 im a g (A (f)) 0 .5 0 -0 .5 -1 -1 .5 -2 -4 -2 0 fre q ue nc e (HZ ) 2 4
re e l(A (f))

R e [A (f)]e n fo nc tio n d e la fre q ue nc e 2 .5 R e [A (f)] 2 1 .5 1 0 .5 0 -0 .5 -4

-2

0 fre q ue nc e (HZ )

2

4

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

et

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

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))');
V W V V
1 Im ag [B (f)] 0 .5 im a g (B (f)) 0 -0 .5

Scri t

o r tracer la artie 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))');

Im ag [B (f)]e n fo nctio n d e la fre q ue nce
1

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

0

-0.5

-1 -4

-2

0 fre q ue nce (HZ )

2

4

-1 -4

-2

0 frequence(HZ)

2

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

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

sp e ctre d u sig nal triang le 2 re al[Y(f)] 1 .5 1 0 .5 re a l(Y (f)) 0 -0 .5 -1 -1 .5 -2 -4 -2 0 fre q ue nce (HZ ) 2 4
-4 -6 -4 r e a l( Y ( f) ) 4 2 0 -2 6 x 10
-3

le tr a c e d e l im a g in a ir e im a g [Y ( f ) ]

-2

0 f re q u e n c e (H Z )

2

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

Traçage de 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) plot(f,imag(u),'r','linewidth',3) ; grid on; set(gca,'fontsize',14); legend('imag[Y(f)]'); title(' le trace de l imaginaire') xlabel('frequence(HZ)'); ylabel('real(Y(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) plot(f,real(u),'r','linewidth',3); grid on; set(gca,'fontsize',14); legend('real[Z(f)]'); title(' le eel de Z en fonction de f') xlabel('frequence(HZ)'); ylabel('real(Z(f))');

8 6 4 re a l(Z (f))

x 10

-3

le trac e d e l im ag inaire 3 im ag [Z (f)] 2 1 real(Z(f)) 0 -1 -2 -3 -4

le eel de Z en fo nctio n de f real[Z(f)]

2 0 -2 -4 -6 -8 -4 -2 0 fre q ue nc e (HZ ) 2 4

-2

0 frequence(HZ)

2

4

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 .

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

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) :
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 (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

X

Sign up to vote on this title
UsefulNot useful