数字滤波器中的滤波器系数代表什么?

信息处理 过滤器 matlab
2021-12-22 08:06:17

我使用matlab的fdatool设计了一个数字滤波器,并从该工具中获得了滤波器系数。

问题是我设计了一个四阶滤波器。这给了我 5 个过滤器值

h[] = {0.1930,0.2035,0.2071,0.2035,0.1930}
x[k] = Discrete time input signal

现在使用公式

Output = h[k]*x[n-k];

输出代表最终的过滤值。虽然结果很好,但我无法找出这些系数是如何通过 matlab 获得的,以及单纯的乘法(卷积)如何为任何样本提供最终的过滤响应。

任何链接或解释都可以。我想知道滤波器系数计算的完整后端工作。

如果我在某处不清楚我的疑问,请发表评论。

谢谢 :)

3个回答

我们可以尝试一个非常简短的介绍:

  1. 每个滤波器都代表一个线性时不变系统 (LTI)
  2. 每个线性时不变系统都可以完全用它的传递函数或脉冲响应来描述。两者可以通过傅里叶变换相互转换
  3. 滤波器系数源自脉冲响应或传递函数
  4. 滤波器系数的确切性质取决于算法(其中有很多)
  5. 在最简单的算法,直接卷积 FIR(有限脉冲响应)滤波器的情况下,滤波器系数只是 LTI 系统的脉冲响应。
  6. 在大多数其他算法中,关系要复杂得多,确实需要教科书学习。
  7. LTI 系统、传递函数、傅立叶变换、幅度响应、相位响应等的整个主题可能是另一本值得参考的教科书

“The Scientist & Engineer's Guide To DSP”是一本特殊的(imo)入门读物。它为您提供所有概念,而不会让初学者不知所措。

哇...这个问题是整个大学水平的离散时间信号和系统课程的主题。简而言之,h 称为脉冲响​​应并且密切相关(通过傅立叶变换)。它表征时域中的系统(例如滤波器)。在离散时间系统中,这是一种“采样”形式,系数代表“有限脉冲响应”或 FIR 滤波器的样本。是一篇关于该主题的不错的文章,但坦率地说,您需要一本教科书才能彻底理解。