我试图表示信号的傅里叶变换时遇到问题。 这是我的代码:
path = "./sensor_20170315_140457Z.das.h5"
p5 = h5py.File(path, 'r')
dsData = p5["DAS/Data"]
ds_as_array = np.array(dsData, dtype=np.int32)
channel = ds_as_array[355, 0:2500]
channel_t=np.arange(0,1,0.0004)
plt.plot(channel_t, channel)
plt.show()
我计算傅立叶变换的代码是:
Y = fft(y)
plt.plot(Y)
plt.show()
,输出为:
我不明白这个输出,我怎么知道频率? 我也尝试了scipy文档的样本,但结果更令人失望
N = 2500
# sample spacing
T = 1.0 / 2500.0
x = np.linspace(0.0, N*T, N)
y = channel
print(y)
yf = fft(y)
xf = np.linspace(0.0, 1.0/(2.0*T), N//2)
plt.plot(xf, 2.0/N * np.abs(yf[0:N//2]))
plt.grid()
plt.show()
,其输出为: