Bonjour,
j'essaie de comprendre un résultat que j'obtiens avec Matlab sur des FFT et plus particulièrement avec la fonction fftshift
Je calcule d'abord la FFT d'un signal simple ( y=cos(2*pi*f_signal*t) puis la transformée inverse pour essayer de retrouver le signal initial.
Je compare les résultats sans et avec du "zero padding" en rajoutant 100 points de plus au signal de départ avant d'effectuer la FFT.
voici le code :
Je ne comprends pas le résultat obtenu sur la figure 5 (transformée inverse d'un spectre décalé avec fftshift);Code:% Frequency input signal and time vector f_signal=10; nb_points = 100; f_sampling=nb_points*f_signal; step_time=1/f_sampling; t=linspace(0,1/f_signal,nb_points); %% Original signal with 100 points y=cos(2*pi*f_signal*t); %% Adding 100 more points for y n_zero_padding=100; y_f=padarray(y,[0 n_zero_padding],'post'); % Plot Input Signal figure(1); plot(y); title('Input Signal'); % Perform Forward FFT z=real(fft(y_f)); % Center FFT z_centered=fftshift(z); figure(2); plot(z_centered); title('FFT centrered with zero padding'); % Without centering figure(3); plot(z); title('FFT with zero padding'); % Perform Inverse FFT z_inv=ifft(z); figure(4); plot(z_inv); title('Inverse FFT with zero padding'); % Inverse FFT with centered spectrum z_inv_centered=ifft(z_centered); figure(5); plot(z_inv_centered); title('Inverse FFT centered with zero padding');
voici le premier spectre obtenu (non décalé) (figure(3)) :
Spectre_not_shifted.png
voici le premier spectre décalé avec fftshift (figure(2)) :
Spectre_shifted.png
et la TF inverse du spectre décalé ci-dessus (figure(5)) :
Inverse_FFT_of_Shifted_Spectre.png
Je ne comprends pas cette dernière figure. Si je reprends la théorie, le fait de décaler le spectre avec fftshift conduit à l'obtention de 2 Dirac centré autour de f_sampling/2, plus précisément en f_sampling/2-f_signal et f_sampling/2+f_signal.
J'ai donc la somme de ces 2 Dirac et je fais la TF Inverse de cette somme : je devrais donc obtenir pour la TF inverse la somme de 2 cosinus avec des fréquences très proches : on dirait que j'obtiens sur la figure(5) le produit de 2 signaux cosinus mais je ne vois pas où est mon erreur d'interprétation ...
Si quelqu'un pouvait m'expliquer ce résultat ?
Merci par avance
-----