动态改变数字滤波器的截止和采样频率

信息处理 过滤器 过滤器设计 采样
2022-02-06 17:20:54

我设计了一个低通滤波器,它可以平滑来自连接到振动机器的加速度计的输出。我设计了这个假设截止频率fc1, 和采样频率fs. 现在的问题是,当我更换机器时,我必须更改截止频率和fs手动,否则输出不像预期的那么平滑。也就是说,每台机器实际上都在以略微改变的频率振动。

有没有办法让滤波器学习适当的截止频率fc2fs2,本身,无需我更改代码并基于此执行过滤fc2fs2?

如果有人可以提供一些网络链接,我将不胜感激,这样我就可以进一步探索这个领域。

1个回答

有几种方法可以执行运行时动态过滤器。

  1. 使用 Matlab 或 Octave 之类的程序,但我猜它们不适用于您的应用程序。不过,可能有 DSP 库具有生成过滤器的功能。
  2. 从头开始计算窗口 sinc 函数
  3. 您可以根据您的起始滤波器创建一些粗略的低通滤波器。例如,如果您想将截止频率减半,您可以将滤波器采样时间减半。因此,您将创建一个新过滤器,其中包含所有原始过滤器的样本以及这些样本之间的样本。您可以通过splines创建额外的样本这种相同的方法可用于创建任何分数截止频率变化。一个更复杂的例子是,如果您希望截止频率为98FC. 如果我们说您的原始过滤器的样本在时间 0, 1, 2, ...,n,那么新过滤器的样本将在时间 0,98,188, ...