ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Delta-Sigma ADC:噪声整形如何突破传统ADC精度极限

Delta-Sigma ADC:噪声整形如何突破传统ADC精度极限 前阵子做一个精密电压采集项目我最初选了颗16位SAR ADC数据手册标称SNR接近96dB满心以为微伏级信号能轻松拿下。实际打样出来一测有效位数只有12位出头频谱里毛刺一片根本原因是电容阵列失配和比较器噪声把理论精度吃掉了大半。后来换了颗24位Delta-Sigma ADC虽然转换速率低了不少但配合合适的时钟和驱动电路轻松做到了18位以上有效分辨率。这件事让我重新审视了一个结论一个内部只有1位量化器的ADC凭什么比16位量化器的ADC还准这篇文章就把Delta-Sigma ADC从噪声整形到数字抽取这条完整链路的核心逻辑拆开讲透同时把我在选型、仿真和实际调试中踩过的坑一并分享出来适合做精密测量、音频采集、传感器信号链的工程师也适合想把ADC原理补扎实的同学。1. 传统奈奎斯特ADC的精度天花板量化误差、失配与功耗的三重夹击1.1 量化噪声躲不掉的数学底线任何ADC都逃不过量化这个过程。一个N位ADC把连续模拟信号映射到2^N个离散电平上每个电平间隔是Δ量化器输出与真实输入之间的差就是量化误差。在最理想的情况下假设输入信号足够活跃量化误差近似在[-Δ/2, Δ/2]内均匀分布它的平均功率就是Δ²/12。对满幅正弦波输入来说信号功率与量化噪声功率之比就是那个经典的公式SNR 6.02N 1.76 dB按这个公式16位ADC的理想信噪比约是98dB24位是146dB。这个数字听起来很美但它隐含的前提是量化器本身是理想的只存在量化噪声没有任何其他非理想因素。现实世界显然不这么友好真正的精度瓶颈往往在量化器之外。1.2 模拟非理想性真正吃掉高分辨率的不是量化器拿SAR ADC为例它内部的电容阵列既承担采样功能又承担DAC功能。要想做到18位线性度电容匹配精度就得优于0.0015%这对大多数工艺来说是非常苛刻的要求。更要命的是比较器本身有失调和噪声参考电压源也有纹波和热噪声这些误差全部直接叠加到转换结果上无法靠平均来消除。Flash ADC更直接N位就需要2^N-1个比较器并行工作16位就是6万多个比较器面积和功耗直接爆炸。流水线ADC看起来折中一些但级间增益误差、电容失配、余量放大器建立时间每一项都需要复杂的校准电路去补偿。这些架构的共同特点是精度越高模拟部分的面积、功耗和设计难度呈指数级增长。单纯靠堆硬件精度换分辨率这条路在16位以上基本就走死了。1.3 换思路用时间换精度用反馈换噪声Delta-Sigma ADC换了一条完全不同的路。它不追求量化器本身有多精密反而刻意使用很粗糙的量化器常见的是1位。它的思路是用远高于信号带宽的采样速率工作然后通过反馈环路把量化噪声从低频段“搬运”到高频段最后在数字域用滤波器把这些高频噪声滤除从而获得高分辨率。这里有一个关键的哲学转变传统ADC是在模拟域硬碰硬地消除误差Delta-Sigma ADC则是允许误差存在但通过环路和数字处理把误差赶到不影响信号的地方。这就好比整理房间前者要求房间里不允许有一粒灰尘后者允许灰尘存在但全部扫到地毯底下看不见的地方。工程上后者显然更现实。2. 噪声整形凭什么能突破精度极限2.1 过采样先把噪声摊平在更宽的频谱上理解噪声整形之前先要理解过采样。假设信号带宽是BW奈奎斯特采样率是2BW。量化噪声的总功率固定为Δ²/12分布在直流到fs/2的整个频带内。如果把采样率提高到OSR倍即fs 2 × OSR × BW那么同样的噪声总功率会被摊到更宽的频谱上落在信号带宽内的噪声功率就减少到原来的1/OSR。这就是过采样的基本收益。对于理想的白噪声量化噪声OSR每翻一倍带内噪声功率减半SNR提升3dB。单靠过采样OSR从2提高到64SNR只能提升约15dB折算不到2.5位有效分辨率。想要从16位冲到20位OSR需要提到几百甚至上千代价太大这条路本身是不够用的。2.2 反馈环路把噪声“推”到高频真正让Delta-Sigma ADC脱胎换骨的是噪声整形。一阶调制器的基本结构是输入信号经过加法器减去反馈DAC的输出然后进入积分器积分器的输出送入量化器通常是1位比较器量化结果一方面作为输出另一方面反馈给DAC。这个环路对信号和噪声的处理完全不同。对输入信号来说反馈回路让输出在低频段紧紧跟随输入对量化误差来说它被积分器“记忆”下来然后在下一个周期被差分抵消一部分。用Z域表达一阶调制器的输出Y(z) X(z)·z⁻¹ (1 - z⁻¹)·E(z)信号只是延迟了一个周期没有任何失真而量化噪声E(z)被乘上了一个高通因子(1 - z⁻¹)。在低频处|1 - z⁻¹|趋近于零也就是说带内的量化噪声被大幅压制频率越高这个因子越大噪声被推向高频。这就是“噪声整形”的本质。一阶整形的效果有多明显经过整形后带内量化噪声功率近似正比于1/OSR³SNR提升斜率从过采样的3dB/倍频程变成了9dB/倍频程。OSR64时一阶整形比单纯过采样多出约30dB的SNR增益相当于5位有效分辨率的提升。2.3 阶数越高整形越狠性能公式与关键判断把一阶积分器换成两个级联就得到二阶调制器噪声传递函数变成(1 - z⁻¹)²带内噪声功率近似正比于1/OSR⁵SNR提升斜率进一步来到15dB/倍频程。理论上L阶调制器的带内噪声近似正比于1/OSR^(2L1)SNR每倍频程提升(6L3)dB。调制器阶数带内噪声近似SNR随OSR提升斜率OSR64时相对过采样的额外增益无整形纯过采样∝ 1/OSR3dB/倍频程0dB一阶∝ 1/OSR³9dB/倍频程约30dB二阶∝ 1/OSR⁵15dB/倍频程约60dB三阶∝ 1/OSR⁷21dB/倍频程约90dB这个表格说明了一件事阶数每提高一阶OSR对SNR的改善斜率增加约6dB/倍频程。换句话说在同样的过采样率下高阶调制器能获得高得多的带内精度。但这并不意味着阶数越高越好因为高阶调制器的稳定性问题会让设计复杂度急剧上升这部分在下一章展开。3. 调制器从一阶到高阶的设计演进3.1 一阶调制器为什么不够用一阶调制器的公式很简洁但实际用起来问题不少。最典型的问题出现在输入信号接近直流或缓慢变化时量化器的输出序列会出现强烈的周期性频谱上表现为离散的“音调”而非平滑的噪声基底。这些音调的位置与输入信号幅度有关在音频应用中能被人耳明显感知表现为所谓的“调制噪声”或“空闲音”。高阶调制器之所以能改善这个问题是因为环路中的多个积分器相当于引入了额外的状态和记忆量化误差被更彻底地打散输出序列的周期性被破坏噪声频谱更接近理想的白噪声。这也是为什么实际产品里极少看到一阶调制器最低也是二阶起步。3.2 稳定性高阶调制器最大的暗坑二阶及以上的单bit调制器并非无条件稳定。原因在于1位量化器只有两个输出电平当输入幅度过大或内部积分器状态饱和时反馈信号无法及时把积分器拉回正常工作范围环路就会进入过载状态表现为输出序列出现长串的相同比特SNR急剧恶化。工程上常用噪声传递函数的峰值增益H∞来判断稳定裕量。经验法则是对于单bit量化器H∞控制在1.4到2之间比较稳妥超过2.5基本必不稳定。这个值需要结合具体输入幅度范围和内部积分器限幅来综合验证。我在做行为级仿真时常用的验证方法是给调制器加一个接近满幅的正弦输入跑足够长的瞬态仿真观察内部积分器各节点的摆幅是否超出预期范围。如果某个积分器输出长时间贴死在限幅电平上基本可以断定稳定裕量不足需要降低NTF峰值增益或改用多bit量化器。3.3 量化器位数1bit的天然线性与多bit的DAC失配单bit量化器有两个令人着迷的特性。第一DAC只有两个输出电平不存在中间电平失配的问题所以DAC天生是完美的线性元件。多bit DAC则完全不同比如4bit DAC需要16个电平严格等间距任何失配都会在输出频谱中产生谐波失真这直接影响带内精度。第二单bit量化器的量化步长非常大量化误差功率可观需要依赖高环路增益压制对积分器和运放的性能要求更高。多bit量化器的量化步长小得多环路对模拟非理想性的压力也小很多稳定性更好是提高调制器性能的一条捷径。但多bit的代价立竿见影DAC失配问题必须解决。常用的手段是动态元件匹配比如DWA算法通过循环旋转每个DAC单元的使用顺序把失配误差调制到高频再靠数字滤波器滤除。代价是数字逻辑电路增加以及反馈路径上的额外延迟这在高速设计中并不轻松。工程上的取舍是消费级音频Delta-Sigma ADC里多bit调制器很常见因为采样频率相对较低DEM逻辑来得及跑高精度仪表类ADC则更偏爱单bit或低位数调制器用足够的过采样率来弥补量化步长大的问题换取更低的失真。3.4 积分器与运放性能的隐形天花板开关电容积分器里采样电容的KT/C噪声直接决定了系统的噪声本底。电容选大一点噪声就低一点但面积和功耗跟着涨设计上需要在三者之间权衡。一个经验是如果目标有效分辨率是20位输入采样电容往往要做到几皮法甚至十几皮法否则KT/C噪声本身就能干掉两三位精度。运放的非理想性同样关键。有限直流增益会让积分器产生漏损等效降低积分器增益导致噪声传递函数的低频零点偏移带内噪声比理想模型预测的高。有限带宽和摆率则造成建立不完全产生与信号相关的失真。对于单bit调制器内部节点摆幅通常较大摆率不够会直接限制最高可用采样率多bit调制器内部摆幅小很多对运放的摆率要求反而降低这也是多bit方案的一个隐藏优势。实际设计时我一般要求运放的单位增益带宽做到采样频率的3到5倍以上直流增益至少60dB起步具体数字要结合目标ENOB和OSR来算。很多应用工程师拿到Delta-Sigma ADC芯片觉得它“难驱动”本质上就是因为芯片内部的积分器和采样结构对外围驱动电路的带宽、噪声和输出阻抗有实际要求这部分后面章节还会细说。4. 数字抽取滤波器高精度的另一半4.1 为什么不能直接降采样调制器输出的是一串高速的1bit或低bit数据流信号带宽只占整个频谱的很窄一部分大部分频谱被整形后的高频量化噪声占据。如果直接按奈奎斯特速率降采样这些集中在高频的整形噪声会被镜像折叠回信号带内前面辛辛苦苦做出来的噪声整形效果瞬间归零。所以抽取滤波器必须在降采样之前完成两个任务一是把带外整形噪声滤除干净二是将被滤除的噪声排除在折叠频带之外。这个滤波器做不好调制器做得再好也白搭。整个Delta-Sigma ADC的最终信噪比是调制器和数字抽取滤波器共同决定的。4.2 CIC滤波器不需要乘法器的工程利器抽取滤波器最常用的结构是CIC级联积分梳状滤波器它的传递函数是H(z) ((1 - z^(-M)) / (1 - z^(-1)))^N其中M是抽取倍数N是级数。这个结构只有加法器和延迟器没有乘法器非常适合在FPGA和ASIC里以极低成本实现。积分器部分在高采样率端工作梳状部分在低采样率端工作两级之间就是抽取操作。CIC滤波器的输出位宽增长可以用一个公式快速估算B_out B_in N × log2(M)举个例子输入是1bit的调制器输出抽取倍数M64级数N3那么输出位宽至少是1 3×6 19位。实际实现时通常还会增加几个比特作为头部空间防止滤波器中间状态溢出。4.3 两级抽取与FIR补偿CIC滤波器的幅频特性有sin(x)/x形状的通带下垂抽取倍数越大、级数越多通带边缘的衰减越严重。这个下垂如果不去补偿会直接扭曲信号幅频响应表现为高频成分衰减。因此完整的抽取链通常是CIC加一级FIR补偿滤波器专门用来拉平CIC的通带下垂同时提供额外的阻带衰减。性能要求高的系统我习惯把抽取分成两级来做第一级用CIC把采样率降到一个中间值第二级用半带FIR或补偿FIR进一步降到最终输出速率。分两级的好处是CIC可以做得较窄FIR的工作频率也降下来了整体资源消耗比一步到位更省滤波器系数设计也更灵活。4.4 滤波器指标对最终ENOB的影响很多人评估Delta-Sigma ADC性能只盯调制器的SNR仿真结果忽视了抽取滤波器对最终精度的贡献。抽取滤波器的通带纹波会直接作为幅度误差叠加到信号上阻带衰减不足则会有残留噪声混叠回带内。我的经验是抽取滤波器的通带纹波至少要控制在0.01dB以内阻带衰减至少要达到系统目标ENOB对应的量化噪声水平以下6dB以上。滤波器设计完成后一定要把调制器输出数据流完整过一遍滤波器模型再对滤波后的数据做FFT分析那才是真正最终的SNDR。只看调制器输出频谱是不足够的。5. 如何验证整形效果仿真、频谱与ENOB读数经验5.1 从NTF角度看整形效果拿到一个调制器拓扑第一步应该看它的噪声传递函数形状。用AC分析或者直接算NTF的幅频响应可以看到一个低通信号传递函数叠加一个高通噪声传递函数的结构信号通带内NTF幅度远小于1高频处则明显大于1这个“低频凹陷、高频抬升”的形状就是噪声整形的直观体现。一阶整形的斜率是20dB/decade二阶是40dB/decade。这个斜率可以快速核对调制器是否工作在预期的整形阶数。如果低频频段NTF不够低通常说明积分器增益不够或者环路系数设置有问题。带内NTF峰值的经验判断是每20dB/decade的整形斜率配合不低于40dB的低频衰减二阶以上调制器基本能保证OSR64时的有效位数在18位以上。5.2 瞬态FFT与相干采样调制器是异步反馈系统AC分析只能看NTF轮廓真正的性能评估必须做瞬态仿真然后把输出比特流做FFT分析。这里有一个极其重要的细节相干采样条件。FFT的输入信号频率必须满足Fin / Fs Mc / Nc其中Mc是正整数Nc是FFT点数两者互质。满足这个条件信号能完整周期落在FFT窗口内频谱不会泄漏才能直接读SNR。实际操作中我会先根据OSR和目标带宽选一个合适的Fin确保它落在带内且与Fs互质。FFT完成后读SNR和SNDR的方法是剔除直流分量和信号谐波分量对剩余的噪声积分。这里有个容易误导的点FFT点数越多每个bin的噪声功率越低频谱基底看起来越低好像性能变好了。实际上噪声总功率没变只是被摊到更多bin里。如果从频谱基底直接反推ENOB记得要把FFT处理增益加回来否则会高估性能。5.3 实测中判断系统性能的快速路径实测数据比仿真复杂得多我习惯按这个顺序定位问题先看SFDR再看噪声基底形状最后看带内是否有离散干扰。SFDR差通常是模拟链路失真比如驱动放大器非线性、DAC参考源纹波噪声基底不平整、带内出现山包多半是电源耦合或时钟抖动频谱上出现等间距毛刺就要检查数字部分是否有耦合串扰。ENOB的换算公式是ENOB (SNDR - 1.76) / 6.02这个公式无论是仿真还是实测都适用。如果实测ENOB比仿真低3位以上坦白说问题大概率不在调制器本身而在时钟抖动、参考源噪声或者输入驱动能力这些外围环节。先查外围不要急着怀疑芯片性能。6. 落地时最容易翻车的五个细节6.1 时钟抖动高频输入信号下被放大的误差Delta-Sigma ADC虽然对时钟抖动不似连续时间调制器那样敏感但开关电容调制器同样受时钟抖动影响。抖动等效于采样时刻的随机偏差对高频输入信号来说这个偏差乘以信号的斜率就是误差电压。信号频率越高、幅度越大抖动引入的噪声越严重。经验做法是系统总均方根抖动要控制在采样周期的1/10以内高分辨率宽带应用需要更低。音频应用用普通晶振问题不大宽带高精度应用就得考虑低抖动时钟源并确保时钟走线远离数字噪声源。6.2 输入驱动驱动放大器与RC滤波的取舍Delta-Sigma ADC的输入采样结构是开关电容输入端会周期性抽取电流形成动态负载。驱动放大器需要有足够的带宽和建立能力来应对这种瞬态抽取同时自身噪声要足够低否则会成为整个链路的噪声主导。我常用的做法是驱动放大器输出端加一级RC低通时间常数取信号带宽的5到10倍以上一是进一步滤除带外噪声二是隔离驱动放大器和ADC输入之间的瞬态相互作用。电容使用NP0/C0G介质避免压电效应和电压系数引起的失真。6.3 参考电压噪声和瞬态响应参考电压源的噪声直接混入量化过程没有任何回路能把它整形掉。参考端的纹波如果落在信号带宽内会直接出现在输出频谱里。实测中我看到过不少案例整机噪声超标查到最后是参考IC的噪声或去耦电容布局问题。参考引脚的去耦电容要尽可能靠近芯片引脚放置通常参考电源需要至少10μF钽电容加100nF陶瓷电容并联。如果参考源输出动态响应不足调制器的瞬态电流抽取会造成参考电压跌落引起与信号相关的失真。选择参考芯片时除了关注噪声密度还要看它的负载调整率和瞬态恢复时间。6.4 调制器过载输入幅度与稳定裕量高阶调制器的稳定性与输入幅度强相关。输入接近满幅甚至过载时内部积分器进入非线性区域环路失去平衡SNR会突然恶化而不是缓慢下降。这正是Delta-Sigma ADC和SAR ADC行为上最显著的区别之一SAR ADC在满幅附近只是出现削波Delta-Sigma ADC则可能在满幅输入时直接性能崩溃。设计系统时务必给调制器留足头空间一般建议信号峰值不超过满幅的-3dBFS到-6dBFS。如果应用要求大动态范围就要选那些在数据手册里明确标注了峰值输入对应性能的型号并针对满幅条件做专项测试。6.5 测试链路信号源、线缆与地环路实测Delta-Sigma ADC的ENOB最大的敌人往往是测试设备本身。信号源的本底失真、线缆的屏蔽质量、地环路引入的工频干扰都可能掩盖芯片的真实性能。测试高精度Delta-Sigma ADC时我通常先把输入短路测输出噪声本底确认系统和芯片工作正常再输入一个-1dBFS左右的低失真正弦评估SNDR和SFDR最后才做不同输入幅度、不同频率的扫描测试。如果实测频谱里有50Hz附近及其谐波的干扰先查地环路和信号源隔离度不要怀疑芯片。测试夹具的电源去耦、模拟地与数字地单点连接这些基本功在高分辨率测试场景下决定成败。6.6 最后分享一个实用小技巧调试过程中我发现如果某次实测的SNR比预期低很多但又找不到明显的电源或时钟问题不妨先看看数据手册里给出的参考电路确认输入共模电压是否落在推荐范围内。共模电压偏了调制器内部的开关无法充分导通采样保持建立误差会显著增大表现为看似无规律的失真的噪声增加。这个坑不起眼但出现的频率很高属于那种排查半天才发现的低级问题。把共模电压校准到数据手册推荐值附近往往能瞬间找回好几个dB的动态范围。
返回列表