def FFT(wave, fs, length):
fre = np.arange(0,int(len(wave)/2),1) * (fs/len(wave))
window = sgn.hann(len(wave))
spec = abs(np.fft.fft(wave*window)) * 2 / (len(wave))
spec2 = spec[range(int(len(wave)/2))]
spec2 = spec2[:length]
fre = fre[:length]
return fre, spec2
使用时可选择返回值,并绘图。
例如:
F,a = FFT(x, fs, -1)
plt.plot(F,a)