我对 DSP 相当陌生,并且已经对可能的过滤器进行了一些研究,以在 python 中平滑加速度计数据。下图中可以看到我将遇到的数据类型的示例:
本质上,我正在寻找有关平滑这些数据以最终将其转换为速度和位移的建议。我知道手机的加速度计非常嘈杂。
我认为我目前不能使用卡尔曼滤波器,因为我无法掌握设备来参考数据产生的噪声(我读到将设备平放并从这些读数中找出噪声量是必不可少的吗?)
FFT 产生了一些有趣的结果。我的尝试之一是对加速度信号进行 FFT,然后将低频渲染为具有绝对 FFT 值 0。然后我使用欧米茄算术和逆 FFT 来获得速度图。结果如下:
这是处理事情的好方法吗?我正在尝试消除信号的整体噪声性质,但需要识别明显的峰值,例如大约 80 秒。
我也厌倦了对原始加速度计数据使用低通滤波器,它在平滑它方面做得很好,但我不确定从这里去哪里。任何关于从这里去哪里的指导都会非常有帮助!
编辑:一点点代码:
for i in range(len(fz)):
testing = (abs(Sz[i]))/Nz
if fz[i] < 0.05:
Sz[i]=0
Velfreq = []
Velfreqa = array(Velfreq)
Velfreqa = Sz/(2*pi*fz*1j)
Veltimed = ifft(Velfreqa)
real = Veltimed.real
所以本质上,我对我的加速度计数据执行了 FFT,使用简单的砖墙滤波器(我知道它不理想)将 Sz 过滤掉了高频。然后我对数据的 FFT 使用欧米茄算术。也非常感谢 datageist 将我的图片添加到我的帖子中 :)