IIR滤波器设计模拟器 返回
信号处理模拟器

IIR滤波器设计模拟器 — Butterworth低通的增益特性

设计连续时间Butterworth低通,在伯德图中实时可视化增益|H(jω)|。直观掌握截止频率和阶数导致的衰减特性变化与必需阶数。

参数设置
滤波器类型
阶数 N4
截止(×奈奎斯特)0.20
Chebyshev 纹波1.0 dB

扫描运行时阶数 N 周期变化,极点在单位圆内移动,响应变陡。移动任意滑块即切换为手动设计。双线性变换保证所有极点都在单位圆内(稳定)。

计算结果
滤波器类型
阶数 N
截止(−3 dB)
滚降
z 平面与频率响应(实时设计)

左=z 平面极点(× 红)与零点(○ 黄)/右=幅度响应 |H|(蓝)与截止 f_c(绿)。阶数 N 越高滚降越陡,所有极点都在单位圆内(稳定)。

理论·主要公式

模拟Butterworth低通是通过带内增益最大平坦设计的经典滤波器。利得平方给定为:

$$|H(j\omega)|^2 = \frac{1}{1 + (\omega/\omega_c)^{2N}}$$

其中ω_c是截止角频率,N是阶数。以分贝表示的利得:

$$G(\omega) = 20\,\log_{10}|H(j\omega)|$$

在通过带边ω_p要求−A_p(默认3 dB),在阻止带边ω_s要求−A_s以上衰减时,最小必需阶数为:

$$N_{\min} = \left\lceil \frac{\log_{10}\!\left(\dfrac{10^{A_s/10}-1}{10^{A_p/10}-1}\right)}{2\,\log_{10}(\omega_s/\omega_p)} \right\rceil$$

高频侧的渐近滚降为−6N dB/oct(=−20N dB/dec)。阶数越高越陡峭。

IIR滤波器设计模拟器简介

🙋
听说过"IIR滤波器"这个说法,但Butterworth是什么呢?我首先应该看什么?
🎓
简单说,Butterworth就是"通过带平坦到没有凸凹的低通"。公式只需要一个:$|H(j\omega)|^2 = 1/(1+(\omega/\omega_c)^{2N})$。模拟器的蓝色曲线就是用分贝表示的这个式子。看绿色破线(截止f_c),正好在$-3$ dB处切过去。
🙋
确实是。我把阶数N从1提升到12,从截止开始的下降变得越来越陡了。
🎓
对,那就是滚降。$-6N$ dB/oct的速度下降。N=4就是$-24$ dB/oct,N=8就是$-48$ dB/oct。模拟器的"滚降"卡片也显示这个值。看一下f_s的卡片,f_s=500 Hz、N=4时应该显示约$-55.9$ dB。这是从$5^8 \approx 3.9\times 10^5$算出来的。
🙋
"最小必需阶数N_min"是做什么用的?
🎓
从设计规格反推的"至少需要这么多"的阶数。如果说"到f_p为止要在$-3$ dB内,到f_s要降$-40$ dB",那么$N_{\min} = \lceil \log_{10}((10^{A_s/10}-1)/(10^{A_p/10}-1))\,/\,(2\log_{10}(f_s/f_p)) \rceil$就能确定。初始值(f_c=100, f_s=500, A_s=40)下N_min是3。实际用N=4,是为了应付制造偏差和设计余度。
🙋
那把阶数增到12不是最强吗?
🎓
这里有坑。极点靠近虚轴,系数对误差变得敏感,在定点DSP里一个舍入误差就容易发振。实现的标准做法是分解成2阶段(SOS)。另外,群延迟会大幅增加,阶跃响应会出现严重的铃波。实际上是把N_min加个1~2作为余度。

常见问题

如果通过带平坦性最优先,选Butterworth;同阶下想尽可能陡峭,选Chebyshev;最陡峭则选Elliptic(Cauer)。Chebyshev允许通过带(I型)或阻止带(II型)纹波,Elliptic两个带都有纹波。在声学或测量系统中,因为相位相对素直,Butterworth更受欢迎;在通信的信道分离等需要陡峭性的应用中,Elliptic被使用。
最常见是双线性变换。令s = (2/T)·(1−z⁻¹)/(1+z⁻¹),将s平面左半面映射到z平面单位圆内。由于频率轴发生ω_a = (2/T)·tan(ω_d·T/2)的失真,设计前必须进行预扭曲(prewarp)来补正目标频率。脉冲不变变换可保持接近线性的相位,但除低通外需注意混叠。
FIR有有限长冲激响应,易实现线性相位、总是稳定;但同样陡峭度需要更多抽头数(运算量大)。IIR用反馈以少系数达到陡峭响应,但相位非线性,系数误差会导致不稳定。实时控制、DSP低延迟应用用IIR;图像处理、时间序列分析且厌烦相位失真的用FIR。
直接形(Direct Form I/II)一次性实现高阶,系数量子化会让极点移动,容易不稳定。实务中要分解成2阶段(SOS:biquad)级联,靠近的极点对配在一起,分配增益防止溢出。定点DSP还要防止量化噪音再循环。MATLAB的zp2sos、SciPy的sosfilt是标准工具。

现实应用

传感器计测的预处理:加速度传感器、压力传感器输出上叠加了高频电气噪声和结构振动。Butterworth低通因通过带平坦、相位失真相对小,被广泛用作"保持计测值振幅信息同时只除去带外噪声"的反混叠滤波器或平滑滤波器。

声学与音频设备:扬声器分频网络、采样前反混叠滤波、回放时的重建滤波等,音频系统各处都用IIR低通。Butterworth频率特性光滑、没有色彩着色,是高保真应用中滤波器设计的起点。

通信与无线:基带处理的调制解调、IF/RF阶段的带限制、软件无线电(SDR)的信道选择等,为提取信号所需带宽而广泛应用IIR滤波器。选择性强的场景用Elliptic,想降低群延迟的场景用Butterworth。

控制工学与伺服系统:作为伺服控制环路内抑制共振和高频噪声的凹陷/低通,嵌入IIR滤波器。因为相位滞后会削弱稳定裕度,保持必需阶数且不过度切割很重要。Butterworth相位特性温和,对控制带的影响易估算。

常见误解与注意事项

最常见的误解是"阶数越高滤波器越好"。确实高阶滚降陡峭,但极点靠近虚轴导致系数对误差极度敏感,一点舍入误差就在定点实现中导致不稳定。模拟器选N=12看起来理想,但实现几乎一定需要2阶段分解。现实方针是"从N_min起,加一点余度"。

第二常见是误认为"截止f_c处信号完全被切掉"。Butterworth的截止是利得达到$-3$ dB的点,不是信号消失的地方。$-3$ dB是功率的一半、幅值约0.707倍,f_c附近的信号依然通过。要完全消除,正确做法是明示阻止带边f_s和要求衰减A_s,反推N_min。

最后要注意的是本模拟器显示的是"模拟(连续时间)"频率特性。要作为数字IIR实现,需要通过双线性变换等进行离散化,这时频率轴会因预扭曲而失真。模拟设计里的f_c,取样频率$f_s^{(\text{sa})}$过低时实际数字滤波器的截止会偏离。标准流程是连续时间验证 → 预扭曲 → 双线性变换。

使用指南

  1. 按Hz单位设置截止频率fc。例如音频信号处理中1~10 kHz,计测滤波器100~500 Hz是目安。
  2. 用滑块选择滤波器阶数N。阶数越高滚降越陡峭(-6N dB/oct),高频衰减越强。
  3. 按 Hz 单位输入阻止带边频率 f_s。设计目标是在 f_s 及更高频率处满足要求衰减 A_s。
  4. 指定目标衰减量As(单位dB),自动计算最小必需阶数N_min,确定设计值满足要求。
  5. 在伯德图实时确认增益特性,验证2fc频率处实际衰减量。

具体计算例

以默认值 f_c=100 Hz、N=4、阻止带边 f_s=500 Hz、要求衰减 A_s=40 dB 为例,在 f_s 处的衰减约为 -55.9 dB,最小必需阶数 N_min=3,滚降为 -24 dB/oct,在 f=200 Hz 处的衰减约为 -24.1 dB。N=4 比 N_min 多 1 阶,约有 16 dB 的衰减余量。

实务注意事项