Académique Documents
Professionnel Documents
Culture Documents
Travaux Pratique
Travaux Pratique
Travaux Pratique
TRAITEMENT DE SIGNAL
Réaliser par :
Yassmine el-kouaze
Encadré par :
Script 1 :
n=-10:20;
u = [zeros(1,10) 1 zeros(1,20)]; %Utilisation de la
fonction zeros.
%Tracer le signal généré
stem (n,u);
xlabel('Temps indexé en n');
ylabel('Amplitude');
axis([-10 20 0 1.2]);
Script 2 :
t = -1:0.00001:1 ;
x1 = rectpuls(t,0.05) ;
plot(t,x1) ; axis([-0.1 0.1 -0.2 1.2])
grid ;
xlabel('Temps(sec)');
ylabel('Amplitude');
2. Faire les changements nécessaires aux Scripts ci-dessus pour représenter les
impulsions suivantes :
3 δ(t)
2 δ(t + 2)
δ(t-1)
le signal Échelon :
Exemple 1 : s1[n]=u[n]
Exemple 2 : s2[n]=u[n-2]
t = -3:3 ;
x1 = tripuls(t,1,0) ;
plot(t,x1) ;
axis([-3 3 -0.2 1.2]);
grid ;
xlabel('Temps(sec)');
ylabel('Amplitude');
Exemple 5 : un signal carré
t = -2:0.01:2 ;
x1 = rectpuls(t,1) ;
plot(t,x1) ; axis([-2 2 -2 2])
grid ;
xlabel('Temps(sec)');
ylabel('Amplitude');
t=[0:0.0001:0.01];
x=2.5*sin(2*pi*1000*t);
y=1.75*sin(2*pi*2000*t);
subplot(3,1,1)
plot(t,x,'b')
xlabel('t')
ylabel('x,y')
grid;
hold on
subplot(3,1,2)
plot(t,y,'r')
La somme des deux signaux périodiques est un signal aussi périodique, et sa fréquence est égale à :
t=[0:0.0001:0.01];
x=2.5*sin(2*pi*1000*t);
y=1.75*sin(2*pi*2000*t);
subplot(3,1,1)
plot(t,x,'b')
xlabel('t')
ylabel('x,y')
grid;
hold on
subplot(3,1,2)
plot(t,y,'r')
z=x+y;
subplot(3,1,3)
plot(t,z)
t=-1:0.01:5;
s1=ones(size(t));
plot(t,s1);
xlabel('temps');
ylabel('amplitude');
title('S1(t)')
t=-1:0.01:5;
a=1;
s2 = exp(-a*t);
plot(t,s2);
xlabel('temps');
title('S2(t)');
4. La corrélation et la convolution sous MatLab :
La convolution
t=-1:0.01:5;
s1=ones(size(t));
subplot(3,1,1)
plot(t,s1);
xlabel('temps');
ylabel('amplitude');
title('S1(t)')
a=1;
s2 = exp(-a*t);
subplot(3,1,2)
plot(t,s2);
xlabel('temps');
title('S2(t)');
grid;
c=conv(s1,s2);
subplot(3,1,3)
n=-3:0.01:9;
plot(n,c,'r');
xlabel('Temps');
ylabel('Amplitude');
title('convolution');
La corrélation
t=-1:0.01:5;
s1=ones(size(t));
subplot(3,1,1)
plot(t,s1);
xlabel('temps');
ylabel('amplitude');
title('S1(t)')
a=1;
s2 = exp(-a*t);
subplot(3,1,2)
plot(t,s2);
xlabel('temps');
title('S2(t)');
grid;
c=xcorr(s1,s2);
subplot(3,1,3)
n=-3:0.01:9;
plot(n,c,'r');
xlabel('Temps');
ylabel('Amplitude');
title('convolution');
5. Effet la somme non-infinie sur les séries de Fourier
L=20;
time=linspace(0,L,100*L);
signal=zeros(100*L,1)';
a=[ 0 0 0 0 0 0 ];
b=[ 0 0 0 0 0 0 ];
une boucle permettant de générer une série de Fourier tronquées aux 6 premiers
coefficients :
L=20;
time=linspace(0,L,100*L);
signal=zeros(100*L,1)';
a=[ 0 0 0 0 0 0 ];
b=[ 0 0 0 0 0 0 ];
for n=1:6
signal=signal+a(n)*cos(n*time)+b(n)*sin(n*time);
end
plot(time,signal)
L=20;
time=linspace(0,L,100*L);
signal=zeros(100*L,1)';
a=[ 1 0 0 0 0 0 ];
b=[ 0 1 0 0 0 0 ];
for n=1:6
signal=signal+a(n)*cos(n*time)+b(n)*sin(n*time);
end
plot(time,signal)
Essayer les vecteurs an = 0 et bn = (-
time. Conclure :
L=20;
time=linspace(0,L,100*L);
signal=zeros(100*L,1)';
a=[ 0 0 0 0 0 0 ];
b=[ 1 0 0 0 0 0 ];
for n=1:6
signal=signal+(-1)^(n+1)*2/(pi*n)*sin(n*time);
end
plot(time,signal)
Pour conclure, on peut dire que la sérier de Fourier périodique comme un signal sinusoïdal
L=20;
time=linspace(0,L,100*L);
signal=zeros(100*L,1)';
a=[ 0 0 0 0 0 0 0 0 ];
b=[ 1 0 0 0 0 0 1 0 ];
for n=1:6
signal=signal+(-1)^(n+1)*2/(pi*n)*sin(n*time);
end
plot(time,signal)
Réaliser une boucle pour ajouter un nombre arbitraire de coefficients dans la série
et faire un test avec an = 0 et bn = (- fficients
l'approximation d'un signal triangulaire vous semble bonne ?
clear all
L=20;
time=linspace(0,L,100*L);
signal=zeros(100*L,1)';
a=[ 0 0 0 0 0 0];
b=[ 1 0 0 0 0 0];
for n=1:20
signal=signal+(-1)^(n+1)*2/(pi*n).*sin(n*time);
end
plot(time,signal)
La bonne approximation est lorsque n devient plus grande (tends vers l’infinie).
clear all
L=20;
time=linspace(0,L,100*L);
signal=zeros(100*L,1)';
a=[ 0 0 0 0 0 0];
b=[ 0 0 0 0 0 0];
for n=0:10
signal=signal+(-
1)^(n)*2/((2*n+1)*pi)*cos((2*n+1)*time);
end
plot(time,signal)