获取时间序列数据的主频

2024-05-16 07:06:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在研究加速计数据,并试图找到数据的主频。 我在python中使用fftpack中的fft()函数。为了找到主频,我找到了fft的绝对值,并找到了幅值最大的频率。当我这样做的时候,我得到的主频是零(0-0.05赫兹)。我已经否定了信号中的直流分量,并使用

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

signal = signal - np.mean(signal)
freq = np.linspace(0.0, sampling_rate / 2.0, row // 2) # row:-no. of readings
signalFFT = fftpack.fft(signal)/row

plt.plot(freq, abs(signalFFT[:row//2]))
plt.show()

即使这样,我也得到主频在零左右

  1. 我找到主频和否定直流分量的方法正确吗
  2. 零主频意味着什么?或者一般来说,主频=f Hz说明了 数据
  3. 主导频率为零的可能原因是什么
  4. 当我们知道数据为零时,加速计读数是否可能具有零主频 从移动的物体上读出的
  5. 我还能做些什么来获得非零的主频

非常感谢:)

更新1:-是否有任何规则规定加速度计X、Y、Z轴的主频应与主频具有相同或相似的频率? 如果请任何人举例说明


Tags: 数据函数importfftsignalasnpplt