【问题标题】:How to determine the parameter alpha of a Complementary Filter?如何确定互补滤波器的参数 alpha?
【发布时间】:2013-08-08 09:08:31
【问题描述】:

我知道互补滤波器同时具有LPF和HPF的功能。但是我认为我对它背后的原理的理解仍然不清楚。

我对数字信号处理还很陌生,也许一些非常基本的解释会有很大帮助。

假设我有一个互补过滤器,如下所示:

y = a * y + (1 - a) * x

那么我的参数a可以通过

a = time_constant / (time_constant + sample_period),

其中sample_period 只是sampling_frequency 的倒数。

time_constant 似乎是我自己的选择。

我的问题:

  1. 这个计算背后的理论是什么?
  2. 我们如何正确选择time_constant

注意:我也是posted this question on robotics,因为那里的答案可能在重点上略有不同。

【问题讨论】:

标签: filter signal-processing robotics


【解决方案1】:

这个计算背后的理论是什么?

对于人类可读的介绍,我建议:
The Balance Filter: A Simple Solution for Integrating Accelerometer and Gyroscope Measurements for a Balancing Platform

我们如何正确选择time_constant?

直观地说,time_constant 是信任高通和低通滤波器部分之间的界限。在比time_constant 更短的时间里,您更信任高通滤波器部分,而在更长的时间里,您更信任低通部分。

通常,你对你正在处理的物理过程有一些经验,你可以猜测至少time_constant的数量级。例如,如果您正在融合加速度计和陀螺仪数据(我假设您是根据您的另一个问题进行的),那么 0.5-1 秒之间的时间是合理的第一个猜测。然后,您开始通过分析其在实际数据上的性能并相应地调整a 来调整您的过滤器。

【讨论】:

  • 谢谢!但我实际上正在融合陀螺仪和磁力计。我还是不明白。截止频率对我来说很有意义,而所谓的 time_constant 则没有。我在某处读到 time_constant 是“信号作用多长时间”这是什么意思?我的意思是信号总是在那里并且“起作用”,对吗?你怎么知道 0.5-1 秒是一个好的猜测?
  • 我从实践中知道:我专门使用陀螺仪来获取方向,发现它们可以正常工作 0.5-1 秒,但之后它们开始大幅漂移。我不会对获得准确的time_constant 大惊小怪,因为它只是一个估计。在设置time_constant 之后,无论如何您都需要调整您的过滤器:您分析过滤器在实际数据上的性能并相应地调整a(或time_constant,这是等效的)。
  • 您会发现相当广泛的time_constant 提供了几乎同样出色的性能(这是我不会对time_constant 的准确性大惊小怪的另一个原因)。
  • 我的问题是我对过滤器的调整似乎是特定于数据的。即,例如0.98 在 dataset1 上效果最好。但是 0.98 在 dataset2 上给出了一个相当糟糕的结果。 0.996 适用于 dataset2。所以我不知道如何调整它
  • 所以我试图掌握它背后的理论并真正计算出价值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-25
  • 2021-10-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多