はじめに
Ngspiceを使ったSパラメータ解析のやり方を覚え書きとして残しておく。ためしに、下のバンドパスフィルタ回路を解析してみる。
全体のスクリプトは一番下に載せるが、大事なポイントを抜き出して説明すると...
まず、電圧源はRFポートとして定義することができる。portnumでポートの番号を指定して、z0でポートのインピーダンスを指定する。
v1 n001 0 dc 0 portnum 1 z0 50 v2 n003 0 dc 0 portnum 2 z0 50
あとは、Sパラメータ解析の周波数スイープの設定をするだけ。
.sp lin 1001 10Meg 200Meg
解析結果
計算結果はS_i_jという変数に出力される(iとjはポート番号)。スミスチャートも描けるし、極座標プロットも描ける。よきよき!
スクリプト
以下、Ngspiceのスクリプト。
.title LC bandpass filter S parameter analysis * LC bandpass filter circuit v1 n001 0 dc 0 portnum 1 z0 50 c1 n001 0 164.2p l1 n001 0 15.58n c2 n001 n002 5.604p l2 n002 n003 456.5n c3 n003 0 164.2p l3 n003 0 15.58n v2 n003 0 dc 0 portnum 2 z0 50 * S parameter simulation .sp lin 1001 10Meg 200Meg .control run * color0 is background, color1 is grid & text color, color2..22 are for graph plots * color18 and color19 are used for smithgrids set color0=white color1=gray color2=red color3=blue color4=black set color18=gray color19=gray set wfont='DejaVu Sans Mono' set wfont_size=12 set xbrushwidth=2 plot db(S_1_1) db(S_2_1) plot S_1_1 smithgrid plot S_2_1 polar .endc