Vous êtes sur la page 1sur 8

Tp3 :

Traitement du signal

Convolution des signaux

Réalisés par :
• Anouar Yadir
• Hassani Soumia

Groupe TP2

1
• Les objectifs du TP :
-Etre capable d’utiliser le logiciel Matlab (Matrix Laboratory) pour
générer et visualiser les signaux et leurs représentation graphiques.
-Connaître les notion de convolution et de corrélation .
-Déterminer le produit de convolutions de deux signaux et leur
corrélation.

2
• Manipulations :

Manip 1 :
clc
clf
clear all
T=4;%T est la période totale de tout le signal
N=100;%N est le nombre totale de points d'échantillonnage,égal à 100
points
Te=T/N;%Te est la période d'échantillonnage(la durée entre deux
échantillons),égal à 0.01
tau1=T/4;%la durée du premier signal
Nx=tau1/Te
tau2=T/2;%la durée du deusième signal
Ny=tau2/Te
a=(-N/2:N/2-1)*Te;
b=(-N:N-2)*Te;
x=zeros(1,N);
for i=floor((N-Nx)/2)+1:floor((N+Nx)/2),x(i)=2; end%boucle pour tracer le
premier signal
y=zeros(1,N)
for i=floor((N-Ny)/2)+1:floor((N+Ny)/2),y(i)=3; end%boucle pour tracer le
deusième signal
z=conv(x,y)*Te;%le produit de convolution des deux signaux x et y
subplot(3,2,1);
plot(a,x);
axis([min(a),max(a),0,max(x)]);
grid on;
title('premier signal');%le titre de la figure est :premier signal
xlabel('t');
ylabel('x(t)');
subplot(3,2,2);
plot(a,y);
axis([min(a),max(a),0,max(y)]);
grid on;
title('deuxième signal');%le titre de la figure est :deuxième signal
xlabel('t');
ylabel('y(t)');
subplot(3,2,3);
plot(b,z);
title('conv');
grid on;

3
-Le produit de convolution de deux signaux rectangulaires
identique x(t) :
clc
clf
clear all
T=4;%T est la période totale de tout le signal
N=100;%N est le nombre totale de points d'échantillonnage,égal à 100 points
Te=T/N;%Te est la période d'échantillonnage(la durée entre deux
échantillons),égal à 0.01
tau1=T/4;%la durée du premier signal
Nx=tau1/Te
tau2=T/2;%la durée du deusième signal
Ny=tau2/Te
a=(-N/2:N/2-1)*Te;
b=(-N:N-2)*Te;
x=zeros(1,N);
for i=floor((N-Nx)/2)+1:floor((N+Nx)/2),x(i)=2; end%boucle pour tracer le
premier signal
x=zeros(1,N);
for i=floor((N-Nx)/2)+1:floor((N+Nx)/2),x(i)=2; end%boucle pour tracer le
deusième signal
z=conv(x,x)*Te;%le produit de convolution des deux signaux x et y

subplot(3,2,1);
plot(a,x);
axis([min(a),max(a),0,max(x)]);
grid on;
title('premier signal');%le titre de la figure est :premier signal
xlabel('t');
ylabel('x(t)');
subplot(3,2,2);
plot(a,x);

axis([min(a),max(a),0,max(x)]);
grid on;
title('deuxième signal');%le titre de la figure est :deuxième signal
xlabel('t');
ylabel('y(t)');
subplot(3,2,3);
plot(b,z);

4
title('conv');
grid on;

-Programme qui calcule et trace l’auto-corrélation :


clc
clf
clear all
T=4;%T est la période totale de tout le signal
N=100;%N est le nombre totale de points d'échantillonnage,égal à 100 points
Te=T/N;%Te est la période d'échantillonnage(la durée entre deux
échantillons),égal à 0.01
tau1=T/4;%la durée du premier signal
Nx=tau1/Te
tau2=T/2;%la durée du deusième signal
Ny=tau2/Te
a=(-N/2:N/2-1)*Te;
b=(-N:N-2)*Te;
x=zeros(1,N);
for i=floor((N-Nx)/2)+1:floor((N+Nx)/2),x(i)=2; end%boucle pour tracer le
premier signal
y=zeros(1,N)
for i=floor((N-Ny)/2)+1:floor((N+Ny)/2),y(i)=3; end%boucle pour tracer le
deusième signal
z=xcorr(x,y)*Te;%expression pour calculer et tracer l’auto-corrélation
subplot(3,2,1);
plot(a,x);
axis([min(a),max(a),0,max(x)]);
grid on;
title('premier signal');%le titre de la figure est :premier signal
xlabel('t');
ylabel('x(t)');
subplot(3,2,2);

5
plot(a,y);
axis([min(a),max(a),0,max(y)]);
grid on;
title('deuxième signal');%le titre de la figure est :deuxième signal
xlabel('t');
ylabel('y(t)');
subplot(3,2,3);
plot(b,z);
title('auto_corrélation');
grid on;

Remarque :
On obtient le même résultat de convolution de deux signaux

6
Manip 2 :

clc
clf
clear all
T=4;
N=100;
Te=T/N;t=(0:N-1)*Te;
tau1=T/4;
Nx=tau1/Te
tau2=T/2;
Ny=tau2/Te
a=(-N/2:N/2-1)*Te;
b=(-N:N-2)*Te;
x=zeros(1,N);
for i=floor((N-Nx)/2)+1:floor((N+Nx)/2),x(i)=2; end
y=zeros(1,N);
for i=floor((N-Ny)/2)+1:floor((N+Ny)/2),y(i)=3; end
z=conv(x,y)*Te;
subplot(3,1,1);
plot(a,x);
axis([min(a),max(a),0,max(x)]);
grid on;
title('premier signal');
xlabel('t');
ylabel('x(t)');
subplot(3,1,2);
plot(a,y);
axis([min(a),max(a),0,max(y)]);
grid on;
title('deuxième signal');
xlabel('t');
ylabel('y(t)');

subplot(3,1,3);
plot(b,z);
axis([min(b),max(b),0,max(z)]);
grid on;
title('convolution');
xlabel('t');
ylabel('z(t)');
figure(1)
subplot(3,1,1);
plot(t,x,'b');
title('x(t)');
subplot(3,1,2);
plot(t,y,'-r');
title('y(t)');
%
Nc=2*length(t)-1;
tc=(0:Nc-1)*0.01-2;
w=conv(x,y);%
subplot(3,1,3);
plot(tc,w);
title('produit de convoletion');
figure(2);
%
N=512;%
a=fft(x,N);%
b=fft(y,N);%

7
c=abs(a.*b);%
z=abs(fft(w,N));%
subplot(2,1,1);
plot(c);
title('module de X(f).Y(f)');
subplot(2,1,2);
plot(z);
title('module de TF[x(t)*y(t)]');

Vous aimerez peut-être aussi