将数据输入低通滤波器时,前几个数据是否不可用?

信息处理 低通滤波器 无限脉冲响应 阶跃反应
2022-02-18 15:42:22

例如,我想将 DC 馈入低通滤波器。滤波器的前几个输出不会具有我想要的相同 DC 值。

  1. 这是否意味着我需要处理前几个结果?

  2. 我要处理多少?

  3. 描述这种现象的技术术语是什么,阶跃响应?

  4. 它是否只发生在直流或其他频率信号上?

下面是示例代码和图表:

Fs = 64e3;
f = 8e3;
T = 1/Fs;
t = 0:T:0.002;
input = 0.002*cos(2*pi*f*t);
input_with_DC = input+0.5;

[b,a]=cheby1(1,2,0.4);
output = filter(b,a,input_with_DC);

plot(input_with_DC)
hold
plot(output,'r')

在此处输入图像描述

从上图可以看出,DC先上升,然后接近实际DC值。

1个回答

您必须判断自己是否出于您的目的需要摆脱前几个输出值。你观察到的现象是由两个因素决定的。首先是滤波器的延迟(通常取决于频率)。这种延迟是滤波器因果关系的结果。对于线性相位 FIR 滤波器,延迟与频率无关,等于样本,其中是滤波器长度(如 MBaz 的评论中所指出的)。另一个因素在于低通滤波器的性质,与非理想(因果)实现无关。任何低通滤波器都表现出非零上升时间,即使是理想的(非因果)砖墙滤波器。上升时间与截止频率成反比。(N1)/2N

对于具有非常低阶的最小相位滤波器(如您的示例),第一个因素仅起很小的作用,因此您观察到的延迟主要是由低通滤波器的非零上升时间引起的。如果降低截止频率,您将观察到上升时间增加,反之亦然。请注意,您的滤波器看到的输入信号实际上是从零(无输入信号)到 DC 值(加上一些小信号)的跳跃,因此您几乎可以看到系统的阶跃响应。

一般来说,对输入信号变化的响应称为瞬态响应,它不限于直流值的变化。