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 :
quelqu'un peut-il m'éclairer ?
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
Partager