我是 Python 新手。我打算对一组离散点(时间、加速度)进行傅里叶变换,并将结果绘制出来。
我复制并粘贴示例 FFT 代码,并进行相应修改。
请看代码:
import numpy as np
import matplotlib.pyplot as plt
# Load the .txt file in
myData = np.loadtxt('twenty_z_up.txt')
# Extract the time and acceleration columns
time = copy(myData[:,0])
# Extract the acceleration columns
zAcc = copy(myData[:,3])
t = np.arange(10080)
sp = np.fft.fft(zAcc)
freq = np.fft.fftfreq(t.shape[-1])
plt.plot(freq, sp.real)
myData 是一个 10080 行 10 列的矩形矩阵。
因此,zAcc 是从矩阵中提取的第 3 行。
在 Spyder 绘制的图中,大部分谐波集中在 0 附近。它们都非常小。
但我的数据实际上是步行者携带手机的加速度(包括重力)。所以我预计最重要的谐波发生在 2Hz 附近。
为什么图表是无意义的?
提前致谢!
==============更新:我的图表======================
第一时域一:
x 轴以毫秒为单位。
y 轴以 m/s^2 为单位,由于地球重力,它的 DC 偏移量约为 10。