4. 有源滤波器设计基础:运放基础、一阶有源低通滤波器、二阶有源低通滤波器(Sallen-Key结构)

有源滤波器,说白了就是用运放加上电阻电容搭出来的频率选择网络。跟无源滤波器比,它最大的好处是不用大电感,而且能带负载。我刚开始做射频的时候,总觉得有源滤波器是低频才用的东西,后来发现很多中频处理、基带抗混叠场景,有源方案反而更灵活。

这一章我们重点讲三个东西:运放怎么选、一阶有源低通怎么搭、二阶 Sallen-Key 怎么设计。嗯,都是实战里最常用的。

4.1 运放基础:选型与关键参数

运放是有源滤波器的核心。你想想看,如果运放本身带宽不够,滤波器的高频特性就会走样。我个人习惯,选运放时先看三个参数:

参数 含义 对滤波器的影响
增益带宽积 (GBW) 开环增益 × -3dB 带宽 决定滤波器能工作的最高频率
压摆率 (SR) 输出电压最大变化速率 影响大信号下的失真和建立时间
输入失调电压 (Vos) 输入端之间的直流电压差 造成直流偏移,尤其在高增益时明显
经验法则: 设计有源滤波器时,运放的 GBW 至少要是滤波器截止频率的 10 倍以上。我一般留 20 倍余量,不然相位裕度会吃紧。

举个例子,你要做一个 100kHz 的低通滤波器,运放 GBW 至少 1MHz,最好选 2MHz 以上的。像 LM358 这种 GBW 只有 1MHz 的,用在 100kHz 上就有点勉强了。

4.2 一阶有源低通滤波器

一阶有源低通,结构最简单:一个 RC 网络加一个运放缓冲。运放接成电压跟随器,或者同相放大器。

电路结构长这样:

输入 —— R ——+—— 运放同相端 —— 输出
              |
              C
              |
             GND

传递函数:

H(s) = 1 / (1 + sRC)

截止频率:

fc = 1 / (2πRC)

一阶的滚降斜率只有 -20dB/dec,说实话,很多场合不够用。但它的好处是稳定,相位裕度天然 90°,永远不会自激。我早期做电源噪声滤波时,就喜欢在 ADC 前端放一级一阶有源低通,先把高频毛刺压一压。

注意: 一阶有源低通的运放如果接成同相放大,增益不能太大。我曾经试过把增益设到 10 倍,结果 GBW 不够,高频段增益提前滚降,滤波器形状完全变了。

4.3 二阶有源低通滤波器(Sallen-Key 结构)

Sallen-Key 结构是二阶有源滤波器里最经典的一种。它用两个 RC 网络和一个运放,实现 -40dB/dec 的滚降。我当年第一次用 Sallen-Key 做抗混叠滤波器,仿真跑出来曲线特别漂亮,心里还挺得意——后来发现实际焊出来偏差不小,才知道元件容差和运放寄生参数的影响有多大。

4.3.1 标准 Sallen-Key 低通电路

输入 —— R1 ——+—— R2 ——+—— 运放同相端 —— 输出
              |         |
              C1        C2
              |         |
             GND       GND

传递函数:

H(s) = 1 / (s²·R1·R2·C1·C2 + s·(R1·C2 + R2·C2) + 1)

这个公式看着有点复杂,但实际设计时我们通常让 R1 = R2 = R,C1 = C2 = C,这样传递函数就简化成:

H(s) = 1 / (s²·R²·C² + 2s·R·C + 1)

截止频率:

fc = 1 / (2πRC)

品质因数 Q = 0.5。这个 Q 值对应的是 Butterworth 响应,通带最平坦。

4.3.2 不同 Q 值的设计

实际应用中,我们经常需要调整 Q 值来改变滤波器特性。比如做贝塞尔响应时 Q ≈ 0.577,做切比雪夫响应时 Q > 0.707。调整 Q 值的方法有两种:

  • 改变电阻比值: 保持 R1·R2 乘积不变,调整 R1/R2 比值
  • 改变电容比值: 保持 C1·C2 乘积不变,调整 C1/C2 比值

我个人的习惯是固定电容比值,通过调整电阻来改变 Q 值。因为电容的标称值比较少,电阻选择更灵活。

响应类型 Q 值 特点 典型应用
Butterworth 0.707 通带最平坦 通用滤波
Bessel 0.577 群延迟最平坦 脉冲信号处理
Chebyshev (0.5dB) 0.864 通带有纹波,过渡带陡 频率选择
关键点: Q 值越大,滤波器在截止频率附近的增益峰值越高,但也越容易自激。Q > 1 时,运放的 GBW 要求会急剧上升。我建议新手先从 Q = 0.707 的 Butterworth 开始练手。

4.3.3 设计步骤

假设我们要设计一个 fc = 1kHz、Q = 0.707 的 Sallen-Key 低通滤波器:

  1. 选电容: 先选 C1 = C2 = 10nF(常用值)
  2. 算电阻: R = 1 / (2π × 1kHz × 10nF) ≈ 15.9kΩ,取标称值 16kΩ
  3. 选运放: GBW ≥ 20 × 1kHz = 20kHz,实际选 1MHz 以上的通用运放(如 TL072)
  4. 仿真验证: 用 LTspice 或 ADS 跑 AC 仿真,看 -3dB 点是否在 1kHz
避坑指南: 我曾经用 5% 精度的电容和 1% 精度的电阻搭了一个 Sallen-Key 滤波器,结果截止频率偏了 15%。后来换成 1% 的电容,偏差才降到 3% 以内。关键路径上的元件,精度一定要够。

4.4 知识体系:有源低通滤波器设计流程

下面这张图把本章的核心逻辑串起来了,从需求到实现,每一步都离不开前面的基础。

有源低通滤波器设计流程 有源低通滤波器设计流程 1. 需求定义 fc、Q、阶数、增益 2. 运放选型 GBW、SR、Vos 3. 结构选择 一阶 / Sallen-Key 4. 元件计算 R、C 标称值选取 5. 仿真验证 AC 仿真、容差分析 6. 调试优化 实测、微调、稳定性 设计要点 • 一阶:-20dB/dec • 二阶:-40dB/dec • Q 值决定响应类型 常见陷阱 • GBW 不足导致滚降 • 电容容差影响 fc • Q 值过高易自激

4.5 实战中的几个坑

最后聊几个我踩过的坑,希望能帮你省点时间:

  • 运放输出摆幅: 有些运放输出不能到轨,尤其是单电源供电时。我试过用 LM358 在 5V 单电源下做滤波器,输出超过 3.5V 就开始削波了。
  • 寄生电容: PCB 走线之间的寄生电容在高频时会跟 R、C 并联,改变滤波器特性。我一般把反馈电阻和电容尽量靠近运放引脚放。
  • 电源去耦: 运放的电源引脚一定要加去耦电容,不然高频噪声会通过电源耦合到输出。我习惯在每个运放旁边放一个 100nF 陶瓷电容加一个 10μF 电解电容。
警告: 不要为了追求陡峭的滚降而把 Q 值设得过高。Q > 2 时,Sallen-Key 结构对元件容差非常敏感,稍微偏差一点就可能自激振荡。我见过有人把 Q 设到 5,结果滤波器变成了振荡器。