Android ABC 解决传感器抖动(帕金森)方案

问题在哪?

在使用移动设备传感器时,会出现数据抖动现象(帕金森),传感器数据会在极小的范围内来回抖动,导致业务展示出现帕金森现象。

最常见的就是手机姿态传感器,xyz的值一直在变化。为了让数据的变化平滑,我们必须对数据进行清洗和处理,再使用。

解决方案
1.窗口平均

我们可以取一个窗口,一般为4或者6,然后我们对这个窗口里的值进行取平均,然后得出输出值,然后再使用。

代码就不附了,这个思路非常简单。

优点:使用简单,可以更换窗口的大小来调优

缺点:趋势性被大幅降低,转折点钝化

2.N阶低通滤波器

其实这个也是取平均的一种做法,只不过进行的全部的加权。做法如下:

取影响系数X,则前置系数为(1-X)。得到方程

Output[n] = (1-X) * Ouput[n-1] + X * Output[n]

这个就是简单的1阶低通滤波器。以此类推我们可以得到N阶低通滤波器,有:

Y(n)=a1 * X(n-10)+a2 * X(n-9)+…a11 * X(n)+a12 * X(n+1)+…+a21 * X(n+10)

令a1 + a2 + … an = 1 即可。

调优方式:n-1 的系数 > n-2 的系数>> n-10的系数这样,越近的权重越大,则趋势越明显。

根据不同场景调优后,曲线光滑,稳定。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值