如何确定低通滤波器的 ALPHA(平滑常数)

Ric*_* Le 2 android smoothing lowpass-filter

有许多关于 Android 传感器数据噪声很大的帖子,以及关于实现低通滤波器等平滑算法的建议。我正在阅读低通滤波器,我发现我必须计算平滑参数 ALPHA。每个人都有不同的 ALPHA。然而,我很困惑,因为 wiki 和 Android 开发者网站之间并不一致。

\n\n\n\n

两个公式将产生两个不同的 ALPHA。这让我很困惑。\n哪个公式是正确的?大家能给我解释一下吗?

\n\n

预先感谢。

\n

Zep*_*ies 5

我们来对比一下两个版本吧!

这里我使用时间常数“tau”

Alpha_A = dt / (dt + tau)
Alpha_B = tau / (tau + dt)
Run Code Online (Sandbox Code Playgroud)

让我们在其中添加一些值。咱们试试吧:

dt = 0.5, tau = 1;
Alpha_A = 0.5 / (0.5 + 1.0) = 1/3
Alpha_B = 1.0 / (1.0 + 0.5) = 2/3
Run Code Online (Sandbox Code Playgroud)

因此:

Alpha_A = 1 - Alpha_B
Run Code Online (Sandbox Code Playgroud)

这取决于您如何定义低通滤波器。是吗:

New_Filtered = New_Raw * Alpha + Prev_Filtered * (1-Alpha)
Run Code Online (Sandbox Code Playgroud)

或者

New_Filtered = New_Raw * (1-Alpha) + Prev_Filtered * Alpha
Run Code Online (Sandbox Code Playgroud)

IE Alpha 是直接处理原始数据,还是之前过滤后的数据?

实际上他们做了同样的事情!