Android ABC 解决传感器抖动(帕金森)方案
时间:2022-08-23 10:30:01
问题在哪?
使用移动设备传感器时,会出现数据抖动(帕金森),传感器数据会在很小的范围内来回抖动,导致业务显示帕金森。
最常见的是手机姿态传感器,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的系数这样,权重越近,趋势就越明显。
曲线光滑稳定,根据不同场景进行调整。