Результаты быстрого преобразования Фурье: шкала оси частоты?

Я успешно реализовал код, который берет данные массива и выполняет для них быстрое преобразование Фурье, используя Apple Accelerate Framework (выполняется на устройстве iOS).

Теперь мой вопрос: каков масштаб оси частот? Результаты имеют пики, как и ожидалось, в определенных диапазонах частот, но я не уверен, какой должна быть частота. Функции БПФ Accelerate Framework принимают массив и выдают массив с тем же (или большим) количеством точек данных. Предполагается ли, что все эти точки одинаково разнесены во времени? Он не принимает в качестве входных данных частоту дискретизации или временную переменную. Является ли масштаб оси частоты (т.е. приращение частоты в каждой точке) просто периодом дискретизации, деленным на 2*Pi (или что-то подобное?). Я не смог найти много информации в документации по этому поводу. Я искал подобные вопросы в Интернете и ничего не нашел.

В некотором смысле это математический вопрос, хотя он сильно зависит от реализации Accelerate Framework.

Спасибо

РЕДАКТИРОВАТЬ Я задал дополнительный вопрос здесь но на него еще никто не ответил. Пожалуйста, взгляните!


person shim    schedule 22.04.2012    source источник


Ответы (2)


БПФ дает линейно разнесенные интервалы по частоте вплоть до частоты дискретизации. Это означает, что интервал между бинами равен (частота дискретизации)/(количество бинов).

person joerick    schedule 22.04.2012
comment
Что такое мусорное ведро? Насколько большой бак? - person shim; 23.04.2012
comment
Каждый бин представлен одним элементом комплексного массива результатов БПФ. Первый бин — DC, затем разместите точки, как указано выше. - person hotpaw2; 23.04.2012
comment
Спасибо. Пока мы здесь, в БПФ для реальных данных, на что указывает знак данных БПФ? Являются ли положительные данные реальными, а отрицательные — мнимыми? Я говорю это, потому что, когда я запускал простой синус и косинус через БПФ, косинус давал импульс, указывающий вверх, а синус — импульс, указывающий вниз. - person shim; 23.04.2012
comment
Что делать с компонентом постоянного тока? Вы планируете это? - person shim; 26.04.2012
comment
@shim Это полностью зависит от вашего приложения. Это допустимая точка данных. - person joerick; 28.04.2012
comment
DC такой же, как 0 Гц. Вы хотите начать свой сюжет с 0? Или какая-то другая отправная точка? - person hotpaw2; 29.04.2012
comment
Почему бы вам не начать свой сюжет с 0? - person shim; 03.05.2012
comment
Я задал дополнительный вопрос здесь но на него еще никто не ответил. Пожалуйста, взгляните! - person shim; 11.05.2012

Масштаб оси частот не зависит от реализации платформы Accelerate, а только от частоты дискретизации (FS) данных во временной области и длины (N) БПФ. Любое БПФ.

Для ввода строго реальных данных вторая половина результатов БПФ будет просто комплексно-сопряженной первой половиной. Для реальных данных обычно строится только первая половина, до FS/2.

person hotpaw2    schedule 23.04.2012
comment
Какая половина? Является ли любая другая точка данных комплексно-сопряженной? Или вторая половина данных? Фреймворк ускорения имеет функции для упаковки/распаковки данных (ztoc, ctoz). ЕСЛИ я хочу, чтобы реальные данные были вместе, не должен ли я распаковать их в конце? Кажется, что комплексные точки отрицательные, а действительные положительные. Имеет ли это смысл? Я думаю, что это так, потому что я провел БПФ для sin(t) и cos(t), и у cos был пик, указывающий вверх, а у синуса — один, указывающий вниз. - person shim; 29.04.2012