4. DAC性能指标:动态范围、信噪比、总谐波失真加噪声、积分非线性与微分非线性

各位同学,咱们今天聊聊DAC的性能指标。说实话,这玩意儿在音频系统里太关键了。你想想看,DAC就是把数字信号转成模拟信号的那个环节,它的好坏直接决定了你听到的声音质量。我这些年调试过的板子少说也有上百块,每次出问题,十有八九都跟这几个指标有关。

4.1 动态范围(Dynamic Range)

动态范围,说白了就是DAC能处理的最大信号和最小信号之间的差距。单位是dB。这个指标决定了你的音频系统能表现多大的音量跨度——从最轻的呼吸声到最响的鼓点,能不能都清晰呈现。

我习惯这么理解:动态范围越大,音乐的层次感就越丰富。举个例子,一个16位的DAC,理论动态范围是96dB。但实际能做到90dB就算不错了。为什么?因为电路里总有噪声,会吃掉一部分动态范围。

计算公式:

DR = 20 × log10(Vmax / Vmin)

其中Vmax是最大不失真输出幅度,Vmin是可分辨的最小信号幅度。

嗯,这里要注意一点。动态范围跟信噪比不是一回事。动态范围看的是信号本身能有多大跨度,信噪比看的是信号和噪声的比例。我见过不少工程师把这两个概念搞混,结果选型选错了,板子做出来才发现不对劲。

4.2 信噪比(SNR)

信噪比,就是信号功率和噪声功率的比值。单位也是dB。这个指标越高,说明DAC输出的背景越干净,听感越纯净。

我记得有一次调试一个高端播放器,客户要求SNR做到120dB以上。理论计算没问题,但实际测出来只有115dB。查了半天,发现是电源纹波串进来了。后来在电源路径上加了个LC滤波,SNR直接飙到122dB。你看,有时候问题不在DAC本身,而在外围电路。

位数 理论SNR(dB) 实际典型值(dB)
16位 96.3 90-94
24位 144.5 110-120
32位 192.6 120-130

你可能会问,为什么实际值跟理论值差这么多?原因有几个:

  • 量化噪声只是噪声的一部分,还有热噪声、闪烁噪声等
  • 时钟抖动会引入相位噪声
  • 电源噪声和地弹也会贡献噪声

我的经验:测量SNR时,输入信号频率建议选在1kHz附近,幅度控制在-0.5dBFS左右。这样既能避免削波,又能得到比较准确的测量结果。

4.3 总谐波失真加噪声(THD+N)

THD+N,这个指标我特别在意。它衡量的是DAC输出信号中,除了基波以外的所有谐波分量和噪声的总和,跟基波的比值。单位也是dB,或者用百分比表示。

为什么说它重要?因为它直接反映了DAC的线性度和噪声水平。THD+N越低,声音越干净,失真越小。我做过一个对比测试:THD+N为-80dB的DAC和-100dB的DAC,盲听时大部分人都能分辨出区别。

注意:THD+N不是越低越好。有些DAC为了追求极低的THD+N,会牺牲动态范围。实际选型时,要根据应用场景权衡。比如乐器效果器,有时候需要一点谐波失真来增加"味道"。

我曾经遇到过一个案例:某款DAC的THD+N指标标称-95dB,但实际测出来只有-88dB。排查后发现,是输出运放的压摆率不够,导致高频信号产生了交越失真。换了个高速运放,THD+N立刻降到了-96dB。所以啊,DAC的性能不光看芯片本身,外围电路同样重要。

4.4 积分非线性(INL)与微分非线性(DNL)

这两个指标属于静态性能参数,但影响的是动态性能。很多初学者容易忽略它们,我建议你重视起来。

4.4.1 积分非线性(INL)

INL描述的是DAC实际传输特性与理想直线之间的最大偏差。单位是LSB(最低有效位)。说白了,就是DAC的线性度好不好。

举个例子:一个16位DAC,理想情况下,输入码字每增加1,输出电压应该线性增加1个LSB对应的电压。但实际不是这样的,总会有偏差。INL就是这些偏差的最大值。

INL对音频的影响:

  • INL过大会导致信号失真,产生谐波
  • 在低频段,INL引起的失真更明显
  • INL通常随温度变化,设计时要留余量

4.4.2 微分非线性(DNL)

DNL描述的是相邻两个码字之间实际步长与理想步长之间的偏差。单位也是LSB。如果DNL超过1LSB,就会出现"丢码"现象——某些输入码字对应的输出值跳过了,或者重复了。

我习惯这么记:INL看整体,DNL看局部。INL是累计误差,DNL是相邻误差。

关键点:

  • DNL < 1LSB:保证单调性,不会丢码
  • DNL > 1LSB:可能出现非单调性,音频中会产生"咔嗒"声
  • INL < 2LSB:一般可以接受
  • INL > 4LSB:失真会比较明显

我曾经调试过一个项目,播放正弦波时总听到"噼啪"的杂音。用频谱仪一看,发现是DNL超标导致的。换了个DNL更小的DAC,问题就解决了。所以啊,选型时别光看SNR和THD+N,INL和DNL也得仔细看。

4.5 各指标之间的关系

这几个指标不是孤立的,它们之间相互影响。我画个简单的逻辑图给你看:

  • INL/DNL差 → THD+N升高 → 动态范围降低
  • 噪声大 → SNR降低 → 动态范围降低
  • THD+N低 → 信号纯净度好 → 听感提升

实际设计中,我建议你优先关注THD+N和SNR。这两个指标直接决定了音频质量。INL和DNL更多是选型时的参考,只要在合理范围内,对听感的影响相对较小。

避坑指南:我曾经遇到过一款DAC,数据手册上所有指标都很好,但实际用起来就是不对劲。后来发现,它的INL在高温下会急剧恶化。所以,如果你的产品有温度要求,一定要看全温度范围内的指标,别只看25°C的典型值。

好了,关于DAC的性能指标就讲到这里。记住一句话:指标是死的,应用是活的。选型时别迷信数据手册,多看看实际测试结果,多听听实际效果。下次咱们聊聊DAC的时钟抖动问题,那个坑更多,到时候我给你们讲讲我踩过的雷。