Salut,
Je viens de tomber sur ton mess.
Je me suis intéressé à la FFT il y a un peu plus d'un an maintenant et je continu à m'y intéresser pour les besoins d'un projet avec un ami.
J'avais trouvé un pdf qui expliquait bien le calcul de la fft mais je ne remet pas la main dessus ...
La FFT demande beaucoup moins de calculs que la TFD, elle est donc nettement plus rapide. Par contre, pour calculer la FFT, il faut un nombre de valeurs égal à une puissance de 2.
En VB, j'utilise le module de calcul de la FFT fait par un certain MacCallais ou un truc dans le genre, tu le trouves très facilement sur VBFrance, la dernière version est la 2-B il me semble. Il fonctionne très bien et est relativement rapide, par contre il calcule tout, c'est a dire les valeurs réelles (le niveau en fonction de la fréquence) et les valeurs imaginaires (le déphasage en fonction de la fréquence), ces dernières ne sont pas toujours utiles.
De plus, il y a un effet de repliement dans les résultats, c'est à dire que pour un signal de 1024 valeurs par exemple, les 512 dernières valeurs sont la symétrie des 512 premières valeurs (théorème de Shannon).
Donc si tu veux le spectre d'un signal avec ce module, tu envois 2 puissance N valeurs et tu récupères les premières 2 puissance N-1 valeurs réelles.
Il te permet aussi de calculer 2 ou 3 autres trucs qui peuvent être utiles comme le niveau pour une seule fréquence, etc ... Par contre, de mémoire car ca fait un moment que je ne l'ai pas utilisé et je ne l'ai pas sous les yeux, il me semble que le calcul de la FFT se fait sur une fenêtre rectangulaire dans ce module, ce n'est pas terrible pour les valeurs limites de fréquence. Mais tu peux trouver les formules de pleins de fenêtres différentes sur internet si tu n'en as pas déjà trouvé.
En espérant t'avoir aidé.
Sinon, regarde mon code SAA - Sphaxs Audio Analyser sur VBFrance, c'était la première version, non terminée, du projet cité plus haut.
Sphaxs