探秘!有限冲激响应(FIR)数字滤波器竟如此通俗易懂!

该文章已生成可运行项目,

1. 前言

数字滤波器凭借高精度、稳定性、灵活编程等特点,在通信、音频、图像等领域得到了广泛应用。

今天,我们将探索一下数字滤波器的理论基础,运用 Python(SciPy 库)构建一个常见类型的滤波器 —— FIR 滤波器。希望借此让大家了解数字滤波器这一强大工具,开启信号处理的全新旅程。


2. 数字滤波器简介

滤波器的核心作用是对信号的频率成分进行筛选和阻挡。接下来,我们将从滤波器的频率响应、时域(冲激响应)、运算(卷积)以及硬件实现等方面展开介绍。

2.1 频率响应

滤波器对不同频率的响应可以划分为通带、过渡带和阻带,典型情况如下:

图1 滤波器频率响应,来源[1]

一些重点关注的指标有:

  • 通带(Passband):在此区域内,信号的频率成分基本无变化通过。
  • 阻带(Stopband):在此区域内,信号频率成分会遭受大幅度衰减。
  • 过渡带(Transition band):位于通带与阻带之间,信号的频率成分会有一定程度的衰减,但不会被大幅剔除。
  • 纹波(Ripple):描述滤波器在频带内增益的波动情况。纹波越小,说明滤波器的响应越稳定,也就越符合理想要求。
  • 相位(Phase):输入信号经过滤波器后会产生相位变化。在线性相位滤波器中,所有频率的信号都会经历同样的相位变化。

一般而言,纹波与过渡带之间存在着权衡关系。即纹波越小,过渡带就越大;反之,纹波越大,过渡带则越小。因此,在设计滤波器时需要折中考虑。

2.2 冲激/阶跃响应

滤波器在时域上也有表征,称为 “冲激响应”(Impulse Response)。之所以这样命名,是因为当我们将一个脉冲信号输入到滤波器时,观察到的时域输出信号就是 “冲激响应” 的样子。

此外,我们还经常会看到 “阶跃响应”(Step Response),它是指当输入为阶跃信号时,时域输出信号的形态。阶跃响应是冲激响应的累加之和,反映了滤波器从初始到稳定的变化,有点类似于设备的开关机过程。

下图展示的是图 1 所示滤波器的冲激响应与阶跃响应:

图2 冲激响应与阶跃响应,来源[1]

冲激响应分为有限和无限两种,具有有限冲激响应的是 FIR (Finite Impulse Response) 滤波器,具有无限冲激响应的是 IIR (Infinite Impulse Response) 滤波器。

本文重点关注 FIR 滤波器,其冲激响应中的每个脉冲称为 “抽头”(Tap)。例如,上图所示的是一个约 100 抽头的 FIR 滤波器。一旦确定了抽头系数,DSP 程序就可以做相应的运算了(见下文)。

2.3 卷积运算

之所以提及 “冲激响应”,是因为对信号进行滤波时,只需将冲激响应与信号进行 “卷积”(Convolution)即可。当然,也可以通过频域 “乘法” 实现滤波,从结果看,两者是等价的。只不过在实际

本文章已经生成可运行项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gilbertjuly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值