Determiner la frequence d'un son (fft)
Bonsoir,
Je cherche à trouver de façon très précise la fréquence d'un signal sonore que j'ai en .wav (ce signal est une sinusoide pure)
Il me faudrait cette fréquence soit determinée au centième de Hz près.
Le problème est que le fichier est cours (il y a trois periodes de sinusoides)
J'ai voulu faire un test en créant moi même une sinusoide par
Code:
1 2 3
|
t=0:1/8000:99/8000;
z=sin(2*pi*401.21*t); |
cependant, avec la fft et en visualisant avec un grand nombre de points (10000000) j'obtiens une frequence de 399.85 ce qui est donc assez eloigné de 401.21 quand on veut une précision à 0.01 Hz près.
Savez vous comment gagner en précision ?
J'ai entendu parler de fenêtrage mais en faisant des recherches je ne trouve pas comment on pourrait les utiliser (les fenêtres pour gagner en precision)
Merci
La FFT est fiable et adaptée à condition de bien l'utiliser ! ;-)
Bonsoir,
Tout d'abord la FFT est fiable et fournit toujours le bon résultat avec la précision que vous voulez à condition de respecter les critères d'utilisation. Nul besoin de recourir à des méthodes compliquées ou de prendre des millions de points ! 8-)
Il faut toujours se rappeler que la résolution fréquentielle est l'inverse du support temporel (df = 1/support) et que la TFD est par nature périodique de période égale à la fréquence d'échantillonnage. Il convient donc d'échantillonner votre sinusoïde convenablement de sorte que sa période soit un multiple de la période d'échantillonnage.
Ainsi avec 100 points sur une période de sinusoïde, on arrive largement au résultat voulu.
Code:
1 2 3 4 5 6
| n=100;
fr=401.21;
T=1./fr; % période de la sinusoïde
dt=T/(n-1) ; % période d'échantillonnage
t=0:dt:T;
z=sin(2*pi*fr*t); |
Avec 100 points sur 3 périodes de sinusoïdes on y arrive également :
Code:
1 2 3 4 5 6
| n=100;
fr=401.21;
T=3./fr; % 3 périodes de la sinusoïde
dt=T/(n-1) ; % période d'échantillonnage
t=0:dt:T;
z=sin(2*pi*fr*t); |
Le problème que vous aviez était que votre intervalle de temps n'était pas un multiple de la période de votre sinusoïde.