電力増幅器(A/B/C/D級)の理論 — 各動作級の効率と歪みを比較する

スマートフォンで通話するとき、あなたの声はマイクで微弱な電気信号に変換され、最終的にアンテナから電波として送信されます。しかし、マイクが出力する信号はせいぜい数マイクロワット程度であり、これを直接アンテナに接続しても電波は遠くまで届きません。そこで必要になるのが電力増幅器(Power Amplifier, PA)です。電力増幅器は信号のワット数を引き上げ、アンテナやスピーカーなどの負荷を十分に駆動できるレベルまで増幅します。

電力増幅器を理解すると、次のような分野で直接的に役立ちます。

  • 無線送信機の最終段設計 — 携帯電話基地局、衛星通信、レーダーの送信出力を決定づける心臓部です
  • オーディオアンプ設計 — スピーカーを駆動するHi-Fiアンプやカーオーディオの音質と電力効率を左右します
  • 電力変換 — DC-DCコンバータやインバータの設計にも、スイッチング型増幅器(D級)の考え方が応用されます

ここで一つ素朴な疑問が浮かびます。「増幅するだけなら1種類でいいのではないか?」と。実は、電力増幅器にはA級・B級・AB級・C級・D級と呼ばれる複数の動作級があり、それぞれ効率と歪みのトレードオフが異なります。低歪みを優先するならA級、高効率を優先するならC級やD級、バランスを取るならAB級 — という使い分けが必要なのです。

本記事の内容

  • 動作級の分類基準 — 導通角とは何か
  • A級増幅器の動作と最大効率50%の数学的導出
  • B級プッシュプル増幅器の動作と最大効率78.5%の導出
  • AB級のバイアス設計とクロスオーバー歪みの低減
  • C級増幅器の高効率動作と同調回路の役割
  • D級スイッチング増幅器の原理と理論効率100%
  • ドハティ増幅器の概念
  • Pythonによる各級の出力波形と効率特性の可視化

前提知識

この記事を読む前に、以下の記事を読んでおくと理解が深まります。

電力増幅器と動作級の分類

電力増幅器の役割

電圧増幅回路(前段)は信号の電圧を大きくしますが、出力インピーダンスが高いため、スピーカーやアンテナのような低インピーダンスの負荷を直接駆動することができません。電力増幅器は、前段から受け取った信号を大電流で負荷に供給する役割を担います。

電力増幅器で最も重要な性能指標は効率(efficiency)歪み(distortion)です。効率が高ければ電源から無駄な熱が発生しにくくなり、バッテリー駆動の携帯機器では動作時間が延びます。一方で歪みが大きいと、オーディオなら音質劣化、通信なら隣接チャネルへの干渉を引き起こします。

導通角とは

動作級を分類する鍵となる概念が導通角(conduction angle) $2\theta_c$ です。導通角は、信号の1周期(360°)のうち、トランジスタが電流を流している角度の合計を表します。

イメージとしては、1日24時間のうち何時間働いているかを「勤務角」と呼ぶようなものです。24時間ずっと働いていれば勤務角360°、半分だけ働いていれば180°です。トランジスタもこれと同じで、信号の全周期にわたって電流を流し続けるのか、半分だけ流すのか、さらに短い期間だけ流すのかによって、効率と歪みの特性が大きく変わります。

導通角による分類をまとめると次のとおりです。

動作級 導通角 $2\theta_c$ 効率(最大) 歪み 主な用途
A級 360° 50% 最小 Hi-Fiオーディオ、計測機器
B級 180° 78.5% クロスオーバー歪み プッシュプルオーディオ
AB級 180°〜360° 50%〜78.5% 小さい 汎用オーディオ、通信
C級 < 180° 最大100%(理論値) 大きい RF送信機(同調回路併用)
D級 N/A(スイッチング) 理論100% フィルタ依存 オーディオ、電力変換

この表の効率の数値はどこから来るのでしょうか。以降のセクションで、各動作級の効率を数式で導出していきます。

A級増幅器 — 全周期で電流を流す

動作の直感

A級増幅器はもっともシンプルな動作級です。バイアス電流を十分に大きく設定して、信号の正の半周期でも負の半周期でもトランジスタが常にオン状態(活性領域)を維持します。水道の蛇口に例えると、A級は蛇口を常に半開きにしておき、信号に応じて少し多め・少し少なめに水を流すようなものです。蛇口が完全に閉じることはないので、水の流れ方は滑らかですが、信号がないときでも水は流れ続けるため無駄が生じます。

導通角は $2\theta_c = 360°$ です。トランジスタは入力信号のあるなしにかかわらず常にバイアス電流 $I_Q$ を流し続けます。

回路モデルと仮定

解析を簡単にするため、次のモデルを使います。

  • 電源電圧: $V_{CC}$
  • コレクタ電流: $i_C(t) = I_Q + I_p \sin(\omega t)$($I_p \leq I_Q$)
  • コレクタ-エミッタ間電圧: $v_{CE}(t) = V_{CC} – I_p R_L \sin(\omega t)$
  • 負荷抵抗: $R_L$

ここで $I_Q$ はバイアス電流(直流成分)、$I_p$ は信号電流の振幅です。A級ではトランジスタが常にオンであるため、コレクタ電流は正弦波が下に切れることなく、綺麗な正弦波として再現されます。これが低歪みの理由です。

このモデルをもとに、A級増幅器の効率がどこまで到達できるかを数式で求めてみましょう。

最大効率50%の導出

電力増幅器の効率は「負荷に供給される信号電力」を「電源が供給する直流電力」で割ったものです。

$$ \eta = \frac{P_{\text{out}}}{P_{DC}} $$

まず、電源が供給する直流電力を求めます。電源 $V_{CC}$ は一定電圧で、その電流の時間平均は $I_Q$(正弦波成分は1周期で平均ゼロ)ですから、

$$ P_{DC} = V_{CC} \cdot I_Q $$

次に、負荷 $R_L$ に供給される信号電力を求めます。負荷に流れるのは交流成分 $I_p \sin(\omega t)$ のみですから、

$$ P_{\text{out}} = \frac{1}{2} I_p^2 R_L = \frac{1}{2} I_p V_p $$

ここで $V_p = I_p R_L$ は出力電圧振幅です。

効率は、

$$ \eta = \frac{\frac{1}{2} I_p V_p}{V_{CC} \cdot I_Q} $$

最大出力を得る条件を考えます。出力振幅を最大にするには、コレクタ-エミッタ間電圧がゼロまで振れる極限 $V_p = V_{CC}$ と、コレクタ電流がゼロまで振れる極限 $I_p = I_Q$ を同時に実現する必要があります。この条件を代入すると、

$$ \eta_{\max} = \frac{\frac{1}{2} I_Q V_{CC}}{V_{CC} \cdot I_Q} = \frac{1}{2} = 50\% $$

つまり、A級増幅器は理想的な条件でも電源電力の半分しか負荷に届けられないのです。残りの半分はトランジスタ内部で熱として消費されます。さらに重要なのは、入力信号がゼロのとき($I_p = 0$)でも $P_{DC} = V_{CC} I_Q$ が消費され続ける点です。効率はこのとき0%になります。

A級のまとめ

  • 長所: 歪みが小さい(線形領域で動作し続ける)
  • 短所: 効率が最大50%と低い。信号がないときも電力を消費する

低効率の問題を解決するために、トランジスタを信号の半分の期間だけオンにする発想が生まれます。これがB級増幅器です。

B級増幅器 — 半周期ずつ分担する

動作の直感

B級増幅器のアイデアは明快です。2つのトランジスタを用意し、一方が正の半周期を、もう一方が負の半周期をそれぞれ担当します。バトンタッチしながらリレー走者のように信号の全周期をカバーするのです。この構成をプッシュプル(push-pull)と呼びます。

各トランジスタのバイアス電流はゼロに設定されます($I_Q = 0$)。入力信号が正のとき上側トランジスタがオンになり電流を「押し出し(push)」、入力信号が負のとき下側トランジスタがオンになり電流を「引き込み(pull)」ます。1つのトランジスタに着目すると、信号の半周期だけ電流を流すので、導通角は $2\theta_c = 180°$ です。

コレクタ電流の数学的表現

上側トランジスタのコレクタ電流は、正の半周期だけ流れる半波整流波形になります。

$$ i_C(\theta) = \begin{cases} I_p \sin\theta & (0 \leq \theta \leq \pi) \\ 0 & (\pi < \theta < 2\pi) \end{cases} $$

ここで $\theta = \omega t$ です。

このような半波整流波形のフーリエ級数展開は、直流成分と基本波成分を次のように含みます。

直流成分($n = 0$ の項)を求めるため、1周期の平均を計算します。

$$ I_0 = \frac{1}{2\pi} \int_0^{2\pi} i_C(\theta)\, d\theta = \frac{1}{2\pi} \int_0^{\pi} I_p \sin\theta\, d\theta $$

$\sin\theta$ を $0$ から $\pi$ まで積分すると $[-\cos\theta]_0^{\pi} = -\cos\pi + \cos 0 = 1 + 1 = 2$ ですから、

$$ I_0 = \frac{I_p}{2\pi} \cdot 2 = \frac{I_p}{\pi} $$

基本波成分($n = 1$ の項)の振幅を求めます。

$$ I_1 = \frac{1}{\pi} \int_0^{2\pi} i_C(\theta) \sin\theta\, d\theta = \frac{1}{\pi} \int_0^{\pi} I_p \sin^2\theta\, d\theta $$

$\sin^2\theta = \frac{1 – \cos 2\theta}{2}$ を使って積分すると、

$$ I_1 = \frac{I_p}{\pi} \cdot \frac{\pi}{2} = \frac{I_p}{2} $$

これは納得のいく結果です。信号の半分の期間しか電流を流さないので、基本波の振幅は元の $I_p$ の半分になります。プッシュプルでは上下2つのトランジスタが合わさるため、負荷に現れる基本波電流振幅は $I_p$ に戻ります。

フーリエ成分が求まったので、これを使ってB級プッシュプル増幅器の効率を導出します。

最大効率78.5%の導出

片側のトランジスタ が電源から受け取る直流電力を計算します。電源電圧 $V_{CC}$ に直流電流成分 $I_0$ を掛けると、

$$ P_{DC,\text{half}} = V_{CC} \cdot I_0 = \frac{V_{CC} I_p}{\pi} $$

プッシュプル全体では上下で対称なので、

$$ P_{DC} = 2 \cdot \frac{V_{CC} I_p}{\pi} = \frac{2 V_{CC} I_p}{\pi} $$

負荷に供給される信号電力は、プッシュプルにより完全な正弦波が再構成されるので、

$$ P_{\text{out}} = \frac{1}{2} I_p V_p $$

ここで $V_p = I_p R_L$ は出力電圧振幅です。

効率は、

$$ \eta = \frac{P_{\text{out}}}{P_{DC}} = \frac{\frac{1}{2} I_p V_p}{\frac{2 V_{CC} I_p}{\pi}} = \frac{\pi V_p}{4 V_{CC}} $$

最大出力条件 $V_p = V_{CC}$ を代入すると、

$$ \eta_{\max} = \frac{\pi}{4} \approx 0.785 = 78.5\% $$

A級の50%に比べて大幅に改善しました。しかも信号がゼロのときは両方のトランジスタがオフになるため、直流電力の消費もゼロになります。これはA級にはない大きなメリットです。

クロスオーバー歪み

B級プッシュプルには致命的な問題があります。バイポーラトランジスタはベース-エミッタ間に約0.6〜0.7Vの閾値電圧 $V_{BE(\text{on})}$ を超えるまで電流が流れ始めません。そのため、入力信号がゼロ付近を通過するとき、上側トランジスタがオフになってから下側トランジスタがオンになるまでの間に「空白地帯」ができ、出力波形に不連続なくぼみが現れます。これをクロスオーバー歪み(crossover distortion)と呼びます。

クロスオーバー歪みは小信号ほど顕著になります。信号振幅が閾値電圧に比べて小さいと、信号の大部分がデッドゾーンに埋もれてしまうためです。オーディオ用途ではこの歪みが音質を大きく損なうため、純粋なB級が使われることは稀です。

この問題を解決するために、B級に少しだけバイアスを加えた「AB級」が考案されました。

AB級増幅器 — B級の効率とA級の低歪みを両立

動作の直感

AB級は、B級プッシュプル構成にわずかなバイアス電流を加えたものです。各トランジスタは信号がゼロの近傍でも少しだけ電流を流し続けるため、クロスオーバー歪みが大幅に低減されます。

導通角は180°より大きく360°未満、すなわち $180° < 2\theta_c < 360°$ の範囲に入ります。バイアス電流を大きくするほどA級に近づき歪みは減りますが効率は下がります。逆にバイアスを小さくするとB級に近づき効率は上がりますが歪みが増えます。

バイアス設計の考え方

AB級のバイアス設計のポイントは、クロスオーバー歪みを消すために必要な最小限のバイアスを設定することです。一般的には、出力段トランジスタのベース-エミッタ間に $2V_{BE(\text{on})} \approx 1.2\text{V}$(上下トランジスタ分)のバイアスをダイオードや $V_{BE}$ マルチプライヤ回路で供給します。

バイアス電流を $I_Q$ とすると、AB級の静止時消費電力は $P_{\text{quiescent}} = 2 V_{CC} I_Q$ です。B級($I_Q = 0$)よりは消費しますが、A級に比べれば遥かに少ない電力で済みます。

効率の範囲

AB級の効率はバイアス電流の設定に依存し、理論的にはA級の50%とB級の78.5%の間に位置します。実用的なAB級オーディオアンプでは、最大出力時に60〜70%程度の効率が達成されます。

AB級はオーディオ用パワーアンプの事実上の標準であり、ほとんどの家庭用アンプやカーオーディオがこの方式を採用しています。低歪みと実用的な効率を両立する、まさに「いいとこ取り」の動作級です。

ここまでA級・B級・AB級と見てきましたが、いずれも信号波形を忠実に増幅する線形増幅器です。では、歪みを許容してさらに効率を上げることはできるのでしょうか。その答えがC級増幅器です。

C級増幅器 — 導通角を絞って高効率を目指す

動作の直感

C級増幅器はバイアスを深くカットオフ側に設定し、入力信号のピーク近傍でのみトランジスタをオンにします。信号の1周期のうちごく短い時間だけ電流パルスを流すイメージです。

これは打楽器奏者に似ています。ドラマーは一瞬だけスティックで太鼓を叩き、あとの大部分の時間は何もしていません。C級のトランジスタも同じで、信号のピーク付近で鋭い電流パルスを出し、残りの時間はオフです。このため導通角は $2\theta_c < 180°$ となります。

導通角と効率の一般式

導通角 $2\theta_c$ のとき、コレクタ電流は次のように表せます。

$$ i_C(\theta) = \begin{cases} I_p(\cos\theta – \cos\theta_c) & (|\theta| \leq \theta_c) \\ 0 & (|\theta| > \theta_c) \end{cases} $$

ここで $I_p$ はスケーリング定数、$\theta_c$ は半導通角(導通角の半分)です。電流がゼロになる条件 $\cos\theta_c = \cos\theta$ から、$\theta = \pm\theta_c$ でちょうど電流がゼロになります。

直流成分(1周期平均)を求めます。対称性を利用して、

$$ I_0 = \frac{1}{2\pi} \int_{-\theta_c}^{\theta_c} I_p (\cos\theta – \cos\theta_c)\, d\theta $$

$\cos\theta$ を $-\theta_c$ から $\theta_c$ まで積分すると $2\sin\theta_c$ であり、$\cos\theta_c$ は定数なので積分すると $2\theta_c \cos\theta_c$ です。よって、

$$ I_0 = \frac{I_p}{2\pi} (2\sin\theta_c – 2\theta_c \cos\theta_c) = \frac{I_p}{\pi} (\sin\theta_c – \theta_c \cos\theta_c) $$

基本波成分の振幅を同様に計算します。フーリエ係数の公式から、

$$ I_1 = \frac{1}{\pi} \int_{-\theta_c}^{\theta_c} I_p (\cos\theta – \cos\theta_c) \cos\theta\, d\theta $$

$\cos^2\theta = \frac{1 + \cos 2\theta}{2}$ を用いて展開すると、

$$ I_1 = \frac{I_p}{\pi} \int_{-\theta_c}^{\theta_c} (\cos^2\theta – \cos\theta_c \cos\theta)\, d\theta $$

第1項の積分は、

$$ \int_{-\theta_c}^{\theta_c} \cos^2\theta\, d\theta = \int_{-\theta_c}^{\theta_c} \frac{1 + \cos 2\theta}{2} d\theta = \theta_c + \frac{\sin 2\theta_c}{2} $$

第2項の積分は、$\cos\theta_c$ が定数であることを利用して $\cos\theta$ のみを積分すると次のようになります。

$$ \int_{-\theta_c}^{\theta_c} \cos\theta_c \cos\theta\, d\theta = 2\cos\theta_c \sin\theta_c = \sin 2\theta_c $$

これらの2つの積分結果を元の $I_1$ の式に代入し、$\sin 2\theta_c$ の項をまとめて整理すると、基本波成分の振幅が得られます。

$$ I_1 = \frac{I_p}{\pi} \left(\theta_c + \frac{\sin 2\theta_c}{2} – \sin 2\theta_c \right) = \frac{I_p}{\pi} \left(\theta_c – \frac{\sin 2\theta_c}{2}\right) $$

直流電力と出力電力はそれぞれ、

$$ P_{DC} = V_{CC} \cdot I_0, \quad P_{\text{out}} = \frac{1}{2} I_1 V_p $$

最大出力条件 $V_p = V_{CC}$ を適用すると、$P_{\text{out}}$ の $V_p$ が $V_{CC}$ に置き換わります。効率の定義式に代入して $V_{CC}$ を約分すると、効率が $I_1$ と $I_0$ の比だけで表されます。

$$ \eta(\theta_c) = \frac{P_{\text{out}}}{P_{DC}} = \frac{\frac{1}{2} I_1 V_{CC}}{V_{CC} \cdot I_0} = \frac{I_1}{2 I_0} $$

ここに先ほど求めた $I_0$ と $I_1$ の表式を代入すると、効率が半導通角 $\theta_c$ のみの関数として得られます。

$$ \eta(\theta_c) = \frac{\theta_c – \frac{\sin 2\theta_c}{2}}{2(\sin\theta_c – \theta_c \cos\theta_c)} $$

この式は導通角の一般的な効率公式であり、特殊なケースを代入すると各動作級の効率が得られます。

A級($\theta_c = \pi$): 分子 $= \pi – 0 = \pi$、分母 $= 2(0 + \pi) = 2\pi$ より $\eta = \pi / 2\pi = 1/2 = 50\%$。

B級($\theta_c = \pi/2$): 分子 $= \pi/2 – \sin\pi / 2 = \pi/2$、分母 $= 2(1 – 0) = 2$ より $\eta = (\pi/2) / 2 = \pi/4 \approx 78.5\%$。

C級($\theta_c \to 0$): ロピタルの定理を適用するか、テイラー展開 $\sin\theta_c \approx \theta_c – \theta_c^3/6$、$\cos\theta_c \approx 1 – \theta_c^2/2$、$\sin 2\theta_c \approx 2\theta_c – (2\theta_c)^3/6$ を代入すると、$\theta_c \to 0$ で $\eta \to 1 = 100\%$ に近づきます。

つまり、導通角を小さくするほど効率は上がり、理論的には100%に達するのです。

歪みと同調回路

「効率100%に近づくなら、C級だけ使えばいいのでは?」と思うかもしれません。しかし大きな問題があります。C級の出力は鋭いパルス列であり、基本波成分だけでなく大量の高調波を含みます。このままでは信号として使えません。

そこでC級増幅器では、出力に同調回路(タンク回路)を接続します。$L$ と $C$ の並列共振回路を基本周波数に同調させると、基本波成分だけが選択的に通過し、高調波は抑制されます。これにより、出力は基本周波数の綺麗な正弦波に整形されます。

C級増幅器はRF送信機で広く使われています。通信信号は特定の搬送波周波数を持つため、同調回路との相性が良いのです。ただし、振幅情報を持つAM信号のような変調方式には適用が困難で、FM信号や定包絡線信号(位相変調、周波数変調)に主に使われます。

C級の限界を超えて、さらに根本的に異なるアプローチで高効率を実現する方法があります。トランジスタを増幅素子としてではなく、スイッチとして使うD級増幅器です。

D級増幅器 — スイッチングで理論効率100%

動作の直感

A〜C級は全て、トランジスタを線形増幅素子として使い、コレクタ電流をアナログ的に制御していました。D級はこの発想を根本から変え、トランジスタを完全なオン/オフスイッチとして使います。

家の照明で考えてみましょう。調光器で明るさを連続的に制御する(A〜C級に相当)代わりに、照明を高速でパチパチ点滅させて、点灯時間の割合で平均的な明るさを制御する — これがD級の基本原理であり、パルス幅変調(PWM: Pulse Width Modulation)と呼ばれる手法です。

PWMの原理

D級増幅器は次の3つのブロックで構成されます。

  1. PWM変調器: 入力のアナログ信号を三角波(またはのこぎり波)と比較し、PWMパルス列に変換します。入力信号が三角波より大きいときに出力をHigh、小さいときにLowにします
  2. スイッチング出力段: 2つのMOSFETで構成されるハーフブリッジ回路が、PWM信号に応じて $+V_{CC}$ と $-V_{CC}$(またはGND)を交互に出力します
  3. ローパスフィルタ: $LC$ フィルタでPWMの高周波成分を除去し、元のアナログ信号を復元します

なぜ理論効率100%なのか

スイッチとして動作するトランジスタの消費電力を考えてみましょう。

  • オフ状態: 電流がゼロ → $P = V \times 0 = 0$
  • オン状態: オン抵抗 $R_{DS(\text{on})}$ が理想的にゼロ → 電圧降下ゼロ → $P = 0 \times I = 0$

どちらの状態でもトランジスタでの消費電力はゼロになるため、理論的には効率100%です。

もちろん、現実のMOSFETには有限のオン抵抗(数十m$\Omega$)があり、またオン・オフの切り替え時にはドレイン電圧とドレイン電流が同時にゼロでない瞬間(スイッチング損失)が存在します。さらに出力フィルタの損失もあるため、実際のD級アンプの効率は85〜95%程度です。それでもAB級の60〜70%と比べると大幅な改善です。

D級の歪みとフィルタ設計

D級の歪み特性は出力 $LC$ フィルタの設計に大きく依存します。PWMの搬送波周波数を十分高く取れば(信号帯域の10倍以上が目安)、フィルタで綺麗に信号を復元でき、歪みを低く抑えられます。近年のD級アンプでは、THD(全高調波歪み)が0.01%以下を達成する製品もあり、AB級に匹敵するオーディオ品質を実現しています。

D級増幅器の小型・高効率という特性は、スマートフォンやBluetooth スピーカーのような携帯機器のオーディオアンプとして理想的であり、現在急速に普及が進んでいます。

ここまで各動作級を個別に見てきました。次に、これらを「効率とバックオフ」という観点で統一的に比較し、さらに実用的なドハティ増幅器の概念を紹介します。

効率のバックオフ特性

問題の背景

これまで導出した最大効率はすべて、出力振幅が最大($V_p = V_{CC}$)のときの値でした。しかし現実の通信信号では、信号の振幅は常に最大ではありません。音声信号は静かな瞬間が多く、デジタル変調信号(OFDMなど)も平均電力は最大電力よりかなり低い値です。この最大電力と平均電力の比をPAPR(Peak-to-Average Power Ratio)と呼びます。

出力レベルが最大値から下がること(バックオフ)により、増幅器の効率は大きく低下します。各動作級の効率を出力電力の関数として見ると、

A級の効率は出力電力に比例します。最大出力の半分(−3dBバックオフ)では効率は25%まで下がります。なぜなら $P_{DC}$ が一定である一方、$P_{\text{out}}$ だけが減少するためです。

$$ \eta_A = \frac{1}{2} \cdot \frac{V_p}{V_{CC}} = \frac{1}{2} \sqrt{\frac{P_{\text{out}}}{P_{\text{out,max}}}} $$

ここで $V_p / V_{CC} = \sqrt{P_{\text{out}} / P_{\text{out,max}}}$ の関係を用いました。A級では $P_{DC}$ が出力レベルによらず一定のため、効率は出力電圧比に比例して低下します。

一方、B級ではバイアス電流がゼロで $P_{DC}$ 自体が出力振幅に比例して減少するため、効率の低下はA級よりも緩やかです。同様に $V_p / V_{CC}$ を用いて表すと、

$$ \eta_B = \frac{\pi}{4} \cdot \frac{V_p}{V_{CC}} = \frac{\pi}{4} \sqrt{\frac{P_{\text{out}}}{P_{\text{out,max}}}} $$

−6dBバックオフ(最大電力の1/4)では、A級は12.5%、B級は約39%です。この差は実用上非常に大きく、バックオフ時の効率はB級(およびAB級)のほうが圧倒的に有利です。

通信システムにおけるインパクト

現代の4G/5G通信で使われるOFDM信号のPAPRは典型的に7〜12dBです。仮に10dBバックオフだと、B級アンプでも平均効率は約25%まで低下します。巨大な基地局が電力の75%を熱として捨てているのは、エネルギーと冷却の両面で大きな課題です。

この「バックオフ時の効率低下」問題を解決するために考案されたのが、次に紹介するドハティ増幅器です。

ドハティ増幅器 — バックオフ効率の改善

背景と着想

ドハティ(Doherty)増幅器は1936年にW.H. Dohertyが提案した構成で、通常の増幅器のバックオフ時の効率低下を劇的に改善します。近年、4G/5Gの基地局送信機で事実上の標準アーキテクチャとなっています。

ドハティ増幅器の着想を簡単に説明しましょう。通常の増幅器でバックオフ時に効率が下がるのは、トランジスタが最大能力の一部しか使われていないのに電源電圧は一定のままだからです。もし出力レベルに応じてトランジスタの負荷インピーダンスを動的に変えられれば、常に最適な効率で動作させることができます。

構成

ドハティ増幅器は2つの増幅器を組み合わせます。

  • キャリアアンプ(Main amp): AB級で常時動作する増幅器。低〜中出力レベルを担当
  • ピーキングアンプ(Peak amp): C級で、入力信号が一定レベルを超えたときだけ動作する増幅器。高出力時に電力を追加供給

この2つの増幅器は$\lambda/4$ 伝送線路(インピーダンス反転器)を介して結合されます。ピーキングアンプが動作を開始すると、負荷結合ネットワークの効果によりキャリアアンプから見た負荷インピーダンスが変化し、アクティブロードモジュレーションが実現されます。

効率特性

従来のAB級アンプでは、6dBバックオフ時の効率は約39%です。ドハティ構成では次のように動作します。

  • バックオフ6dB以上(低出力): キャリアアンプのみ動作。キャリアアンプの負荷インピーダンスは通常の2倍($2R_{\text{opt}}$)に見えるため、最大出力の1/4の時点で電圧が飽和し、効率はB級の最大値 $\pi/4 \approx 78.5\%$ に達する
  • バックオフ6dB未満(高出力): ピーキングアンプも動作開始。負荷インピーダンスが徐々に変化し、最大出力時に両アンプとも $R_{\text{opt}}$ で動作して再びピーク効率を達成

結果として、6dBバックオフでも最大出力時でもピーク効率を維持できるという、画期的な効率特性が実現されます。従来のAB級では6dBバックオフで約39%だった効率が、ドハティでは約78%に改善されるのです。

ドハティ増幅器は概念としてエレガントですが、広帯域化やデジタルプリディストーション(DPD)との組み合わせなど、実装には多くの工学的課題があります。これらの詳細はRF増幅器設計の記事で扱います。

ここまでの理論的な議論を、Pythonで可視化して直感を深めましょう。

Pythonによる可視化

各動作級の出力波形

まず、A級・B級・C級の各動作級でトランジスタのコレクタ電流波形がどのように変わるかを可視化します。

import numpy as np
import matplotlib.pyplot as plt

# 入力信号の1周期
theta = np.linspace(-np.pi, np.pi, 1000)
input_signal = np.cos(theta)  # コサイン波(θ=0でピーク)

# 各級の導通角に対応する半導通角
conduction_angles = {
    'Class A': np.pi,          # 360°
    'Class B': np.pi / 2,      # 180°
    'Class AB': 2 * np.pi / 3, # 240°
    'Class C (120°)': np.pi / 3,  # 120°
    'Class C (60°)': np.pi / 6,   # 60°
}

fig, axes = plt.subplots(len(conduction_angles), 1, figsize=(10, 12), sharex=True)

for ax, (label, theta_c) in zip(axes, conduction_angles.items()):
    # コレクタ電流: cos(theta) - cos(theta_c) (導通区間のみ)
    ic = np.where(np.abs(theta) <= theta_c,
                  np.cos(theta) - np.cos(theta_c), 0)
    # 正規化(ピーク値を1にする)
    ic_peak = 1 - np.cos(theta_c) if theta_c < np.pi else 1.0
    if ic_peak > 0:
        ic_norm = ic / ic_peak
    else:
        ic_norm = ic

    ax.fill_between(np.degrees(theta), ic_norm, alpha=0.3, color='C0')
    ax.plot(np.degrees(theta), ic_norm, 'C0', linewidth=1.5)
    ax.set_ylabel('$i_C$ (norm.)')
    ax.set_title(f'{label}  ($2\\theta_c = {int(np.degrees(2*theta_c))}°$)',
                 fontsize=11, fontweight='bold')
    ax.set_ylim(-0.1, 1.15)
    ax.axhline(0, color='gray', linewidth=0.5)
    ax.grid(True, alpha=0.3)

axes[-1].set_xlabel('Phase angle [deg]')
plt.tight_layout()
plt.savefig('pa_class_waveforms.png', dpi=150, bbox_inches='tight')
plt.show()

このグラフから、導通角が小さくなるにつれてコレクタ電流のパルス幅が狭くなる様子が明確に読み取れます。A級では滑らかな全波形が維持されているのに対し、C級(60°)では鋭い針のようなパルスになっています。パルス幅が狭いほどトランジスタがオフの期間が長く、その間の電力消費がゼロであるため、効率が向上するわけです。一方で、パルスが鋭いほど元の正弦波からの歪みが大きくなることも、波形の形状から直感的に理解できます。

導通角と効率の関係

次に、導通角 $2\theta_c$ を連続的に変化させたときの効率特性を可視化します。

import numpy as np
import matplotlib.pyplot as plt

# 半導通角 theta_c を 0+ から pi まで
theta_c = np.linspace(0.01, np.pi, 500)

# 直流成分 I0 = Ip/pi * (sin(theta_c) - theta_c * cos(theta_c))
I0 = (np.sin(theta_c) - theta_c * np.cos(theta_c)) / np.pi

# 基本波成分 I1 = Ip/pi * (theta_c - sin(2*theta_c)/2)
I1 = (theta_c - np.sin(2 * theta_c) / 2) / np.pi

# 効率 eta = I1 / (2 * I0)  (Vp = VCC条件)
eta = I1 / (2 * I0)

# 導通角(度)
cond_angle_deg = 2 * np.degrees(theta_c)

fig, ax = plt.subplots(figsize=(10, 6))
ax.plot(cond_angle_deg, eta * 100, 'C0', linewidth=2)

# 特定の動作級をマーク
markers = {
    'A (360°)': (360, 50.0),
    'B (180°)': (180, 78.5),
    'AB (240°)': (240, None),
    'C (120°)': (120, None),
}

for label, (angle, expected) in markers.items():
    idx = np.argmin(np.abs(cond_angle_deg - angle))
    eff = eta[idx] * 100
    ax.plot(angle, eff, 'o', markersize=10, zorder=5)
    ax.annotate(f'{label}\n$\\eta$ = {eff:.1f}%',
                xy=(angle, eff), xytext=(angle + 15, eff + 3),
                fontsize=10, fontweight='bold',
                arrowprops=dict(arrowstyle='->', color='black', lw=1.2))

ax.set_xlabel('Conduction angle $2\\theta_c$ [deg]', fontsize=12)
ax.set_ylabel('Maximum efficiency $\\eta$ [%]', fontsize=12)
ax.set_title('Power Amplifier Efficiency vs. Conduction Angle', fontsize=13)
ax.set_xlim(0, 370)
ax.set_ylim(40, 102)
ax.grid(True, alpha=0.3)
ax.axhline(100, color='gray', linestyle='--', linewidth=0.8, label='Theoretical limit')
ax.legend(fontsize=10)
plt.tight_layout()
plt.savefig('pa_efficiency_vs_conduction.png', dpi=150, bbox_inches='tight')
plt.show()

このグラフから、効率と導通角の関係が単調減少であることが確認できます。A級(360°)で50%だった効率は、B級(180°)で78.5%まで上昇し、導通角をさらに絞るほど100%に漸近していきます。AB級(240°)は約63%の効率であり、A級とB級のちょうど中間的な性質を持つことが数値的にも裏付けられています。重要なのは、導通角を180°(B級)からさらに小さくしても効率の上昇は緩やかになる点です。120°で約88%、60°で約96%と、100%に近づくにつれ改善量は逓減します。

バックオフ時の効率比較

実用上極めて重要な「バックオフ時の効率」を各動作級で比較します。

import numpy as np
import matplotlib.pyplot as plt

# バックオフ(最大出力に対する比率)
backoff_dB = np.linspace(0, 12, 200)  # 0 ~ -12 dB
power_ratio = 10 ** (-backoff_dB / 10)  # Pout / Pout_max
voltage_ratio = np.sqrt(power_ratio)    # Vp / VCC

# A級: eta = (1/2) * (Vp/VCC)
eta_A = 0.5 * voltage_ratio

# B級: eta = (pi/4) * (Vp/VCC)
eta_B = (np.pi / 4) * voltage_ratio

# ドハティ(簡易モデル)
# 6dBバックオフ以上: キャリアのみ、負荷2Ropt => eta = (pi/4) * 2*(Vp/VCC)
# 6dBバックオフ以下: 両方動作、効率はpi/4
eta_doherty = np.zeros_like(backoff_dB)
for i, (bo, vr) in enumerate(zip(backoff_dB, voltage_ratio)):
    if bo <= 6:
        # 高出力領域: ピーキングが動作、効率維持
        eta_doherty[i] = np.pi / 4 * (1 - (1 - vr) * 0.3)  # 簡易近似
    else:
        # 低出力領域: キャリアのみ、2倍の負荷インピーダンス
        eta_doherty[i] = (np.pi / 4) * 2 * vr
        eta_doherty[i] = min(eta_doherty[i], np.pi / 4)

fig, ax = plt.subplots(figsize=(10, 6))
ax.plot(backoff_dB, eta_A * 100, 'C0', linewidth=2, label='Class A')
ax.plot(backoff_dB, eta_B * 100, 'C1', linewidth=2, label='Class B')
ax.plot(backoff_dB, eta_doherty * 100, 'C3', linewidth=2,
        linestyle='--', label='Doherty (conceptual)')

# PAPR範囲を表示
ax.axvspan(7, 12, alpha=0.1, color='red', label='Typical OFDM PAPR range')

ax.set_xlabel('Output power backoff [dB]', fontsize=12)
ax.set_ylabel('Efficiency $\\eta$ [%]', fontsize=12)
ax.set_title('Efficiency vs. Output Backoff', fontsize=13)
ax.set_xlim(0, 12)
ax.set_ylim(0, 82)
ax.invert_xaxis()
ax.grid(True, alpha=0.3)
ax.legend(fontsize=11, loc='lower left')
plt.tight_layout()
plt.savefig('pa_backoff_efficiency.png', dpi=150, bbox_inches='tight')
plt.show()

このグラフから、バックオフ時の効率特性の違いが鮮明に読み取れます。A級(青線)は最も急激に効率が低下し、6dBバックオフで約25%、10dBバックオフではわずか約16%まで落ちます。B級(オレンジ線)はA級より緩やかですが、それでも10dBバックオフでは約25%です。一方、ドハティ構成(緑破線)は6dBバックオフ付近で効率のピークを維持し、広い出力範囲で高い効率を保っています。赤い帯で示したOFDM信号の典型的なPAPR範囲(7〜12dB)において、ドハティとB級の効率差は非常に大きく、基地局設計でドハティが標準になっている理由が視覚的に理解できます。

D級PWM波形の可視化

最後に、D級増幅器のPWM変調と出力波形の復元過程を可視化します。

import numpy as np
import matplotlib.pyplot as plt
from scipy.signal import butter, filtfilt

# パラメータ
fs = 200000     # サンプリング周波数 [Hz]
f_sig = 1000    # 信号周波数 [Hz]
f_pwm = 20000   # PWM搬送波周波数 [Hz]
t = np.linspace(0, 2 / f_sig, int(fs * 2 / f_sig))  # 信号2周期分

# 入力正弦波
signal = 0.8 * np.sin(2 * np.pi * f_sig * t)

# 三角波(PWM搬送波)
triangle = 2 * np.abs(2 * (f_pwm * t % 1) - 1) - 1

# PWM出力(コンパレータ)
pwm_output = np.where(signal > triangle, 1.0, -1.0)

# ローパスフィルタでPWMを復元
fc = 3000  # カットオフ周波数 [Hz]
b, a = butter(4, fc / (fs / 2), btype='low')
recovered = filtfilt(b, a, pwm_output)

fig, axes = plt.subplots(4, 1, figsize=(12, 10), sharex=True)

# (a) 入力信号と三角波
axes[0].plot(t * 1000, signal, 'C0', linewidth=1.5, label='Input signal')
axes[0].plot(t * 1000, triangle, 'C1', linewidth=0.5, alpha=0.6, label='Triangle carrier')
axes[0].set_ylabel('Amplitude')
axes[0].set_title('(a) PWM Comparator Inputs', fontweight='bold')
axes[0].legend(loc='upper right', fontsize=9)
axes[0].set_ylim(-1.3, 1.3)
axes[0].grid(True, alpha=0.3)

# (b) PWM出力
axes[1].plot(t * 1000, pwm_output, 'C2', linewidth=0.8)
axes[1].set_ylabel('Amplitude')
axes[1].set_title('(b) PWM Output (Switching Stage)', fontweight='bold')
axes[1].set_ylim(-1.5, 1.5)
axes[1].grid(True, alpha=0.3)

# (c) フィルタ後の復元信号
axes[2].plot(t * 1000, recovered, 'C3', linewidth=1.5, label='Recovered signal')
axes[2].plot(t * 1000, signal, 'C0', linewidth=1, linestyle='--',
             alpha=0.5, label='Original signal')
axes[2].set_ylabel('Amplitude')
axes[2].set_title('(c) Recovered Signal after LC Filter', fontweight='bold')
axes[2].legend(loc='upper right', fontsize=9)
axes[2].set_ylim(-1.3, 1.3)
axes[2].grid(True, alpha=0.3)

# (d) 復元誤差
error = recovered - signal
axes[3].plot(t * 1000, error * 100, 'C4', linewidth=1)
axes[3].set_ylabel('Error [%]')
axes[3].set_xlabel('Time [ms]')
axes[3].set_title('(d) Reconstruction Error', fontweight='bold')
axes[3].grid(True, alpha=0.3)

plt.tight_layout()
plt.savefig('pa_class_d_pwm.png', dpi=150, bbox_inches='tight')
plt.show()

# THD計算
from numpy.fft import fft
N = len(recovered)
freqs = np.fft.fftfreq(N, 1/fs)
spectrum = np.abs(fft(recovered)) / N
# 基本波
idx_fund = np.argmin(np.abs(freqs - f_sig))
P_fund = spectrum[idx_fund]
# 高調波(2〜5次)
P_harm_sq = sum(spectrum[np.argmin(np.abs(freqs - k*f_sig))]**2
                for k in range(2, 6))
thd = np.sqrt(P_harm_sq) / P_fund * 100
print(f"THD (2nd-5th harmonic): {thd:.3f}%")

4つのサブプロットにより、D級増幅器の動作原理を段階的に追うことができます。(a)では入力正弦波と三角波キャリアの比較が行われ、正弦波が三角波を上回る区間でHigh、下回る区間でLowとなるPWM信号が(b)に示されています。正弦波のピーク付近ではHigh区間が長く、ゼロ交差付近ではHigh区間が短くなることが確認できます。これがまさにパルス「幅」の「変調」です。(c)ではLCフィルタ通過後の復元信号が元の信号とほぼ一致しており、(d)の誤差グラフからも数%以内に収まっていることがわかります。実際のD級アンプでは、さらに高い搬送波周波数と高次フィルタを用いることで、この誤差をさらに低減できます。

効率-出力レベル特性の総合比較

全動作級の効率を出力レベルの関数として一つのグラフにまとめます。

import numpy as np
import matplotlib.pyplot as plt

# 正規化出力レベル(最大出力に対する比率)
p_ratio = np.linspace(0.01, 1.0, 200)
v_ratio = np.sqrt(p_ratio)  # 電圧比

# 各級の効率
eta_A = 50.0 * v_ratio          # A級
eta_B = 78.5 * v_ratio          # B級
eta_AB = 63.0 * v_ratio         # AB級(近似)
# C級(120°): 最大効率 ~88%
eta_C = 88.0 * v_ratio
# D級: 効率は出力レベルにほぼ依存しない(理想的にはフラット)
eta_D = np.full_like(p_ratio, 92.0)  # 実用値として92%

fig, ax = plt.subplots(figsize=(10, 6))
ax.plot(10 * np.log10(p_ratio), eta_A, 'C0', linewidth=2, label='Class A')
ax.plot(10 * np.log10(p_ratio), eta_AB, 'C4', linewidth=2,
        linestyle='-.', label='Class AB')
ax.plot(10 * np.log10(p_ratio), eta_B, 'C1', linewidth=2, label='Class B')
ax.plot(10 * np.log10(p_ratio), eta_C, 'C2', linewidth=2,
        linestyle='--', label='Class C (120°)')
ax.plot(10 * np.log10(p_ratio), eta_D, 'C3', linewidth=2,
        linestyle=':', label='Class D (practical)')

ax.set_xlabel('Normalized output power [dB]', fontsize=12)
ax.set_ylabel('Efficiency [%]', fontsize=12)
ax.set_title('Efficiency vs. Output Level — All Classes', fontsize=13)
ax.set_xlim(-20, 0)
ax.set_ylim(0, 100)
ax.grid(True, alpha=0.3)
ax.legend(fontsize=11, loc='lower right')
plt.tight_layout()
plt.savefig('pa_efficiency_all_classes.png', dpi=150, bbox_inches='tight')
plt.show()

このグラフは各動作級の実用的な特性を一覧できる重要な図です。A級(青線)は出力レベルの低下とともに効率が急激に落ち、−10dBでわずか約16%しかありません。B級(オレンジ線)とAB級(紫線)はA級より改善されていますが、バックオフに伴う効率低下は避けられません。C級(緑破線)は最大効率が最も高いものの、バックオフ特性は同じ傾向です。対照的にD級(赤点線)は出力レベルによらずほぼ一定の効率を維持しています。これはスイッチング動作がバイアス電力に依存しないためであり、D級の大きな強みです。このような特性の違いが、用途に応じた動作級の選択を決定づけます。

これらの可視化結果を踏まえて、次に各動作級をどのような用途で選択すべきか、実践的な指針を整理します。

各動作級の選択指針

ここまでの分析を踏まえて、各動作級の適用指針をまとめます。

A級 は最も低い歪みを実現しますが、効率は50%以下です。効率よりも信号品質が最重要な用途 — 高級オーディオ機器、計測用信号源、受信機の初段低雑音増幅器(LNA)— で使われます。

B級 は効率が大きく改善されますが、クロスオーバー歪みの問題があります。純粋なB級が単独で使われることは少なく、主にAB級の基礎としての理論的意義が大きいです。

AB級 はA級の低歪みとB級の高効率を実用的にバランスさせた最も汎用的な動作級です。家庭用オーディオアンプ、カーオーディオ、通信機器の中間増幅段で広く使われています。

C級 は歪みが大きいため線形増幅には使えませんが、FM送信機やCW(連続波)送信機のように振幅情報が不要な用途では最高の効率を発揮します。同調回路との組み合わせが必須です。

D級 はスイッチング方式で理論効率100%を目指し、近年最も急速に進歩しています。小型・軽量・高効率が求められるスマートフォンのスピーカーアンプ、Bluetoothスピーカー、サブウーファー、さらにはクラスDオーディオアンプとして高級オーディオ市場にも浸透しつつあります。

用途 推奨動作級 理由
Hi-Fiオーディオ A級 / AB級 最低歪み
携帯用オーディオ D級 高効率、バッテリー長寿命
FM/CW送信機 C級 高効率、同調回路で歪み除去
4G/5G基地局 AB級 + ドハティ バックオフ効率の改善
計測用信号源 A級 超低歪み

以上の選択指針を念頭に置きつつ、本記事で扱った内容を総括します。

まとめ

本記事では、電力増幅器の各動作級(A/B/AB/C/D級)について、導通角の概念から効率の数学的導出、歪み特性、そしてドハティ増幅器によるバックオフ効率の改善まで体系的に解説しました。

  • 導通角が動作級を分類する鍵であり、導通角を小さくするほど効率は向上するが歪みが増大する
  • A級は導通角360°で最大効率50%。低歪みだが効率最低
  • B級は導通角180°で最大効率78.5%($\pi/4$)。プッシュプル構成で動作し、クロスオーバー歪みが課題
  • AB級はB級にバイアスを加えてクロスオーバー歪みを解消。効率と歪みのバランスに優れる
  • C級は導通角180°未満で理論効率100%に漸近。同調回路必須、RF送信機向け
  • D級はスイッチング方式で理論効率100%。PWM + LCフィルタで信号復元
  • ドハティ増幅器はアクティブロードモジュレーションでバックオフ効率を改善し、現代の基地局で標準

効率と歪みのトレードオフは電力増幅器設計の永遠のテーマであり、用途に応じた最適な動作級の選択が設計者に求められます。

次のステップとして、以下の記事も参考にしてください。