『.AC解析』で二端子対回路の回路網パラメータ(Sパラメータなど)を計算する.netコマンドについて構文や使い方を説明します。
『.netコマンド』とは
.netコマンドとは、『.AC解析(小信号解析)』において、二端子対回路の回路網パラメータ(入力インピーダンス、入力アドミタンス、出力インピーダンス、出力アドミタンス、Yパラメータ、Zパラメータ、Sパラメータ)を計算するコマンドです。
この『.netコマンド』は『.AC解析』とセットで使用するコマンドです。『.AC解析』のコマンドで回路網パラメータを解析する周波数範囲を決めます。
補足
- 二端子対回路は2ポート回路や四端子回路とも呼ばれます。また、二端子対回路網、2ポート回路網のように「網」を付けて呼ばれる場合もあります。
- 回路網パラメータはネットワーク・パラメータとも呼ばれます。
- 『.netコマンド』で一端子対回路(二端子回路)の入力インピーダンスやアドミタンスも計算することができます。
『.netコマンド』の構文
- [V(out[,ref])|I(Rout)]
- <Vin|Iin>
- [Rin=<val>] [Rout=<val>]
出力端子outのノード電圧V(out)、または出力抵抗Routに流れる電流I(Rout)を記述します。
二端子対回路の入力部は、独立した電圧源Vinまたは独立した電流源Iinとなります。例えば、電圧源V1を入力部に配置している場合にはV1と記述します。
入力端子はRin、出力端子はRoutで終端します。このコマンドで入力端子Rinの抵抗値、出力端子Routの抵抗値を指定します。
[Rin=<val>] [Rout=<val>]を省略した場合には入力端子Rinと出力端子Routの抵抗値は以下のように決定されます。
入力端子Rinの抵抗値:直列抵抗Rserの抵抗値
出力端子Routの抵抗値:抵抗Routの抵抗値
電圧源に直列抵抗Rserを未指定、出力端子に抵抗Routを未接続
入力端子Rinの抵抗値:デフォルトの1Ω
出力端子Routの抵抗値:デフォルトの1Ω
なお、構文において「<」と「>」で囲まれたパラメータは省略できません。また、「[」と「]」で囲まれたパラメータは省略できます。
補足
『.netコマンド』を使用したシミュレーション例
上図の150Ωの抵抗R1に対して、入力端子と出力端子を50Ωで終端した時のSパラメータをこれからシミュレーションで求めてみます(Sパラメータについては後日記事を書きます)。
入力端子Rin:指定、出力端子Rout:指定(Rser:未指定,Rout:未接続)の場合
『.netコマンド』を以下のように記述することで、入力端子Rinの抵抗値と出力端子Routの抵抗値を50Ωに指定した場合のシミュレーション結果を上図に示します。なお、電圧源V1の電圧はAC1Vに設定しています。また、『.AC解析』で1Hz〜1kHzで周波数を掃引しています。
シミュレーション結果を見ると、Sパラメータの理論値と一致していることが確認できます。なお、各々のSパラメータは波形ウィンドウを右クリックし、[Add Trace]をクリックした時に表示される信号名のリストからS11等を選択することで表示することができます(メニューバーの[Plot Setting]から[Add Trace]を選択しても同じ画面が表示されます)。
入力端子Rin:未指定、出力端子Rout:未指定(Rser:指定,Rout:接続)の場合
入力端子Rinの抵抗値と出力端子Routの抵抗値を未指定の状態において、電圧源に直列抵抗Rserを指定、出力端子に抵抗Routを接続した場合のシミュレーション結果を上図に示します。シミュレーション結果を見ると、Sパラメータの理論値と一致していることが確認できます。なお、今回は、『.netコマンド』においてV(out)ではなく、I(Rout)にしています。出力端子に抵抗Routを接続した状態でV(out)を指定すると、抵抗Routも二端子対回路の一部とみなされるため、シミュレーション結果が変わってしまう点に注意してください。下図にV(out)にした場合のシミュレーション結果を示します。Sパラメータが理論値からずれていることが確認できます。
入力端子Rin:指定、出力端子Rout:指定(Rser:指定,Rout:未接続)の場合
入力端子Rinの抵抗値&電圧源に直列抵抗Rserの両方を指定した場合のシミュレーション結果を上図に示します。シミュレーションではわざと直列抵抗Rserを1000Ωにしていますが、入力端子Rinの抵抗値を指定してるため、入力端子Rinの抵抗値が優先されます。そのため、直列抵抗Rserは『.netコマンド』による計算結果では無視されます。
入力端子Rin:未指定、出力端子Rout:指定(Rser:指定,Rout:未接続)の場合
入力端子Rinの抵抗値が未指定なので、電圧源の直列抵抗Rserが『.netコマンド』の計算で使用されます。シミュレーションではわざと直列抵抗Rserを1000Ωにしており、シミュレーション結果を見ると、Sパラメータが理論値からずれていることが確認できます。ここで、入力端子Rinの抵抗値を1000Ωで指定した場合のシミュレーション結果も下図に示します。シミュレーション結果が同じになることが確認できます。これより、入力端子Rinの抵抗値が未指定の場合には電圧源の直列抵抗Rserが『.netコマンド』の計算で使用されていることが証明されました。