FIR滤波器(Finite Impulse Response Filter)是一种常用的数字滤波器,广泛应用于DSP(Digital Signal Processing)开发领域。它能够对输入信号进行滤波处理,去除不需要的频率成分,保留感兴趣的信号特征。本文将介绍FIR滤波器的原理,并提供相应的源代码示例。
FIR滤波器的原理是基于有限脉冲响应的概念。它的输入和输出之间的关系可以表示为:
y[n] = b[0] * x[n] + b[1] * x[n-1] + … + b[N] * x[n-N]
其中,y[n]表示输出信号的当前样本值,x[n]表示输入信号的当前样本值,b[0]到b[N]是滤波器的系数,N是滤波器的阶数。系数b[0]到b[N]决定了滤波器的频率响应。
为了实现FIR滤波器,我们需要确定滤波器的系数。常见的方法是使用窗函数设计。下面是一个使用矩形窗函数设计的FIR低通滤波器的示例代码:
import numpy as np
def design_fir_lowpass