开篇我先说结论:很多模拟电路分析题,看起来绕了一大圈,其实核心就是两个参数——跨导 (g_m) 和输出阻抗 (r_{out})。只要能快速求出这两个量,电压增益基本可以直接“乘出来”。这个方法不只适用于共源放大器,对共射放大、差分对、运放第一级、甚至带反馈的闭环系统都适用。
这篇文章不是要给你一堆死记硬背的公式,而是帮你建立一套统一的电路分析视角:把晶体管看成一个压控电流源,输出端再并联一个等效阻抗,增益就是“电流源把输入电压转换成电流的能力”乘以“这个电流在输出端能产生的电压大小”。一句话概括就是:
电压增益 ≈ 跨导 × 输出阻抗(取负号代表反相)
这个“大杀器”真正厉害的地方在于,它把电路分析的复杂度从“找每个电阻上的电流电压关系”降级成了“找跨导、找输出阻抗、相乘”三个动作。下文我会从概念讲起,再用共源放大器、运放反馈、仿真验证几个实际场景把这套方法完整拆开。
1. 为什么很多电路题用“跨导 × 输出阻抗”都能解
先回顾一个常见的面试题:求下图共源放大器的低频小信号电压增益 (A_V = V_{out}/V_{in})。
一个只背过公式的同学,可能会翻书找“共源极增益公式 (A_V = -g_m(R_D // r_o))”,然后套进去。如果负载变成了电流镜,公式又变了;如果源极加了负反馈电阻,公式又变了。刷题量一大,感觉每种电路都是一条新公式。
但如果用跨导和输出阻抗的思路,问题就变成两句话:
- 输入电压 (V_{in}) 变化多少,会让输出电流变化多少?这个能力就是跨导 (g_m)。
- 输出节点看到的等效阻抗是多少?也就是从输出端往电路里看,交流等效电阻 (R_{out}) 是多少。
然后增益就是:
[ A_V = -g_m \times R_{out} ]
为什么是负号?因为输入电压增大时,NMOS 漏极电流增大,在负载电阻上产生的压降增大,输出端电压反而下降,所以共源级是反相放大器。
这个方法看起来简单,但它是模拟 IC 设计里“增益本质”的体现。真正区分工程师水平的地方不是背公式,而是能快速判断“哪个节点是敏感高阻抗节点”“哪个管子贡献了跨导”“哪个管子的输出电阻在和负载并联”。这篇文章后面的内容,就是把这些判断步骤一项一项拆给你看。
2. 跨导和输出阻抗:两个必须建立直觉的量
2.1 跨导 (g_m) 到底是什么
跨导的符号是 (g_m),英文 transconductance,定义是:
[ g_m = \frac{\partial I_D}{\partial V_{GS}} ]
换句话说,栅源电压变化 1V,漏极电流变化多少安培。单位是西门子 S,也就是 A/V。在实际 MOS 工艺中,(g_m) 通常在小信号工作点下是一个毫西门子(mS)量级的数值。
用压控电流源的视角看,MOS 管在小信号下的核心行为就是:
[ i_d = g_m \cdot v_{gs} ]
它不关心输入电压怎么转化成输出电压,它只负责“输入电压控制输出电流”。至于输出电流最后能产生多大输出电压,要看输出端接了多大的电阻,这就引出了输出阻抗。
要建立 (g_m) 的直觉,可以参考几个常见表达式。在饱和区,长沟道 MOS 管的漏极电流是:
[ I_D = \frac{1}{2} \mu_n C_{ox} \frac{W}{L} (V_{GS} - V_{TH})^2 ]
对这个式子求导,得到:
[ g_m = \mu_n C_{ox} \frac{W}{L} (V_{GS} - V_{TH}) = \frac{2 I_D}{V_{GS} - V_{TH}} ]
所以 (g_m) 和过驱动电压 (V_{OV} = V_{GS} - V_{TH}) 成反比,和漏极电流 (I_D) 成正比。在实际电路里,想提高 (g_m),最有效的方式是增大静态电流,其次才是调整宽长比。理解这个关系,后面在仿真里看 (g_m) 的变化就不会发懵。
2.2 输出阻抗 (r_{out}) 的本质
输出阻抗在小信号模型里经常写成 (r_o),它反映的是“输出端电压变化时,漏极电流抵抗变化的程度”。长沟道 MOS 管饱和区的输出阻抗表达式是:
[ r_o = \frac{1}{\lambda I_D} ]
其中 (\lambda) 是沟道长度调制系数,(I_D) 是漏极静态电流。在短沟道器件里,更一般地写成:
[ r_o = \frac{V_A}{I_D} ]
其中 (V_A) 是 Early 电压(BJT 里习惯叫 Early 电压,MOS 管里也可以借用这个概念)。沟道长度越长,(\lambda) 越小,(r_o) 越大。
但要特别提醒一点:在电路分析里,我们更关心的通常是节点输出阻抗,也就是从输出节点看进去的交流等效电阻 (R_{out})。这个阻抗不一定等于某个管子的 (r_o),而是所有连接到该节点的等效电阻的并联结果。比如共源放大器输出端,(R_{out} = r_o // R_D),既有管子自身的输出电阻,也有外部负载电阻,两者并联。
很多初学者在计算放大倍数时只写 (g_m R_D),忽略了 (r_o)。在早期工艺节点,(r_o) 很大,这样近似也许问题不大;但在深亚微米工艺里,(r_o) 已经降到几十千欧甚至更低,和负载电阻并联后对增益的影响不可忽略。
2.3 本征增益 (g_m r_o)
把一个 MOS 管自身的跨导和输出阻抗乘起来,得到的就是它的本征增益:
[ A_{intrinsic} = g_m r_o ]
这是一个非常重要的工艺指标。它表示“单个晶体管理论上能达到的最大电压增益”。长沟道工艺里,本征增益可以做到几百甚至上千;短沟道工艺里,本征增益可能只有十几到几十。
所以如果你看到一个运放设计要求增益 80dB,也就是约 10000 倍,单靠一级共源级是远远不够的,必须用多级积累,或者用 cascode 结构把输出阻抗推高。这就是为什么在模拟 IC 设计里,(g_m r_o) 的直觉比死记电路结构更重要——它直接告诉你一个拓扑的增益天花板在哪里。
3. 用压控电流源模型统一理解放大电路
3.1 核心等效电路:一个受控源并联一个电阻
任何一个工作在饱和区的 MOS 管,在小信号低频条件下,都可以等效成下面的模型:
[ i_d = g_m v_{gs} + \frac{v_{ds}}{r_o} ]
对应的电路拓扑是:栅极和源极之间表现为开路(低频下栅极电流为零),漏极和源极之间是一个压控电流源 (g_m v_{gs}) 再并联一个电阻 (r_o)。
这个模型最大的好处是通用。无论是共源、共栅、共漏,还是差分对、电流镜、cascode,你都可以先把每个管子替换成这个模型,再求解“输出端等效阻抗 × 输入控制电流”。
实际工作中不一定要写出完整的节点方程,多数时候只需要做两步:
- 找出哪一个受控源是“主放大管”产生的,它控制的是哪个输入电压。
- 找出输出节点的总阻抗。
3.2 为什么输出阻抗决定增益上限
根据 (A_V = -g_m R_{out}),可以看到:跨导决定了“输入电压能转成多大电流”,输出阻抗决定了“这个电流能变成多大电压”。两者相乘才是增益。
我们做一个数值估算。假设某个 NMOS 管:
- (g_m = 1 \text{ mS})
- (r_o = 100 \text{ kΩ})
- 外部负载电阻 (R_D = 10 \text{ kΩ})
那么 (R_{out} = r_o // R_D = 100k // 10k ≈ 9.09 \text{ kΩ}),增益:
[ A_V = -1 \text{ mS} \times 9.09 \text{ kΩ} ≈ -9.09 ]
如果外部负载电阻提高到 (100 \text{ kΩ}),那么 (R_{out} ≈ 50 \text{ kΩ}),增益提升到:
[ A_V ≈ -50 ]
由此可见,同一颗管子,因为输出阻抗的并联关系,增益可以是 9 倍,也可以是 50 倍。想要高增益,核心思路不是无限加大 (g_m),而是提高输出节点的阻抗,减少并联负载对阻抗的拉低。
3.3 这个方法的适用边界
“跨导 × 输出阻抗”推导增益的方法适用于:
- 线性小信号分析
- 低频或中频(忽略或单独处理电容效应)
- 单级放大的主增益路径
- 多级放大器中每一级独立估算
不适用于:
- 大信号开关状态(管子不在饱和区,小信号模型失效)
- 高频电路(此时需要考虑 (C_{gs})、(C_{gd})、(C_{db}) 等寄生电容,增益会随频率下降)
- 非线性失真分析
- 功率放大器的大信号设计
所以在使用这个“大杀器”时,脑子里要时刻有一根弦:小信号模型,低频工作,饱和区。满足了这三个条件,公式才安全。
4. 实例拆解:共源放大器的增益计算
4.1 基础版:电阻负载共源放大器
电路结构:NMOS 管源极接地,栅极接输入 (V_{in}),漏极通过电阻 (R_D) 接电源 VDD,输出从漏极取出。
小信号等效路径:
- 输入电压 (V_{in}) 等于 (v_{gs})。
- 受控电流源 (g_m v_{gs}) 在输出端产生电流。
- 输出端对地的交流等效电阻是 (r_o // R_D)。
因此:
[ A_V = \frac{V_{out}}{V_{in}} = -g_m (r_o // R_D) ]
如果 (R_D \ll r_o),可以近似成:
[ A_V \approx -g_m R_D ]
从设计角度看,如果 (R_D) 是片外电阻,它的值往往受限于压降和功耗;如果 (R_D) 是片内电阻,精度一般不高。所以我们会看到,很多片内放大器的负载并不用普通电阻,而是用 MOS 管做成的有源负载,因为 MOS 管可以做到很大的等效阻抗。
4.2 进阶版:电流镜负载共源放大器
当负载电阻换成二极管连接的 PMOS,或者更常见的 PMOS 电流镜时,输出阻抗分析就变了。
假设负载 PMOS 管工作在饱和区,它的输出电阻是 (r_{op}),主放大管 NMOS 的输出电阻是 (r_{on}),两者在输出节点并联:
[ R_{out} = r_{on} // r_{op} ]
增益为:
[ A_V = -g_{mn} (r_{on} // r_{op}) ]
在很多教科书例题里,会出现“二极管连接负载”的场景。此时负载管的等效阻抗不再是 (r_o),而是 (1/g_m) 和 (r_o) 的并联,而且 (1/g_m) 往往远小于 (r_o),所以:
[ R_{out} \approx r_{on} // \frac{1}{g_{mp}} ]
增益变成:
[ A_V \approx -g_{mn} \times \left(r_{on} // \frac{1}{g_{mp}}\right) ]
这说明:二极管连接负载的阻抗比较低,所以增益不会太高。如果希望增益高,就应该用电流镜负载而不是二极管连接负载。这种“管子和管子之间的阻抗并联”直觉,就是用跨导和输出阻抗方法分析电路时的核心训练。
4.3 变式:带源极负反馈电阻的共源放大器
源极串联一个电阻 (R_S) 后,真正的输入控制电压不再是 (V_{in}),而是 (V_{GS} = V_{in} - I_D R_S)。这导致等效跨导下降:
[ G_m = \frac{g_m}{1 + g_m R_S} ]
输出阻抗则基本不变,仍然近似是:
[ R_{out} \approx r_o // R_D ]
所以增益:
[ A_V = -G_m R_{out} = -\frac{g_m}{1 + g_m R_S} (r_o // R_D) ]
这里就可以看到跨导和输出阻抗分开分析的价值:源极负反馈只影响跨导,不影响输出阻抗;而沟道长度调制和负载电阻只影响输出阻抗,不影响跨导。两者是“串联”的关系,不是一个复杂公式。
5. 实例拆解:运放与正负反馈的闭环增益计算
5.1 运放开环增益的快速估算
运算放大器内部第一级通常是差分对,它完成电压到电流的转换,产生跨导 (g_{m1});第二级通常是共源放大器,继续提供增益。用跨导和输出阻抗的视角来看,一个两级运放的开环增益大约是:
[ A_{OL} = g_{m1} R_{out1} \times g_{m2} R_{out2} ]
其中 (R_{out1}) 是第一级输出节点的等效阻抗,(R_{out2}) 是第二级输出节点的等效阻抗。
举例:第一级 (g_{m1} = 200 \mu S),(R_{out1} = 500 \text{ kΩ}),第一级增益为 100;第二级 (g_{m2} = 1 \text{ mS}),(R_{out2} = 200 \text{ kΩ}),第二级增益为 200。总开环增益:
[ A_{OL} = 100 \times 200 = 20000 ]
换算成分贝:
[ 20 \log_{10}(20000) ≈ 86 \text{ dB} ]
这个数量级和常见 CMOS 运放的直流增益是吻合的。用这种方法,不需要完整推导运放内部所有小信号方程,就能快速评估一个结构的增益能力,特别适合设计初期做方案对比。
5.2 负反馈闭环增益公式
负反馈对开环增益 (A) 的约束关系式是:
[ A_F = \frac{A}{1 + A \beta} ]
其中 (\beta) 是反馈系数。当环路增益 (A\beta) 远大于 1 时:
[ A_F \approx \frac{1}{\beta} ]
这就解释了为什么负反馈能够稳定增益:只要开环增益足够大,闭环增益几乎只由反馈网络决定。常见的同相放大器:
[ A_F = 1 + \frac{R_2}{R_1} ]
这里的 (\beta = R_1 / (R_1 + R_2))。
如果要用跨导和输出阻抗的语言来理解,可以这样看:反馈网络本质上改变了输出节点看到的等效阻抗和输入端的等效跨导,但由于反馈深度足够大,最终的闭环增益会收敛到 (1/\beta) 附近,不再敏感于开环增益的绝对值。
5.3 正反馈的注意事项
如果误把反馈极性接反,运放工作点会变成正反馈。此时闭环增益表达式变成:
[ A_F = \frac{A}{1 - A \beta} ]
当 (A\beta) 接近 1 时,分母趋向于 0,闭环增益趋向无穷大,电路会进入不稳定状态。在施密特触发器、振荡器、比较器这类电路中,正反馈是有意设计的;但在常规线性放大电路中,正反馈意味着锁定、振荡或者工作点异常。
在分析正反馈的放大倍数时,很多初学者直接套 (\frac{A}{1+A\beta}),忘了分母是减号,结果算出来的值明显不合理。更稳妥的判断是:如果发现负反馈拓扑和正反馈拓扑只差一个输入端接法,而正常放大时输出饱和或振荡,就先检查反馈极性,不要急着改补偿电容。
6. 数值计算与仿真验证
6.1 用 Python 快速估算增益
下面用一段简单 Python 脚本,根据跨导和输出阻抗估算共源放大器增益,并对比不同负载电阻的影响:
# 文件路径:gain_estimate.py # 功能:利用跨导 gm 和输出阻抗 rout 估算共源放大器增益 def calc_gain(gm_ms, ro_kohm, rd_kohm=None): # 输入单位:gm_ms 为毫西门子,ro_kohm 和 rd_kohm 为千欧 gm = gm_ms * 1e-3 # 转为 S ro = ro_kohm * 1e3 # 转为 ohm if rd_kohm is not None: rd = rd_kohm * 1e3 rout = (ro * rd) / (ro + rd) else: rout = ro gain = -gm * rout return gain # 示例:NMOS 管 gm = 1 mS, ro = 100 kΩ gm = 1.0 ro = 100.0 for rd in [10, 50, 100, None]: gain = calc_gain(gm, ro, rd) if rd is None: print(f"负载: 无外部电阻(rout=ro) -> 增益 = {gain:.2f}") else: print(f"负载: RD={rd} kΩ -> rout = {ro*rd/(ro+rd):.2f} kΩ, 增益 = {gain:.2f}")运行结果:
负载: RD=10 kΩ -> rout = 9.09 kΩ, 增益 = -9.09 负载: RD=50 kΩ -> rout = 33.33 kΩ, 增益 = -33.33 负载: RD=100 kΩ -> rout = 50.00 kΩ, 增益 = -50.00 负载: 无外部电阻(rout=ro) -> 增益 = -100.00这段脚本说明了一个关键趋势:随着外部负载电阻增大,输出阻抗逐渐趋近于管子本身的 (r_o),增益也随之接近 (g_m r_o) 的上限。在实际设计里,如果增益不够,优先考虑增大输出阻抗,而不是一味加大 (g_m)。
6.2 用 SPICE 网表验证计算结果
下面给出一个简单的 NMOS 共源放大器 SPICE 网表。模型参数是人类电子学教材常用的 Level 1 教学参数,不代表任何具体工艺:
* 文件路径:cs_amp.spice * 共源放大器增益仿真 VDD VDD 0 DC 1.8 VIN IN 0 DC 0.9 AC 1 RD VDD OUT 10k M1 OUT IN 0 0 NMOS W=4u L=0.5u .MODEL NMOS NMOS ( + LEVEL = 1 + VTO = 0.5 + KP = 200u + LAMBDA = 0.02 + ) .OP .TF V(OUT) VIN .AC DEC 10 1 100MEG .PRINT AC V(OUT) .END运行命令(假设使用 ngspice 或兼容 SPICE 工具):
ngspice -b cs_amp.spice关键指令说明:
.OP计算直流工作点,可以直接查看晶体管是否工作在饱和区,也可以查看工作点下的 (g_m) 和 (g_{ds})。.TF V(OUT) VIN直接计算从 VIN 到 VOUT 的直流小信号增益、输入阻抗、输出阻抗。.AC做交流扫描,观察增益随频率的变化。
仿真结果中的直流增益,应该和估算值处于同一量级。如果差距很大,优先检查工作点是否落在饱和区、模型参数中的 LAMBDA 是否合理、负载电阻是否被管子的输出电阻明显分流。
6.3 如何判断计算和仿真的结果是否合理
拿到仿真增益以后,不要只看数字,还要反问自己几个问题:
- 工作点对吗?如果 NMOS 管不在饱和区,小信号模型本身就不成立,(g_m r_o) 的估算自然失效。
- 反向检查:用
.TF给出的输出阻抗和手算的 (r_o // R_D) 比较,是否在同一量级?如果差了一个数量级,说明对输出节点等效阻抗的估计有误。 - 看频率响应:低频段的增益是否平坦?如果低频就不平,可能有偏置问题;如果低平坦但高频迅速下降,那是电容效应在起作用,不能用低频增益模型解释。
7. 常见问题与排查思路
| 问题现象 | 可能原因 | 排查方式 | 解决方案 |
|---|---|---|---|
| 计算增益和仿真结果差很多 | 工作点不在饱和区 | 查看.OP中的工作点和管子工作区 | 调整偏置电压、宽长比或负载电阻 |
| 增益比 (g_m R_D) 小 | 忽略了 (r_o) 的分流效应 | 用 .TF 查看输出阻抗 | 改用 (g_m (r_o // R_D)) 计算 |
| 源极加反馈后增益变化不符合预期 | 等效跨导 (G_m) 算错 | 检查源极电阻是否被其他阻抗旁路 | 用 (G_m = g_m/(1+g_m R_S)) 重新计算 |
| 正反馈电路始终振荡或饱和 | 反馈极性接反 | 检查反馈是到反相端还是同相端 | 交换输入连接或改正反馈网络 |
| 低频增益正确但高频衰减很快 | 寄生电容影响 | 做 AC 扫描,观察 -3dB 频率 | 用频率响应模型分析,不能用低频增益公式 |
| SPICE 仿真不收敛 | 初始工作点没找到 | 检查是否有浮空节点、电压源冲突 | 增加初始条件或调整仿真参数 |
| (g_m) 数值异常 | 静态电流或宽长比设置不合理 | 查看工作点报告 | 合理设置 (I_D) 和 (W/L) |
我再单独强调一个高频易错点:Miller 效应。在共源放大器中,栅漏寄生电容 (C_{gd}) 会被放大后的电压增益放大,等效到输入端变成 ((1 + |A_V|) C_{gd})。所以,增益越高的电路,输入端的等效电容越大,带宽越低。这不是“跨导 × 输出阻抗”这个低频方法能解决的问题,但如果你发现增益越高、带宽越低,基本就是 Miller 效应在作怪。
另外,BJT 电路也可以用同样的方法。BJT 的跨导是 (g_m = I_C / V_T),输出阻抗是 (r_o = V_A / I_C),本征增益同样是 (g_m r_o)。所以这套分析思路可以平移到双极型工艺。
8. 工程建议与最佳实践
8.1 把“本征增益”当作工艺的体检指标
拿到一个工艺库,先看管子在不同偏置下的 (g_m r_o)。如果这个值只有 20,你就不该设计一个“单级 60dB”的放大器;如果这个值有 200,说明工艺提供了一定的增益空间,可以思考用 cascode 或者多级结构继续扩展增益。
8.2 提高增益的正确顺序
想要提高单级增益,按照优先级排列:
- 提升输出节点的等效阻抗。使用 cascode 结构、加大沟道长度、减小并联负载。
- 提升 (g_m)。增大静态电流、合理选择宽长比。
- 两者相乘之后看是否满足目标,如果不够再考虑多级级联。
这条顺序很重要,因为盲目加大 (W/L) 会改变偏置点和功耗,有时候反而让增益下降。
8.3 仿真验证必须做的事情
在完成原理推导后,至少要跑三个仿真:
.OP检查工作点和 (g_m)、(g_{ds})。.TF检查直流增益、输出阻抗。.AC检查频率特性,确认低频增益与计算一致。
只有三步都一致,这个“跨导 × 输出阻抗”的估算才是可信的。
8.4 再进一步的学习方向
如果这篇文章的方法你已经掌握了,下一步可以考虑:
- 频率响应:把每个节点的电容纳入模型,分析带宽。
- 环路增益:把反馈回路拆开,计算负反馈系统的相位裕度。
- Cascode 和折叠 cascode:理解如何用管子堆叠提升输出阻抗。
- Gm/Id 设计方法论:在功耗和速度约束下系统化选择晶体管偏置。
建议从重新推导一个简单五管运放开始,用跨导和输出阻抗的方法手算一遍增益,再用 SPICE 验证。这个过程能帮你把“背公式”升级为“看电路”。
最后给一个实用建议:把你常用的电路拓扑,都亲手做一次“跨导、输出阻抗、增益”三要素分析,并整理成表格。这比收集再多公式都更有用。因为当你能脱口而出“这个点阻抗高,这个管子贡献 gm,输出节点是三种阻抗并联”的时候,你已经具备分析陌生电路结构的能力了。