我正在尝试平滑我从deviceOrientation API获取的数据,以便在浏览器中创建Google Cardboard应用程序.
我正在将加速度计数据直接输入到ThreeJs相机旋转中,但是我们在信号上产生了很多噪音,导致视图抖动.
有人建议使用卡尔曼滤波器作为处理平滑信号处理噪声的最佳方法,我在gitHub上找到了这个简单的Javascript库
https://github.com/itamarwe/kalman
然而它在文档上真的很轻松.
我知道我需要通过提供Vector和3矩阵作为参数来创建一个Kalman模型,然后再次使用矢量和矩阵作为时间范围内的参数来更新模型.
我也理解卡尔曼滤波器方程有几个不同的部分:当前估计位置,卡尔曼增益值,来自方向API的当前读数和先前估计的位置.
我可以看到3D空间中的一个点可以被描述为一个Vector,因此任何位置值,例如估计位置或当前读数都可以是Vector.
我不明白的是这些部分如何被翻译成矩阵以形成Javascript库的参数.