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/f噪声+热噪声)——通过电路设计可以优化
- 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,再到具体的增益设定,最后进入ADC。每一步都有trade-off,没有银弹。
我个人习惯在项目初期就做一次完整的噪声预算分析,把像素噪声、放大器噪声、ADC量化噪声都算清楚,然后反推最优的模拟增益值。这样能避免后期返工。
好了,模拟增益这块就聊到这儿。记住一句话:模拟增益是ISP链路里最"模拟"的一环,也是最考验硬件功底的一环。做得好,画面干净通透;做得不好,再强的数字降噪也救不回来。