Есть ли БПФ, использующее логарифмическое деление частоты?

Вейвлет содержит следующий текст:

Дискретное вейвлет-преобразование также менее сложно в вычислительном отношении, занимая время O (N) по сравнению с O (N log N) для быстрое преобразование Фурье. Это вычислительное преимущество не присуще преобразованию, но отражает выбор логарифмического деления частоты в отличие от равномерного частотного деления БПФ.

Означает ли это, что существует также алгоритм, подобный БПФ, который использует логарифмическое деление частоты вместо линейного? Это тоже O (N)? Очевидно, это было бы предпочтительнее для многих приложений.


person endolith    schedule 13.07.2009    source источник
comment
Это интересная идея. Я не уверен, насколько это полезно: будут ли формы сигналов с логарифмическими частотами составлять полную основу, а если нет, то какая от них польза? (Не сказать, что это бесполезно, я действительно имею в виду, что я не уверен.)   -  person tom10    schedule 14.07.2009
comment
Я предполагал, что это будет похоже на БПФ, но с логарифмическими интервалами в результатах. Например, анализатор звукового спектра выиграет от этого, потому что он будет иметь более высокое разрешение на низких частотах и ​​более низкое разрешение на высоких частотах (www-uxsup.csx.cam.ac.uk/pub/doc/suse/suse9.0/userguide-9.0/), а более высокая скорость вычислений позволила бы ему обновляться с гораздо большей скоростью или обеспечить большее разрешение в целом.   -  person endolith    schedule 14.07.2009
comment
Теперь, когда я понял это лучше, сложное вейвлет-преобразование Морле, вероятно, сделало бы то, что я себе представлял, по крайней мере, для анализатора спектра.   -  person endolith    schedule 15.10.2009
comment
@endolith: или преобразование постоянной добротности dsp.stackexchange.com/q/6266/29   -  person endolith    schedule 12.04.2013
comment
Очень интересно, спасибо. Я также нашел полезной страницу википедии о преобразовании константы Q: en.wikipedia.org/wiki/ Constant_Q_transform   -  person tom10    schedule 12.04.2013
comment
Привет, думаю, что ответы на Как я могу вычислить логарифмический спектр мощности? на dsp.stackexchange.com/questions/129/ дает очень хорошие дополнения.   -  person Pierre H.    schedule 25.02.2014


Ответы (3)


да. да. Нет.

Это называется логарифмическим преобразованием Фурье. У него время O (n). Однако это полезно для функций, которые медленно убывают с увеличением домена / абсциссы.

Ссылаясь на статью в Википедии:

Основное отличие состоит в том, что вейвлеты локализованы как по времени, так и по частоте, тогда как стандартное преобразование Фурье локализовано только по частоте.

Так что, если вы можете быть локализованы только во времени (или пространстве, выберите свою интерпретацию абсциссы), тогда вейвлеты (или дискретное косинусное преобразование) являются разумным подходом. Но если вам нужно продолжать и продолжать, тогда вам понадобится преобразование Фурье.

Дополнительные сведения о LFT см. На странице http://homepages.dias.ie/~ajones/publications/28.pdf

Вот аннотация:

Мы представляем точное и аналитическое выражение для преобразования Фурье функции, которая была выбрана логарифмически. Процедура значительно более эффективна в вычислительном отношении, чем быстрое преобразование Фурье (БПФ) для преобразования функций или измеренных откликов, которые медленно затухают с увеличением значения абсцисс. Мы проиллюстрируем предлагаемый метод на примере из электромагнитной геофизики, где масштабирование часто таково, что необходимо применять наше логарифмическое преобразование Фурье (LFT). В выбранном примере мы можем получить результаты, которые согласуются с результатами БПФ с точностью до 0,5% за время, которое в 1,0e2 раза меньше. Возможные применения нашего LFT в геофизике включают преобразование широкополосных электромагнитных частотных откликов в переходные характеристики, ледниковую нагрузку и разгрузку, проблемы подпитки водоносных горизонтов, исследования нормального режима и земных приливов в сейсмологии, а также моделирование импульсных ударных волн.

person Jason Harrison    schedule 13.07.2009
comment
Ооо, значит, сигнал во временной области тоже нужно дискретизировать логарифмически? (Имеется в виду, что образцы неравномерно распределены во времени?) - person endolith; 13.07.2009

РЕДАКТИРОВАТЬ: Прочитав это, я думаю, что этот алгоритм не очень полезен для этого вопроса, я все равно дам описание для других читателей.

Существует также алгоритм Филона, метод, основанный на qudrature Филона, который можно найти в Численных рецептах этой [докторской диссертации] [1]. Шкала времени разнесена по шкале частот, как и результирующая шкала частот.

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

Если ваши данные отмечены точками (x_0, y_0), (x_1, y_1) ... (x_i, y_i), и вы хотите вычислить спектр A (f), где f - частота, скажем, f_min = 1 / x_max до f_max = 1 / x_min с интервалом в журнале. Действительная часть для каждой частоты f затем вычисляется по формуле:

A (f) = сумма от i = 0 ... i-1 {(y_i + 1 - y_i) / (x_i + 1 - x_i) * [cos (2 * pi * f * t_i + 1) - cos (2 * пи * е * t_i)] / ((2 * пи * f) ^ 2)}

Мнимая часть:

A (f) = y_0 / (2 * pi * f) + сумма от i = 0 ... i-1 {(y_i + 1 - y_i) / (x_i + 1 - x_i) * [sin (2 * pi * f * t_i + 1) - sin (2 * pi * f * t_i)] / ((2 * pi * f) ^ 2)}

[1] Блохович, Томас: Широкополосная диэлектрическая спектроскопия в чистых и бинарных молекулярных формирователях стекла. Университет Байройта, 2003 г., глава 3.2.3.

person mrossi    schedule 12.04.2013

Чтобы делать то, что вы хотите, вам нужно измерять разное время Windows, что означает, что более низкие частоты обновляются реже (обратно пропорционально степени двойки).

Проверьте FPPO здесь: https://www.rationalacoustics.com/files/FFT_Fundamentals.pdf

Это означает, что более высокие частоты будут обновляться чаще, но вы всегда усредняете (скользящее среднее - это хорошо), но также можете позволить ему двигаться быстрее. Конечно, если вы планируете использовать обратное БПФ, вам ничего этого не нужно. Кроме того, чтобы иметь лучшую точность (меньшую полосу пропускания) на более низких частотах, это означает, что они должны обновляться намного медленнее, как 16k Windows (1/3 м / с).

Да, низкочастотный сигнал естественно распространяется медленно, и поэтому, конечно, вам нужно много времени, чтобы их обнаружить. Это не проблема, которую можно решить с помощью математики. Это естественный обмен, и у вас не может быть высокой точности при более низкой частоте и быстром отклике.

Я думаю, что предоставленная мной ссылка прояснит некоторые из ваших вариантов ... К сожалению, через 7 лет после того, как вы задали вопрос.

person Federico Ferreres    schedule 20.06.2016