卡尔曼滤波和内部状态变量的质量 [英] Kalman filter and quality of internal state variables

查看:198
本文介绍了卡尔曼滤波和内部状态变量的质量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图开发Android移动侦测应用程序。应用程序应该能够追踪手机的运动在空间和其映射到计算机屏幕上的运动。我使用3轴加速度计和因为数据是很嘈杂,我使用卡尔曼滤波器。

I am trying to develop motion detection application for Android. App should be able to track motion of phone in space and map it to motion on computer screen. I am using 3-axis accelerometer and since data is very noisy I am using Kalman filter.

内部状态是6元矢量[速度-X,速度Y,速度-Z,加速-X,加速-Y,加速-Z]和测量的状态是3元矢量[加速-X,加速-Y,加速-Z]。

Internal state is 6 component vector [speed-x, speed-y, speed-z, accel-x, accel-y, accel-z] and measured state is 3 component vector [accel-x, accel-y, accel-z].

过滤效果很好的测量值,但速度仍然是非常嘈杂。

Filter works very well on measured values, but speed is still very noisy.

现在我想知道如果这是正常的行为还是我做错了什么,因为我的卡尔曼滤波的理解是非常基本的。我使用JKalman图书馆和以下的状态转换矩阵(DT是1/15是近似的传感器刷新率)

Now I am wondering if this is normal behavior or am I doing something wrong, since my understanding of Kalman filter is very basic. I am using JKalman library and following state-transition matrix (dt is 1/15 which is approximate sensor refresh rate)

双击[] [] 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}
                    };

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 } };

我还建立了自己的协方差矩阵与试验数据计算协方差。这种改进的加速度信号了一点,但对速度没有影响。

I have also set up my own covariance matrices with covariances calculated from test data. This improved acceleration signal a bit, but had no effect on speed.

目前我能做到stdvar

Currently I am able to achieve stdvar

[0,0632041857 0,0607274545 0,0886326602]速度[X,Y,Z]

[0,0632041857 0,0607274545 0,0886326602] for speed [x, y, z]

[0,0041689678 0,004423822 0,0074808552用于加速度的x,y和z。

[0,0041689678 0,004423822 0,0074808552] for acceleration [x, y, z].

我对加速度信号非常高兴,我想我不能提高它多得多,但我很想提高速度信号的质量。

I am quite happy with acceleration signal and I guess i cannot improve it much more, but I would love to improve quality of speed signal.

推荐答案

将无法工作。

不管你做什么,速度将成为秒钟extemely不准确的。虽然在上述链接回答为大约位置,同样适用于速度。至于卡尔曼滤波器还看到这里

No matter what you do, the velocity will become extemely inaccurate in seconds. Although the answer at the above link is about position, the same holds for velocity. As for the Kalman filter see also here.

您应该​​尝试GPS获得的速度或(如适用),只要用手机的方向在您的应用程序,并放弃获取速度。

You should either try the GPS to get velocity or (if applicable) just use orientation of the phone in your app and give up on getting the velocity.

这篇关于卡尔曼滤波和内部状态变量的质量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆