Vous êtes sur la page 1sur 23

• Objectif :

Ce TP a pour but d’aborder les notions de corrélation et de convolution afin de bien les
comprendre et les différencier.
MANIPULATION 1 :

• Corrélation et Convolution sous Matlab :


Taper et tester le programme1.
clear all;
t=-5 :0.1:5
for i=1:length(t)
if t(i)<0
u(i)=zeros(1)
else
u(i)=ones
end
end
figure(1)
plot(t,u);
axis([-5 5 -0.04 1.2]);
title('u(t)');
xlabel('t');
ylabel('Amplitude');

• Définir le type de signal après l’exécution de programme1.


- Le type de signal est la signal échelon.
la détermination de la fonction rectangulaire (Rect(t/4)) est.

clear all ;
t=-5:0.1:5
for i=1 : length(t)
if t(i)>-2 & t(i)<2
u(i)=ones
else
u(i)=zeros(1)

end
end
figure (1)
plot(t,u);
axis ([-5 5 -0.041.2]);
title('u(t)');
xlabel('t');
le programme qui calculer le produit de convolution à l'aide de la fonction conv de MATLAB :
a. Deux signaux rectangulaires identiques (Rect (t/4))
clear all;
t=-5 :0.1 :5
for i=1 :length (t)
if t(i)<-2
u(i) = zeros(1)
elseif t(i)<2
u(i)=ones
else
u(i)=zeros(1)
end
end
m=conv(u,u)
figure (2)
plot(m)
figure(1)
plot(t,u) ;
axis([-5 5 -0.04 1.2]);
title('u(t)');
xlabel('t') ;
ylabel('Amplitude');
le produit de convolution de deux signaux
rectangulaires nous donne un signal triangulaire.
b. Deux signaux rectangulaires, l’un de durée 4s et amplitude 1V et l’autre de durée 7s et d’amplitude 1V.

clear all;
t=-5 :0.1 :5
for i=1 :length (t)
if t(i)<-2
u(i) = zeros(1)
elseif t(i)<2
U(i)=ones
else
u(i)=zeros(1)
end
if t(i)<-3.5
v(i) = zeros(1)
elseif t(i)<3.5
v(i)=ones
else
v(i)=zeros(1)
end
end
m=conv(u,v)
figure (3)
plot(m)
figure (2)
plot(t,v)
figure(1)
plot(t,u) ;
axis([-5 5 -0.04 1.2]) ;
title('u(t)');
xlabel('t') ;
ylabel('Amplitude');
• Vérifier théoriquement les résultats obtenus.
d. Calcule de la corrélation de deux signaux à l'aide de la fonction xcorr de matlab.
les deux résultats convolution et corrélation sur un même graphique.

clear all ;
t=-5 :0.1 :5
for i=1 :length (t)
if t(i)<-2
u(i) = zeros(1)
elseif t(i)<2
u(i)=ones
else
u(i)=zeros(1)
end
if t(i)<-3.5
v(i) = zeros(1)
elseif t(i)<3.5
v(i)=ones
else
v(i)=zeros(1)
end
end
m=conv(u,v)
figure (3)
plot(m)
figure (2)
plot(t,v)
figure(1)
plot(t,u) ;
axis([-5 5 -0.04 1.2]) ;
title('u(t)'); Nous notons;il n’y a eu aucun chengement dans le
xlabel('t') ; signal car le signal est pair et reel
ylabel('Amplitude’);
• Retrouve t'on bien les résultats théoriques ?

e
MANIPULATION 2 :

Le programme Matlab qui calcule et trace l’autocorrélation (commande xcorr) de deux signaux
sinusoïdaux.

t=0:0.001:0.1
x=cos(40*pi*t)
plot(t,x);
axis([0 0.1 -1.2 1.2])
grid;
xlabel('Temps(sec)');
ylabel('Amplitude');
• calcule et trace l’autocorrélation de deux signaux sinusoïdaux.

t=0:0.001:0.1
w=2*pi*20
x=cos(w*t)
subplot(2,1,1);
plot(t,x);
xlabel('t');
ylabel('frequence');
[r,lag]=xcorr(x,x);
plot(lag,r);
grid;
• Vérificqtion théorique de le résultat obtenu :
MANIPULATION 3 :
Soient deux signaux f et g définis de la manière suivante : g(t)  eat(t) a  0
Sous Matlab, déclarer ces deux signaux sur l'intervalle temporel [-1, 5] on prend a =1:

t=-1:5;
u=[zeros(1,1) 1 ones(1,5)];
g=exp(-t).*u ;
figure(1);
plot(t,g);
grid;
t=-5 :0.1 :5
for i=1 :length (t)
if t(i)<-2
f(i) = zeros(1)
elseif t(i)<2
f(i)=ones
else
f(i)=zeros(1)
end
end
figure(2);
plot(t,f);
grid;
xlabel('temps');
ylabel('amplitude');
Calcule de la corrélation et la convolution de deux signaux à l'aide des fonctions xcorr et conv de Matlab.
Afficher les deux résultats sur un même graphique.
t1 = 1;
t2 = 5;
t = -1:0.1:5;
a = 1;
u = zeros(size(t));
u(t >= t1 & t < t2) = 1;
x = exp(-a * t) .* u
y = exp(-a * (t - 1)) .* u;
correlation_result = xcorr(x, y);
convolution_result = conv(x, y, 'full')
figure;
subplot(3,1,1);
plot(t, x);
subplot(3,1,2);
plot(t, y);
subplot(3,1,3);
correlation_time = -length(x)+1:length(x)-1;
plot(correlation_time, correlation_result);
hold on;
plot(convolution_result);
title('Corrélation et convolution de x(t) et
y(t)');
xlabel('Décalage temporel');
ylabel('Corrélation / Convolution');
legend('Corrélation', 'Convolution');
grid;
• les résultats théoriques
la corrélation de deux signaux la convolution de deux signaux
• TF et Plancherel
Le théorème de Plancherel est un résultat mathématique lié à l'analyse de Fourier. Il énonce que l'intégrale de la
transformée de Fourier d'une fonction au carré est égale à l'intégrale de la fonction elle-même au carré. En
d'autres termes, il relie la norme L2 d'une fonction à celle de sa transformée de Fourier, fournissant ainsi une
équivalence entre le domaine temporel et le domaine fréquentiel.

• calcule de la transformée de Fourier de chacun des signaux, en prenant N = le nombre d'échantillons temporels des
signaux. Puis calculer la transformée de Fourier de la convolution des deux signaux, en prenant le même N.
clear all; N = length(g);
t = -1 :5; G = fft(g);
u = [zeros(1, 1) 1 ones(1, 5)]; frequencies = (0:N-1) / (t(end) - t(1));
g = exp(-t) .* u; figure(2);
figure(1); plot(frequencies, abs(G));
plot(t, g); grid;
grid;
xlabel('Frequency');
N = length(g); ylabel('Magnitude');
G = fft(g); title('FFT of g(t)');
frequencies = (0:N-1) / (t(end) - t(1)); t = -5:0.01:5;
figure(2); for i=1 :length (t)
plot(frequencies, abs(G)); if t(i)<1
grid; f(i) = zeros(1)
t = -5:0.01:5; elseif t(i)<3
for i=1 :length (t) f(i)=ones
if t(i)<1 else
f(i) = zeros(1) f(i)=zeros(1)
elseif t(i)<3 end
f(i)=ones end
else figure(3);
f(i)=zeros(1) plot(t, f);
end grid;
end N = length(f);
figure(3); F = fft(f);
plot(t, f); frequencies = (0:N-1) / (t(end) - t(1));
figure(4);
grid;
plot(frequencies, abs(F));
grid;
Représenter sur un même graphique :
- le spectre d'amplitude de la TF du produit de convolution
- le spectre d'amplitude du produit des deux TF.
Conclusion ?
clear all;
t=-1 :5
u=[zeros(1,1) 1 ones(1,5)];
g=exp(-t).*u ;
figure(1);
subplot(2,1,1)
plot(t,g);
grid;
t=-1 :0.01 :5
for i=1 :length (t)
if t(i)<1
f(i) = zeros(1)
elseif t(i)<3
f(i)=ones
else
f(i)=zeros(1)
end
end
subplot(2,1,2)
plot(t,f);
grid;
w=conv(g,f)
figure(2)
plot(w)
grid;
N = length(f);
TF = fft(f);
frequencies = (0:N-1) / (t(end) - t(1));
figure(3);
plot(frequencies, abs(TF));
grid;
• Conclusion

La première sous-figure représente le spectre d'amplitude du produit de convolution, et la deuxième sous-figure


représente le spectre d'amplitude du produit des deux transformées de Fourier. Vous pouvez observer comment ces
spectres sont liés en accord avec le théorème de Plancherel.
THANKS!

Vous aimerez peut-être aussi