Вычисление спектра мощности

Я хотел бы рассчитать спектр мощности с использованием Python3. Из другой ветки об этой теме я получил основные ингредиенты. Я думаю, что это должно быть что-то вроде:

ps = np.abs(np.fft.fft(x))**2
timeres = t[1]-t[0]
freqs = np.fft.fftfreq(x.size, timeres)
idx = np.argsort(freqs)
plt.plot(freqs[idx], ps[idx])
plt.show()

Вотt времена иx это число фотонов. Я также попробовал:

W = fftfreq(x.size, timeres=t[1]-t[0])
f_x = rfft(x)
plt.plot(W,f_x)
plt.show()

Но оба в основном просто дают мне пик около нуля (хотя они не одинаковы). Я пытаюсь вычислить спектр мощности из этого:

Который должен дать мне сигнал около 580 Гц. Что я здесь не так делаю?

Ответы на вопрос(2)

Ваш ответ на вопрос