在嵌入式系统中,模拟信号往往受到噪声干扰,需要滤波器进行调理。RC 低通 / 高通滤波器简单可靠,适用于初步抗混叠或 DC 阻挡;运算放大器 Sallen-Key 滤波器则提供更陡峭的衰减斜率,适合精密 ADC 前置。本文聚焦构建这些滤波器,通过 Bode 图可视化调谐截止频率 fc 与品质因数 Q,实现可落地的元件选型。
首先,RC 低通滤波器电路由电阻 R 串联电容 C 到地构成。信号从 R 输入,C 输出。截止频率 fc=1/(2πRC),例如 R=10kΩ、C=1nF 时 fc≈15.9kHz,低频通过,高频衰减 - 20dB / 十倍频。Bode 图上,振幅从 0dB 平坦,至 fc 处 - 3dB(70% 幅度),后以 - 20dB/decade 斜率衰减;相位从 0° 移至 - 45°@fc,再趋 - 90°。
构建步骤:1) 确定 fc,如传感器信号 <1kHz,选 fc=2kHz 防混叠;2) 计算 RC,优先标准值:C=100nF,R=1/(2πfc C)≈800Ω,用 1kΩ 近似 fc=1.59kHz;3) 验证 Bode:用示波器或 LTSpice 扫频,观察 - 3dB 点调整 R±20% 微调。嵌入式注意:R<100kΩ 防噪声,C 陶瓷 MLCC 低 ESR。风险:寄生电容移 fc,测试加缓冲 op-amp 隔离。
RC 高通滤波器交换 R/C:C 串联,R 到地。fc 同公式,低频衰减,高频通过。适用于去除 DC 偏移,如电流传感器。Bode 图镜像:高频平坦,低频 - 20dB/decade 衰减,相位 + 90° 至 + 45°@fc。参数示例:fc=10Hz,C=10uF,R=1.59kΩ。高通常用于音频或振动信号,注意大 C 体积,用薄膜电容。
为获得更锐利响应(-40dB/decade),引入 Sallen-Key 二阶低通滤波器。电路:Vin-R1-C1 到节点 A,反馈 C2 从 op-amp 输出到 A,R2 从 A 到 op-amp + 输入,op-amp 单位增益。fc=1/(2π√(R1 R2 C1 C2)),Q=√(R1 R2 C1 C2)/[C2 (R1+R2)]。简化设计:R1=R2=R,C1=n Cref,C2=Cref/n,则 fc=1/(2π R Cref),Q=n/2。
调谐示例:目标 fc=1kHz,Q=0.707(Butterworth 平坦)。选 R=10kΩ,Cref=15.9nF(fc 精确),n=1.414,C1=22.5nF≈22nF,C2=11.2nF≈10nF。Bode 图:passband 平坦,fc 锐利膝点,无过冲;Q>1 引入峰值,Q=3 时 + 9.5dB 峰,ringing 严重。高 Q 风险:步进输入振铃,嵌入式 ADC 易饱和,回滚 Q<1。
元件清单(fc=1kHz):
- RC 低通:R=159Ω (150Ω),C=1uF
- RC 高通:C=0.1uF,R=1.59kΩ
- Sallen-Key:TL071 op-amp,R1=R2=10kΩ,C1=22nF,C2=10nF (Q≈1.1,轻微峰值);电源 ±5V,旁路 0.1uF。
监控要点:1) Bode 扫频验证 fc/Q,用 AD9833 DDS+op-amp 扫 10Hz-1MHz;2) 噪声谱:FFT 观察止带抑制 > 40dB;3) 瞬态:方波输入,Q 高检查 ringing<10% 幅度;4) 温度漂移:C±10%,R±5%,补偿 NTC 或数字校准;5) PCB 布局:地平面,R/C 短迹线 < 5cm,op-amp 去耦。
实际嵌入式应用:MCU ADC 前置,RC 低通防 RFI,高通除偏置,Sallen-Key 多级链(隔离 buffer)达 - 80dB/decade。参数落地:LTSpice 仿真选值,烧录 Arduino DDS 测试。阈值:fc 误差 <5%,Q>0.5 防平坦过度,<2 防振铃。
这些设计源于 lcamtuf.substack 文章:RC 滤波基础,Sallen-Key 高级。实践验证,确保信号纯净,提升嵌入式系统鲁棒性。
(字数:1028)