方向性結合器とは — 結合度・方向性の理論と設計実装

衛星送信機の出力電力を、メインの送信経路にはほとんど影響を与えずに、ほんの一部だけ取り出してパワーモニタに送りたい — そんな場面は無線工学のいたるところに現れます。アンテナへ向かう大電力の信号から、わずか 1% だけを正確に分岐して電力計に導く。しかも、アンテナから跳ね返ってくる反射波(進行方向が逆の波)は混入させたくない。こうした「進行方向を区別して、決まった割合だけ電力を分岐する」という一見わがままな要求を、受動素子だけで実現してしまうのが方向性結合器(directional coupler)です。

方向性結合器は、伝送線路を流れる電力のうち、ある方向に進む波だけを選択的に取り出します。順方向に進む波は結合ポートに現れるのに、逆方向に進む波はほとんど現れない。この「方向の選択性(方向性)」こそが、単なる電力分配器との決定的な違いです。方向性結合器を理解すると、次のような応用への見通しが一気に開けます。

  • 電力モニタとレベル制御: 送信機の出力電力を主経路を乱さずに監視し、自動レベル制御(ALC)のフィードバックを取る
  • 反射係数の測定(ネットワークアナライザ): 順方向波と反射波を別々のポートに分離して取り出すことで、VSWR や Sパラメータの測定が可能になる
  • 平衡ミキサ・移相器・バトラーマトリクス: 90度ハイブリッド(直交結合器)は、I/Q 変調器やフェーズドアレイの給電回路の基本ブロックとして使われる
  • 電力合成・分配: 複数の増幅器の出力を低損失で合成する

本記事の内容

  • 理想 4 ポート方向性結合器の動作と、結合度・方向性・アイソレーションの定義
  • 対称性とユニタリ性(無損失条件)から理想 Sマトリクスを構築する
  • 結合線路結合器を偶奇モード解析で解き、結合度 $C = 20\log\frac{Z_{0e}-Z_{0o}}{Z_{0e}+Z_{0o}}$ を導出する
  • ブランチライン結合器(90度ハイブリッド)の構造と動作原理
  • Python による Sパラメータの周波数掃引(ABCD 行列の縦続接続)と帯域特性の検証

前提知識

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

特に、入射波・反射波の振幅 $a_i, b_i$ で回路を記述する Sパラメータの考え方と、伝送線路の電気長 $\beta\ell$ がここでの議論の土台になります。

方向性結合器とは

4 つのポートと「方向の区別」

方向性結合器は 4 つのポートを持つ回路です。まず日常的なイメージから入りましょう。高速道路を走る車の流れを想像してください。本線(メインライン)を東向きに走る車だけを、本線の流れをほとんど妨げずに監視カメラで数えたいとします。西向きに走る車は数えたくありません。方向性結合器がやっているのは、まさにこれと同じこと — 「進行方向で波を選り分けて、一部だけを抜き取る」操作です。

具体的には、4 つのポートを次のように呼びます。

  • ポート 1(入力ポート, Input): ここに電力を入れる
  • ポート 2(通過ポート, Through): 入力電力の大部分がそのまま通り抜ける
  • ポート 3(結合ポート, Coupled): 入力電力のうち、決まった割合だけがここに現れる
  • ポート 4(アイソレーションポート, Isolated): 理想的にはここには何も現れない

ポート 1 に入れた波は、ポート 2 とポート 3 に分かれて出ていきますが、ポート 4 には出てきません。逆に、ポート 2 から逆向きに入れた波は、ポート 1 とポート 4 に分かれ、ポート 3 には出てきません。つまり、結合ポート 3 に現れるのは「ポート 1 → ポート 2 の方向に進む波」だけであり、これが「方向性」の正体です。

3 つの性能指標

方向性結合器の性能は、主に 3 つの量で評価されます。いずれも Sパラメータ(散乱パラメータ)の大きさをデシベルで表したものです。

1 つ目は結合度(coupling)$C$ です。これは入力ポート 1 のパワーに対して、結合ポート 3 にどれだけのパワーが取り出されるかを表します。

$$ C = -20\log_{10}|S_{31}| \quad [\text{dB}] $$

たとえば「10 dB カプラ」なら、入力電力の $10^{-10/10} = 0.1$ すなわち 10% が結合ポートに出てきます。「20 dB カプラ」なら 1% です。$C$ が大きいほど結合は弱く(取り出す割合が小さく)なることに注意してください。先頭のマイナス符号は、$|S_{31}| < 1$ で $\log$ が負になるのを反転させ、$C$ を正の値として表すための約束です。

2 つ目は方向性(directivity)$D$ です。これは結合器の「方向を区別する能力」そのものを表す、最も本質的な指標です。

$$ D = 20\log_{10}\frac{|S_{31}|}{|S_{41}|} \quad [\text{dB}] $$

理想的にはアイソレーションポート 4 には何も出ないので $|S_{41}| = 0$、したがって $D = \infty$ です。現実の結合器では $|S_{41}|$ がわずかに残るため $D$ は有限値(良い設計で 30〜40 dB 程度)になります。$D$ が大きいほど、望ましい結合波と望ましくない漏れ波の比が大きく、方向の選択性が鋭いことを意味します。

3 つ目はアイソレーション(isolation)$I$ です。入力ポート 1 とアイソレーションポート 4 の間の遮断量を表します。

$$ I = -20\log_{10}|S_{41}| \quad [\text{dB}] $$

これら 3 つの量の間には、定義から直ちに次の美しい関係が成り立ちます。

$$ I = D + C $$

実際、$I = -20\log|S_{41}|$、$C = -20\log|S_{31}|$、$D = 20\log(|S_{31}|/|S_{41}|) = -20\log|S_{41}| + 20\log|S_{31}|$ なので、$D + C = -20\log|S_{41}| = I$ となり確かに一致します。この関係は、3 つの指標のうち 2 つを測れば残り 1 つが決まることを意味し、測定や設計の検算に便利です。

方向性結合器が「何をする素子か」「どう評価するか」がわかりました。では、これらの性質を満たす Sマトリクスは具体的にどんな形をしているのでしょうか。次に、対称性と無損失の条件だけから理想 Sマトリクスを組み立ててみましょう。

理想 Sマトリクスの構築

出発点 — 整合・相反・無損失の仮定

理想的な方向性結合器に課す条件を整理します。これらは物理的に自然な要請であり、これだけから Sマトリクスの形がほぼ一意に決まってしまうのが面白いところです。

  1. 全ポート整合(matched): どのポートから見ても反射がない。すなわち対角成分 $S_{11} = S_{22} = S_{33} = S_{44} = 0$。
  2. 相反(reciprocal): 受動素子なので $S_{ij} = S_{ji}$。行列は対称。
  3. 方向性(理想): 入力 1 とアイソレーション 4 が完全に分離され、通過 2 と結合 3 が分離される。すなわち $S_{14} = S_{41} = 0$、$S_{23} = S_{32} = 0$。
  4. 無損失(lossless): 内部で電力が消費されない。これは Sマトリクスがユニタリであること、すなわち $\bm{S}^\dagger \bm{S} = \bm{I}$($\dagger$ は共役転置)と等価です。

条件 1〜3 を使うと、$4\times4$ の Sマトリクスは次のように、4 つの非ゼロ要素だけを残した形になります。

$$ \bm{S} = \begin{pmatrix} 0 & S_{12} & S_{13} & 0 \\ S_{12} & 0 & 0 & S_{24} \\ S_{13} & 0 & 0 & S_{34} \\ 0 & S_{24} & S_{34} & 0 \end{pmatrix} $$

ここで相反性 $S_{ij}=S_{ji}$ をすでに使い、独立な要素を $S_{12}, S_{13}, S_{24}, S_{34}$ の 4 つに絞りました。$S_{12}$ は入力から通過への伝達、$S_{13}$ は入力から結合への伝達、$S_{34}$ はポート 3 とポート 4 の間(ポート 4 を入力とみたときの通過に相当)、$S_{24}$ はポート 2 とポート 4 の間(結合に相当)です。

ユニタリ条件から要素を絞る

無損失条件 $\bm{S}^\dagger\bm{S}=\bm{I}$ を成分で書き下します。これは「Sマトリクスの異なる 2 つの列ベクトルが互いに直交し、各列の大きさが 1 になる」という条件と同じです。まず、第 1 列と第 1 列の内積(ノルムが 1)から、

$$ |S_{12}|^2 + |S_{13}|^2 = 1 $$

が得られます。入力電力がすべて通過ポートと結合ポートに分配される、という直感そのものです。同様に各列のノルム条件から、

$$ |S_{12}|^2 + |S_{24}|^2 = 1, \quad |S_{13}|^2 + |S_{34}|^2 = 1, \quad |S_{24}|^2 + |S_{34}|^2 = 1 $$

が出てきます。次に、列同士の直交条件が要素間の位相を縛ります。第 1 列と第 4 列の内積(ともにゼロでなければならない)を計算すると、第 1 列は $(0, S_{12}, S_{13}, 0)^\top$、第 4 列は $(0, S_{24}, S_{34}, 0)^\top$ なので、

$$ S_{12}^* S_{24} + S_{13}^* S_{34} = 0 $$

が得られます。

これらの式を連立して解いていきます。まず最初の 4 つのノルム条件を見比べると、$|S_{12}|^2 + |S_{13}|^2 = 1$ と $|S_{13}|^2 + |S_{34}|^2 = 1$ から、

$$ |S_{12}| = |S_{34}| $$

が従います。同様に $|S_{12}|^2 + |S_{24}|^2 = 1$ と $|S_{24}|^2 + |S_{34}|^2 = 1$ から $|S_{12}| = |S_{34}|$ が再確認され、さらに $|S_{13}| = |S_{24}|$ も導かれます。つまり、対角線上で向かい合う 2 組の伝達係数は、それぞれ同じ大きさを持つことがわかりました。

位相の選び方と標準形

ここまでで大きさは決まりました。残るは位相です。位相の基準(各ポートの参照面の位置)には任意性があるので、都合よく選ぶことができます。慣習として、$S_{12} = S_{34} = \alpha$(実数、通過の伝達)とおきます。すると直交条件 $S_{12}^* S_{24} + S_{13}^* S_{34} = 0$ は $\alpha S_{24} + S_{13}^* \alpha = 0$、すなわち $S_{24} = -S_{13}^*$ となります。

ここで結合の大きさを $|S_{13}| = \beta$ と書き、$S_{13} = \beta e^{j\theta}$ の位相 $\theta$ をどう取るかで、2 つの代表的な「型」が生まれます。

(a) 対称結合器(symmetrical coupler): $\theta = \pi/2$ を選び、$S_{13} = S_{24} = j\beta$ とする型です。このとき Sマトリクスは

$$ \bm{S} = \begin{pmatrix} 0 & \alpha & j\beta & 0 \\ \alpha & 0 & 0 & j\beta \\ j\beta & 0 & 0 & \alpha \\ 0 & j\beta & \alpha & 0 \end{pmatrix}, \quad \alpha^2 + \beta^2 = 1 $$

通過波と結合波の間にちょうど 90度の位相差($j = e^{j\pi/2}$)が生じます。これが90度ハイブリッド(直交ハイブリッド)の標準形です。

(b) 反対称結合器(antisymmetrical coupler): $\theta = 0$ を選び $S_{13} = \beta$、$S_{24} = -\beta$ とする型で、結合線路結合器がこれに近い形になります。

いずれの型でも、本質は同じです。$\alpha^2 + \beta^2 = 1$ が無損失条件であり、$\beta = |S_{31}|$ が結合度を決めます。とりわけ $\alpha = \beta = 1/\sqrt{2}$ のとき、入力電力が通過と結合に半分ずつ($-3$ dB ずつ)分かれる 3 dB ハイブリッド になります。

理想 Sマトリクスの形が、整合・相反・無損失というごく少数の物理条件だけから決まってしまいました。では、この理想を実際の伝送線路でどう作るのでしょうか。次に、2 本の線路を近づけて電磁的に結合させる「結合線路結合器」を、偶奇モード解析で解いていきます。

結合線路結合器の偶奇モード解析

なぜ偶奇モードを使うのか

2 本の伝送線路を平行に近づけると、互いの電磁界が結合します。一方の線路を進む波が、もう一方の線路に電力を「漏らす」のです。これが結合線路結合器の物理です。問題は、2 本が結合した系をどう解析するか。2 本の線路には相互インダクタンスと相互キャパシタンスが効くため、まともに連立方程式を立てると煩雑になります。

ここで強力な道具が偶奇モード解析(even-odd mode analysis)です。アイデアは、回路の対称性を利用して、任意の励振を「対称な励振(偶モード)」と「反対称な励振(奇モード)」の重ね合わせに分解することです。各モードでは 2 本の線路が独立に扱えるため、結合した系が 2 つの単純な単線路問題に分解されます。

具体的には、対称な構造の 2 本の線路に対し、

  • 偶モード(even mode): 両方の線路を同じ振幅・同符号の電圧で励振する。対称面(2 本の中間の面)には電流が流れず、磁気壁(開放)として振る舞う。このときの線路の特性インピーダンスを $Z_{0e}$(偶モード特性インピーダンス)と呼ぶ。
  • 奇モード(odd mode): 両方の線路を同じ振幅・逆符号の電圧で励振する。対称面は電位ゼロとなり、電気壁(短絡)として振る舞う。このときの特性インピーダンスを $Z_{0o}$(奇モード特性インピーダンス)と呼ぶ。

2 本の線路が近いほど結合が強く、$Z_{0e}$ と $Z_{0o}$ の差が大きくなります。逆に十分離れていれば $Z_{0e} \approx Z_{0o}$ となり、結合は消えます。この 2 つのインピーダンスの差こそが結合度を決める、というのがこれから導く結論です。

励振の分解

ポート 1 に電圧 $V$ を入力し、他のポートを特性インピーダンス $Z_0$ で終端した状況を考えます。結合線路は左端にポート 1(線路 a の入力)とポート 4(線路 b の入力)、右端にポート 2(線路 a の出力)とポート 3(線路 b の出力)を持つ 4 ポートです。

ポート 1 のみへの入力 $(V_1, V_4) = (V, 0)$ は、次のように偶モード励振と奇モード励振の和として表せます。

$$ (V_1, V_4) = (V, 0) = \underbrace{\left(\tfrac{V}{2}, \tfrac{V}{2}\right)}_{\text{偶モード}} + \underbrace{\left(\tfrac{V}{2}, -\tfrac{V}{2}\right)}_{\text{奇モード}} $$

偶モードでは線路 a と b が同電位 $V/2$ で励振され、奇モードでは $+V/2$ と $-V/2$ で励振されます。各モードは独立に伝搬し、最後に重ね合わせれば元の問題の答えが得られます。

各モードの入力インピーダンスと反射係数

各モードでは、線路は特性インピーダンス $Z_{0e}$ または $Z_{0o}$、電気長 $\theta = \beta\ell$ の単線路として扱え、終端は $Z_0$ です。終端 $Z_0$ を電気長 $\theta$ の線路で見たときの入力インピーダンスは、伝送線路の標準公式から、偶モードについて

$$ Z_{\text{in}}^{e} = Z_{0e}\frac{Z_0 + jZ_{0e}\tan\theta}{Z_{0e} + jZ_0\tan\theta} $$

奇モードについても同じ形で $Z_{0e} \to Z_{0o}$ と置き換えた式になります。入力端での反射係数は $\Gamma = (Z_{\text{in}} – Z_0)/(Z_{\text{in}} + Z_0)$ で与えられます。

ここで設計上の重要な選択をします。$Z_0 = \sqrt{Z_{0e}Z_{0o}}$ となるように線路を設計するのです。この条件は、入力ポートでの整合($S_{11}=0$)を保証する魔法の関係で、後で確かめます。この条件を課すと、計算が劇的に簡単になります。

結合ポート電圧の導出

詳細な伝送線路計算(各モードの反射・透過を重ね合わせる)を実行すると、整合条件 $Z_0 = \sqrt{Z_{0e}Z_{0o}}$ のもとで、結合ポート 3 の電圧比(すなわち $S_{31}$)は次の形にまとまります。

$$ S_{31} = \frac{V_3}{V} = \frac{jC\tan\theta}{\sqrt{1 – C^2} + j\tan\theta} $$

ここで $C$ は次式で定義される定数です。

$$ C = \frac{Z_{0e} – Z_{0o}}{Z_{0e} + Z_{0o}} $$

この $C$ は「電圧結合係数」と呼ばれる量で、$0 \le C \le 1$ の範囲を取ります。$Z_{0e} = Z_{0o}$(結合なし)のとき $C = 0$、結合が強くなるほど $C$ が 1 に近づきます。

同様に、通過ポート 2 の電圧比 $S_{21}$ は次のようになります。

$$ S_{21} = \frac{\sqrt{1 – C^2}}{\sqrt{1 – C^2}\cos\theta + j\sin\theta} $$

そして、整合条件 $Z_0 = \sqrt{Z_{0e}Z_{0o}}$ のもとでは、入力ポートの反射 $S_{11}$ とアイソレーションポートへの漏れ $S_{41}$ がともに厳密にゼロになります。これは偶奇モードの反射係数が対称面の効果で相殺するためで、まさに「方向性無限大」の理想結合器が(理論上は)実現していることを意味します。

中心周波数での結合度

結合線路の長さは、中心周波数 $f_0$ で電気長が4分の1波長、すなわち $\theta = \beta\ell = \pi/2$ になるように設計します。なぜ 4 分の 1 波長なのかは、$S_{31}$ の式に $\theta = \pi/2$ を代入するとはっきりします。$\tan\theta \to \infty$ となるので、$S_{31}$ の式の分母分子を $\tan\theta$ で割って極限を取ると、

$$ S_{31}\big|_{\theta=\pi/2} = \frac{jC\tan\theta}{\sqrt{1-C^2} + j\tan\theta} \xrightarrow{\tan\theta\to\infty} \frac{jC}{j} = C $$

となり、結合が最大になります。このとき通過ポートは $S_{21}|_{\theta=\pi/2} = \sqrt{1-C^2}/(j) $ の大きさ、すなわち $|S_{21}| = \sqrt{1-C^2}$ です。電力で見ると $|S_{31}|^2 + |S_{21}|^2 = C^2 + (1-C^2) = 1$ となり、無損失条件もきちんと満たされています。

したがって、中心周波数における結合度は

$$ \boxed{C\,[\text{dB}] = -20\log_{10}|S_{31}| = -20\log_{10}C = -20\log_{10}\frac{Z_{0e}-Z_{0o}}{Z_{0e}+Z_{0o}}} $$

と求まります(記号の $C$ が「電圧結合係数」と「dB 結合度」の両方に使われ紛らわしいですが、文脈で区別してください。dB 値には $[\text{dB}]$ を付けます)。

設計式 — 結合度から線路インピーダンスへ

実際の設計では、欲しい結合度(dB 値)から逆算して $Z_{0e}$ と $Z_{0o}$ を決めます。dB 結合度から電圧結合係数 $C = 10^{-C[\text{dB}]/20}$ を求め、整合条件 $Z_{0e}Z_{0o} = Z_0^2$ と $C = (Z_{0e}-Z_{0o})/(Z_{0e}+Z_{0o})$ を連立します。この 2 式を $Z_{0e}, Z_{0o}$ について解くと、

$$ Z_{0e} = Z_0\sqrt{\frac{1+C}{1-C}}, \qquad Z_{0o} = Z_0\sqrt{\frac{1-C}{1+C}} $$

が得られます。確かに $Z_{0e}Z_{0o} = Z_0^2$ と $(Z_{0e}-Z_{0o})/(Z_{0e}+Z_{0o}) = C$ を両方満たしていることが、代入すれば確認できます。たとえば $50\,\Omega$ 系で 10 dB カプラ($C = 10^{-10/20} = 0.316$)を作るなら、$Z_{0e} \approx 50\sqrt{1.316/0.684} \approx 69.4\,\Omega$、$Z_{0o} \approx 50\sqrt{0.684/1.316} \approx 36.0\,\Omega$ です。

結合線路結合器の結合度が、線路を近づけて生まれる偶奇モードインピーダンスの差だけで決まることがわかりました。ここまでは「結合の強さ」に注目しましたが、もう一つの代表的な結合器であるブランチライン結合器は、3 dB の等分配と 90度位相差を狙う点で性格が異なります。次にこちらを解析します。

ブランチライン結合器(90度ハイブリッド)

構造と直感

ブランチライン結合器は、4 本の 4 分の 1 波長線路をリング状(正方形)につないだ、非常に作りやすい平面回路です。4 つの角がポート 1〜4 になります。上下の 2 辺(主線路, シリーズ枝)と左右の 2 辺(分岐線路, シャント枝)で、特性インピーダンスを変えてあるのがミソです。

直感的には、ポート 1 に入った波が時計回りと反時計回りの 2 経路でポート 4 に到達し、その 2 経路の位相差がちょうど 180度になるように線路長を選びます。すると 2 つの波がポート 4 で打ち消し合い、ここがアイソレーションポートになります。一方、ポート 2 と 3 では波が強め合い、しかも経路差から 90度の位相差を持って出力されます。これが「90度ハイブリッド」の名前の由来です。

3 dB ハイブリッドとして等分配(各 $-3$ dB)するには、シリーズ枝(ポート 1-2 間など)の特性インピーダンスを $Z_0/\sqrt{2}$、シャント枝(ポート 1-4 間など)の特性インピーダンスを $Z_0$ に選びます。$50\,\Omega$ 系なら、シリーズ枝は約 $35.4\,\Omega$、シャント枝は $50\,\Omega$ です。

理想動作の Sパラメータ

中心周波数(各枝が 4 分の 1 波長)におけるブランチライン結合器の理想 Sマトリクスは、偶奇モード解析で求めることができ、結果は

$$ \bm{S} = -\frac{1}{\sqrt{2}} \begin{pmatrix} 0 & j & 1 & 0 \\ j & 0 & 0 & 1 \\ 1 & 0 & 0 & j \\ 0 & 1 & j & 0 \end{pmatrix} $$

となります。ポート 1 を入力とすると、ポート 2(通過)には $-j/\sqrt{2}$、ポート 3(結合)には $-1/\sqrt{2}$ が現れ、両者の大きさは等しく(ともに $1/\sqrt{2}$、$-3$ dB)、位相差は $90$度です。ポート 4 への成分はゼロ、すなわち完全にアイソレートされています。

ブランチライン結合器の理想動作が見えました。しかしこれはあくまで中心周波数での話です。周波数が中心からずれると各枝の電気長が $\pi/2$ からずれ、特性が劣化します。この「帯域」の振る舞いこそ実用上の関心事です。理想式だけでは見えないこの周波数依存性を、Python で ABCD 行列を使って計算しましょう。

Python による Sパラメータの周波数掃引

解析の方針 — ABCD 行列の縦続接続

回路を周波数掃引で解析する常套手段が ABCD 行列(伝送行列) です。1 つの 2 ポート回路素子の入出力電圧・電流を

$$ \begin{pmatrix} V_1 \\ I_1 \end{pmatrix} = \begin{pmatrix} A & B \\ C & D \end{pmatrix} \begin{pmatrix} V_2 \\ I_2 \end{pmatrix} $$

で結ぶのが ABCD 行列です。最大の利点は、素子を縦続接続(カスケード)したとき、全体の ABCD 行列が各素子の行列の積になることです。電気長 $\theta=\beta\ell$、特性インピーダンス $Z_c$ の伝送線路の ABCD 行列は

$$ \begin{pmatrix} \cos\theta & jZ_c\sin\theta \\ \dfrac{j}{Z_c}\sin\theta & \cos\theta \end{pmatrix} $$

であり、並列に入る素子(アドミタンス $Y$ のシャント枝)は $\begin{pmatrix}1 & 0\\ Y & 1\end{pmatrix}$ です。これらを使えば任意の回路を組み立てられます。

ただしブランチライン結合器は 4 ポート回路で、ABCD 行列(2 ポート用)を直接は使えません。そこで、その対称性を利用した偶奇モード分解を行います。ポート 1・4 を偶励振/奇励振したとき、対称面が開放(偶)または短絡(奇)になることで、4 ポート問題が 2 つの 2 ポート(実質は 1 ポート反射)問題に分解されます。各モードの反射係数 $\Gamma_e, \Gamma_o$ と透過係数 $T_e, T_o$ から、元の Sパラメータが

$$ S_{11} = \tfrac{1}{2}(\Gamma_e + \Gamma_o), \quad S_{21} = \tfrac{1}{2}(T_e + T_o), \quad S_{31} = \tfrac{1}{2}(T_e – T_o), \quad S_{41} = \tfrac{1}{2}(\Gamma_e – \Gamma_o) $$

と組み上がります。この関係は、励振の分解 $(1,0)=\tfrac12(1,1)+\tfrac12(1,-1)$ を出力側に持ち越したものです。それでは、各モードの片側半回路を ABCD 行列で記述し、反射・透過係数を計算する関数を作ります。

import numpy as np
import matplotlib.pyplot as plt

Z0 = 50.0            # 系の基準インピーダンス [Ω]
Zs = Z0 / np.sqrt(2) # シリーズ枝(主線路)の特性インピーダンス ≈35.4Ω
Zp = Z0              # シャント枝(分岐線路)の特性インピーダンス =50Ω

def tline_abcd(Zc, theta):
    """電気長 theta、特性インピーダンス Zc の伝送線路の ABCD 行列"""
    A = np.cos(theta)
    B = 1j * Zc * np.sin(theta)
    C = 1j * np.sin(theta) / Zc
    D = np.cos(theta)
    return np.array([[A, B], [C, D]], dtype=complex)

def shunt_stub_Y(Zc, theta, wall):
    """半回路のシャント枝アドミタンス。
    wall='open'(偶モード) なら開放終端スタブ、
    wall='short'(奇モード) なら短絡終端スタブ。
    枝の長さは中心で半分(theta/2)になる。"""
    if wall == 'open':
        # 開放スタブの入力アドミタンス Y = j*tan(theta)/Zc
        return 1j * np.tan(theta) / Zc
    else:
        # 短絡スタブの入力アドミタンス Y = -j/(Zc*tan(theta))
        return -1j / (Zc * np.tan(theta))

上のコードでは、伝送線路と終端スタブという 2 種類の素子の ABCD/アドミタンスを用意しました。偶モードでは対称面が開放(磁気壁)になるため分岐枝は半分の長さの開放スタブ、奇モードでは短絡(電気壁)になるため短絡スタブとして効きます。この「対称面の境界条件の違い」が偶奇モードで結果を分ける唯一の要因です。

半回路の合成と Sパラメータ計算

次に、各モードの半回路(入口のシャント枝 → 主線路 → 出口のシャント枝)の ABCD 行列を組み、反射係数と透過係数を求めます。ここで半回路の主線路長は元の 4 分の 1 波長のままですが、両端のシャント枝は対称面で 2 分割されるため半分の長さで扱う点に注意します。

def coupler_S_at(theta):
    """電気長 theta(中心周波数で π/2)におけるブランチライン結合器の
    S11, S21, S31, S41 を偶奇モード分解で計算する"""
    results = {}
    for wall in ['open', 'short']:
        # 入口・出口のシャント枝(長さ半分 = theta/2)
        Yst = shunt_stub_Y(Zp, theta / 2, wall)
        M_shunt = np.array([[1, 0], [Yst, 1]], dtype=complex)
        # 主線路(シリーズ枝, 長さ theta)
        M_line = tline_abcd(Zs, theta)
        # 縦続接続: シャント → 主線路 → シャント
        M = M_shunt @ M_line @ M_shunt
        A, B, C, D = M[0, 0], M[0, 1], M[1, 0], M[1, 1]
        # ABCD から S パラメータ(同一基準 Z0)への変換
        denom = A + B / Z0 + C * Z0 + D
        Gamma = (A + B / Z0 - C * Z0 - D) / denom  # 反射係数
        T = 2 / denom                              # 透過係数
        results[wall] = (Gamma, T)
    Ge, Te = results['open']    # 偶モード
    Go, To = results['short']   # 奇モード
    S11 = 0.5 * (Ge + Go)
    S21 = 0.5 * (Te + To)
    S31 = 0.5 * (Te - To)
    S41 = 0.5 * (Ge - Go)
    return S11, S21, S31, S41

このコードは、偶モード(開放壁)と奇モード(短絡壁)それぞれの半回路を ABCD 行列の積で合成し、標準的な ABCD→S 変換式で反射・透過係数に直したうえで、4 つの S パラメータに組み上げています。中心周波数 theta = π/2 での出力を確認してみましょう。

S11, S21, S31, S41 = coupler_S_at(np.pi / 2)
print(f"中心周波数 (θ=90°):")
print(f"  |S11| = {abs(S11):.4f}  (入力反射)")
print(f"  |S21| = {abs(S21):.4f}  (通過),  ∠S21 = {np.degrees(np.angle(S21)):.1f}°")
print(f"  |S31| = {abs(S31):.4f}  (結合),  ∠S31 = {np.degrees(np.angle(S31)):.1f}°")
print(f"  |S41| = {abs(S41):.4f}  (アイソレーション)")
print(f"  位相差 ∠S21 - ∠S31 = {np.degrees(np.angle(S21) - np.angle(S31)):.1f}°")

実行すると、$|S_{21}| \approx |S_{31}| \approx 0.707$($-3$ dB)、$|S_{11}| \approx |S_{41}| \approx 0$、そして $\angle S_{21} – \angle S_{31} \approx 90°$ が得られます。これは前節で理論的に求めた理想 Sマトリクス(通過と結合が等分配、位相差 90度、入力反射とアイソレーションがゼロ)と完全に一致しており、ABCD 行列による数値モデルが正しいことの裏付けになります。

周波数掃引と帯域特性

中心周波数では理想通りですが、実用上知りたいのは「どれくらいの帯域でこの性能が保たれるか」です。周波数を $f/f_0$ で掃引し、各 S パラメータの大きさ(dB)と位相差をプロットします。電気長は周波数に比例するので $\theta = (\pi/2)(f/f_0)$ とします。

f_ratio = np.linspace(0.5, 1.5, 401)   # f/f0 を 0.5〜1.5 で掃引
theta_arr = (np.pi / 2) * f_ratio       # 電気長は周波数に比例

S11s, S21s, S31s, S41s, phase_diff = [], [], [], [], []
for th in theta_arr:
    s11, s21, s31, s41 = coupler_S_at(th)
    S11s.append(abs(s11)); S21s.append(abs(s21))
    S31s.append(abs(s31)); S41s.append(abs(s41))
    phase_diff.append(np.degrees(np.angle(s21) - np.angle(s31)))

def to_dB(x):
    x = np.array(x)
    return 20 * np.log10(np.maximum(x, 1e-6))  # 0割回避

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(13, 5))
ax1.plot(f_ratio, to_dB(S21s), label='|S21| Through', lw=2)
ax1.plot(f_ratio, to_dB(S31s), label='|S31| Coupled', lw=2)
ax1.plot(f_ratio, to_dB(S11s), label='|S11| Return', lw=2, ls='--')
ax1.plot(f_ratio, to_dB(S41s), label='|S41| Isolation', lw=2, ls='--')
ax1.axhline(-3, color='gray', ls=':', lw=1)
ax1.set_xlabel('f / f0'); ax1.set_ylabel('Magnitude [dB]')
ax1.set_ylim(-40, 2); ax1.set_title('Branch-line Coupler S-parameters')
ax1.legend(); ax1.grid(alpha=0.3)

ax2.plot(f_ratio, phase_diff, color='crimson', lw=2)
ax2.axhline(90, color='gray', ls=':', lw=1)
ax2.set_xlabel('f / f0'); ax2.set_ylabel('∠S21 - ∠S31 [deg]')
ax2.set_title('Phase Difference (Through - Coupled)')
ax2.grid(alpha=0.3)
plt.tight_layout()
plt.savefig('branchline_sparams.png', dpi=150, bbox_inches='tight')
plt.show()

左のグラフからは、ブランチライン結合器の帯域特性がよく読み取れます。第 1 に、中心周波数 $f/f_0 = 1$ では $|S_{21}|$ と $|S_{31}|$ がともに $-3$ dB の線上で交差し、ちょうど等分配になっています。第 2 に、$|S_{11}|$(入力反射)と $|S_{41}|$(アイソレーション)は中心で深い谷(理論上は $-\infty$ dB)を作り、ここで反射ゼロ・完全アイソレーションが実現していることがわかります。第 3 に、中心から離れると通過と結合のバランスが崩れ、同時に $|S_{11}|, |S_{41}|$ が浅くなります。実用的な帯域($|S_{11}|, |S_{41}|$ がともに $-20$ dB 以下に収まる範囲)はおよそ $f/f_0 = 0.9$〜$1.1$ 程度の 10〜20% 程度の狭い帯域であり、これがブランチライン結合器の弱点として知られています。

右のグラフからは、通過波と結合波の位相差が掃引帯域の全域でほぼ厳密に 90度を保っていることが読み取れます。これは非常に重要な性質で、振幅バランスは周波数とともに崩れても、90度の位相差だけは広帯域で維持されます。この「位相は安定、振幅は中心でベスト」という特性が、I/Q 変調器や平衡増幅器でブランチライン結合器が重宝される理由です。

結合線路結合器の結合度を検証する

最後に、前半で導出した結合線路結合器の公式 $C[\text{dB}] = -20\log_{10}\frac{Z_{0e}-Z_{0o}}{Z_{0e}+Z_{0o}}$ が、周波数掃引した $S_{31}$ の振る舞いと整合するかを確認します。$S_{31}$ と $S_{21}$ の閉形式に電気長 $\theta$ を入れてプロットします。

import numpy as np
import matplotlib.pyplot as plt

Z0 = 50.0
target_dB = 10.0                       # 設計結合度 10 dB
C = 10 ** (-target_dB / 20)            # 電圧結合係数
Z0e = Z0 * np.sqrt((1 + C) / (1 - C))  # 偶モード特性インピーダンス
Z0o = Z0 * np.sqrt((1 - C) / (1 + C))  # 奇モード特性インピーダンス
print(f"C = {C:.4f}, Z0e = {Z0e:.2f}Ω, Z0o = {Z0o:.2f}Ω")

f_ratio = np.linspace(0, 2, 401)
theta = (np.pi / 2) * f_ratio          # 中心で θ=π/2

# 結合線路結合器の閉形式(整合条件下)
num31 = 1j * C * np.tan(theta)
den   = np.sqrt(1 - C**2) + 1j * np.tan(theta)
S31 = num31 / den
S21 = np.sqrt(1 - C**2) / (np.sqrt(1 - C**2) * np.cos(theta) + 1j * np.sin(theta))

plt.figure(figsize=(9, 5))
plt.plot(f_ratio, 20*np.log10(np.abs(S31) + 1e-9), label='|S31| Coupled', lw=2)
plt.plot(f_ratio, 20*np.log10(np.abs(S21) + 1e-9), label='|S21| Through', lw=2)
plt.axhline(-target_dB, color='gray', ls=':', label=f'-{target_dB:.0f} dB design')
plt.xlabel('f / f0'); plt.ylabel('Magnitude [dB]')
plt.title('Coupled-line Coupler (10 dB design)')
plt.ylim(-40, 2); plt.legend(); plt.grid(alpha=0.3)
plt.tight_layout()
plt.savefig('coupledline_coupling.png', dpi=150, bbox_inches='tight')
plt.show()

このグラフから、中心周波数 $f/f_0 = 1$($\theta = \pi/2$)でちょうど $|S_{31}| = -10$ dB の設計線に達していることが確認できます。これは導出した公式 $C[\text{dB}] = -20\log_{10}C$ と一致しており、計算した $Z_{0e} \approx 69.4\,\Omega$、$Z_{0o} \approx 36.0\,\Omega$ がその結合度を正しく実現していることを示します。さらに、結合 $|S_{31}|$ が中心周波数を頂点とした緩やかな山型で、$f/f_0 = 0.7$〜$1.3$ 程度の比較的広い帯域で結合度がほぼ平坦に保たれているのが読み取れます。ブランチライン結合器(左図の鋭い谷)と比べると、結合線路結合器は弱結合(大きな dB 値)の用途で広帯域な電力モニタに向いていることがわかります。一方の通過 $|S_{21}|$ は中心で最小(結合に電力を取られるため)になりますが、10 dB 結合では取られる電力が 10% にすぎないので、通過損失は約 $0.46$ dB と小さく保たれています。

3 つのグラフを通じて、理想 Sマトリクスの理論値、偶奇モード解析の閉形式、そして ABCD 行列による数値計算という 3 つの異なるアプローチが、互いに矛盾なく同じ物理を描いていることが確認できました。

まとめ

本記事では、方向性結合器の理論と設計を、Sパラメータの定義から偶奇モード解析、そして Python による周波数掃引まで一貫して解説しました。

  • 3 つの性能指標: 結合度 $C = -20\log|S_{31}|$、方向性 $D = 20\log(|S_{31}|/|S_{41}|)$、アイソレーション $I = -20\log|S_{41}|$ を定義し、$I = D + C$ の関係を導きました。方向性こそが結合器の本質です。
  • 理想 Sマトリクスの構築: 全ポート整合・相反・無損失(ユニタリ)という少数の条件だけから、$\alpha^2 + \beta^2 = 1$ を満たす 90度ハイブリッド型の Sマトリクスが一意に決まることを示しました。
  • 偶奇モード解析: 結合線路結合器を偶モード・奇モードに分解し、整合条件 $Z_0 = \sqrt{Z_{0e}Z_{0o}}$ のもとで結合度 $C = (Z_{0e}-Z_{0o})/(Z_{0e}+Z_{0o})$ を導出。設計式 $Z_{0e} = Z_0\sqrt{(1+C)/(1-C)}$ も得ました。
  • Python 検証: ブランチライン結合器を ABCD 行列の縦続接続で周波数掃引し、中心周波数での 3 dB 等分配・90度位相差・完全アイソレーションを確認。位相差は広帯域で安定するが振幅バランスの帯域は狭いこと、結合線路結合器の結合度が設計値と一致することを可視化しました。

方向性結合器は、ネットワークアナライザの心臓部であり、フェーズドアレイの給電網(バトラーマトリクス)や平衡増幅器の構成要素でもあります。ここで学んだ偶奇モード解析と ABCD 行列の手法は、フィルタ・整合回路・電力分配器など、あらゆるマイクロ波受動回路の設計に共通して使える強力な道具です。

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