我的意思是居中,似乎没有太多的趋势。。。在
傅里叶变换图:
我得到了一些不好的东西。。。。在
这是我的代码:
def fourier_spectrum(X, sample_freq=1):
ps = np.abs(np.fft.fft(X))**2
freqs = np.fft.fftfreq(X.size, sample_freq)
idx = np.argsort(freqs)
plt.plot(freqs[idx], ps[idx])
改编自here的代码。在
它似乎适用于一些原始的正弦波数据:
^{pr2}$所以我的问题是:我期待一个非零的几乎无处不在的频谱,我做错了什么?如果我没有做错什么,我的数据的哪些特性导致了这种情况?另外,如果我没有做错什么,而fft只是因为某种原因不适合我的数据,我应该怎么做才能从数据中提取重要的频率?在
结果我不明白频谱中x轴的单位,也就是赫兹。因为我的采样间隔大约是一秒,而周期是一天,所以在我的频谱上真正可见的单位只有~1/s(在边缘)到~1/m(靠近中间),而且任何比这更长的周期都无法与0区分。我的误解源于this图形教程,在那里他们进行转换,以便x轴单位是在时间上,而不是反时间。我重写了我的频谱绘制功能,在结果图上做适当的“缩放”。。。在
相关问题 更多 >
编程相关推荐