初心者のためのLTspice入門 ウィーン・ブリッジ発振回路のOPアンプ、フィルタの役割(2)ウィーン・ブリッジ回路各様の特性を.measコマンドで測定
シミュレーション結果は、グラフから読み取る方法のほかに、.measureコマンドが利用できます。
●バンドパス・フィルタ回路のピーク値(MAX)を読み取る
前回のウィーン・ブリッジ回路の周波数選択回路の減衰率をSPICEの「.measure」コマンドで確認します。次に示すように、いくつかのコマンドのパターンを回路図画面に設定してあります。「.measure」コマンドは省略系の「.meas」も同様に利用できます
回路図は、ウィーン・ブリッジ回路のバンドパス・フィルタと、ハイパス、ローパス・フィルタで、同じ信号源を加えて周波数特性を調べています。
● .measure(.meas)コマンド
回路図画面に .measureコマンドを設定し、シミュレーションを実行すると、ascファイルのフォルダにascファイルと同じ名前のlogファイルが作成されます。その中に .measureコマンドで指定した条件で検出されたシミュレーション結果が書き込まれます。
●コマンドの書き方
このコマンドは、多様なパラメータをもっていて、いろいろな場面で利用できます。ここでは、今回利用した機能を中心に説明します。
●パターン1 特定のタイミングの値を計測する場合
.MEAS [param1] <name> [param2] |
param1 : [AC|DC|OP|TRAN|TF|NOISE]
param1はデータを検出するシミュレーションのタイプを指定します。param1を指定すると、指定されたシミュレーション・タイプを実行したときにのみこの.measureコマンドが実行されます。省略することができ、省略した場合はこのコマンドは実行の制限がなくなります。ACはAC解析、DCはDC sweep、OPはDCの動作点を探す、TRANは過渡解析、TFはDC小信号伝達関数を見つける、NOISEはノイズ解析のときにそれぞれデータの検出を行います。
name : logファイルに該当データを書き込むときの識別のラベルとして使用される。任意の文字列が利用できる。
param2 :[<FIND|DERIV|PARAM> <expr>] [WHEN <expr> | AT=<expr>]
[TD=<val1>] [<RISE|FALL|CROSS>=[<count1>|LAST]]
LTspiceXVIIのHelpの使用例です。
.MEAS TRAN res5 FIND V(out) WHEN V(x)=3*V(y) cross=3 TD=1m |
V(x)の値とV(y)を3倍にした値を3回交差したときにres5にV(out)の値をセットしてLogファイルに書き出します。その際、1ms間経過するまでカウントを開始しません。
.MEAS AC ANS2 FIND V(in+) at=10Hz |
AC解析で、掃引周波数が10HzのときのV(in+)の値をANS2にセットしてlogファイルに書き出します。この例は実際に確かめます。
●パターン2 指定された区間の特定の値を求める場合
.MEAS [param1] <name> [param2] |
param1 : [AC|DC|OP|TRAN|TF|NOISE]
param1は、パターン1と同様シミュレーション・タイプを指定します。
name : logファイルに該当データを書き込むときの識別のラベルとして使用される。任意の文字列が利用できる。
param2 : [<AVG|MAX|MIN|PP|RMS|INTEG> <expr>]
param2はexprで指定する対象のAvg(平均値)、MAX(最大値)、MIN(最小値)、PP(波形のピークtoピーク値)、RMS(実効値)、Integrate(積分値)が測定されます。
トリガの設定 :TRIG <lhs1> [[VAL]=]<rhs1>] [TD=<val1>]
+ [<RISE|FALL|CROSS>=<count1>]
+ [TARG <lhs2> [[VAL]=]<rhs2>] [TD=<val2>]
+ [<RISE|FALL|CROSS>=<count2>]
トリガの説明は別の機会に行います。
●measureで実際に確かめる
上記のフィルタ回路のAC解析で、V(in)のピーク値、そのときの周波数などを .measureコマンドで確認します。
●AC解析の結果
この条件でAC解析を行った結果のLogファイルのうち、.measureコマンドの結果の部分を抜き出しました。
① V(in+)の最大値を求める
.meas AC ANS1 max v(in+) |
結果 ans1: MAX(v(in+))=(-9.54244dB,-0.10018°) FROM 1 TO 1e+006
AC解析で、V(in+)の最大値をANS1に求めています。結果は、電圧値は-9.54244dBで位相は-0.10018度となっています。
②V(in+)が最大値の時の周波数
.meas AC res2 when V(in+)=ANS1 |
結果 res2: v(in+)=ans1 AT 1595.73
AC解析でV(in+)がANS1で求めた最大値になるときの周波数(水平軸の値)を求めています。結果は1595.73Hzと得られました。.measureコマンドで得られた結果から新たな値を求めました。
③ 周波数が10HzのときのV(in+)の値を求める
.meas AC ANS2 FIND v(in+) at=10Hz |
結果 ans2: v(in+)=(-44.0376dB,88.9201°) at 10
掃引周波数が10Hzのときの電圧、位相が求められました。グラフからも値の妥当性が確認できます。
④ integの確認
.meas AC ANS3 integ V(in+) |
結果 ans3: INTEG(v(in+))=9609.17 FROM 1 TO 1e+006
周波数 1から1000kHzの間の積分を行っています。今回は積分値については特別な意味はありませんが、コマンドの確認のため行いました。
⑤ ACを省略して最大値を求める
.meas ANS4 max v(in+) |
結果 ans4: MAX(v(in+))=(-9.54244dB,-0.10018°) FROM 1 TO 1e+006
ACを省略してもACを指定したANS1と同じ値になっています。
⑥ ピークto ピーク(PP)の値を求める
.meas ANS7 pp v(in+) |
結果 ans7: PP(v(in+))=(54.494dB,-89.9922°) FROM 1 TO 1e+006
AC解析の場合は、PPの値は意味あるものにはなりません。過渡解析のTRANを指定していないのでAC解析でも処理されています。
⑦ .mesureコマンドの精度
.measureコマンドはシミュレーション計算結果により算出します。そのためシミュレーションの計算ポイントの数を多くするとよりよい精度が得られます。上記のシミュレーションは ac oct 100 1 1000kとオクターブあたり100ポイントとなっています。これを1000ポイントにして次の条件で再度シミュレーションしてみました。
ac oct 1000 1 1000k |
新たな、シミュレーションの結果のlogファイルの内容です。
ans1の結果に示すように、位相は前回の結果より、よりいっそう0に近づいています。精密な結果が必要な場合は計算ポイントの数に注意する必要があります。
●過渡解析(TRAN)の場合
過渡解析を選択してシミュレーションを実行すると、次の結果が得られます。バンドパス・フィルタのV(in+)の値が一番少なく、ローパス・フィルタの出力が一番高くなっています。
バンドパス・フィルタの出力のV(in+)が最大となる周波数が約1.595kHzと測定できたので、その周波数で過渡解析を再度行ってみます。また波形の状態も見やすくするためにシミュレーション時間も3msとしました。
●バンドパス・フィルタの最大値の周波数では
1.595kHzの周波数でシミュレーションした結果を次に示します。緑のローパス・フィルタの出力V(fl)と青のハイパス・フィルタの出力V(fh)は同じピークの波形になっています。
バンドパス・フィルタの出力は約335mVのピークで、1V入力の波形の約1/3の大きさになっています。
.measコマンドで測定結果を確認してみます。SPICE error logの結果を次に示します。
⑧最大値を求める
.meas ANS4 max v(in+) |
結果 ans4: MAX(v(in+))=0.333255 FROM 0 TO 0.003
AC、TRANなどの指定がないので、AC解析、過渡解析共に算出されています。ここでは、シミュレーション周波数1.595kHzにおけるV(in+)の波形の最大値が得られています。
⑨実効値を求める
.meas TRAN ANS6 rms v(in+) |
結果 ans6: RMS(v(in+))=0.232525 FROM 0 TO 0.003
⑩ピークto ピーク(PP)の値を求める
.meas ANS7 pp v(in+) |
結果 ans7: PP(v(in+))=0.691257 FROM 0 TO 0.003
実効値、PP共に、0秒から0.003秒(3ms)までの計算結果です。そのため、初期の不安定な部分を除いて計算する必要がある場合、次のように対象範囲を設定します。
.meas TRAN ANS6 rms v(in+) from 1m to 3m .meas ANS7 pp v(in+) from 1m to 3m |
DC解析はこの回路では意味ある結果は得られないので、別の機会に取り上げます。
(2018/10/10 V1.0)
<神崎康宏>