我已经实现了一个移动平均过滤器(在 Python 中),在其中我用值填充一个列表并将它们平均。当新值到达时,最旧的值将被删除。
现在我想知道这个过滤有多少延迟。
我正在以 1000 Hz 对传感器信号(电压)进行采样,并且我经常读到 M 值(窗口大小)的移动平均滤波器的群延迟(据我所知是延迟?)为 (M-1)/ 2.
我真的无法理解,因为:
假设我的窗口大小为 5,并且以下测量值到达我的空移动平均过滤器:
- 6x 1 伏
6x 3 伏
|1|1|1|1|1|1|3|3|3|3|3|3|
首先,我等到我的移动平均过滤器被填充(直到第五个测量值)。
然后我得到这些平均值
|1|1|1|1|1| 1 |3|3|3|3|3|3| 1 [1,1,1,1,1]
|1|1|1|1|1|1| 3 |3|3|3|3|3| 7/5 [1,1,1,1,3] <- 3 Volt first time measured
|1|1|1|1|1|1|3| 3 |3|3|3|3| 9/5 [1,1,1,3,3]
|1|1|1|1|1|1|3|3| 3 |3|3|3| 11/5 [1,1,3,3,3]
|1|1|1|1|1|1|3|3|3| 3 |3|3| 13/5 [1,3,3,3,3]
|1|1|1|1|1|1|3|3|3|3| 3 |3| 15/5 [3,3,3,3,3] <- 3 Volt average
我预计我的延迟将是 (M-1)/2 = (5-1)/2 = 2 次测量,但在 4 次测量之后,我的移动平均滤波器中的电压为 3 伏(因此延迟 M-1)。
如果有人能解释我如何确定我的延误,我会很高兴。
