LTspiceのシミュレーション

LTspice-ドットコマンド「.measure」(測定)の使い方

当記事では、ドットコマンド「.measure」(測定)の使い方について詳しく解説します。

「.measure」を活用することによって、波形ビューワのカーソル機能を使うより簡単に、電圧や電流の値を測定することができます。

「.measure」とは?

「.measure」とは、シミュレーションで自動的に電圧や電流の値を測定してくれるドットコマンドです。

言葉だけではわかりづらいと思うので、以下の記事で作成した回路図で、まずは簡単に「.measure」を使ってシミュレーションをしてみます。

回路図は以下のリンクからダウンロードできます。

ダウンロード

1

回路図「01_sample-tran-lt1028.asc」を開いて、以下の「.measure」を「SPICE Directive」で入力します。

.measure TRAN A MAX V(OUTPUT)

この構文の意味は、ラベルを「A」として、V(OUTPUT)の最大電圧を測定と言う意味になります。
なお、「.measure」の代わりに「.meas」と記入しても、どちらも同じ意味になります。

2

「.measure」構文を配置後、「Run」をクリックしてシミュレーションを実行します。

3

「View-SPICE Error Log」を選択して、ログファイルを開きます。

4

ログファイルを開くと、以下のような記載があるのが確認できます。

a: MAX(v(output))=3.99891 FROM 0 TO 0.01

このように、ドットコマンド「.measure」を使うことで、簡単に電圧や電流の値を数値として算出することが可能です。

波形ビューワでカーソルを使って算出するより、便利で確実なので、ぜひとも覚えておきたいコマンドです。

今回、「.measure」のシミュレーションに使用した回路図は以下のリンクからダウンロードできます。

ダウンロード

「.measure」の構文

「.measure」の構文は以下のように「時間軸(横軸)の一定範囲での測定」と「時間軸(横軸)の特定ポイントでの測定」に大きく分類されます。

時間軸(横軸)の一定範囲での測定


時間軸(横軸)の特定ポイントでの測定

共通設定

「.measure」の構文で共通の設定項目について説明します。

解析の種類

解析の種類 説明
TRAN トランジェント解析
AC AC解析
DC DCスイープ解析
NOISE ノイズ解析
TF DC伝達関数解析
OP DC動作点解析

シミュレーションで行う解析の種類について記述します。例えば、「「.measure」とは?」で行ったシミュレーションのように、「.tran 10m」であったら、「TRAN」を記述することになります。

ラベル

任意の英数字を指定します。「「.measure」とは?」で行ったシミュレーションでは「A」とラベルを指定したので、以下のログファイルのように文の頭に「a」と表示されています。
(ラベルを大文字で記述しても、小文字になってしまいます。)

そのため、「.measure」の構文で最大電圧を測定するのであれば、ラベルを「v-max」にするなど、自分のわかりやすいようにラベルの英数字を指定すると良いでしょう。

ノード名&部品番号

ノード名&部品番号 説明
V(ノード名) 測定する「電圧」
I(部品番号) 測定する「電流」

「.measure」の構文で測定したい電圧や電流を指定します。電圧であればノード番号、電流であれば部品番号で記述します。

時間軸(横軸)の一定範囲での測定

「.measure」の構文で、時間軸(横軸)の一定範囲での測定する場合の設定について説明します。

測定項目

測定項目 説明
AVE 平均値
MAX 最大値
MIN 最小値
PP 振幅
RMS 実効値
INTEG 積分値

上記のように、平均値、最大値、最小値、振幅、実効値、積分値を測定することが可能です。

測定範囲

測定範囲は、「FROM 値 TO 値」で記述します。例えば、シミュレーション結果のうち、0msecから5msecまでの間を測定範囲とする場合は以下のようになります。

FROM 0 TO 5m

「FROM 値 TO 値」を記述しない場合、シミュレーションを行って全ての時間が測定範囲になります。

TRIG:増加時の条件式/TARG:減少時の条件式

TRIG:増加時の条件式/TARG:減少時の条件式の設定はかなり複雑な設定になるので、「「.measure」のシミュレーション例」で「.meas Statement Editor」を使った構文の作成方法を説明する予定です。

時間軸(横軸)の特定ポイントでの測定

「.measure」の構文で、時間軸(横軸)の特定ポイントでの測定する場合の設定について説明します。

測定項目

測定項目 説明
FIND 瞬時値
DERIV 微分値
PARAM 数式計算

上記のように、瞬時値、微分値を測定することが可能です。また、PARAMで数式計算を行うことができます。

測定箇所

測定範囲は、「AT 値」で記述します。例えば、シミュレーション結果のうち、5msecの時点を測定箇所とする場合は以下のようになります。

AT 5m

WHEN:条件式

WHEN条件式の設定はかなり複雑な設定になるので、「「.measure」のシミュレーション例」で「.meas Statement Editor」を使った構文の作成方法を説明する予定です。

「.measure」のシミュレーション例

「.measure」構文の説明だけでは、わかりづらいと思うので、いくつか例として実際に「.measure」のシミュレーションを行ってみます。

今後、シミュレーション例を増やしていく予定です。

時間軸(横軸)の一定範囲での測定

1

回路図「01_sample-tran-lt1028.asc」を開いて、以下の「.measure」を「SPICE Directive」で入力します。

.meas TRAN V-ave AVE V(OUTPUT)
.meas TRAN V-max MAX V(OUTPUT)
.meas TRAN V-min MIN V(OUTPUT)
.meas TRAN V-pp PP V(OUTPUT)
.meas TRAN V-rms RMS V(OUTPUT)
.meas TRAN V-integ INTEG V(OUTPUT) FROM 1 TO 2m

「.measure」構文を配置後、「Run」をクリックしてシミュレーションを実行します。

2

シミュレーションと「.measure」構文の結果は以下の通りになります。

v-ave=0.01 FROM 0 TO 0.01
v-max: MAX(v(output))=3.99891 FROM 0 TO 0.01
v-min: MIN(v(output))=-3.99408 FROM 0 TO 0.01
v-pp: PP(v(output))=7.99298 FROM 0 TO 0.01
v-rms: RMS(v(output))=2.8276 FROM 0 TO 0.01
v-integ: INTEG(v(output))=0.00254599 FROM 0.001 TO 0.002

波形ビューワの波形グラフと比較すると、ほぼ結果が一致していることがわかりますね。

今回、「.measure」のシミュレーションに使用した回路図は以下のリンクからダウンロードできます。

ダウンロード

時間軸(横軸)の特定ポイントでの測定

1

回路図「01_sample-tran-lt1028.asc」を開いて、以下の「.measure」を「SPICE Directive」で入力します。

.meas TRAN V-find FIND V(OUTPUT) AT 1.5m

「.measure」構文を配置後、「Run」をクリックしてシミュレーションを実行します。

2

シミュレーションと「.measure」構文の結果は以下の通りになります。

v-find: v(output)=3.99363 at 0.0015

波形ビューワの波形グラフと比較すると、ほぼ結果が一致していることがわかりますね。

今回、「.measure」のシミュレーションに使用した回路図は以下のリンクからダウンロードできます。

ダウンロード

テキストのコピーはできません。