Bonjour,

il y a un truc que je ne comprend pas avec la fonction fft de Matlab : je crée un signal somme de 3 sinus et j'en prend la fft. Je retrouve bien mes 3 fréquences par contre j'ai exactement un facteur 2 dans les amplitudes et je ne vois pas pourquoi. Je suis loin d'être experte en traitement du signal donc il y a surement une subtilité qui m'échappe mais j'avais l'impression d'après les algo de DFT que je devais récupérer les amplitudes avec cette méthode.

Voici le code que j'effectue :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
T = 0:0.01:10;
T = T';
x1 = 0.5*sin(2*pi*2*T);
x2 = 1.2*sin(2*pi*5.4*T);
x3 = 0.7*sin(2*pi*7*T);
y = x1+x2+x3;
 
N = length(y);
duree = max(T)-min(T);
Delta_T = duree/N;
Fe = N/duree;
Delta_F = 1/duree;
 
xfft = 1/N*fft(y);
mag = abs(xfft);
freq = 0:Delta_F:(Fe-Delta_F);
freq = freq';
 
figure(2)
hold all;
plot(freq,mag);
legend('abs');
xlabel('Freq in Hz');
title('FFT');
box on;
set(gca,'Xlim',[0 100]);
grid on;
 
figure(1)
hold all;
plot(T,y)
grid on
quelqu'un peut-il m'éclairer ?