共振回路のQ値(Quality factor)を抽出するユーザー定義関数を紹介します.共振回路の等価キャパシタンス,等価インダクタンスを抽出する関数も合わせて紹介します.この方法はSonnetの解析結果だけでなく測定結果や公開されているSパラメータ(s2pファイル)にも適用できます.Q値はヴィアや線路など低損失な系の評価,アンテナの放射損失など多くの重要な概念に応用できます.
応用例 : アンテナの放射効率の算出
ソネット入門に掲載されている逆Fアンテナのモデルを例に,この関数を使ってアンテナの放射効率を算出してみました.
- ソネット入門に掲載されている逆Fアンテナのモデルをグラフに表示してQuality factorを求めます.
- モデルを別の名前に保存して,導体を無損失の理想導体に,基板のtandを0にして解析し,Quality factorを求めます.
- 上の2つのQの比からアンテナの放射効率を求めます.
アンテナから送信する場合を考えると,アンテナに注入されたエネルギーの一部はアンテナ内部でおそらくは熱になり,残りが空間に放射されます.注入されたエネルギーと空間に放射されるエネルギーの比がアンテナの放射効率\(\eta\)です.これをQで表現すると
\(\eta=\frac{Q_t}{Q_r}\)
\(\frac{1}{Q_t}=\frac{1}{Q_r}+\frac{1}{Q_i}\)
ここに\(Q_t\)はアンテナ全体のQuality factor, \(Q_r\)は空間に放射されるエネルギー損失による,\(Q_i\)はアンテナ内部の損失によるQuality factor,です.
このユーザー定義関数の使い方
ユーザー定義関数を読み込む
- 上記のユーザー定義関数ファイル q.eqnをダウンロードして保存しておく.
- sonnetで
Graph
タブを選ぶか,[Launch][Graph Response]でGraph
タブを開く - グラフのタブで[Graph][User Equations…]で
user equations
ダイアログを開く user equations
ダイアログで[Load and Replace…]ボタンか[Load and Appned…]ボタンをクリックする- 上記で保存したファイルを指定する.
- 読み込まれたユーザー定義関数が現れるので[OK]ボタンでダイアログを閉じる
Qを抽出する
直列共振回路(共振周波数でインピーダンスが最小になる)場合
- [Graph][Manage Curves…]で
Manage Curves
ダイアログを開く ➕Add
でLeft Axis
にCurve
を追加しMeasurement
をZ-parametersに,Format
をImaginary
に,Data Source
のFile
やparameters
を目的のデータに設定する.Ports
は原則`1,1`だが,それ以外の場合は”ポートが11以外の場合”を参照➕Add
でRight Axis
にCurve
を追加しMeasurement
をQzに,Data Source
のFile
やparameters
を目的のデータに設定する.➕Add
でRight Axis
にCurve
を追加しMeasurement
をLzに,Data Source
のFile
やparameters
を目的のデータに設定する.- [OK]で
Manage Curves
ダイアログを閉じる - 追加した
Curve
(例えばImag[Z11])が負から正に右上がりで0
を横切る周波数が,共振周波数なので,その周波数でQz
(Quality factor)とLz(等価直列インダクタンスEquivalent Serial Inductance)を読み取る.
並列共振回路(共振周波数でインピーダンスが最大になる)場合
- [Graph][Manage Curves…]で
Manage Curves
ダイアログを開く ➕Add
でLeft Axis
にCurve
を追加しMeasurement
をY-parametersに,Format
をImaginary
に,Data Source
のFile
やparameters
を目的のデータに設定する.Ports
は原則`1,1`だが,それ以外の場合は”ポートが11以外の場合”を参照➕Add
でRight Axis
にCurve
を追加しMeasurement
をQyに,Data Source
のFile
やparameters
を目的のデータに設定する.➕Add
でRight Axis
にCurve
を追加しMeasurement
をCyに,Data Source
のFile
やparameters
を目的のデータに設定する.- [OK]で
Manage Curves
ダイアログを閉じる - 追加した
Curve
(例えばImag[Y11])が負から正に右上がりで0
を横切る周波数が,共振周波数なので,その周波数でQ
y(Quality factor)とCy(等価並列キャパシタンスEquivalent Parallel Capacitance)を読み取る.
ポート
共振回路は本質的に2つの端子に接続されるので,1ポート回路でなければならない.2ポート以上の系で測定やシミュレーションした場合にはなにかの方法で1ポートに変換しなければならない
特定の1ポートに接続された共振回路だけを観測する場合
Manage Curves
ダイアログで観測したいポートを指定するとともに,ユーザー定義関数の引数を下記の手順で変更しなければならない.
- [Graph][User Equations…]で
user equations
ダイアログを開く user equations
ダイアログで編集すべき関数を選んで[編集]ボタンをクリックし,Equation Editor
を開くEquation Editor
のexpression
ので最初の行ARG A = z 11
の11
を目的のデータのポートに設定する- [OK]ボタンで編集を終了する
- [OK]ボタンで
Equation Editor
を閉じる
2ポートに共振回路が接続された場合
右図のように不要なポートを短絡なり開放(大きな抵抗)することで1ポート回路に変換できる.
series-thru接続の場合はY11から並列共振周波数のQy
と等価並列キャパシタンスCy
を抽出できる.
shunt-thru接続の場合はZ11から直列共振周波数のQz
と等価直列インダクタンスLz
を抽出できる
関数の定義内容と理論
Q factor
\(Q=\frac{\omega_0}{2}\left| \frac{z'(\omega_0)}{z(\omega_0)} \right|\)
or
\(Q=\frac{\omega_0}{2}\left| \frac{y'(\omega_0)}{y(\omega_0)} \right|\)
これをsonent emgraphのユーザー関数に実装すると.
ARG A=y11
FREQ/2*mag(
(A[f+1]-A[f-1])
/(FREQ[f+1]-FREQ[f-1])
/real(A[f]))
一行目のARG A=
は,並列共振ではARG A=y11
,直列共振ではARG A=z11
に.
一つの系で並列共振と直列共振が同居していることは多いから,別の関数Qz
とQy
にした.分母のreal(A[f])
は本来はmag(A[f])
だが,共振周波数ではreal(A[f])
と等しい.real(A[f])
の方が共振周波数からずれた領域での変化がmag(A[f])
より穏やかで読み取りやすいのでreal(A[f])
とした.
共振回路の等価素子
ARG A = y11
imag(
(A[f+1]-A[f-1])
/(FREQ[f+1]-FREQ[f-1])
)
/2/2/pi
一行目のARG A=
は,並列共振ではyを選んで等価キャパシタンス,直列共振ではzを選んで等価インダクタンスが関数の値となる.
検証
右図のようにポート1に直列共振回路,ポート2に並列共振回路を接続した回路で検証してあります.
どちらの共振回路も\(\omega_0 =1 \mathrm{(Grad/sec)}, Q=100\)