
1. 滤波电路到底在滤什么从“脏电源”到“干净信号”的底层逻辑滤波电路这四个字刚学电路那会儿我也觉得挺玄乎——滤什么怎么滤为什么非要滤后来板子画多了、示波器探头戳多了才慢慢明白滤波的本质就是让想要的频率成分顺利通过把不想要的频率成分拦下来或者导走。听起来像废话但真正理解这句话需要先搞清楚“不想要的频率成分”到底从哪来。最常见的来源是电源。你从LDO或者DCDC出来的电压理论上应该是干净的直流但实际上DCDC的开关动作会在输出上叠加几十kHz到几MHz的纹波LDO虽然纹波抑制比不错但高频段PSRR会急剧下降高频噪声照样能窜过去。另一个来源是数字电路本身——MCU、FPGA、ADC这些芯片在翻转时会产生瞬间的大电流脉冲这些脉冲在电源走线的寄生电感上产生电压尖峰然后顺着电源网络到处跑。还有一个来源是空间耦合比如开关电源的磁场耦合到信号线上或者无线模块的射频信号串到模拟前端里。所以滤波电路要干的事就是在这些噪声到达敏感器件之前把它们衰减到可以接受的水平。这里的关键词是“可以接受”——不是消灭是衰减到不影响系统正常工作的程度。这个思路很重要因为很多新手会追求“完全滤干净”结果发现怎么加电容都没用最后发现是地平面分割不当或者走线耦合的问题跟滤波电容本身没关系。1.1 无源滤波和有源滤波的分水岭滤波电路分两大阵营无源滤波和有源滤波。无源滤波就是电阻、电容、电感这三个基本元件搭出来的网络不需要供电结构简单但有个致命问题——没有增益而且带负载能力差。你用一个RC低通滤波去驱动一个低阻抗负载截止频率直接就变了因为负载电阻和滤波电阻并联了。有源滤波用运放加RC网络构成好处是输入输出阻抗可以做得很好还能提供增益但需要供电而且运放本身的带宽和压摆率会限制高频性能。在实际项目中电源滤波几乎清一色用无源因为电源上不需要增益要的是低阻抗和高耐流信号链上的滤波则看情况低频精密信号用有源高频射频信号用无源。我个人的经验是电源入口处永远先放无源滤波信号链中间根据阻抗匹配需求决定。这个顺序不能反因为电源不干净后面什么有源滤波都是白搭。1.2 低通、高通、带通、带阻四种基本形态滤波电路按频率响应分四种低通、高通、带通、带阻。低通让低频过、高频衰减最典型的应用就是电源滤波和ADC输入抗混叠高通让高频过、低频衰减常见于交流耦合和隔直带通只让某个频段过比如无线接收机的中频滤波带阻则是把某个频段干掉比如工频50Hz陷波。这四种形态里低通滤波是出现频率最高的因为绝大多数噪声都是高频的而绝大多数有用信号都是低频或者直流的。你去看任何一块电路板电源入口处一定有一个或者多个低通滤波网络可能是电容可能是LC可能是π型。这里有个容易混淆的点低通滤波的“低”和“高”是相对的取决于你的截止频率设在哪。一个截止频率1MHz的低通滤波对于100kHz的信号来说是“通带”对于10MHz的噪声来说是“阻带”。所以设计滤波电路的第一步永远是先明确有用信号的频率范围和噪声的频率范围然后才能确定截止频率。2. RC滤波电路最简单也最容易踩坑的入门方案RC滤波电路是所有滤波电路里最简单的一个电阻加一个电容就是一个一阶低通。截止频率的计算公式是f_c 1/(2πRC)这个公式大家都会背但实际用起来坑不少。先说一个最典型的场景ADC输入端的RC滤波。假设你用一个12位ADC采样一个直流缓变信号采样率100kHz信号带宽1kHz。你算了一下截止频率设10kHz选R1kΩC15.9nF取标准值15nF或者16nF。看起来没问题但实际上有几个隐藏问题。第一个问题是电阻的热噪声。1kΩ电阻在室温下的热噪声密度大约是4nV/√Hz在10kHz带宽内积分下来大概是400nV RMS。对于12位ADC、3.3V满量程来说1LSB大约是0.8mV400nV远小于1LSB所以问题不大。但如果你的信号更小比如经过放大的传感器信号只有10mV满量程那400nV就占了4%这就不能忽略了。这时候要么减小电阻值要么降低带宽。第二个问题是ADC采样保持开关的电荷注入。ADC内部有一个采样电容每次采样时开关闭合采样电容和外部RC网络之间会发生电荷重新分配。如果外部电容太小采样电容上的电荷会瞬间拉低外部电压导致采样误差。一般规则是外部电容至少是采样电容的10倍以上具体看ADC手册。第三个问题是电阻的压降。如果RC滤波后面接的是低阻抗负载电阻上会有直流压降导致信号幅度衰减。比如R1kΩ负载电流1mA压降就是1V这直接就废了。所以RC滤波后面一般要接高阻抗输入比如运放的同相输入端或者ADC的高阻输入。2.1 一阶RC的衰减斜率为什么只有-20dB/dec一阶RC低通的传递函数是H(s) 1/(1sRC)在截止频率之后幅度以-20dB/十倍频的斜率下降。这个-20dB/dec是怎么来的简单说当频率远高于截止频率时电容的容抗远小于电阻输出电压近似等于输入电压乘以电容容抗除以电阻而容抗与频率成反比所以输出电压与频率成反比频率每增加10倍幅度就降到1/10也就是-20dB。这个斜率意味着什么意味着如果你要把一个1MHz的噪声衰减到1/100-40dB一阶RC需要噪声频率是截止频率的100倍。比如截止频率10kHz那1MHz噪声刚好衰减40dB。但如果噪声是100kHz只衰减20dB也就是1/10可能不够。这时候就需要二阶甚至更高阶的滤波。2.2 二阶RC滤波级联的代价和收益把两个一阶RC级联起来理论上可以得到-40dB/dec的斜率。但直接级联有个问题第二级的输入阻抗会加载第一级的输出。如果两级用相同的R和C第二级的电阻和第一级的电阻并联等效电阻变成R/2截止频率就偏了。解决办法有两种一是第二级的电阻远大于第一级比如第一级1kΩ第二级10kΩ这样加载效应可以忽略但第二级的输出阻抗很高带负载能力更差二是用运放做缓冲隔离每级RC后面跟一个电压跟随器这样两级互不影响但需要运放供电。在实际项目中如果只是电源滤波直接级联问题不大因为电源的低频阻抗本来就低加载效应不明显。但如果是信号链上的滤波我一般会用运放缓冲或者直接用有源滤波拓扑比如Sallen-Key。2.3 RC滤波的布局陷阱电容接地往哪接这个问题在混合信号PCB上特别突出。你有一个模拟信号需要RC滤波电容的一端接信号另一端接地。这个“地”是接模拟地还是数字地答案是必须接模拟地。因为数字地上有大量的开关噪声如果滤波电容接到数字地噪声会通过电容耦合到信号上滤波效果大打折扣。那模拟地和数字地怎么处理常见做法是在ADC芯片下方用0Ω电阻或者磁珠单点连接或者在PCB上划一道隔离带模拟地和数字地只在一点相连。这个连接点的位置很关键一般选在ADC的AGND和DGND引脚附近让ADC内部的模拟地和数字地通过芯片本身的引脚定义来汇合。还有一个细节滤波电容的接地走线要尽量短、尽量粗。电容的高频阻抗很低接地走线的寄生电感会在高频段形成阻抗导致高频滤波效果变差。我一般要求滤波电容的接地过孔紧贴焊盘走线宽度至少20mil能铺铜就铺铜。3. π型滤波电路比RC多一个电容效果提升多少π型滤波电路的结构是电容-电阻-电容或者电容-电感-电容形状像希腊字母π所以叫π型。它本质上是一个二阶低通但和两级RC级联不同的是π型的第一个电容通常是大容量的低频滤波电容第二个电容是小容量的高频滤波电容中间用电阻或者电感隔开。3.1 π型RC滤波的参数选择逻辑假设你要给一个射频模块供电模块的工作电流是100mA电源纹波要求小于10mV。输入电源是5V纹波大概50mV。你用π型RC滤波第一个电容C1选10μF第二个电容C2选100nF中间电阻R怎么选首先电阻上的压降不能太大。100mA电流如果R10Ω压降就是1V5V变成4V可能模块还能工作但功耗增加了。如果R1Ω压降0.1V可以接受。但1Ω电阻和10μF电容组成的截止频率是1/(2π×1×10μF)≈16kHz对100kHz的开关纹波衰减有限。这时候就要权衡要么增大电阻接受压降要么改用LC滤波用电感代替电阻电感有直流电阻但通常很小压降可以忽略。所以射频模块的电源滤波我基本都用LCπ型不用RCπ型。3.2 π型LC滤波和LC并联谐振的关联π型LC滤波里的电感和电容在某个频率上会发生谐振。串联谐振时阻抗最小并联谐振时阻抗最大。对于滤波电路来说我们希望电感和电容在噪声频率上呈现低阻抗或者高阻抗从而把噪声旁路或者阻挡。但实际电感线圈不是理想电感它有寄生电阻和寄生电容。寄生电阻是线圈的直流电阻通常在几毫欧到几欧姆之间寄生电容是匝间电容通常在几皮法到几十皮法之间。这些寄生参数会让电感的实际阻抗特性偏离理想电感特别是在高频段。一个实际电感线圈的阻抗随频率变化低频时感抗主导阻抗随频率线性增加到某个频率后寄生电容开始起作用阻抗不再增加反而下降在自谐振频率处电感和寄生电容发生并联谐振阻抗达到最大值超过自谐振频率后电感实际上变成了电容阻抗随频率下降。这个特性对滤波电路的影响很大。如果你用一个自谐振频率10MHz的电感去滤100MHz的噪声它不仅不衰减反而可能因为容性特性把噪声耦合过去。所以选电感的时候自谐振频率必须远高于你要滤除的噪声频率一般要求至少3倍以上。4. 实际电感线圈下的并联谐振理想和现实的差距LC并联谐振电路在理想情况下谐振频率f_r 1/(2π√(LC))谐振时阻抗无穷大电流在电感和电容之间来回振荡外部电路看不到电流。但实际电感线圈有直流电阻R_s这个电阻和电感串联然后整体和电容并联。4.1 实际并联谐振的阻抗特性实际LC并联回路的阻抗Z (R_s jωL) || (1/jωC)。在谐振频率附近阻抗达到最大值但最大值不是无穷大而是Z_max ≈ L/(R_s·C) Q·ω_r·L Q²·R_s。这里的Q是品质因数Q ω_r·L/R_s 1/(ω_r·C·R_s)。这个公式说明什么说明电感的直流电阻越小Q越高谐振阻抗越大滤波效果越好。但Q太高也有问题——谐振峰太尖锐对元件参数的容差要求极高稍微偏一点谐振频率就跑了。而且高Q意味着谐振时电感和电容上的电压可能是输入电压的Q倍如果输入有大幅度的噪声尖峰谐振时电压可能高到击穿电容或者损坏电感绝缘。所以实际工程中有时候会故意在电感上并联一个电阻来降低Q牺牲一点滤波效果换取稳定性。这个电阻叫阻尼电阻取值一般是ω_r·L的1到3倍。4.2 电感寄生电容对并联谐振的影响前面提到电感有寄生电容C_p这个电容和电感本身构成一个并联谐振回路自谐振频率f_srf 1/(2π√(L·C_p))。当外部还有滤波电容C时整个电路实际上有两个谐振点一个是L和C_p的自谐振一个是L和C的并联谐振。如果C远大于C_p两个谐振频率相差很远可以分开处理。但如果C和C_p接近两个谐振会耦合产生复杂的阻抗特性可能出现多个谐振峰和谷。这种情况下滤波电路的频率响应会变得很难预测仿真和实测可能对不上。我踩过的一个坑用一个10μH的绕线电感做LC滤波自谐振频率算下来是50MHz觉得滤1MHz的噪声绰绰有余。结果实测发现1MHz处衰减只有20dB远低于理论值。后来用阻抗分析仪测了一下发现电感的实际电感量在1MHz时已经偏离标称值20%因为磁芯材料的磁导率随频率变化。换了高频特性更好的电感后衰减达到了40dB。4.3 并联谐振在滤波电路中的正确用法并联谐振在滤波电路里主要有两个用法一是作为带阻滤波器把某个频率的噪声干掉二是作为LC滤波的一部分利用谐振时的阻抗特性来增强滤波效果。作为带阻滤波器时LC并联回路串联在信号路径上谐振频率处阻抗最大信号被阻挡其他频率顺利通过。这种结构常见于工频陷波比如心电图机上用50Hz并联谐振回路来抑制工频干扰。作为LC滤波的一部分时并联谐振通常出现在电源滤波的中间级。比如一个π型LC滤波电感和电容的谐振频率如果设计在噪声频率附近谐振时阻抗最大噪声电流无法通过电感只能走电容旁路滤波效果增强。但前提是谐振频率要准确而且Q值要适中。5. 从理论到板级滤波电路的实操设计流程说了这么多原理最后落到实际设计上我一般按这个流程走第一步明确噪声频谱和信号频谱。用示波器FFT功能或者频谱仪测一下看看噪声主要分布在哪些频段幅度多大。没有实测条件的话根据噪声源类型估算DCDC开关噪声在开关频率及其谐波数字电路噪声在时钟频率及其谐波工频噪声在50Hz及其谐波。第二步确定截止频率和衰减要求。截止频率一般设在信号最高频率的1.5到2倍衰减要求根据噪声幅度和敏感器件的容忍度来定。比如噪声100mV要求降到1mV那就是-40dB一阶RC不够需要二阶。第三步选择滤波拓扑。电源入口用π型LC信号链用RC或者有源滤波射频前端用LC带通。拓扑选择要考虑阻抗匹配、压降、成本、板面积。第四步选元件。电容选C0G或者X7RC0G温度特性好但容量小X7R容量大但有直流偏压效应。电感选自谐振频率高于噪声频率3倍以上的直流电阻要小。电阻选薄膜电阻噪声低。第五步仿真验证。用LTspice或者ADS搭个电路把元件的寄生参数加进去跑AC扫描看频率响应。仿真通过后再画板。第六步实测调试。板子回来后用网络分析仪或者示波器测实际滤波效果如果和仿真差距大检查布局和元件焊接。5.1 电容选型的三个关键参数选滤波电容不能只看容量还要看等效串联电阻ESR、等效串联电感ESL和直流偏压特性。ESR影响高频滤波效果ESR大的电容在高频段阻抗降不下去。铝电解电容的ESR通常在几十毫欧到几欧姆钽电容在几十毫欧陶瓷电容在几毫欧到几十毫欧。所以高频滤波要用陶瓷电容大容量储能可以用铝电解或者钽电容。ESL影响电容的自谐振频率ESL越小自谐振频率越高高频滤波效果越好。贴片电容的ESL通常在几百皮亨到几纳亨封装越小ESL越小。0402的ESL比0805小所以高频滤波优先用小封装。直流偏压特性是X7R和X5R电容的通病加上直流电压后实际容量会下降有时下降50%以上。比如一个10μF的X7R电容在5V偏压下可能只剩5μF。设计时要留余量或者用C0G电容但C0G容量做不大。5.2 电感选型的实操经验电感选型我一般看四个参数电感量、额定电流、直流电阻、自谐振频率。电感量根据截止频率算但要注意电感的容差一般±20%算的时候按最小电感量算截止频率保证最坏情况下也能满足要求。额定电流要留至少1.5倍余量因为电感在大电流下会饱和电感量急剧下降滤波效果消失。饱和电流和温升电流是两个参数取小的那个。直流电阻影响压降和Q值电源滤波里直流电阻越小越好信号滤波里可以适当大一点以提高Q值。自谐振频率前面说过了至少是噪声频率的3倍。5.3 布局布线的避坑清单滤波电路的布局比原理图重要十倍。我总结了几条铁律滤波电容尽量靠近噪声源或者敏感器件走线越短越好。电容的接地端要就近打过孔到地平面过孔数量至少两个减少寄生电感。电感的输入输出走线要远离避免磁耦合跳过电感。模拟地和数字地分开铺铜单点连接。滤波电路的电源走线要先经过滤波再分支不要分支后再滤波。高频滤波电容和低频滤波电容并联时小电容靠近器件大电容稍远。6. 常见问题与排查技巧实录问题一加了滤波电容噪声反而变大了。这种情况通常是电容的接地不好或者电容和走线形成了谐振。检查电容接地过孔是否足够走线是否太长。另一个可能是电容的ESL和PCB走线电感形成了LC谐振在某个频率上阻抗升高。解决办法是并联不同容值的电容覆盖更宽的频率范围。问题二LC滤波在某个频率上衰减不够。先检查电感的自谐振频率是否高于噪声频率。如果自谐振频率不够高电感在高频段呈现容性噪声直接耦合过去。换用自谐振频率更高的电感或者改用磁珠。磁珠在高频段呈现电阻性把噪声能量转化为热量没有谐振问题。问题三并联谐振电路的实际谐振频率和计算值偏差大。电感的实际电感量随频率变化磁芯材料的磁导率不是常数。另外电感的寄生电容和外部电容并联实际谐振频率会偏低。用阻抗分析仪实测电感的频率特性根据实测值重新计算。问题四π型滤波的中间电阻发热严重。电阻上的功耗P I²R如果电流大、电阻大功耗就大。检查电阻的额定功率是否足够一般要留2倍余量。如果功耗太大改用LC滤波用电感代替电阻。问题五ADC采样值跳动大加了RC滤波没改善。先确认RC滤波的截止频率是否合适截止频率太高滤不掉噪声太低会影响信号建立时间。然后检查ADC的参考电压是否干净参考电压的噪声直接反映在采样值上。最后检查PCB布局ADC的模拟输入走线是否远离数字信号。问题现象可能原因排查方法解决方案滤波后噪声变大电容接地不良检查接地过孔和走线增加接地过孔缩短走线LC滤波高频衰减不够电感自谐振频率低查电感手册或实测换高自谐振频率电感或磁珠并联谐振频率偏移电感寄生参数阻抗分析仪实测根据实测值调整电容π型滤波电阻发热功耗超额定计算PI²R换大功率电阻或改LCADC采样跳动参考电压噪声测参考电压纹波加参考电压滤波7. 滤波电路和并联谐振的联合设计思路在实际项目中滤波电路和并联谐振往往不是孤立的而是联合起来用的。比如一个开关电源的输出滤波第一级用大容量电容滤低频纹波第二级用LC并联谐振滤开关频率的基波第三级用小容量电容滤高频谐波。每一级针对不同的频段各司其职。这种多级滤波的设计逻辑是先粗后精先低后高。第一级把大幅度的低频纹波干掉第二级针对主要的开关频率第三级扫尾高频噪声。每一级的截止频率和Q值都要仔细设计避免级间耦合产生新的谐振峰。我做过一个项目DCDC输出纹波200mV要求降到10mV以下。第一级用100μF铝电解纹波降到50mV第二级用10μH电感加100μF陶瓷电容谐振频率设计在DCDC开关频率500kHz附近纹波降到15mV第三级用1μH磁珠加10μF陶瓷电容纹波降到5mV。三级滤波的总衰减超过30dB满足了要求。这个项目里第二级的LC并联谐振是关键电感和电容的谐振频率必须准确落在500kHz偏差超过10%效果就大打折扣。我用了1%精度的电感和5%精度的C0G电容实测谐振频率偏差在3%以内效果很好。最后分享一个我常用的技巧在LC滤波的电感上并联一个RC阻尼网络电阻取10Ω到100Ω电容取100nF到1μF。这个阻尼网络可以抑制谐振峰防止在谐振频率附近出现增益而不是衰减。代价是稍微降低了一点滤波效果但换来了稳定性和可重复性。对于批量生产的产品稳定性比极致性能更重要。