我想使用 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()
但两者大多只给我一个零附近的峰值(尽管它们不一样)。我正在尝试从中计算功率谱:
这应该会给我一个 580Hz 左右的信号。我在这里做错了什么?