1. 为什么共基极电路值得单独研究
如果只学一种晶体管放大电路,绝大多数教材会先讲共射极;但如果去做射频、高速模拟前端或者宽带放大,最先遇到的反而往往是共基极(Common Base,简称 CB)电路。很多人在教材里看过共基极的结论——输入阻抗低、电流增益接近 1、高频特性好——但真要自己搭一个电路时,容易在三个地方卡住:
- 静态工作点怎么设置才合理;
- 小信号模型下的输入电阻、电压增益、输出电阻到底怎么推导;
- 仿真结果和理论计算对不上的时候,应该优先查哪里。
这篇文章就从实际设计角度出发,把共基极放大电路的小信号模型完整拆解一遍。我们会用一组具体的电阻、电容参数搭建电路,先做静态工作点分析,再做小信号等效电路推导,然后用 Python 完成数值计算,最后用 LTspice 做瞬态和频率响应仿真验证。读完这篇文章,你至少能独立完成一个共基极放大电路的设计、计算和仿真闭环。
这里先给一个明确判断:共基极放大电路的核心价值不是电压放大能力比共射极强,而是它在输入阻抗和频率特性上与共射极形成了互补。共基极输入阻抗低,适合用电流或低阻信号源驱动;基极通过电容交流接地,消除了集电结电容的密勒倍增效应,高频响应更好。所以它常常出现在射频低噪声放大器、宽带缓冲器和级联放大器(Cascode)中。
2. 共基极放大电路结构与静态工作点设置
2.1 电路结构与交流接地判断
共基极放大电路的典型结构是:输入信号通过耦合电容加到发射极,基极通过旁路电容交流接地,输出从集电极取出。之所以叫“共基极”,是因为交流等效情况下基极是输入和输出的公共端。注意,“基极交流接地”并不代表基极的直流电位是 0,而是说在信号频率下,旁路电容把基极对地呈现的交流阻抗压得很低。
判断电路组态时,不能只看原理图上信号从哪个极输入、从哪个极输出,还要看剩余那个极在交流等效下是否接地。很多初学者会把“信号接基极”和“共基极”直接关联,实际上共基极电路信号恰恰不接基极,而是接发射极。这是一个容易混淆的起点。
2.2 静态工作点设计示例
为了让后面推导有具体数值对标,这里设计一个用 NPN 型晶体管 2N2222 的共基极放大电路,参数如下:
| 参数 | 数值 |
|---|---|
| 电源电压 VCC | 12 V |
| 上偏置电阻 R1 | 30 kΩ |
| 下偏置电阻 R2 | 10 kΩ |
| 发射极电阻 RE | 1 kΩ |
| 集电极电阻 RC | 2.2 kΩ |
| 负载电阻 RL | 10 kΩ |
| 晶体管 β | 200 |
静态工作点计算过程如下:
基极直流电位:
VB = VCC × R2 / (R1 + R2) = 12 × 10 / (30 + 10) = 3 V
发射极直流电位:
VE = VB - VBE = 3 - 0.7 = 2.3 V
发射极静态电流:
IE = VE / RE = 2.3 V / 1 kΩ = 2.3 mA
集电极静态电流近似等于发射极电流:
IC ≈ IE = 2.3 mA
集电极直流电位:
VC = VCC - IC × RC = 12 - 2.3 mA × 2.2 kΩ ≈ 6.94 V
所以:
VCE = VC - VE = 6.94 - 2.3 = 4.64 V
这个静态工作点位于放大区,且 VCE 有 4.64 V 左右的余量。如果输入信号幅度控制在小信号范围内,电路不会进入饱和区或截止区。这里特别提醒:共基极电路的输入阻抗很低,后面会算出来约十几欧姆,所以实际信号源内阻对输入电压的分压影响非常大。仿真时用 5 mV 左右的小信号输入比较合适。
3. 小信号模型:把非线性晶体管变成线性电路
3.1 为什么需要小信号模型
晶体管本身是非线性器件,直接分析包含指数关系的输入输出特性非常麻烦。但在静态工作点附近,如果信号幅度足够小,晶体管的工作状态可以看成在 Q 点附近做微小变化。此时,非线性特性可以用 Q 点处的切线来代替,也就是把晶体管近似成一个线性模型。这个线性模型就是小信号模型,也叫微变等效电路。
小信号模型的核心价值在于:它把复杂的非线性器件变成了电阻、电容和受控源的组合,可以直接用线性电路的分析方法来计算增益、输入阻抗、输出阻抗和频率响应。对小信号分析而言,直流偏置只是决定模型参数,不直接参与交流计算。
3.2 混合π模型参数含义
模拟电路中最常用的管级小信号模型是混合π模型(hybrid-π model)。对低频小信号分析,可以忽略电容,只保留以下参数:
| 参数 | 含义 | 表达式 |
|---|---|---|
| gm | 跨导 | gm ≈ IC / VT |
| rπ | 基极到发射极的动态电阻 | rπ = β / gm |
| re | 发射极动态电阻 | re = 1 / gm ≈ VT / IE |
| ro | 集电极到发射极的输出电阻 | ro ≈ VA / IC |
其中 VT 是热电压,常温下约 26 mV。VA 是厄尔利电压,通常取 50 V 到 150 V。
这些参数全部由静态工作点决定。工作点算准了,小信号参数才能算准。反过来,如果仿真结果和理论计算偏差很大,第一反应应该是检查工作点,而不是检查公式。
3.3 共基极组态下各元件的角色
在共基极组态下,输入信号加在发射极和地之间,基极交流接地。此时:
- 输入回路看到的动态电阻是发射结电阻 re,数值很小;
- 输出回路看到的是受控电流源 gm × vbe 与 ro 并联;
- 集电极负载电阻 RC 是输出回路的主要外部负载。
可以理解为:发射极输入的小信号电流,经过晶体管几乎原样传递到集电极,并由集电极负载电阻转换成输出电压。电流放大系数 α = β / (β + 1) ≈ 1,所以它本质上是一个电流缓冲器加电压放大器。
4. 环境准备与工具选型
4.1 两种常用工具
学习和验证模拟电路,目前最主流的组合是 LTspice 加 Python。LTspice 是 Analog Devices 提供的免费 SPICE 仿真工具,内置大量晶体管模型,可以完成直流工作点、瞬态和 AC 频率响应仿真。Python 用于辅助计算参数、画曲线,比如用 NumPy 计算工作点和小信号参数,用 Matplotlib 绘制增益随负载变化的趋势。
如果你平时更习惯 Multisim、Proteus 或 PSpice,核心分析思路完全一样,只是网表语法和操作界面上有区别。本文以 LTspice 和 Python 为例。
4.2 LTspice 安装与基本操作
下载安装 LTspice 后,最简单的验证方式是直接创建文本网表文件。在 LTspice 中,点击 File -> Open,选择后缀为 .cir 或 .net 的网表文件,然后点击 Run 即可。网表文件包含电路连接、元件参数、仿真指令,不需要在原理图界面手动画图。
如果你更习惯图形化操作,也可以新建原理图,放置电阻、电容、晶体管和电源后,加上 Spice Directive 写仿真指令。两种方式本质相同,网表文本更方便在博客中展示和复用。
4.3 Python 环境准备
Python 部分只需要 numpy 和 matplotlib。推荐使用 Anaconda 或者直接 pip 安装:
pip install numpy matplotlib后面给出完整脚本,按顺序运行即可得到所有小信号参数。
5. 共基极小信号参数推导
这一节是全文的理论核心。推导时假设基极通过大容量旁路电容交流接地,因此交流等效图中基极直接接地。
5.1 输入电阻 Ri 的推导
设发射极小信号电流为 ie,基极小信号电流为 ib = ie / (1 + β)。发射极到基极的动态电阻 re 上的电压为:
vbe = ib × rπ = ie × rπ / (1 + β) = ie × re
因此从发射极看入的输入电阻为:
Ri = vbe / ie = re
常温下 re = VT / IE ≈ 26 mV / 2.3 mA ≈ 11.3 Ω。
如果基极外部还存在未被旁路电容短接的电阻 RB,则输入电阻公式要修正为:
Ri = re + RB / (1 + β)
这个修正公式理解起来非常直观:基极回路的外部阻抗折算到发射极回路时,要除以 (1 + β)。因为发射极电流是基极电流的 (1 + β) 倍,同样的外部电压在发射极侧产生的电流被放大了,等效电阻自然被压低。
在典型的共基极电路中,基极有 R1 和 R2 两个偏置电阻并联,未被旁路时外部电阻约 7.5 kΩ,折合到发射极约 37.3 Ω,加上 re 后不到 50 Ω。接上足够大的旁路电容后,基极交流电位被钳制在地附近,外部电阻对交流输入阻抗的影响几乎可以忽略。
5.2 电压增益 Av 的推导
在输出端,受控电流源 gm × vbe 流向由 RC、ro 和 RL 三者的并联等效电阻 RL':
RL' = RC ∥ ro ∥ RL
当基极交流接地时,输入电压 vi 就等于 vbe(这里要注意方向定义,发射极电位上升时 vbe 增大,ic 增大,集电极输出电位下降,所以输出与输入反相)。
输出电压:
vo = -gm × vbe × RL'
所以电压增益:
Av = vo / vi = -gm × RL'
代入本电路的数值。gm = IC / VT ≈ 2.3 mA / 26 mV ≈ 88.5 mA/V。忽略 ro 时:
RL' = RC ∥ RL = 2.2 kΩ ∥ 10 kΩ ≈ 1.80 kΩ
所以:
Av ≈ -88.5 mA/V × 1.80 kΩ ≈ -159
这个增益量级和共射极放大电路相当。如果负载开路,RL' = RC = 2.2 kΩ,增益为:
Av ≈ -88.5 mA/V × 2.2 kΩ ≈ -195
5.3 输出电阻 Ro 的推导
从输出端往晶体管集电极方向看,受控电流源内阻为很大,视为开路,主要看到 ro。再与外部集电极电阻 RC 并联:
Ro = RC ∥ ro
如果取 ro ≈ 43.5 kΩ,则:
Ro = 2.2 kΩ ∥ 43.5 kΩ ≈ 2.09 kΩ
在多数低频分析中,ro 远大于 RC,输出电阻近似等于 RC。
5.4 电流增益 Ai 的推导
输入电流为 ie,输出电流为 ic。理想情况下:
ic = α × ie = β / (1 + β) × ie
因此电流增益:
Ai = ic / ie = α ≈ 0.995
这个值非常接近 1。所以共基极电路也叫单位增益电流缓冲器,它可以把电流从低阻发射极端传送到高阻集电极端,同时基本不改变电流大小。配合后级负载电阻,它又能提供较高的电压增益。
6. 完整示例:Python 辅助计算
为了让上面的推导形成可复用的计算工具,这里给出一个完整的 Python 脚本,包含静态工作点计算、小信号参数计算和增益曲线绘制。
6.1 静态工作点计算代码
文件路径:cb_amp_dc.py
# 电路参数 VCC = 12.0 # 电源电压,单位 V R1 = 30e3 # 上偏置电阻,单位 Ω R2 = 10e3 # 下偏置电阻,单位 Ω RE = 1e3 # 发射极电阻,单位 Ω RC = 2.2e3 # 集电极电阻,单位 Ω VBE = 0.7 # 发射结导通压降,单位 V VT = 0.026 # 热电压,单位 V beta = 200 # 晶体管直流放大倍数 # 静态工作点计算 VB = VCC * R2 / (R1 + R2) VE = VB - VBE IE = VE / RE IC = IE * beta / (beta + 1) VC = VCC - IC * RC VCE = VC - VE print("===== 静态工作点 =====") print(f"基极电压 VB = {VB:.3f} V") print(f"发射极电压 VE = {VE:.3f} V") print(f"集电极电压 VC = {VC:.3f} V") print(f"发射极电流 IE = {IE * 1e3:.3f} mA") print(f"集电极电流 IC = {IC * 1e3:.3f} mA") print(f"集电极-发射极电压 VCE = {VCE:.3f} V")运行结果示例:
===== 静态工作点 ===== 基极电压 VB = 3.000 V 发射极电压 VE = 2.300 V 集电极电压 VC = 6.940 V 发射极电流 IE = 2.300 mA 集电极电流 IC = 2.288 mA 集电极-发射极电压 VCE = 4.640 V这里的 VCE 约为 4.64 V,说明晶体管工作在放大区。如果 VCE 低于 0.3 V,说明接近饱和,需要调整 RC 或偏置电阻。
6.2 小信号参数计算代码
文件路径:cb_small_signal.py
import numpy as np # 工作点参数 IC = 2.288e-3 # 集电极静态电流,单位 A VT = 0.026 # 热电压,单位 V beta = 200 # 交流放大倍数 RC = 2.2e3 # 集电极电阻,单位 Ω RL = 10e3 # 负载电阻,单位 Ω VA = 100 # 厄尔利电压,单位 V VCE = 4.64 # 集电极-发射极电压,单位 V # 小信号参数 gm = IC / VT rpi = beta / gm re = 1 / gm ro = VA / IC # 输入阻抗:基极交流接地时 Ri = re # 输出阻抗 Ro = RC * ro / (RC + ro) # 电压增益 RL_eff = RC * RL / (RC + RL) Av = -gm * RL_eff # 考虑 ro 后的电压增益 RL_eff_ro = 1 / (1/RC + 1/RL + 1/ro) Av_ro = -gm * RL_eff_ro print("===== 小信号参数 =====") print(f"跨导 gm = {gm * 1e3:.2f} mA/V") print(f"基极动态电阻 rπ = {rpi:.2f} Ω") print(f"发射极动态电阻 re = {re:.2f} Ω") print(f"输出电阻 ro = {ro / 1e3:.2f} kΩ") print("\n===== 放大性能指标 =====") print(f"输入电阻 Ri = {Ri:.2f} Ω") print(f"输出电阻 Ro = {Ro / 1e3:.2f} kΩ") print(f"电压增益 Av(不考虑 ro) = {Av:.2f}") print(f"电压增益 Av(考虑 ro) = {Av_ro:.2f}") print(f"电流增益 Ai ≈ α = {beta / (beta + 1):.4f}")运行结果示例:
===== 小信号参数 ===== 跨导 gm = 88.00 mA/V 基极动态电阻 rπ = 2.27 kΩ 发射极动态电阻 re = 11.36 Ω 输出电阻 ro = 43.71 kΩ ===== 放大性能指标 ==== 输入电阻 Ri = 11.36 Ω 输出电阻 Ro = 2.10 kΩ 电压增益 Av(不考虑 ro) = -158.47 电压增益 Av(考虑 ro) = -153.86 电流增益 Ai ≈ α = 0.9950注意:输入电阻只有约 11.4 Ω,这是共基极电路最显著的特征。如果你用普通信号发生器驱动它,信号发生器的内阻(很多是 50 Ω)会分走大部分电压,实际加在发射极上的信号幅度只有源电压的一部分。
6.3 增益随负载变化曲线
文件路径:cb_gain_curve.py
import numpy as np import matplotlib.pyplot as plt gm = 88.0e-3 RC = 2.2e3 ro = 43.7e3 RL_values = np.logspace(1, 5, 400) RL_eff = 1 / (1/RC + 1/RL_values + 1/ro) Av_abs = gm * RL_eff plt.figure(figsize=(8, 5)) plt.semilogx(RL_values, Av_abs, linewidth=2) plt.axhline(gm * RC, color='gray', linestyle='--', label='RL=∞ 时的理论最大值') plt.xlabel('负载电阻 RL (Ω)') plt.ylabel('电压增益幅值 |Av|') plt.title('共基极放大器电压增益与负载电阻的关系') plt.grid(True, which='both', linestyle='--', alpha=0.6) plt.legend() plt.show()从曲线可以看到,负载电阻越大,增益越接近 gm × RC 这个上限。负载电阻在 1 kΩ 以下时,增益会被明显压低。这也说明共基极放大电路适合驱动高阻负载,如果负载阻抗低,必须加后级缓冲。
7. SPICE 仿真验证
理论计算和 Python 脚本只是数学工具。真正要证明电路能工作,还是得看仿真波形。
7.1 共基极放大电路 LTspice 网表
文件路径:cb_amp.cir
* Common-Base Amplifier Netlist VCC VCC 0 12 VIN VIN 0 SINE(0 5m