无论我如何更改数据,通过下面的代码绘制的图形只是在零点周围波动。我的数据只有一列,记录了某种信号的每个时间点。 time_step
是我应该根据数据中两个相邻点的间隔定义的值吗?
data=np.loadtxt("timesequence",delimiter=",",usecols=(0,),unpack=True)
ps = np.abs(np.fft.fft(data))**2
time_step = 1
freqs = np.fft.fftfreq(data.size, time_step)
idx = np.argsort(freqs)
pl.plot(freqs[idx], ps[idx])
pl.show()
data = [1, 1, 1, 1]
就是你的 信号 在fft
中应该的值。 - askewchanfft
需要输入信号,你可以使用fftfreq
将时间点转换为频率轴,以在功率谱图上显示。我已经为你提供了一个示例来演示这一点。 - Hooked