【LTspice】Sパラメータなどを計算する『.netコマンド』の使い方

スポンサーリンク

『.AC解析』で二端子対回路の回路網パラメータ(Sパラメータなど)を計算する.netコマンドについて構文や使い方を説明します。

『.netコマンド』とは

.netコマンドとは、『.AC解析(小信号解析)』において、二端子対回路の回路網パラメータ(入力インピーダンス、入力アドミタンス、出力インピーダンス、出力アドミタンス、Yパラメータ、Zパラメータ、Sパラメータ)を計算するコマンドです。

この『.netコマンド』は『.AC解析』とセットで使用するコマンドです。『.AC解析』のコマンドで回路網パラメータを解析する周波数範囲を決めます。

補足

  • 二端子対回路は2ポート回路四端子回路とも呼ばれます。また、二端子対回路網2ポート回路網のように「」を付けて呼ばれる場合もあります。
  • 回路網パラメータはネットワーク・パラメータとも呼ばれます。
  • 『.netコマンド』で一端子対回路(二端子回路)の入力インピーダンスやアドミタンスも計算することができます。

『.netコマンド』の構文

.net [V(out[,ref])|I(Rout)] <Vin|Iin> [Rin=<val>] [Rout=<val>]
  • [V(out[,ref])|I(Rout)]
  • 出力端子outのノード電圧V(out)、または出力抵抗Routに流れる電流I(Rout)を記述します。

  • <Vin|Iin>
  • 二端子対回路の入力部は、独立した電圧源Vinまたは独立した電流源Iinとなります。例えば、電圧源V1を入力部に配置している場合にはV1と記述します。

  • [Rin=<val>] [Rout=<val>]
  • 入力端子はRin、出力端子はRoutで終端します。このコマンドで入力端子Rinの抵抗値、出力端子Routの抵抗値を指定します。

[Rin=<val>] [Rout=<val>]を省略した場合には入力端子Rinと出力端子Routの抵抗値は以下のように決定されます。

電圧源に直列抵抗Rserを指定、出力端子に抵抗Routを接続
入力端子Rinの抵抗値:直列抵抗Rserの抵抗値
出力端子Routの抵抗値:抵抗Routの抵抗値
電圧源に直列抵抗Rserを未指定、出力端子に抵抗Routを未接続
入力端子Rinの抵抗値:デフォルトの1Ω
出力端子Routの抵抗値:デフォルトの1Ω

なお、構文において「<」と「>」で囲まれたパラメータは省略できません。また、「[」と「]」で囲まれたパラメータは省略できます。

補足

[Rin=<val>] [Rout=<val>]によって、入力端子Rinの抵抗値、出力端子Routの抵抗値を指定した場合、『.netコマンド』による計算では、デバイスのインピーダンスより優先されます。しかし、通常の『.AC解析』では『.netコマンド』で指定した抵抗値は計算されません。つまり、『.netコマンド』で指定した抵抗値は『.AC解析』の結果に影響を及ぼすことはありません。

『.netコマンド』を使用したシミュレーション例

【LTspice】Sパラメータ
上図の150Ωの抵抗R1に対して、入力端子と出力端子を50Ωで終端した時のSパラメータをこれからシミュレーションで求めてみます(Sパラメータについては後日記事を書きます)。

入力端子Rin:指定、出力端子Rout:指定(Rser:未指定,Rout:未接続)の場合

【LTspice】Sパラメータのシミュレーション結果01
『.netコマンド』を以下のように記述することで、入力端子Rinの抵抗値と出力端子Routの抵抗値を50Ωに指定した場合のシミュレーション結果を上図に示します。なお、電圧源V1の電圧はAC1Vに設定しています。また、『.AC解析』で1Hz〜1kHzで周波数を掃引しています。

.net V(out) V1 Rin=50 Rout=50

シミュレーション結果を見ると、Sパラメータの理論値と一致していることが確認できます。なお、各々のSパラメータは波形ウィンドウを右クリックし、[Add Trace]をクリックした時に表示される信号名のリストからS11等を選択することで表示することができます(メニューバーの[Plot Setting]から[Add Trace]を選択しても同じ画面が表示されます)。

入力端子Rin:未指定、出力端子Rout:未指定(Rser:指定,Rout:接続)の場合

【LTspice】Sパラメータのシミュレーション結果02
入力端子Rinの抵抗値と出力端子Routの抵抗値を未指定の状態において、電圧源に直列抵抗Rserを指定、出力端子に抵抗Routを接続した場合のシミュレーション結果を上図に示します。シミュレーション結果を見ると、Sパラメータの理論値と一致していることが確認できます。なお、今回は、『.netコマンド』においてV(out)ではなく、I(Rout)にしています。出力端子に抵抗Routを接続した状態でV(out)を指定すると、抵抗Routも二端子対回路の一部とみなされるため、シミュレーション結果が変わってしまう点に注意してください。下図にV(out)にした場合のシミュレーション結果を示します。Sパラメータが理論値からずれていることが確認できます。
【LTspice】Sパラメータのシミュレーション結果03

入力端子Rin:指定、出力端子Rout:指定(Rser:指定,Rout:未接続)の場合

【LTspice】Sパラメータのシミュレーション結果04
入力端子Rinの抵抗値&電圧源に直列抵抗Rserの両方を指定した場合のシミュレーション結果を上図に示します。シミュレーションではわざと直列抵抗Rserを1000Ωにしていますが、入力端子Rinの抵抗値を指定してるため、入力端子Rinの抵抗値が優先されます。そのため、直列抵抗Rserは『.netコマンド』による計算結果では無視されます。

入力端子Rin:未指定、出力端子Rout:指定(Rser:指定,Rout:未接続)の場合

【LTspice】Sパラメータのシミュレーション結果05
入力端子Rinの抵抗値が未指定なので、電圧源の直列抵抗Rserが『.netコマンド』の計算で使用されます。シミュレーションではわざと直列抵抗Rserを1000Ωにしており、シミュレーション結果を見ると、Sパラメータが理論値からずれていることが確認できます。ここで、入力端子Rinの抵抗値を1000Ωで指定した場合のシミュレーション結果も下図に示します。シミュレーション結果が同じになることが確認できます。これより、入力端子Rinの抵抗値が未指定の場合には電圧源の直列抵抗Rserが『.netコマンド』の計算で使用されていることが証明されました。
【LTspice】Sパラメータのシミュレーション結果06

スポンサーリンク