为什么噪声是一道硬性极限
在这条学习线里,到目前为止你面对的敌人原则上都是可以打败的:会漂移的偏置点、太薄的相位裕度、在高频处下垂的增益。噪声不一样。它既不是你原理图里的错误,也不是你忘了抽取的某个寄生——它就是电荷本身那永不停歇的热运动,在每一只电阻、每一只晶体管位于绝对零度之上的那一刻就已经烙了进去。你没法把它设计掉。你能做到的极致,就是把它压下去,并在它之上工作。
想象一个安静的房间。哪怕所有人都不出声,你在里面放一支灵敏的麦克风,也会听到一层微弱的嘶嘶声——空气分子、电子器件、这个拒绝彻底静止的世界。你的模拟信号就住在这样一个房间里。信号是你想听清的那个人声;噪声就是那层无处不在的嘶嘶声。把人声放大,它就无关紧要。可一旦是耳语——你想分辨一个微伏级的传感器输出——这层嘶嘶声转眼间就成了整个故事的主角。噪声决定了你能诚实地宣称自己测得到的最小信号。
噪声特殊还有第二个原因:它是随机的,所以它不像信号那样相加。两个互相独立的噪声源不会把各自的电压加起来——它们相加的是各自的*功率*,你再开平方才回到电压。就这一条事实——不相关的噪声按方均根(正交方式)相加——支配了本指南里几乎每一个设计决策。这也正是为什么把某样东西加倍很少能把噪声减半,以及为什么把下限买低如此昂贵。
热噪声
热即运动。在任何一只处于室温下的电阻里,电子都不是规规矩矩排着队——它们在四处乱撞、碰撞、随机地来回漂移。每一次微小的抖动都是一股微小的电流,而在电阻两端,这些抖动表现为一个微弱、起伏不定的电压。这就是热噪声(也叫约翰逊–奈奎斯特噪声,Johnson–Nyquist noise),它是这道下限最纯粹的例子:它只取决于温度和电阻,与你灌进去的电流或施加的信号都无关。
它的定义性特征是白——在频率上是平的。从接近直流一直到远超你电路所关心的任何频率,每一赫兹带宽里的噪声功率都相等。所以我们不报单一的电压值;我们报的是谱密度,即每赫兹的噪声功率。对一只电阻 R 而言,它是:
# Thermal noise of a resistor (voltage spectral density) # Sv = 4 k T R [ V^2 / Hz ] <-- white, flat vs frequency # # k = 1.38e-23 J/K (Boltzmann) # T = 300 K (room temperature) # Example: R = 1 kohm # Sv = 4 * 1.38e-23 * 300 * 1e3 = 1.66e-17 V^2/Hz # sqrt ~ 4.07 nV / sqrt(Hz)
要得到一个实际的方均根电压,你把这个密度乘以电路放过去的带宽,再开平方。带宽越宽放进来的总噪声越多——越快的电路听到的嘶嘶声越多,这就是后面那个权衡三角的第一个暗示。晶体管也会嘶嘶作响:一只工作在饱和区的MOSFET会产生沟道热噪声,你可以把它建模为一股密度约为 4kTγ·gm 的噪声电流,其中gm是器件的跨导,γ 是一个取决于工艺的因子,对长沟道器件接近 2/3。注意 gm 出现了——那个赋予你增益的参数,同时也设定了一个噪声项,这正是为什么噪声和性能纠缠在一起。
闪烁(1/f)噪声
热噪声是平的、一视同仁的、对频率毫不在意的。闪烁噪声是它那位喜怒无常的表亲:它随着你往直流方向走而抬升,功率谱密度大致按 1/f 攀升。在高频处它可以忽略不计;在低频处——从几分之一赫兹到几千赫兹,取决于工艺——它能高耸于其他一切之上。如果说热噪声是安静房间里那持续的嘶嘶声,那么闪烁噪声就是只有当其他一切都静下来时你才会注意到的那阵低沉的隆隆声。
它从哪儿来?在一只 MOSFET 里,它主要源于载流子被硅–氧化层界面上的缺陷俘获又释放——每个陷阱都按自己那缓慢的时间尺度俘获并放走一个载流子,而所有这些缓慢事件合成的大合唱在低频处堆积得最重。从这幅物理图景里掉出两条实用结论。第一,它在更小的器件里更糟:一只很小的晶体管载流子更少、界面看起来更吵,所以做大器件能把闪烁噪声平均下去。第二,它强烈依赖于工艺和器件类型。
闪烁噪声跌到热噪声之下的那个频率,称为 1/f 拐点(1/f corner)。在它之下,闪烁噪声主导;在它之上,热噪声当家。对任何必须测量慢速或类直流信号的电路——温度传感器、基准、生物电位放大器——这个拐点都是最重要的那一个数字。如果你的信号待在 1 Hz,而你的 1/f 拐点在 1 kHz,那么真正的敌人是闪烁噪声,而不是热噪声,整个设计策略都要转向打败它。
信噪比
一道噪声下限,只有相对于坐在它之上的信号才有意义。这个比值就是信噪比,即 SNR——一个单一的数字,说明你的信号从嘶嘶声里凸显得有多干净。它是一个*功率*之比,几乎总是用分贝(dB)来报,而且它就是芯片里每一个噪声决策最终汇总成的那个判决。
# Signal-to-noise ratio, in decibels (a POWER ratio) SNR_dB = 10 * log10( P_signal / P_noise ) # = 20 * log10( V_signal_rms / V_noise_rms ) # equivalently, in voltages # # 6 dB ~ factor of 2 in voltage (4x in power) # 60 dB ~ signal 1000x larger than noise (in voltage)
正是这种“每翻一倍 6 dB”的节奏,才使得 SNR 能如此干净利落地对应到数字分辨率上。把一个理想转换器的采样和量化数学算一遍,你从 N 个比特能得到的最佳 SNR 就是一条著名的直线:
# Best-case SNR of an ideal N-bit converter (quantization noise only) SNR_dB = 6.02 * N + 1.76 # # N = 8 -> ~50 dB # N = 12 -> ~74 dB # N = 16 -> ~98 dB
噪声 vs 功耗 vs 速度
现在来到那场核心交易。你几乎从来拿不到免费的更低噪声——你得买,而货币是功耗和面积。这三者彼此牵制得如此稳定,值得把它想象成一个三角形:噪声、功耗和速度,你只能在牺牲第三个的前提下,去偏爱其中任意两个。
从最常用的那根杠杆说起:偏置电流。晶体管折算回输入端的热噪声会随着你抬高它的gm而下降,而在最廉价的工作区里,gm 只随漏电流的*平方根*上升。所以,要把你的输入折算噪声电压减半,你就必须把噪声功率降到 1/4,这意味着大约 4 倍的 gm,也就意味着大约 16 倍的电流。正是这个残酷的指数,使得低噪声前端如此耗电。下限是可以买的,但它以安培计价,而且价格陡升。
速度是第三个角。带宽越宽就越快,但它放进来的白热噪声也越多——积分后的总噪声随带宽增长,所以越快的放大器就是越吵的放大器,除非你花更多电流把 gm 顶回去。而且整条链路里还穿着一道面积成本:更大的器件能把闪烁噪声平均下去、能让你存更多电荷(更低的 kT/C),但它们更难驱动、更费硅。你没法只优化一个角而不盯着另外两个角在动。没有免费午餐——只有一份你来分配的预算。
* ngspice: measure the integrated input-referred noise of a stage .ac dec 100 0.1 100Meg ; sweep 0.1 Hz to 100 MHz .noise v(out) vin dec 100 0.1 100Meg .print noise inoise_spectrum onoise_spectrum * read the 1/f corner off inoise_spectrum (rising toward DC), * the flat thermal shelf above it, and the integrated total
为这道下限做设计
你没法移除这道下限,所以好的模拟设计,就是明智地花钱把它降低、并把电路安排得能活在它之上的手艺。这些招数干净地分成两类:打败热噪声、打败闪烁噪声,外加一些悄悄对两者都有帮助的拓扑选择。
- 先把真正要紧的频带钉死。当你的信号只待在 10 kHz,却把噪声在 100 MHz 上做积分,那是自毁——把电路的带宽限制到你真正的信号带宽,这样你就不再去收集那些你永远用不上的嘶嘶声。
- 用 gm 把热噪声买低:抬高偏置电流(吞下那大约平方律的代价),或者借助一个差分对和干净的电流源更高效地拿到 gm,这样噪声就不会浪费在一个单端级上。把器件做大并不总是重点——*高效*的 gm 才是。
- 从结构上进攻闪烁噪声:输入对管用大尺寸器件(尤其是 PMOS)把 1/f 平均下去,并让那些决定增益的关键晶体管在面积上保持慷慨。
- 对于直流精度要求高的通路,用一项技术把闪烁噪声彻底抵消掉。斩波(Chopping)把你的信号调制到 1/f 拐点之上,在只有热噪声栖身的地方把它放大,再把它搬回来——把闪烁噪声撂在斩波频率处,留待滤掉。相关双采样(CDS,correlated double sampling)则换一种做法:先把噪声测一次,再从信号采样里把它减掉,从而抵消掉缓慢移动的闪烁噪声和失调。
- 在相信这一切之前,先用一次 .noise 分析把这道下限仿真出来,然后留着裕度去设计整个系统,好让那道真实、制造出来的下限在温度和工艺的全范围内仍然能越过你的 SNR 目标。
退后一步,整篇指南就坍缩成一条准则。噪声是一道物理下限——热噪声无处不在且平坦,闪烁噪声朝着直流抬升——而你的信号必须以足够的裕度越过它,才能命中你的 SNR。你靠花电流、花面积、花带宽来降低这道下限,而这一切自始至终都被那道平方根税所支配,正是它让每一分改善都变得昂贵。最好的模拟工程师不是那些消灭噪声的人;而是那些清清楚楚知道每一个分贝值多少钱、并且拒绝多付的人。