Я новичок в понятиях БПФ, и поэтому я понимаю, что если я введу 1024 сигнала, я получу 513 бинов в диапазоне от 0 Гц до 22050 Гц (в случае частоты дискретизации 44100 Гц). Используя KISS FFT в Cinder, функция getBinSize возвращает ожидаемые 513 значений для ввода 1024 сигналов. Чего я не понимаю, так это почему появляются двойные пики. При выполнении тестового аудиосэмпла, проходящего через частоты (в порядке) от 20 Гц до 22000 Гц, я вижу два пика за все время. Это выглядит примерно так:
__ _ __ | __ _ __ _ __ | __ _ __
Во время воспроизведения звука пики, кажется, движутся навстречу друг другу, поэтому второй пик действительно является зеркальным дубликатом первого. Кажется, что каждый пример, через который я прошел, просто показывает все 513 значений, и у них, похоже, нет этой проблемы с зеркалированием. Я не уверен, что мне не хватает.