如何计算低通滤波器的平滑参数值(在罗盘传感器数据平滑的情况下)

时间:2013-12-25 23:51:40

标签: java android android-sensors digital-compass

我想使用低通滤波器平滑智能手机的罗盘传感器数据,并希望计算低通滤波器实现的平滑参数。

我对其中一个问题/帖子on this forum

有疑问

在上面的文章中,作者希望使用低通滤波器平滑传感器数据,并建议根据需要设置平滑参数(ALPHA)。平滑参数应介于0-1之间。接近0的值在数据中是平滑的。

因此,作者使用了ALPHA = 0.15。

根据我的观点,科学上不能通过闭眼并从0到1选择一个随机值来做到这一点。

所以我的问题是如何计算平滑参数(ALPHA),而我的采样率是100Hz。根据我的观点,这种平滑参数对于不同的采样率是不同的。因此,平滑参数的猜测或分析将无法实时发挥作用。

因此,我正在寻找如何计算低通滤波器的平滑参数。在这方面,我看到了interesting presentation

在第13页上,如果知道时间常数(Tau),可以看到计算平滑参数的公式

计算Tau =电容*电阻

的公式

从电子罗盘AK8974的数据表中,我计算了电阻和电容并计算了(Tau)

知道Tau可以使用以下公式轻松计算平滑参数

ALPHA =头/头+ DeltaT的

在我的情况下,ALPHA的值是(0.00714)

我想要了解时间常数(Tau)和平滑参数的计算。这是正确的方法来证明平滑参数吗?还有其他办法吗?

1 个答案:

答案 0 :(得分:0)

  

根据我的观点,科学上不能通过闭眼并从0到1选择一个随机值来做到这一点。

也许,也许不是。调整平滑滤波器通常是一项经验性任务,您在实践中选择一个“足够好”的值。你是在平衡速度的平滑性(即对输入变化做出快速反应的能力)。

另一方面,如果你想要的特定时间常数,那么是的,只需使用它! *

可以分析过滤器表达式以确定其频率响应。但是,这基本上需要discrete-time Fourier transform(也可能是Z transform)。这有点超出Stack Overflow答案的范围,我很害怕!


*但是,我不确定您从该数据表中读到的是什么导致您认为tau的特定值是您应该使用的...