我对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将我的图片添加到我的帖子中:)
fz
数组的初始化,但您似乎正在应用高通滤波器。