【发布时间】:2015-07-05 11:25:39
【问题描述】:
我有一组data。它显然具有一定的周期性。我想通过使用傅立叶变换找出它的频率并将其绘制出来。
这是我的一张照片,但似乎不太好。
这是对应的代码,不知道为什么会失败:
import numpy
from pylab import *
from scipy.fftpack import fft,fftfreq
import matplotlib.pyplot as plt
dataset = numpy.genfromtxt(fname='data.txt',skip_header=1)
t = dataset[:,0]
signal = dataset[:,1]
npts=len(t)
FFT = abs(fft(signal))
freqs = fftfreq(npts, t[1]-t[0])
subplot(211)
plot(t[:npts], signal[:npts])
subplot(212)
plot(freqs,20*log10(FFT),',')
xlim(-10,10)
show()
我的问题是:由于原始数据看起来非常周期性,我希望看到在频域中的峰值非常尖锐;我怎样才能让山峰看起来更好看?
【问题讨论】:
-
这有什么不对?你期待什么?
-
@PaulH 为什么波峰这么宽,我看原始数据的周期很不错。如何让频率更明显?
标签: python python-2.7 scipy data-analysis