NgspiceでSパラメータ解析

はじめに

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