Bonjour à tous,
J'ai un souci avec la fonction FFT de Matlab (7.3.0 (R2006b)).
J'ai un signal d'entrée que je définis moi même, composé de trois sinusoïdes à des fréquences différentes. La fréquence d'échantillonage n'est pas un multiple de 2. Quand je fais la FFT du signal, je retrouve bien les trois fréquences, mais les amplitudes ne sont pas correctes. Etant vraiment pas bon du tout en signal processing, est ce que vous sauriez me dépanner ?
Je mets le code que j'utilise juste en dessous:
Merci d'avance
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 f1 = 100; f2 = 5000; f3 = 12435; Fs = 44100; duration = 5; t=0:1/Fs:duration; input = 2*cos(2*pi*f1*t) + cos(2*pi*f2*t) + 5*cos(2*pi*f3*t) ; Y = fft(input)/length(input); NFFT = length(input); f = linspace(0,Fs/2,NFFT/2); Y_plot = abs(Y(1:floor(NFFT/2))); figure; semilogx(f, 2*Y_plot) xlabel('Frequency [Hz]'); ylabel('Amplitude');
Julien
Partager