Я начинаю с концепциями FFT, и поэтому я понимаю, что если я поставлю 1024 сигнала, я получу 513 бит в диапазоне от 0 Гц до 22050 Гц (в случае частоты дискретизации 44100 Гц). Используя KISS FFT в Cinder, функция getBinSize возвращает ожидаемые значения 513 для ввода 1024 сигналов. Я не понимаю, почему появляются повторяющиеся пики. Запуск тестового звукового образца, проходящего через частоты (по порядку) от 20 Гц до 22000 Гц, я вижу два пика все время. Это выглядит примерно так:Почему в моей картине KISS FFT отображаются повторяющиеся пики, отраженные по оси Y?
__ _ __ | __ _ __ _ __ | __ _ __
Как аудио пьесах, пики, кажется, движутся навстречу друг другу, так что второй пик действительно, кажется, зеркальная дубликатом первого. Каждый пример, который я прошел, кажется, просто идет вперед и закладывает все 513 значений, и у них, похоже, нет этой проблемы с зеркалированием. Я не уверен, что мне не хватает.
Попробуйте сигнал альтернативных и отрицательных с нулями между ними. (т. е. 1,0, -1,0, 1,0, -1,0, ...) Для реального БПФ длины 1024 это должно дать вам один пик на выходе [255] (256-й ящик частоты) –
Спасибо, Марк. Я сделал это, и это дало мне один пик на 256-м ящике частоты, но я не уверен, что это значит. Не могли бы вы помочь мне понять, почему в звуковой дорожке с входными блоками 1024 сигналов кажется зеркальным, но этот сконфигурированный сигнал не сделал? – geranyl