尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

抗混叠滤波器设计指南:从混叠原理到ADC采样电路实践

发布时间:2026/9/29 4:52:57

资讯中心
01
ARTICLE

抗混叠滤波器设计指南:从混叠原理到ADC采样电路实践

抗混叠滤波器设计指南:从混叠原理到ADC采样电路实践
1. 从一个反直觉的现象说起采样频率够了为什么波形还是错的很多刚接触ADC采样的朋友都有过这样的经历按照采样定理信号最高频率是1kHz我采样率给到10kHz理论上绰绰有余结果采回来的波形乱七八糟FFT一分析频谱上多出一堆原本不存在的频率成分。更诡异的是你把采样率继续往上提提到100kHz那些鬼影频率还在只是位置变了。问题出在哪出在你只满足了采样定理的一半条件。采样定理说的是采样率必须大于信号最高频率的两倍这是必要条件但前提是——进入ADC的信号本身必须是带限的也就是说在fs/2以上的频率成分必须已经被清理干净了。如果你没有在ADC前面做这件事高频噪声和干扰就会在采样过程中被“折叠”到低频区域和你的有用信号混在一起再也分不开。这就是混叠。而抗混叠滤波器就是放在ADC前面、专门用来干掉这些高频成分的模拟滤波器。它的存在是采样定理能够成立的前提条件而不是可选项。我见过太多项目ADC前面直接接传感器输出或者随便放一个RC低通截止频率拍脑袋定结果调试的时候发现数据跳得厉害还以为是软件滤波没做好。实际上问题在信号进入ADC之前就已经埋下了。这篇文章我打算把抗混叠滤波器这件事从头到尾讲清楚。为什么需要它、它怎么工作、怎么选参数、怎么设计电路、实际调试中会遇到什么问题以及一些我踩过的坑。不管你是做STM32的ADC采集、做音频编解码、做电机电流采样还是做精密测量只要涉及模拟信号数字化这个话题都绕不开。2. 混叠到底是怎么发生的从频域折叠到实际危害2.1 采样在频域里做了什么要理解混叠得先理解采样在频域里的本质。时域上采样就是每隔Ts秒取一个值相当于把连续信号乘以一个周期冲激串。到了频域乘法变成卷积周期冲激串的频谱也是周期冲激串所以采样后的信号频谱就是原始信号频谱以fs为周期进行无限复制。这意味着什么意味着采样之后频谱在0到fs/2之间第一奈奎斯特区的内容和fs/2到fs之间的内容以及fs到3fs/2之间的内容全部会重叠在一起。如果你原始信号里有一个1.2kHz的成分采样率是2kHz那么这个1.2kHz会折叠到2k-1.2k0.8kHz的位置和原本0.8kHz的信号完全重叠你无法区分哪个是真实的0.8kHz哪个是1.2kHz折叠过来的。这就是混叠的数学本质频率高于fs/2的成分会以fs为轴镜像折叠到第一奈奎斯特区内。折叠后的频率f_alias |f_signal - n*fs|其中n取使结果落在0到fs/2之间的整数。2.2 一个具体的例子50Hz工频干扰如何毁掉你的数据假设你在做一个称重传感器信号采集有用信号带宽0到10Hz你选了采样率100Hz理论上fs/250Hz刚好卡在工频干扰的频率上。这时候如果传感器引线上耦合了50Hz的工频干扰而且没有抗混叠滤波器会发生什么50Hz正好等于fs/2折叠后落在0Hz也就是直流。你的称重数据会出现一个缓慢漂移的直流偏置而且这个偏置会随着工频干扰的幅度变化而变化。你以为是传感器温漂实际上是混叠。如果工频是50.5Hz呢折叠后落在0.5Hz你的数据会出现一个0.5Hz的周期性波动看起来像是有个低频振动。你可能会去查机械结构、查减震但真正的问题在ADC前面。更隐蔽的情况如果你的有用信号带宽是0到40Hz采样率100Hz那么40Hz到50Hz之间的噪声会折叠到0到10Hz和你的有用信号重叠。这部分噪声你既看不到原始频率也无法用数字滤波去掉因为它已经和信号融为一体了。2.3 混叠为什么无法用数字滤波补救很多人会想我先采样采完之后用数字滤波器把高频成分滤掉不就行了不行。因为混叠发生在采样那一刻高频成分已经折叠到低频了数字滤波器看到的“低频”里混杂着真实低频和折叠过来的高频它无法区分。数字滤波能做的是在采样之后对已经混叠的信号做进一步处理但混叠本身是不可逆的。信息已经丢失了。这就是为什么抗混叠滤波器必须是模拟的必须放在ADC前面必须在采样之前就把高频成分干掉。注意抗混叠滤波器是模拟滤波器不是数字滤波器。它的位置在ADC之前信号链的最末端。任何放在ADC之后的滤波都无法解决混叠问题。3. 抗混叠滤波器的核心参数怎么定截止频率、阶数、滤波器类型3.1 截止频率不是随便设的要和采样率配合抗混叠滤波器的截止频率fc决定了哪些频率能通过、哪些被衰减。理论上fc应该小于等于fs/2但实际上要考虑两个因素一是滤波器不是理想的截止频率之后有一个过渡带过渡带内衰减不够二是你要保证在fs/2处的衰减足够大通常要求至少达到ADC的分辨率对应的信噪比。举个例子一个12位ADC理论信噪比SNR 6.02*12 1.76 ≈ 74dB。这意味着在fs/2处抗混叠滤波器至少要提供74dB的衰减才能保证折叠回来的噪声低于ADC的量化噪声。如果滤波器在fs/2处只衰减了40dB那么混叠噪声就会成为主导你的12位ADC实际有效位数可能只有7位左右。所以截止频率的设定要结合滤波器阶数和fs/2处的衰减要求来算。一阶RC低通在fs/2处的衰减是-20log10(fs/2/fc) dB二阶是-40log10n阶是-20n*log10。如果要求74dB衰减一阶滤波器需要fs/2/fc 10^(74/20) ≈ 5015也就是说fc要低到fs/2的1/5000这显然不现实因为你的有用信号带宽会被严重压缩。实际做法是先确定有用信号带宽f_signal然后选择滤波器阶数使得在fs/2处的衰减满足要求同时fc略大于f_signal。比如有用信号带宽10kHz采样率100kHzfs/250kHz要求60dB衰减。二阶滤波器需要50k/fc 10^(60/40) ≈ 31.6fc ≈ 1.58kHz这又太小了会滤掉有用信号。所以需要更高阶数比如四阶50k/fc 10^(60/80) ≈ 5.62fc ≈ 8.9kHz勉强可用。六阶的话50k/fc 10^(60/120) ≈ 3.16fc ≈ 15.8kHz比较合理。3.2 阶数选择在衰减速度和信号保真之间找平衡阶数越高过渡带越陡fs/2处的衰减越大但代价是电路复杂度、成本、功耗和相位失真都会增加。一阶RC最简单但衰减太慢二阶Sallen-Key是常用折中四阶以上通常用多级级联或者集成滤波器芯片。我个人的经验是对于一般12位到16位ADC如果采样率是信号带宽的5到10倍二阶到四阶滤波器通常够用。如果采样率只是信号带宽的2到3倍那至少需要六阶以上或者考虑过采样技术来降低对抗混叠滤波器的要求。过采样是一个很实用的技巧如果你把采样率提高到远高于信号带宽比如100倍那么fs/2就很高抗混叠滤波器的截止频率可以设得比较高过渡带可以很宽一阶RC就能满足要求。代价是数据量大需要数字抽取滤波。很多Σ-Δ ADC就是利用这个原理内部采样率极高模拟抗混叠滤波器要求很低。3.3 滤波器类型巴特沃斯、切比雪夫、贝塞尔怎么选巴特沃斯通带最平坦没有纹波过渡带衰减速度中等。适合对通带平坦度要求高的场合比如音频测量。切比雪夫过渡带更陡但通带有纹波。适合对过渡带要求高、对通带纹波不敏感的场合。贝塞尔相位线性度最好群延迟最平坦。适合对相位失真敏感的应用比如脉冲信号采集、多通道同步采样。我一般首选巴特沃斯因为它的通带特性最“干净”调试起来心里有底。如果过渡带实在不够再考虑切比雪夫。贝塞尔用在需要保波形形状的场合比如采集脉冲或者瞬态信号。4. 实际电路怎么搭从分立RC到集成滤波器芯片4.1 一阶RC最简单但别指望它干重活一阶RC抗混叠滤波器就是一个电阻加一个电容截止频率fc 1/(2πRC)。它的优点是简单、便宜、无源、不引入噪声。缺点是衰减太慢-20dB/十倍频而且输出阻抗高直接接ADC可能带不动。我通常把一阶RC放在ADC驱动运放之后、ADC输入之前作为最后的“保险”。它的截止频率可以设得比fs/2高一些主要用来滤掉高频噪声和尖峰真正的抗混叠任务交给前面的有源滤波器。提示ADC输入端的RC电阻不宜过大否则会与ADC内部的采样电容形成分压导致采样精度下降。一般建议R在10Ω到100Ω之间C根据截止频率计算。具体要看ADC数据手册里的输入阻抗和采样时间要求。4.2 二阶Sallen-Key最常用的有源抗混叠方案Sallen-Key拓扑用两个电阻、两个电容和一个运放实现二阶低通。它的优点是结构简单、增益可调、输入阻抗高。缺点是Q值对元件容差敏感高频时运放带宽会成为限制。设计步骤先确定fc和Q值。巴特沃斯二阶的Q0.707。然后选电容C1C2C方便计算计算电阻。公式是R1 Q/(2πfcC)R2 1/(Q*2πfcC)。实际选值时先选一个标准电容值比如1nF然后算电阻再取最接近的标准电阻值。我踩过的坑Sallen-Key的Q值如果设得太高通带边缘会出现峰值反而放大某些频率的噪声。巴特沃斯的0.707是比较稳妥的选择。另外运放的增益带宽积要足够至少是fc的10倍以上否则高频衰减特性会偏离设计。4.3 开关电容滤波器可编程但有陷阱开关电容滤波器SCF用时钟频率控制截止频率fc fclk/NN由芯片型号决定。优点是截止频率可编程不需要换元件适合多通道或者需要动态调整的场合。缺点是开关噪声、时钟馈通、混叠风险。开关电容滤波器本身也是一个采样系统它的内部开关频率就是时钟频率。如果输入信号里含有接近时钟频率的成分会在SCF内部产生混叠。所以SCF前面通常还需要一个简单的RC预滤波器把时钟频率附近的噪声先滤掉。另外SCF的时钟如果和ADC采样时钟同源可能会引入相关性噪声。我一般会把SCF时钟和ADC时钟错开或者用非整数倍关系避免噪声在频谱上固定位置堆积。4.4 集成有源滤波器芯片省事但要注意匹配像LTC1562、MAX274这类集成滤波器芯片内部集成了运放和电阻网络只需要外接少量电阻设定截止频率和Q值。优点是省事、一致性好、寄生小。缺点是成本高、灵活性差、可能需要双电源。用这类芯片时外接电阻的精度直接影响截止频率和Q值。我一般用1%精度的金属膜电阻温度系数选50ppm/℃以内的。如果截止频率要求很准还需要用可调电阻或者数字电位器做校准。5. 调试与排查那些数据手册不会告诉你的坑5.1 混叠到底有没有发生怎么判断最直接的方法用一个信号发生器从低频往高频扫同时观察ADC采回来的频谱。如果某个频率的信号在超过fs/2之后突然出现在低频区域而且频率随输入频率变化而镜像变化那就是混叠。另一个方法在ADC输入端加一个已知频率的高频信号幅度固定然后看ADC输出里有没有对应的低频成分。如果有说明抗混叠滤波器没起作用。我通常会在调试阶段故意把抗混叠滤波器旁路掉对比一下有和没有的频谱差异。如果差异明显说明滤波器在干活如果没差异要么滤波器没起作用要么信号里本来就没有高频成分。5.2 滤波器自激振荡运放选型和布局的问题有源滤波器自激通常是因为运放的相位裕度不够或者反馈路径布局太长。Sallen-Key拓扑里运放接成单位增益跟随器时如果运放不是单位增益稳定就会振荡。解决办法选单位增益稳定的运放或者在输出和反相输入之间加一个小电阻比如50Ω隔离容性负载。布局上反馈路径要短地平面要完整电源去耦电容要靠近运放引脚。我遇到过一次Sallen-Key滤波器在实验室里工作正常到了现场就自激。后来发现是现场温度低运放的相位裕度下降。换了温度范围更宽的运放就好了。所以选型时一定要看运放的温度特性不能只看常温参数。5.3 噪声和失真的权衡滤波器本身也会引入问题抗混叠滤波器在滤掉高频噪声的同时也会引入自己的噪声和失真。电阻的热噪声、运放的电压噪声和电流噪声、电容的介质吸收都会影响信号质量。降低噪声的方法用低噪声运放电阻值不要太大热噪声与电阻值平方根成正比电容选C0G或者薄膜电容避免用高介电常数的陶瓷电容压电效应和介质吸收严重。失真的主要来源是运放的非线性。如果信号幅度接近运放输出摆幅失真会急剧增加。所以运放的输出摆幅要留足余量一般信号峰值不超过电源轨的80%。5.4 常见问题速查表现象可能原因排查方法解决措施频谱中出现非输入频率成分混叠旁路抗混叠滤波器对比加滤波器或提高阶数通带边缘有峰值Q值过高检查电阻电容值降低Q值或改用巴特沃斯高频衰减不够运放带宽不足测运放输出高频响应换高带宽运放输出自激相位裕度不足示波器看输出波形加隔离电阻或换运放低频噪声大电阻热噪声短路输入端测噪声减小电阻值或换低噪声运放截止频率偏离设计元件容差实测元件值用高精度元件或校准6. 几个实际案例从电机电流采样到音频采集6.1 电机电流采样PWM噪声如何混叠到电流环电机驱动里电流采样通常在PWM周期中点触发ADC采样率等于PWM频率。PWM开关噪声含有丰富的高频谐波如果抗混叠滤波器没做好这些谐波会折叠到电流信号里导致电流环振荡。我的做法在电流采样电阻和ADC之间放一个二阶Sallen-Key低通截止频率设在PWM频率的1/10左右同时在ADC输入端加一个一阶RC截止频率设在PWM频率的1/2左右。这样两级滤波既保证了fs/2处的衰减又不会过度影响电流信号的带宽。另外ADC的采样时刻要避开PWM开关瞬间通常选在PWM周期中点这时候开关噪声已经衰减得差不多了。6.2 音频采集20kHz带宽为什么采样率要44.1kHz音频CD标准采样率44.1kHzfs/222.05kHz刚好比人耳上限20kHz高一点。抗混叠滤波器需要在这个过渡带内从通带转到阻带对滤波器阶数要求很高。早期CD机用多阶模拟滤波器后来用过采样加数字滤波模拟滤波器要求大大降低。如果你自己做音频采集采样率48kHz有用信号20kHzfs/224kHz过渡带只有4kHz二阶滤波器根本不够。要么用过采样要么用高阶滤波器。我一般用Σ-Δ ADC内部过采样率很高外部只需要一个简单的RC。6.3 精密称重24位ADC前面到底要不要滤波器24位Σ-Δ ADC内部有过采样和数字滤波模拟抗混叠滤波器要求很低一阶RC通常就够。但要注意Σ-Δ ADC的输入采样频率虽然高但它的模拟输入端仍然会有开关电容采样如果前端驱动能力不足会影响精度。我通常会在称重传感器和ADC之间加一个仪表放大器然后加一个一阶RC截止频率设在ADC输出数据率的10倍左右。这样既能滤掉高频噪声又不会影响称重信号的响应速度。7. 一些个人体会和实用建议抗混叠滤波器这件事最怕的就是“想当然”。觉得采样率够了就行觉得数字滤波能补救觉得随便放个电容就能解决问题。实际上混叠一旦发生就是不可逆的后面做再多努力都是白费。我的建议是在项目初期就把抗混叠滤波器的方案定下来不要等到调试出问题了再回头改。先确定信号带宽、采样率、ADC位数然后算fs/2处的衰减要求再选滤波器阶数和类型最后选元件和运放。每一步都有依据不要拍脑袋。元件选型上电阻用1%金属膜电容用C0G或薄膜运放选低噪声、单位增益稳定、带宽足够的。布局上滤波器尽量靠近ADC反馈路径短地平面完整电源去耦到位。调试的时候先单独测滤波器用信号发生器扫频看幅频特性是否符合设计。然后再接ADC看整体频谱。如果发现问题先查滤波器再查ADC配置最后查信号源。最后分享一个小技巧如果你不确定抗混叠滤波器有没有必要可以先在ADC输入端加一个简单的RC截止频率设在fs/2的1/5左右然后对比有和没有的频谱。如果频谱干净了很多说明滤波器在起作用再根据实际需求决定要不要升级到有源滤波器。这个方法简单粗暴但很有效。
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。