模拟设计

信噪比(SNR)

想象你在聚会上努力听清朋友说话。你能听懂多少,并不只取决于他说得有多大声(信号),更取决于他的声音相比背景嘈杂声(噪声)有多突出。信噪比正是对一个电信号做这种比较:你关心的那部分的功率,除以你不关心的那一切的功率。数值大,意味着信号清晰、容易读取;数值小,意味着你的信号正在被淹没。由于两者跨越的范围极大,我们几乎总是用分贝来表示信噪比,其中 SNR(dB) = 10·log10(信号功率 / 噪声功率)。每 10 dB 就是功率比的十倍跃升,所以 60 dB 意味着信号携带的功率是噪声的一百万倍。

在模拟和混合信号芯片里,信噪比是衡量品质的终极标尺,因为它所度量的噪声永远不会消失——那是物理本身自带的嘶嘶声:每一个电阻都有的热噪声(功率密度 4kTR)、在低频处占主导的闪烁(1/f)噪声,以及一旦你开始数字化,把每个采样四舍五入到最近码字所带来的量化噪声。这个噪声底限定了你还能从泥潭里分辨出来的最小信号,而电路在不削顶(clipping)的前提下能处理的最大信号则定了上限。两者之间的跨度——也就是你的动态范围——以及你能宣称的有效分辨率,都被信噪比所封顶。你可以随意放大一个微弱信号,但如果你把噪声也一起放大了,这个比值丝毫不动;真正要紧的,是在信号诞生的最前端就把噪声压得很小。

这正是为什么信噪比是数据转换器数据手册上的头条数字。对于一台理想的 N 位模数转换器,喂入一个满量程正弦波,剩下的唯一噪声就是量化噪声,而你所能达到的最佳信噪比算下来约为 6.02·N + 1.76 dB——每增加一位,大约换来 6 dB,也就是一位的分辨率。因此一台 12 位转换器的上限约在 74 dB。真实电路总是落在这个理想值之下,因为热噪声、闪烁噪声、抖动(jitter)和失真都会叠加上来,所以实测的信噪比告诉你的,是真正有用的位数,而不是仅仅印在封装上的位数。

SNR_max ≈ 6.02·N + 1.76 dB (ideal N-bit ADC, full-scale sine)

理想转换器信噪比的上限——每多一位约买到 6 dB,而真实噪声只会把你往下拽。

一个好用的反推:ADC 的有效位数 ENOB = (SNR − 1.76) / 6.02,它把实测的信噪比换算成你实际拿到的分辨率,而不是标称的分辨率;另外要注意,信噪比是按幅度平方计的,所以若以电压比表示,应为 20·log10(Vsignal/Vnoise),而不是 10·log10。

又称
SNRS/N ratio