2016-06-17 1 views
-1

У меня есть данные с неравномерно распределенными (временными) образцами. Как я могу найти БПФ сигнала и построить его.Как найти БПФ неравномерно дискретизированного сигнала в python3?

+0

На самом деле, не могли бы вы поделиться тем, что вы пытаетесь выполнить, тогда может быть предложен более целевой ответ. –

ответ

1

Вы не можете выполнить БПФ неравномерно сэмплированного сигнала. Это делает недействительными предположения математики, на основе которых основан БПФ.

Вам придется перепрограммировать сигнал, чтобы у вас были равномерные интервалы.

Это немного выходит за рамки этого форума, но вы можете начать in the dsp stackexchange

Если вы хотите быстро и грязный решение использовать следующий подход:

  • выбрать время задержки меньше или равное наименьшему времени между точками -> dt или, альтернативно, 20% от обратного к максимальной частоте, которую вы интересуете.

  • сделать буфер с N точками с N мощностью 2 и N * dt> Tмакс - Tmin, или whate ver окно, которое вас интересует.

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

В итоге у вас будет буфер с шипами и нулями в нем, но с той же энергией, что и исходный сигнал.

Теперь FFT и используйте только самые низкие 20% или около того частотных линий.

Это невероятно «сырой» и «приближенный» способ делать что-то, но это даст некоторую аппроксимацию вибрирующих баров мощности по частоте. Вы можете очистить сигнал, применяя окна.

Обратите внимание, что обработка цифрового сигнала является полем для себя. Я рекомендую исследовать этот раввин, но, надеюсь, проведет там некоторое время.

0

Чтобы использовать БПФ, вам необходимо создать вектор образцов, равномерно распределенных во времени.

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