【问题标题】:3d vibration data with Fast Fourier Transform使用快速傅里叶变换的 3d 振动数据
【发布时间】:2020-02-07 14:11:21
【问题描述】:

我正在尝试在 python 中使用 FFT 方法来转换从加速度计收集的 3d 振动数据。我们将频率设置为 50 赫兹。

当我试图绘制数据时,我得到了一个奇怪的图表。有人可以告诉我为什么吗?

import scipy.fftpack
from matplotlib import pyplot as plt
import numpy as np
import pandas as pd

Y = pd.read_excel(r'/Users/0000/Documents/0000/data/accelData1.xls')


y1 = Y['X'].values
y2 = Y['Y'].values
y3 = Y['Z'].values

y = y1 + y2 +y3

N = 1280
T = 0.01
x = np.linspace(0.0, N*T, N)

yf = np.abs(scipy.fft(y))
xf = np.linspace(0.0, 1.0/(2.0*T), N//2)


plt.plot(yf[0:N//2], xf, label = 'signal')

fft 图

【问题讨论】:

  • 请参考 here 获取 Matplotlib 图(应该是 x,y)。此外,您在 yf 列表的开头有不同的高值,因此请检查从 yf[0]yf[1] 的值。另外请解释图中的奇怪之处
  • 如果您想观察与 x 和 y 成 45 度角的向量,添加三个分量确实有意义。绝对值是添加平方并取根。还不清楚的是为什么加速度计数据中有直流偏移。您是否处于不断加速的参考框架中?

标签: python numpy matplotlib fft


【解决方案1】:

你的图表是颠倒的,你在绘图时倒置了 x 和 y

【讨论】:

    猜你喜欢
    • 2021-11-20
    • 2011-07-12
    • 1970-01-01
    • 1970-01-01
    • 2017-09-14
    • 2012-12-10
    • 2013-03-31
    • 2015-08-19
    • 2020-03-29
    相关资源
    最近更新 更多