Pourquoi mon tracé KISS FFT montre-t-il des pics en double reflétés sur l'axe des y?

StackOverflow https://stackoverflow.com/questions/8887896

  •  29-10-2019
  •  | 
  •  

Question

Je suis un débutant avec des concepts FFT et donc ce que je comprends, c'est que si je mets 1024 signaux, je recevrai 513 bacs allant de 0Hz à 22050Hz (dans le cas d'un taux d'échantillonnage de 44100Hz). Utilisation de Kiss FFT dans Cinder La fonction GetBinsize renvoie les valeurs 513 attendues pour une entrée de 1024 signaux. Ce que je ne comprends pas, c'est pourquoi les pics en double apparaissent. Exécuter un échantillon audio de test qui passe par des fréquences (dans l'ordre) de 20 Hz à 22000 Hz, je vois deux pics tout le temps. Ça ressemble à quelque chose:

_____|________|_____

Au fur et à mesure que l'audio joue, les pics semblent se déplacer vers l'autre, donc le deuxième pic semble vraiment être un double en miroir du premier. Chaque exemple que j'ai vécu semble aller de l'avant et tracer les 513 valeurs et ils ne semblent pas avoir ce problème de miroir. Je ne sais pas ce qui me manque.

Était-ce utile?

La solution

OK, après avoir lu ceci, j'ai trouvé la solution. La raison de la mise en miroir est que j'utilise une FFT sur des nombres réels (vraie FFT). La FFT normale comme tout le monde le sait fonctionne sur des nombres complexes. Par conséquent, la partie imaginaire est "définie" à 0 dans la vraie FFT, entraînant une miroir autour du milieu (ou techniquement parlant la mise en miroir est d'environ 0 et n / 2).

Voici une discussion détaillée: http://www.edaboard.com/thread144315.html

Et lire p 238 - 242 sur ce livre. C'est fantastique, alors achetez-le. Je pense qu'il existe une version PDF gratuite sur le site Web de l'auteur: http://www.dspguide.com/

Autres conseils

Vous tracez peut-être l'ampleur des 1024 bacs de résultats FFT d'une longueur de 1024 FFT, mais la moitié supérieure n'est qu'une image miroir de la moitié inférieure (car l'entrée réelle uniquement sur une FFT complexe ne fournit pas suffisamment de degrés de liberté pour rendre la moitié supérieure unique).

Les pics se déplaceront l'un vers l'autre lorsque des images miroir les unes des autres autour du centre.

Une autre possibilité est que votre FFT n'était en quelque sorte que de longueur 512.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top