大抽头计数如何影响块数据的 FIR 滤波器?

信息处理 fft 有限脉冲响应 延迟 群延迟 手臂
2022-01-31 00:19:40

我正在将 ARM CMSIS DSP 库用于信号处理应用程序。当使用超过数据块长度 10% 的抽头计数时,我发现过滤器性能良好。我知道抽头计数需要延迟信号输出。

这是否意味着应该丢弃过滤结果的第一个 TAP_COUNT 值?使用抽头计数为我的数据块的 50% 或 99% 的 FIR 滤波器会产生什么结果?这意味着大多数输出​​值都在延迟期内?我应该对我的块数据进行零填充以补偿群延迟吗?

让我还添加后过滤,我做了 FFT,我对时域数据不感兴趣。

编辑

系统流程:

  1. N 个样本以 32 位浮点小数形式收集在缓冲区 X 中。
  2. X 在组合操作中被 M 过滤和抽取到大小为 N,Y 的第二存储器。每次执行此步骤时,N / M 个样本都存储在 Y 中。例如,如果 N = 64 和 M = 4,则在过滤和抽取之后将 16 个样本存储在 Y 中。此操作通过https://arm-software.github.io/CMSIS_5/DSP/html/group__FIR__decimate.html实现。
  3. 步骤 2 执行 M 次后,Y 中现在有 M 个值。系统取 FFT(Y)。

步骤 2 的存在是为了 A) 减少内存使用和 B) 防止由于采样率降低而可能发生的 Y 数据混叠。

编辑二

我在下面的图片中显示了正弦波上的 10 抽头滤波器和 101 抽头滤波器之间的区别,以及来自 ARM CMSIS FIR_F32 函数的输出。延迟的差异非常明显。表达我的问题的另一种方式是,这在什么时候开始改变被过滤信号的频域特征?我的直觉是,一旦延迟窗口足够宽,可以在数据块中埋藏任何周期性的东西,基本上是块数据长度的一半,负面影响就会开始出现?

在此处输入图像描述

0个回答
没有发现任何回复~