Я использую БПФ для анализа того, что по существу является огибающей мощности сигнала (см. Здесь информацию о проекте, в котором он находится), и, поскольку значения мощности всегда положительны, для исключения компонента постоянного тока я хотел бы использовать окно функция, которая является 50/50 положительной и отрицательной, по сравнению с обычной все положительной функцией.
Я взял функцию « плоской вершины », убрал a0
смещение и преобразовал ее из косинусов в синусы, но я не уверен, что это оптимально (или даже имеет смысл).
Любое предложение?
fft
window-functions
Даниэль Р Хикс
источник
источник
Ответы:
Первая производная от наиболее распространенных непрерывных оконных функций (фон Ханн и т. Д.) Будет отклонять DC, но все равно будет иметь частотную характеристику, аналогичную исходной оконной функции; так что вы все равно можете использовать свои исходные критерии "добродетели" для выбора окна, если оно не связано с фазой.
источник
Если вас интересует выполнение спектрального анализа сигнала с большим компонентом постоянного тока, и вы хотите подавить этот пик постоянного тока, тогда оконная функция - это не то, что вам нужно. Как отмечалось в некоторых других ответах, высокочастотный фильтр (или, с другой стороны, узкополосный фильтр с надрезом на нулевой частоте) является подходящим решением.
Чтобы понять почему, вам нужно подумать о том, что делает применение оконной функции к частотной характеристике каждого выхода DFT. ДПФ определяется как:
Одно из объяснений того, как работает ДПФ, - это набор фильтров на частотах, расположенных на равных расстояниях между - f sN иfs−fs2 . Пересчитайте вышеуказанную сумму следующим образом:fs2
где:
Амплитудный отклик фильтра каскадных сигналов можно найти, взяв дискретное время преобразования Фурье (DTFT) этого импульсного отклика:
Так что, если вы действительно хотите отменить компонент DC сигнала, его можно удалить с помощью какой-либо другой предварительной обработки, а не оконного управления во временной области. Например, вы можете использовать линейный фильтр верхних частот с очень низкой частотой среза или сначала вычесть расчетное среднее значение из сигнала. Выбор между этими методами должен основываться на других ограничениях вашей системы.
источник
Я не думаю, что использование оконной функции - хороший способ удалить DC. Как упоминалось в endolith, распространенный метод состоит в том, чтобы просто вычесть среднее значение перед обработкой окна. Другим вариантом будет применение фильтра верхних частот к вашему сигналу до анализа, скажем, с частотой среза около 10 Гц.
источник