Question

J'ai une question concernant l'utilisation de la FFT. Utilisation de la fonction getBand(int i) avec Minim i peut extraire l'amplitude d'une fréquence spécifique et faire des cartes jolies de celui-ci. Fonctionne très bien.

Cependant, ceci est un plus d'une question de curiosité. Quand je regarde les valeurs extraites de jouer la même chanson deux fois en utilisant la même fréquence (donc l'amplitude doit être identique) mais je reçois très différentes valeurs - pourquoi est-ce

0.0,0.0,0.0,0.0,0.0,0.08706585,0.23708777,0.83046436,0.74603105,0.30447206
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08706585,0.4790409,0.9608221,0.83046436,0.74603105
Était-ce utile?

La solution

Êtes-vous sûr que les entrées sont exactement les mêmes dans les deux cas? Si vous êtes en train de prendre un segment aléatoire d'une chanson alors la sortie d'une FFT sera très différent pour différents points de départ dans la chanson.

Autres conseils

Le décodage MP3 pourrait être feuilletée et / ou l'amenée de tampon de la routine fft pourrait être flakey, (longueur différente de silence précédant la série). Dans ce cas, il semble que le lead-in est d'environ deux étapes plus dans la 2ème sortie.

Alors, si l'intervalle de temps auquel les TFR sont effectuées est plus longue que la taille de la fenêtre fft, une différence dans le lead-in peut provoquer les fenêtres fft à la terre sur les parties très différentes de la série, ce qui pourrait expliquer la très différentes valeurs plus tard dans les sorties.

La situation devrait être plus claire si vous pouvez augmenter la (quantité de TFR effectuées par temps donné) « résolution temporelle » -ou augmenter la taille de la fenêtre de fft, de sorte que les mesures fft arent fait peu. Idealement ils doivent se chevaucher avant de pouvoir espérer correspondre à un modèle entre les balayages effectués à l'étape.

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