TP de Traitement de signal
Fait par :
Yous Manal
Nasr-allah haddou
Ibtissam Oulamaallem
Encadré par : mr. Qarchi
Etude d’un signal carré impair :
t = -0.05:0.0001:0.05;
f = 200;
s = square(2 * pi * f * t);
subplot(4,1,1);
plot(t, s);
title('Signal Temporel');
TF = fftshift(fft(s, 64));
F = linspace(-6000, 6000, 64);
subplot(4,1,2);
stem(F, abs(TF));
title('Spectre d''Amplitude');
signal_restitue=ifft(abs(TF));
subplot (4,1,3) ;
plot (t,signal_restitue);
title ('signal restitué') ;
ECHANTILLONAGE ET FILTRAGE :
1 er cas : fe=128 Hz
f0 = 50;
f1 = 100;
f2 = 200;
fe = 128;
t = -0.05:0.001:0.05;
te = -0.05:1/fe:0.05;
x = sin(2 * pi * f0 * t) + sin(2 * pi * f1 * t) +
sin(2 * pi * f2 * t);
xe = sin(2 * pi * f0 * te) + sin(2 * pi * f1 * te) +
sin(2 * pi * f2 * te);
TF = fftshift(fft(xe));
F = linspace(-fe/2, fe/2, 64);
subplot(2, 1, 1);
plot(te, xe);
title('Signal temporel');
xlabel('Temps (s)');
ylabel('Amplitude');
subplot(2, 1, 2);
stem(F, abs(TF));
title('Spectre en fréquence du signal');
xlabel('Fréquence (Hz)');
ylabel('Amplitude');
2eme cas : fe=256 Hz
f0 = 50;
f1 = 100;
f2 = 200;
fe = 256;
t = -0.05:0.001:0.05;
te = -0.05:1/fe:0.05;
x = sin(2 * pi * f0 * t) + sin(2 * pi * f1 * t) +
sin(2 * pi * f2 * t);
xe = sin(2 * pi * f0 * te) + sin(2 * pi * f1 * te) +
sin(2 * pi * f2 * te);
TF = fftshift(fft(xe));
F = linspace(-fe/2, fe/2, 64);
subplot(2, 1, 1);
plot(te, xe);
title('Signal temporel');
xlabel('Temps (s)');
ylabel('Amplitude');
subplot(2, 1, 2);
stem(F, abs(TF));
title('Spectre en fréquence du signal');
xlabel('Fréquence (Hz)');
ylabel('Amplitude');
3eme cas : fe=1024 Hz
f0 = 50;
f1 = 100;
f2 = 200;
fe = 1024;
t = -0.05:0.001:0.05;
te = -0.05:1/fe:0.05;
x = sin(2 * pi * f0 * t) + sin(2 * pi * f1 * t) +
sin(2 * pi * f2 * t);
xe = sin(2 * pi * f0 * te) + sin(2 * pi * f1 * te) +
sin(2 * pi * f2 * te);
TF = fftshift(fft(xe));
F = linspace(-fe/2, fe/2, length(xe));
subplot(2, 1, 1);
plot(te, xe);
title('Signal temporel');
xlabel('Temps (s)');
ylabel('Amplitude');
subplot(2, 1, 2);
stem(F, abs(TF));
title('Spectre en fréquence du signal');
xlabel('Fréquence (Hz)');
ylabel('Amplitude');
FILTRAGE DU SIGNAL TEMPOREL :
SCRIPT DU SIGNAL :
f1=50;
f2=100;
f3=200;
t=-0.1:1/600:0.1;
x=sin(2*pi*t*f1)+sin(2*pi*t*f2)+sin(2*pi*t*f3);
subplot(2,1,1);
plot(t,x);
xlabel('le temps');
ylabel('amplitude');
title('le signal temporel');
N=512;
X=fftshift(fft(x,N));
f=linspace(-300,300,N);
subplot(2,1,2);
plot(f,abs(X));
SCRIPT DU FILTRAGE (filtre passe-bas) :
f1 = 50;
f2 = 100;
f3 = 200;
t = -0.1:1/600:0.1;
x = sin(2 * pi * t * f1) +sin(2 * pi * t * f2)+
sin(2 * pi * t * f3);
N = 1024;
X = fftshift(fft(x, N));
f = linspace(-300, 300, N);
frequence_de_coupure = 200;
ordre_du_filtre = 10;
filtre = designfilt('lowpassfir','FilterOrder',
ordre_du_filtre,'CutoffFrequency',frequence_de_coupure, 'SampleRate', 1/0.001);
signal = filter(filtre, x);
Signal_fft = fftshift(fft(signal, N));
subplot(2,1,1);
plot(t, signal);
title('Signal Filtre (Passe-Bas)');
xlabel('Temps (s)');
ylabel('Amplitude');
subplot(2,1,2);
plot(f, abs(Signal_fft));
title('Spectre du Signal Filtre (Passe-Bas)');
xlabel('Fréquence (Hz)');
ylabel('Amplitude');
SCRIPT DU FILTRAGE (filtre passe-haut) :
= 50;
f2 = 100;
f3 = 200;
t = -0.1:1/600:0.1;
x = sin(2 * pi * t * f1)+sin(2 * pi * t * f2) +
sin(2 * pi * t * f3);
N = 1024;
X = fftshift(fft(x, N));
f = linspace(-300, 300, N);
frequence_de_coupure = 60;
ordre_du_filtre = 10;
fe = 1 / (t(2) - t(1));
[numerateur, denominateur]=butter(ordre_du_filtre,
frequence_de_coupure / (fe / 2), 'high');
Signal = filtfilt(numerateur, denominateur, x);
Signal_fft = fftshift(fft(Signal, N));
subplot(2,1,1);
plot(t, Signal);
title('Signal Filtre (Passe-haut)');
xlabel('Temps (s)');
ylabel('Amplitude');
subplot(2,1,2);
plot(f, abs(Signal_fft));
title('Spectre du Signal Filtre (Passe-haut)');
xlabel('Fréquence (Hz)');
ylabel('Amplitude');