TP Traitement Du Signal 05

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 6

Tp traitement du signal

Transformée de Fourier rapide


directe et inverse (FFT, IFFT)

Prépare par: SAADI Ameur

Enseignant :Dr. K. DJAZIA

 But de TP:

Le but de ce TP est de savoir utiliser les


commandes (FFT et IFFT) (Fast Fourier
Transforma) sous l’environnement
Matlab/Simulink
La plupart des signaux analytiques peuvent être
décomposés à l'aide des séries de Fourier. Il s'agit
d'une somme des différents coefficients an et bn si
l'on utilise la forme trigonométrique ou cn si l'on
utilise la forme exponentielle. Lorsque l'on passe du
discret (somme) au continu (intégrale), on dit que
l'on réalise une transformée de Fourier. La
décomposition de Fourier d’une fonction f s’écrit :
𝟏 +∞
𝑓(𝑥)= ∫−∞ 𝒆(𝒋𝒌𝒙)𝑭(𝒌) 𝒅𝒌
√𝟐𝝅

Les composantes de Fourier se retrouvent donc


dans la fonction F(k). Pour obtenir les coefficients
de la décomposition, c'est à la fonction F(k), on fait
l'opération :
+∞
𝒇(𝒌) = 𝟏/√𝟐𝝅 ∫−∞ 𝒆−𝒋𝒌𝒙 F(x) dx

C'est cette op ération qui s'appelle la


transformée de Fourier, elle assure le passage
du domaine temporel au fréquentie.

%signal temporel
f0=1;t0=1/f0;N=1e3;
t=linspace(-2*t0,2*t0,N);
s_t=sin(2*pi*f0*t);
%Affichage figure
subplot(3,1,1);
plot(t,s_t,'linewidth',2);
grid on;
xlabel('Temps');
ylabel('Amplitude');
% FFT
ts=t(2)-t(1);fs=1/ts;
N_fft=2^14;
s_fft=fft(s_t,N_fft);
s_fftsh=fftshift(s_fft);
f=linspace(-fs/2,fs/2,N_fft);
subplot(3,1,2);
plot(f,real((s_fftsh)),'linewidth',2);
grid on;hold on;
plot(f,imag((s_fftsh)),'r','linewidth',2);
legend('réel','imaginaire');
xlabel('Frequence');ylabel('Amplitude');
subplot(3,1,3);
plot(f,abs((s_fftsh)),'g','linewidth',2);
grid on;hold on;
xlabel('Frequence');ylabel('Amplitude');
title('Module');
 Tracer la FFT d’un signal carré :
f0=1;t0=1/f0;N=1e3;
t=linspace(-2*t0,2*t0,N);
s_t=square(2*pi*f0*t);
%Affichage figure
subplot(3,1,1);
plot(t,s_t,'linewidth',2);
grid on;
xlabel('Temps');
ylabel('Amplitude');
% FFT
ts=t(2)-t(1);fs=1/ts;
N_fft=2^14;
s_fft=fft(s_t,N_fft);
s_fftsh=fftshift(s_fft);
f=linspace(-fs/2,fs/2,N_fft);
subplot(3,1,2);
plot(f,real((s_fftsh)),'linewidth',2);
grid on;hold on;
plot(f,imag((s_fftsh)),'r','linewidth',2);
legend('réel','imaginaire');
xlabel('Frequence');ylabel('Amplitude');
subplot(3,1,3);
plot(f,abs((s_fftsh)),'g','linewidth',2);
grid on;hold on;
xlabel('Frequence');ylabel('Amplitude');
title('Module');

 La Transformée de Fourier Rapide Inverse


(IFFT)

le code suivant pour reproduire le signal dans le


domaine temporaire :

%%% ifft
figure(2);
xt_ifft = ifft(ifftshift((s_fftsh)));
t1=linspace(-0.5*t0,0.5*t0,length(xt_ifft));
length(xt_ifft)
plot(t1, xt_ifft ,'b','LineWidth',2), grid ; title(" x(t)
from ifft ");

Vous aimerez peut-être aussi