Bonjour,
j'aimerai calculer la fréquence d'un signal de type sinusoidal. Pour cela j'utilise la FFT qui me permet de passer du domaine temporel au domaine fréquentiel.
Cependant, après avoir fait ma FFT, je trouve des resultats incohérents. Voici un exemple du code de la doc Matlab:
A ce stade Y est une matrice de 1024 points complexes représentant la FFT de y.Fs = 1000; % Sampling frequency
T = 1/Fs; % Sample time
L = 1000; % Length of signal
t = (0:L-1)*T; % Time vector
y = 7*sin(2*pi*50*t) % je crée une sinusoide de 50hz et d'amplitude 7 volts
NFFT = 2^nextpow2(L); % Next power of 2 from length of y
Y = fft(y,NFFT)/L; % Calcul de la FFT
Pour trouver la fréquence j'ai mis dans une matrice le module de Y, trouvé le maximum, calculé la matrice avec la phase de Y, lu la valeur dont l'indice est le maximum pour la matrice précédente. Code:
Pouvez vous m'indiquer ou sont mes erreurs de raisonnement?module = abs(Y) % calcul du module (donc de l'amplitude?)
[valeur,Indice]=max(module) % valeur=3.2978 et I=52 (deja la je m'attendais à avoir valeur=~7)
phase = angle(Y) % calcul de la phase de Y (donc des fréquences?)
phase(52) % retourne -0.9572 !!!
j'ai enfait 2 questions principales:
1)que représente le "Sampling frequency" ?
2)comment déduire la fréquence depuis la FFT?
Merci.
Partager