Расчет спектра турбулентности
У меня возникла проблема с оценкой сигнала hotwire. Я регистрирую сигнал hotwire (напряжение) в ветряном аппарате, который измеряет скорость и, что еще важнее, флуктуации скорости. Поэтому из этого сигнала напряжения я могу рассчитать сигнал скорости – до сих пор не проблема. Важное утверждение о турбулентности в потоке можно сделать с помощью спектра плотности энергии. Математически это определяется как
PSD = 2.0/NX*(f) X(f).
Если X(f)
– БПФ, X*(f)
сопряженный комплекс FFT и N
– длина моего образца. Итак, что я сделал:
def powerspec(x): s = np.fft.fft(x) return 2.0/N*np.real(s*np.conjugate(s))
Поскольку это не приводит к правильному спектру (по сравнению с данным набором данных), я пробовал разные методы, такие как:
Pxx_den =np.abs(np.fft.fft(x))**2 f, Pxx_den = signal.periodogram(x, fs)
Каждая версия дает другой результат, но ни один из них не нужен. Есть ли кто-нибудь, кто сделал это раньше и мог бы помочь? Разница показана на рисунке ниже.
Заранее большое спасибо!
Сигнал и данные «правого» Спектрума можно найти здесь: Ссылка на файлы с сигналом и спектром
- используя основной компонентный анализ для декорирования шумов
- Вычисление спектра мощности
- Фундаментальная частота по методу Кепстрала
- Сглаживание серии взвешенных значений в numpy / pandas
- Двумерная свертка и корреляция на основе FFT в Python
- pytest-bdd повторно использовать один и тот же метод для разных этапов
- Сканирование резко замедляется до конца
- Почему кросс-спектры отличаются в mlab и scipy.signal?
- как оценить (мощность сигнала на заданной частоте) по сравнению с временем в питоне
- Анализ аудио с использованием быстрого преобразования Фурье
- частотный анализ с неравномерно распределенными данными в python
- Повторное создание временных рядов данных с использованием результатов FFT без использования ifft
- Как использовать Tensorflow для обработки сигналов?
- Самый эффективный способ найти самую длинную инкрементную подпоследовательность в списке списков
- Кросс-корреляция непериодической функции с NumPy
- Вычисление DCT с помощью OpenCV