低通与中值滤波器延迟

信息处理 过滤器设计 低通滤波器
2022-02-05 06:38:34

我需要设计一个滤波器来减少加速度计读数产生的噪音,并将这些数据用于控制系统。简单低通滤波器(如单极 IIR 滤波器)的问题之一是滤波器引入的延迟。作为替代方案,我看到许多人使用卡尔曼滤波器或中值滤波器。由于其简单的公式,我对这个中值滤波器非常感兴趣。但后来我意识到输出中总会有一些样本滞后。对于能够输出当前项的过滤器,它应该能够从未来读取 N/2(或(N-1)/2)项,这在实时系统中显然是不可能的。因此,充其量,它的输出会延迟 N/2 个样本。

我在这两个滤波器之间的延迟方面看到的唯一区别是,低通对于不同频率的输入可能具有不同的延迟,而中值滤波器具有恒定的采样延迟。窗口大小越大(这也与我们的输出的平滑程度有关),这个延迟越大。因此,重新考虑单极滤波器可能会很有趣。

这个推理正确吗?

2个回答

我会说你的推理有点缺陷。

LTI 滤波器的延迟是明确的(频率的)确定性函数。某个已知频率的正弦波进入,出来的正弦波将延迟预定的时间。

滤波器不是线性的。并且,如果一个正弦波进入,它不会是一个正弦波出来。假设您的因果中值滤波器正在输出当前输入样本的中值和最近的样本(“公式”可能看起来“简单”,但您需要反复对个样本进行排序以挑选出您的中值),您可以得出延迟的期望值,并且由于最终被选为中值的样本可以是具有相同可能性个样本中的任何一个,因此延迟的期望值N1NNN12.

你的推理是正确的。但是请注意,没有人会强迫您对中值滤波器使用对称窗口。您可以使用比未来值更多的过去值,从而减少延迟。您需要对窗口大小和延迟进行试验,以查看不对称窗口是否可以为您提供足够的降噪效果。