延迟输出等于 FIR 滤波?

信息处理 过滤器 声音的 有限脉冲响应
2022-02-13 09:09:29

我在输入端有一个音频块流,每个有 64 个样本。

将前一个样本块发送到输出,即延迟一个块,意味着应用单位增益 FIR 滤波器?

out[n] = 0 * in[n -  0] + 
         0 * in[n -  1] + 
         0 * in[n -  2] + 
         ...
         1 * in[n - 64]. 

这个滤波器的频率响应是多少?
这种设计有用例吗,还是没有意义?

1个回答

是的,这会适当地将输入延迟 64 个样本,但请注意,您可以简单地执行以下操作:

out[n]=in[n64]

这对您来说可能很清楚,您只是想展示它与 65 抽头 FIR 的关系,其中所有抽头 = 0,除了最后一个。

FIR 滤波器的系数代表了滤波器的脉冲响应(严格来说,我们称之为“单位样本响应”)。在这种情况下,脉冲响应是延迟脉冲。延迟(时移)脉冲的傅立叶变换在频率上具有全为 1 的幅度响应,以及延迟等于相位斜率的线性相位响应,根据:

delay=dϕ/dω 在哪里ϕ是以弧度为单位的相位,并且ω是以弧度/秒为单位的弧度频率。

我们从离散时间傅里叶变换的时移属性中特别看到了这一点:

y[n]=x[nN]
Y(ω)=ejωNX(ω)

您可以使用 Octave 或 Matlab 快速绘制频率响应,如下所示:

freqz([zeros(1,64) 1])

结果如下:

频率响应

使用这样的线性相位滤波器,信号不会被滤波器失真,只会延迟。有关更多信息,请参阅这篇文章:为什么线性相位很重要