Разница в амплитуде из того же источника с использованием FFT

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

Вопрос

У меня есть вопрос в отношении использования FFT. Использование функции getBand(int i) с участием Минимальный Я могу извлечь амплитуду определенной частоты и делать симпатичные карты. Прекрасно работает.

Однако это больше вопроса любопытства. Когда я смотрю на значения, извлеченные из игры в одну и ту же песню дважды, используя ту же частоту (поэтому амплитуда должна быть идентична), но я получаю очень разные значения - почему это?

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
Это было полезно?

Решение

Вы уверены, что входы точно такие же в обоих случаях? Если вы просто принимаете случайный сегмент песни, то вывод FFT будет очень отличается для разных отправных точек в песне.

Другие советы

Декодирование MP3 может быть Flaky и / или ведущая буферизация процедуры FFT может быть хверной, (разная длина молчания, предшествующая серии). В этом случае он выглядит как ведение составляет около 2 шагов больше в 2-м выходе.

Затем, если проводится временной интервал, при котором FFTS проводится дольше, чем размер окна FFT, разница в свинцом может привести к приземлению WFF, чтобы приземлиться на совершенно разные части ряда, что может объяснить самые разные значения позже на выходах.

Ситуация должна быть более четкой, если вы сможете увеличить «Разрешение времени» (количество FFTS, выполненных в определенное время) -OR увеличение размера окна FFT, поэтому измерения FFT не выполняются редко. Неужели они должны перекрываться, прежде чем мы могли ожидать, чтобы соответствовать шаблону между сканами, сделанными из шага.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top