3. 噪声模型建立

噪声模型这东西,说白了就是给电路里的「捣乱分子」画个像。你只有知道它们长什么样、从哪来,才能在设计阶段就把它们按住。我刚开始做低噪声放大器那会儿,总觉得噪声分析是纸上谈兵,直到有一次在实验室被示波器上的噪声波形折磨了整整三天...嗯,从那以后我再也不敢跳过这一步了。

3.1 运放噪声模型:电压噪声源与电流噪声源

运放内部的噪声,我习惯把它拆成两个部分来看:一个是串联在输入端的电压噪声源,另一个是并联在输入端的电流噪声源。这两个家伙虽然都叫噪声,但性格完全不同。

关键认知:电压噪声源和电流噪声源是相互独立的随机过程。你不能把它们简单相加,得用「平方和开根号」的方式处理。

3.1.1 电压噪声源(\( e_n \))

电压噪声源通常用 \( e_n \) 表示,单位是 \( nV/\sqrt{Hz} \)。它主要来自运放输入级的差分对管。我在项目中遇到过最典型的例子——用OPA1611做麦克风前置放大器,数据手册上写着电压噪声密度1.1 \( nV/\sqrt{Hz} \),但实际测出来总比理论值大一点。后来发现是没考虑1/f噪声的影响。

电压噪声源包含两个部分:

  • 白噪声区(宽带噪声):频率较高时,噪声密度基本恒定。比如你选一个1 \( nV/\sqrt{Hz} \)的运放,在10kHz以上基本就是这个值。
  • 1/f噪声区(闪烁噪声):低频段,噪声密度随频率降低而增大。转折频率 \( f_c \) 通常在几十Hz到几百Hz之间。

完整的电压噪声密度表达式:

e_n(f) = e_nw * sqrt(1 + f_c / f)

其中:
e_nw = 宽带噪声密度 (nV/√Hz)
f_c  = 1/f 转折频率 (Hz)
f    = 当前频率 (Hz)

我的经验:选运放时别只看宽带噪声值。如果信号频率很低(比如10Hz以下),1/f噪声才是老大。我曾经用过一个宽带噪声只有0.9 \( nV/\sqrt{Hz} \)的运放,结果在1Hz处噪声飙到了50 \( nV/\sqrt{Hz} \),直接废掉了整个设计。

3.1.2 电流噪声源(\( i_n \))

电流噪声源用 \( i_n \) 表示,单位是 \( pA/\sqrt{Hz} \) 或 \( fA/\sqrt{Hz} \)。它来自运放输入级的偏置电流和基极/栅极电流的散粒噪声。

电流噪声源同样有白噪声和1/f噪声两部分:

i_n(f) = i_nw * sqrt(1 + f_ci / f)

其中:
i_nw = 宽带电流噪声密度 (pA/√Hz)
f_ci = 电流噪声的1/f转折频率 (Hz)

这里有个容易踩的坑——双极型运放的电流噪声通常比CMOS运放大得多。我记得有一次用OPA827(JFET输入)做光电二极管放大器,电流噪声只有几个 \( fA/\sqrt{Hz} \),换成双极型运放直接飙到 \( pA \) 级别,输出噪声大了两个数量级。

注意:电流噪声本身不直接产生输出电压噪声。它需要流过阻抗才能变成电压。所以当源阻抗很大时(比如光电二极管、高阻传感器),电流噪声就成了主角。

3.2 电阻噪声模型:约翰逊噪声

电阻这东西,看着是个无源器件,其实它自己就是个噪声源。任何电阻都会产生热噪声,也叫约翰逊噪声。这是物理定律决定的,躲不掉。

电阻热噪声的电压密度:

e_R = sqrt(4 * k * T * R)

其中:
k = 玻尔兹曼常数 (1.38 × 10⁻²³ J/K)
T = 绝对温度 (K)
R = 电阻值 (Ω)

举个例子,一个10kΩ的电阻在室温(300K)下:

e_R = sqrt(4 * 1.38e-23 * 300 * 10000)
    ≈ 12.9 nV/√Hz

这个值什么概念?相当于一个中等性能运放的电压噪声。所以你在设计高阻抗电路时,电阻本身的噪声往往比运放还大。

实用表格:常见电阻值的热噪声密度(300K)

电阻值 热噪声密度 (nV/√Hz) 10kHz带宽内RMS噪声 (μV)
100 Ω 1.29 0.13
1 kΩ 4.07 0.41
10 kΩ 12.9 1.29
100 kΩ 40.7 4.07
1 MΩ 129 12.9

你想想看,如果反馈网络用了1MΩ的电阻,光电阻噪声就贡献了129 \( nV/\sqrt{Hz} \)。这时候你花大价钱买个0.9 \( nV/\sqrt{Hz} \)的运放,其实意义不大。我在项目中就犯过这个傻——为了追求极致噪声性能,选了超低噪声运放,结果被反馈电阻的噪声拖了后腿。

3.3 系统总噪声计算:RMS与峰峰值

好了,现在我们把所有噪声源都摆出来了。怎么把它们合到一起?这里有个基本原则:不相关的噪声源,功率相加。说白了就是平方和再开根号。

3.3.1 噪声带宽的概念

计算总噪声之前,得先搞清楚系统的噪声带宽。它不等于信号带宽,因为滤波器的滚降特性会让噪声通过一部分带外频率。

对于一阶低通滤波器:

噪声带宽 = (π/2) × 信号带宽 ≈ 1.57 × 信号带宽

对于二阶巴特沃斯滤波器:

噪声带宽 ≈ 1.22 × 信号带宽

阶数越高,噪声带宽越接近信号带宽。我一般直接用1.57倍估算,除非对精度要求特别高。

3.3.2 总RMS噪声计算步骤

我习惯按这个流程来算:

  1. 列出所有噪声源:运放电压噪声、运放电流噪声(乘以阻抗后变电压)、各电阻热噪声
  2. 计算每个噪声源在噪声带宽内的RMS值:噪声密度 × sqrt(噪声带宽)
  3. 平方求和再开根号:得到总输入RMS噪声
  4. 乘以增益:得到输出RMS噪声

举个完整的例子。一个同相放大器,增益10倍,反馈电阻Rf=10kΩ,Rg=1.11kΩ,运放用OPA1611(\( e_n=1.1 nV/\sqrt{Hz} \),\( i_n=1.6 pA/\sqrt{Hz} \)),信号带宽100kHz:

步骤1:噪声带宽 ≈ 1.57 × 100kHz = 157kHz

步骤2:各噪声源贡献
- 运放电压噪声:1.1 × sqrt(157000) ≈ 436 nV RMS
- 运放电流噪声通过Rf:1.6pA × 10kΩ × sqrt(157000) ≈ 63 nV RMS
- 运放电流噪声通过Rg:1.6pA × 1.11kΩ × sqrt(157000) ≈ 7 nV RMS
- Rf热噪声:12.9 × sqrt(157000) ≈ 5110 nV RMS
- Rg热噪声:4.07 × sqrt(157000) ≈ 1613 nV RMS

步骤3:总输入RMS噪声
= sqrt(436² + 63² + 7² + 5110² + 1613²)
≈ sqrt(190096 + 3969 + 49 + 26112100 + 2601769)
≈ sqrt(28917983)
≈ 5378 nV RMS ≈ 5.38 μV RMS

步骤4:输出RMS噪声 = 5.38 × 10 = 53.8 μV RMS

关键结论:这个例子里,电阻噪声占了总噪声的绝大部分(约93%)。你花大价钱换更好的运放,最多只能改善7%的噪声。真正该做的是降低电阻值。

3.3.3 RMS噪声与峰峰值的关系

RMS噪声是统计值,峰峰值是实际看到的波形范围。对于高斯分布的噪声:

  • 峰峰值 ≈ 6 × RMS(99.7%的概率噪声落在这个范围内)
  • 峰峰值 ≈ 6.6 × RMS(更保守的估计,99.9%的概率)

我一般用6倍来估算。比如上面算出的53.8 μV RMS,对应的峰峰值大约是323 μV。这意味着你在示波器上看到的噪声波形,上下波动范围大概在±160 μV左右。

避坑指南:我曾经在给客户写噪声指标时,直接用了RMS值。结果客户实测发现噪声波形比预期大很多,差点以为我设计有问题。后来才意识到——人家看的是峰峰值,我报的是RMS值。从此以后,我所有文档里都会同时标注RMS和峰峰值,省得扯皮。

3.4 噪声计算的实用技巧

最后分享几个我这些年总结的小技巧:

  • 先估算再精算:别一上来就列十几个噪声源。先找出最大的两三个,算个大概。如果估算结果已经超标,就不用浪费时间精算了。
  • 注意单位换算:nV、μV、mV之间差1000倍。我见过有人把nV当μV算,结果差了三个数量级。
  • 温度影响:电阻热噪声跟温度有关。如果产品要在85°C下工作,噪声会比25°C时大6%左右。
  • 多级放大器的噪声:第一级噪声贡献最大,后面几级会被第一级的增益压制。所以前级放大器才是噪声设计的关键。

嗯,噪声模型这块内容比较多,但只要你把每个噪声源的特性搞清楚了,计算系统总噪声就是个体力活。下次我们聊聊怎么根据这些模型来优化电路设计——说白了就是怎么跟这些「捣乱分子」斗智斗勇。