Расчет спектра турбулентности

У меня возникла проблема с оценкой сигнала 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) 

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

Заранее большое спасибо!

Сигнал и данные «правого» Спектрума можно найти здесь: Ссылка на файлы с сигналом и спектром

Разница между моей попыткой и «правильным» решением.