栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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的系数这样,越近的权重越大,则趋势越明显。

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/644429.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号