Bonjour,
Je réalise une FFT sur un signal et je désire récupérer l'amplitude et la valeur (fréq) du Peak (le max).
Ce code fonctionne (Frequency = 200Hz) mais je voudrai maintenant avoir le Peak entre 100 Hz et 500 Hz (faire abstraction des autres peak max si < à 100Hz ou > à 500Hz)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 L = length(Signal); Y = fft(Signal); FT = abs(Y/L); DispFT = 2*FT(1:L/2+1); freq = Sample_Freq*(0:L/2)/L; [Amplitude, IFreq] = max(DispFT); Frequence = freq(IFreq);
J'ai tenté ça :
Je n'obtient pas avec ce code le même résultat qu'avant (Frequency = 186.4), alors que je test avec une sinusoïde de 200Hz (entre 100 et 500Hz) je devrai avoir le même résultat non ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 FTCalcul = DispFT(100:500); FreqCalcul = Freq(100:500); [Amplitude, IFreq] = max(FTCalcul); Frequency = FreqCalcul(IFreq);
Merci d'avance.
Partager