加速度计信号的信号处理技术?

信息处理 傅里叶变换 频谱 stft
2022-01-18 19:56:58

我正在运行一些记录加速度计测量值的测试。我希望对这个信号使用信号处理元素,但我不确定从哪里开始,或者我的方法应该是什么。

我的最终目标是能够实时监控加速度读数,然后在event发生时显示通知。如您所见,在大约 150,000 个采样时间event发生了一个。

  • 如果我实时监控这些数据,可以实施什么样的信号处理技术来响应这个事件?
  • 短时傅里叶变换 (STFT) 会是一种选择吗?

我正在用 Python 监控我的数据,它们有一个不错的STFT 函数

该函数的参数如下:

scipy.signal.stft(x, fs=1.0, window='hann', nperseg=256, noverlap=None, nfft=None,
detrend=False,return_onelateral=True,boundary='zeros',padded=True,axis=-1)
  • 如何确定用于处理此信号的最佳参数?

  • 你们认为有没有其他方法可以帮助我event实时识别何时发生(而不是仅仅使用加速度的大小)?

https://dsp.stackexchange.com/users 在此处输入图像描述

编辑1:

我的 STFT 已在上面添加。

2个回答

我想知道为什么 STFT 会弹出。g对我来说,在消除偏移后,信号本身或其包络上的简单阈值会不会做得更好/一样好?

一旦你决定什么“措施”最适合检测你的event,你可以应用我在这里回答的 Basseville 和 Nikiforov 的工作。

该问题的经典参考是Basseville 和 Nikiforov 的检测突然变化 - 理论和应用 整本书可作为PDF 下载

我的建议是您阅读第 2.2 章关于CUSUM(累积和)算法的内容。

如果这张图代表了最典型的应用场景,那么我会进行一些简单的短窗口方差估计,然后进行阈值处理;

σx2=1Nn=0N1xac[n]2

其中是 DC 去除的输入信号;其中是输入的 DC(均值)值,它可以在本地是估计由您还可以使用 DC 阻塞陷波滤波器来消除任何 DC 构建向上而不是估计它。xac[n]xac[n]=x[n]x¯[n]x¯[n]x[n]

x¯[n]=1Nn=0N1x[n]

选择适合您的应用程序的足够小的窗口大小您可以根据标准偏差(此计算的方差估计的平方根)与正确选择的阈值的比较来执行事件决策。N

与频域分析相比,这将很容易以更少的计算负担实时计算。请注意,在实时应用中,您的求和指数应该从当前样本倒退(而不是上述使用非因果求和的公式)

作为第二种有效的替代方法,您还可以实现时域包络检测(随后是阈值)来触发事件。