(共通パラメータ: gm = 5 mS = 5×10^-3 A/V, ro = 50 kΩ = 50×10^3 Ω, RD = 10 kΩ, RS = 1 kΩ)
- ソース接地回路 (Common Source)
電圧利得 (Voltage Gain):
Av = - gm * (RD || ro)
数値例: Av = -5×10^-3 × (10kΩ || 50kΩ)
= -5×10^-3 × 8.33kΩ ≈ -41.6
入力インピーダンス (Input Impedance):
Zin = ∞ (非常に高い)
出力インピーダンス (Output Impedance):
Zout = RD || ro
数値例: Zout = 10kΩ || 50kΩ ≈ 8.33kΩ
解説:
ソース接地回路は高い電圧利得が得られる。符号がマイナスなので入力と出力の位相が反転する。入力インピーダンスが非常に高く、前段の回路をほとんど負荷しないため「ゲインステージ」として多用される。
- ドレイン接地回路 (Common Drain, ソースフォロワ)
電圧利得 (Voltage Gain):
Av = gm * RS / (1 + gm * RS)
数値例: Av = (5×10^-3 × 1kΩ) / (1 + 5×10^-3 × 1kΩ)
= 5 / 6 ≈ 0.833
入力インピーダンス (Input Impedance):
Zin = ∞ (非常に高い)
出力インピーダンス (Output Impedance):
Zout = 1 / gm
数値例: Zout = 1 / (5×10^-3) = 200 Ω
解説:
ドレイン接地回路は電圧利得が1に近く、それ以上にはならない。信号の振幅を維持して次段に伝えることができる。入力インピーダンスが高く、出力インピーダンスが低いため、インピーダンス整合に優れる。主に「バッファステージ」として使われる。
- ゲート接地回路 (Common Gate)
電圧利得 (Voltage Gain):
Av = gm * (RD || ro)
数値例: Av = 5×10^-3 × (10kΩ || 50kΩ)
= 5×10^-3 × 8.33kΩ ≈ 41.6
入力インピーダンス (Input Impedance):
Zin = 1 / gm
数値例: Zin = 1 / (5×10^-3) = 200 Ω
出力インピーダンス (Output Impedance):
Zout = RD || ro
数値例: Zout = 10kΩ || 50kΩ ≈ 8.33kΩ
解説:
ゲート接地回路は高い電圧利得を持つが、入力インピーダンスが非常に低いのが特徴。前段の回路を強く負荷する可能性がある。高周波回路やカスケード接続での利用に適している。
3回路の用途まとめ
・ソース接地回路 (Common Source): 信号の大きな増幅に使用。位相は反転。
・ドレイン接地回路 (Common Drain): 信号をそのまま伝えるバッファ。入力インピーダンスが高く、出力インピーダンスが低い。
・ゲート接地回路 (Common Gate): 高周波用途やカスケード回路で使用。入力インピーダンスが低い。
# 共通パラメータ設定 (Common Parameters)
gm = 5e-3 # [S] transconductance
ro = 50e3 # [ohm] output resistance
RD = 10e3 # [ohm] drain resistance
RS = 1e3 # [ohm] source resistance
# 並列抵抗の計算 (parallel resistance)
def parallel(R1, R2):
return (R1 * R2) / (R1 + R2)
# 1. ソース接地回路 (Common Source)
Av_cs = - gm * parallel(RD, ro)
Zin_cs = float("inf")
Zout_cs = parallel(RD, ro)
# 2. ドレイン接地回路 (Common Drain, Source Follower)
Av_cd = (gm * RS) / (1 + gm * RS)
Zin_cd = float("inf")
Zout_cd = 1 / gm
# 3. ゲート接地回路 (Common Gate)
Av_cg = gm * parallel(RD, ro)
Zin_cg = 1 / gm
Zout_cg = parallel(RD, ro)
# 結果表示 (Print results)
print("=== MOSFET Amplifier Summary ===\n")
print("1. Common Source (ソース接地)")
print(f"Voltage Gain Av = {Av_cs:.2f}")
print(f"Input Impedance Zin = {Zin_cs}")
print(f"Output Impedance Zout = {Zout_cs:.2f} Ω\n")
print("2. Common Drain (ドレイン接地, Source Follower)")
print(f"Voltage Gain Av = {Av_cd:.3f}")
print(f"Input Impedance Zin = {Zin_cd}")
print(f"Output Impedance Zout = {Zout_cd:.2f} Ω\n")
print("3. Common Gate (ゲート接地)")
print(f"Voltage Gain Av = {Av_cg:.2f}")
print(f"Input Impedance Zin = {Zin_cg:.2f} Ω")
print(f"Output Impedance Zout = {Zout_cg:.2f} Ω\n")