3、模拟增益(Analog Gain):模拟域放大器的电路实现原理,以及其对信噪比的影响

各位好,咱们今天聊聊模拟增益。说白了,就是在信号还没变成数字之前,用模拟电路把它放大。

很多人觉得增益就是乘个系数,简单。但实际做硬件的时候,你会发现模拟增益这步棋走得好不好,直接决定了你拍出来的画面是干净通透,还是满屏噪点。我个人习惯把模拟增益看作是整个ISP链路里最需要敬畏的一环——它放大的不只是信号,还有噪声。

3.1 模拟增益到底在做什么?

想象一下,你拿一个水杯接雨水。雨滴就是光子,水杯就是像素的感光二极管。雨下得小,杯底只有薄薄一层水,你很难测量到底接了多少滴。这时候你需要一个放大镜来看水位线——这就是模拟增益。

从电路角度看,模拟增益发生在像素阵列读出之后、ADC转换之前。它的核心任务是把像素电压(通常只有几十到几百毫伏)放大到ADC能够有效量化的范围(比如1V左右)。

关键指标:模拟增益的典型范围是1x到16x(0dB到24dB),具体取决于传感器设计和应用场景。手机传感器通常做到8x(18dB)就差不多了,工业相机能做到32x甚至更高。

3.2 模拟域放大器的电路实现

我见过不少方案,但最主流的还是两种:电容反馈跨导放大器(CTIA)和源极跟随器+可编程增益放大器(PGA)。

3.2.1 电容反馈跨导放大器(CTIA)

CTIA是高端传感器的宠儿。它的原理很简单:利用电容的电荷守恒,把像素电荷转移到反馈电容上,通过改变反馈电容的比值来设定增益。

// CTIA增益公式(简化版)
Gain = C_in / C_fb

其中:
C_in = 像素的感光节点电容(固定值)
C_fb = 反馈电容(可编程,通过开关切换电容阵列)

举个例子,如果C_in是10fF,C_fb设为1fF,那增益就是10倍。切换不同的C_fb值,就能得到不同的增益档位。

我在项目中遇到过一个问题:CTIA的反馈电容阵列如果布局不好,寄生电容会吃掉一部分增益精度。后来我们改用共质心布局,把匹配误差从5%降到了0.5%以内。

3.2.2 源极跟随器 + 可编程增益放大器(PGA)

这种方案更常见于消费级传感器。像素先通过源极跟随器做一次缓冲,然后送到一个运放构成的PGA里做二次放大。

PGA的增益通常通过电阻网络或开关电容网络来设定:

// PGA增益公式
Gain = 1 + R_fb / R_in

其中:
R_fb = 反馈电阻
R_in = 输入电阻

这种方案的优点是线性度好,但缺点是噪声比CTIA高一些。为什么?因为源极跟随器本身会引入约√2的噪声因子。

参数 CTIA方案 PGA方案
噪声性能 优秀(kT/C噪声主导) 良好(运放噪声+电阻噪声)
线性度 中等(受限于电容非线性) 优秀(电阻反馈线性度高)
面积 较大(需要电容阵列) 较小(电阻网络更紧凑)
功耗 中等 较低
典型应用 工业/医疗/科学相机 手机/安防/消费电子

3.3 模拟增益对信噪比的影响

这是重点,也是很多人容易搞混的地方。

你想想看,模拟增益放大的是信号+噪声的混合体。假设输入信号是S,输入噪声是N,增益是G,那么输出就是:

V_out = G × (S + N)

信噪比(SNR)在理想情况下不变:

SNR_out = (G × S) / (G × N) = S / N = SNR_in

但现实世界没那么美好。放大器本身会引入额外噪声N_amp,所以实际输出是:

V_out = G × (S + N) + N_amp

这时候信噪比就变成了:

SNR_out = (G × S) / (G × N + N_amp)

看出来了吗?当G很大的时候,G×N远大于N_amp,信噪比趋近于S/N。但当G很小的时候,N_amp占主导,信噪比会显著下降。

实战经验:我建议把模拟增益的"甜区"设定在4x到8x之间。低于4x,ADC的量化噪声会拖后腿;高于8x,放大器本身的噪声开始明显。当然,具体数值要看传感器的手册和实测数据。

3.4 噪声模型与设计权衡

模拟增益的噪声模型可以拆成三部分:

  1. 像素噪声(光子散粒噪声+复位噪声)——这是源头,没法消除
  2. 放大器噪声(1/f噪声+热噪声)——通过电路设计可以优化
  3. ADC量化噪声——通过增益匹配可以压制

我曾经在一个项目中踩过坑:为了省功耗,把模拟增益的带宽压得太低,结果1/f噪声在低频段飙升,画面出现了明显的"行噪声"。后来我们把放大器的偏置电流提高了30%,噪声降下去了,但功耗也上来了。这就是典型的trade-off。

避坑指南:千万不要为了追求高增益而忽略放大器的带宽。增益越高,带宽越窄,这会直接影响高速读出时的建立时间。我曾经见过一个设计,增益设到16x,结果读出频率一高,信号还没建立完就被ADC采走了,画面出现严重的拖影。

3.5 模拟增益 vs 数字增益:一个经典对比

很多人问我:既然模拟增益会引入噪声,那为什么不直接用数字增益?

我的回答是:数字增益放大的只是数字码值,它不会改变ADC之前的信噪比。如果你在暗光下不用模拟增益,信号可能只有10个电子,ADC量化后变成10个LSB,这时候你再做数字增益,相当于把量化噪声也一起放大了。

而模拟增益在ADC之前就把信号抬高了,量化噪声相对变小。所以,模拟增益是"雪中送炭",数字增益是"锦上添花"。

特性 模拟增益 数字增益
作用位置 ADC之前 ADC之后
对SNR影响 保持或轻微下降 不改变ADC前SNR
量化噪声 相对减小 同步放大
适用场景 暗光、低信号 信号已足够、微调亮度

3.6 模拟增益的硬件实现策略总结

嗯,这里我画了一张图,把整个模拟增益的决策流程串起来:

模拟增益硬件实现策略流程图 模拟增益硬件实现策略 像素电压读出 增益方案选择 CTIA:电容反馈放大 PGA:源极跟随+运放 增益设定:C_in/C_fb 增益设定:1+R_fb/R_in ADC量化 关键权衡:增益越高 → 信号越大 → 量化噪声相对越小 → 但放大器噪声也越明显

这张图把整个链路串起来了。从像素读出开始,到选择CTIA还是PGA,再到具体的增益设定,最后进入ADC。每一步都有trade-off,没有银弹。

我个人习惯在项目初期就做一次完整的噪声预算分析,把像素噪声、放大器噪声、ADC量化噪声都算清楚,然后反推最优的模拟增益值。这样能避免后期返工。

好了,模拟增益这块就聊到这儿。记住一句话:模拟增益是ISP链路里最"模拟"的一环,也是最考验硬件功底的一环。做得好,画面干净通透;做得不好,再强的数字降噪也救不回来。