vDSP: функции FFT включают управление окнами? - PullRequest
0 голосов
/ 03 января 2011

Я работаю над реализацией алгоритма с использованием vDSP.

1) взять БПФ 2) взять журнал квадрата абсолютного значения (можно сделать с помощью таблицы поиска) 3) взять другой БПФ 4) принять абсолютное значение

Я не уверен, могу ли я перебрасывать входящие данные через оконную функцию, прежде чем запускать на ней БПФ.

vDSP_fft_zrip(setupReal, &A, stride, log2n, direction);

, это моя функция БПФ

Нужно ли сначала перебрасывать данные через vDSP_hamm_window (...)?

Ответы [ 3 ]

2 голосов
/ 03 января 2011

Похоже, вы делаете кепстральный анализ и да, вам нужна оконная функция до первого БПФ.Я бы предложил простое окно Ханна или Хэмминга .

2 голосов
/ 04 января 2011

Функция библиотеки iOS Accelerate vDSP_fft_zrip () не включает в себя применение оконной функции (если вы не учитываете подразумеваемое прямоугольное окно из-за параметра конечной длины).

Поэтому вам нужно применить выбранную оконную функциюЕсть много разных) во-первых.

2 голосов
/ 03 января 2011

У меня нет никакого опыта работы с вашей конкретной библиотекой, но в любой другой библиотеке FFT я знаю, что вы должны сначала оклеить данные. Если ничего другого, библиотека не может знать, какое окно вы хотите использовать, и иногда вы не хотите использовать окно (если вы используете FFT для фильтрации с перекрытием-добавлением или если вы точно знаете, что сигнал является точным). периодическая в блоке преобразования).

Кроме того, просто случайно, если вы делаете 2 БПФ, затраты на вызов функции логарифма относительно незначительны.

...