Tag: Accelerometer

卡尔曼滤波器和内部状态变量的质量

我正在尝试为Android开发运动检测应用程序。 应用程序应该能够跟踪手机在空间中的运动并将其映射到计算机屏幕上的运动。 我正在使用3轴加速度计,因为数据非常嘈杂,我使用的是卡尔曼滤波器。 内部状态是6分量矢量[speed-x,speed-y,speed-z,accel-x,accel-y,accel-z],测量状态是3分量矢量[accel-x,accel-y,accel-z ]。 滤波器在测量值上运行良好,但速度仍然非常嘈杂。 现在我想知道这是正常行为还是我做错了,因为我对卡尔曼滤波器的理解非常基础。 我正在使用JKalman库并遵循状态转换矩阵(dt是1/15,这是近似的传感器刷新率) double [] [] A = {{1,0,0,dt,0,0},{0,1,0,0,dt,0},{0,0,1,0,0,dt}, {0,0,0,1,0,0},{0,0,0,0,1,0},{0,0,0,0,0,1}}; 我还建立了自己的协方差矩阵,其协方差是根据测试数据计算出来的。 这改善了加速度信号,但对速度没有影响。 目前我能够实现stdvar [0,0632041857 0,0607274545 0,0886326602]用于速度[x,y,z] [0,0041689678 0,004423822 0,0074808552]用于加速度[x,y,z]。 我对加速度信号非常满意,我想我无法改善它,但我希望提高速度信号的质量。