我最近实现了一个巴特沃斯高通滤波器(二阶)。一切似乎都很好,除了在将这样的滤波器应用于恒定信号时我有一个问题。由于恒定信号中没有高频分量,我希望滤波器产生恒定的 0 信号。
在下面的图中是我的结果。在高通滤波信号(正确)收敛到 0 之前的前几帧中似乎存在“波纹”。
这是对恒定信号应用巴特沃斯高通滤波器的逻辑结果,还是我的代码中可能存在错误?
编辑:我在 Octave 中创建了相同的过滤器,产生了相同的输出。正如 Paul R. 所指出的,这表明我们确实在查看阶跃响应。

八度输出
我最近实现了一个巴特沃斯高通滤波器(二阶)。一切似乎都很好,除了在将这样的滤波器应用于恒定信号时我有一个问题。由于恒定信号中没有高频分量,我希望滤波器产生恒定的 0 信号。
在下面的图中是我的结果。在高通滤波信号(正确)收敛到 0 之前的前几帧中似乎存在“波纹”。
这是对恒定信号应用巴特沃斯高通滤波器的逻辑结果,还是我的代码中可能存在错误?
编辑:我在 Octave 中创建了相同的过滤器,产生了相同的输出。正如 Paul R. 所指出的,这表明我们确实在查看阶跃响应。

八度输出
滤波器的输入本质上是一个阶跃函数(因为它在 t = 0 之前的值为 0,并且 t > 0 时为正值),因此您会看到滤波器的阶跃响应,因此会出现初始振铃。这是预期的行为,经过一段适当的时间后,阶跃响应将稳定为零。
你习惯了低阶过滤器(二阶)。这可能是在起始频率点产生高纹波的原因。我认为您可以增加滤波器的阶数并在您的设计中尝试。