LTspice-モンテカルロ解析(mc)の方法

当記事では、LTspiceでのモンテカルロ解析(mc)の方法について詳しく解説します。
モンテカルロ解析は電子回路の部品による誤差の影響を解析します。
トランジェント解析、AC解析、DCスイープ解析などと同時に行います。
なお、その他の解析方法の種類については、以下の記事をご覧ください。

回路図を用意する
まずは、LTspiceでモンテカルロ解析を行うために、回路図を用意しましょう。

以下の記事で作成した回路図を使ってモンテカルロ解析を行います。LTspiceで回路図を作成したことのない方は解析の前に自分で回路図を作ってみることをおすすめします。

また、こちらで作成済みの回路図を用意したので、すぐに解析から始めたい方は以下のリンクをクリックしてダウンロードしてください。
信号源の設定
すでに「LTspice-実践形式で回路図作成の方法を覚えよう!」の記事で信号源の設定を行っていますが、念のため確認しておきましょう。

回路図の信号源V1をマウスで「右クリック」して、「Independent Voltage Source」の画面を開きます。

SINEが選択され、DC offset[V]:0、Amplitude[V]:2、Freq[Hz]:500と入力されていることを確認します。
信号源の詳しい設定方法については以下の記事をご覧ください。

モンテカルロ解析(mc)の設定
モンテカルロ解析で誤差によってパラメータを変化させる部品を設定する必要があります。今回はオペアンプの帰還抵抗R2を設定します。

回路図の抵抗R2をマウスで「右クリック」して、抵抗R2の編集画面を開きます。

Resistance[Ω]に{mc(200,0.1)}を入力します。R2の抵抗値が200Ω、誤差10%でモンテカルロ解析を行う設定になります。
(解析結果で誤差のバラツキをわかりやすくするために、誤差10%で設定しました。)

R2のパラメータが{mc(200,0.1)}になっていることを確認します。
トランジェント解析(.tran)の設定
モンテカルロ解析は、トランジェント解析、AC解析、DCスイープ解析などと同時に行います。今回はモンテカルロ解析と同時に行うトランジェント解析の設定をします。

メニューバーの「Simulate」-「Edit Simulation Cmd」をクリックして、「Edit Simulation Command」の画面を開きます。

「Transient」を選択し、Stop timeに「10m」と記入します。すると、画面の下側に「.tran 10m」と表示されるはずです。
これで、10msecの間、トランジェント解析を行う設定になります。
なお、LTspiceでは以下の表のようにm以外にも補助単位を使用することができます。
もちろん、補助単位を使わずに10mではなく、0.01と入力しても問題ありません。
LTspiceで使用できる補助単位
記号 (接頭辞) | 読み方 | 倍数 |
---|---|---|
T | テラ | 1012 |
G | ギガ | 109 |
Meg | メガまたは メグ | 106 |
k | キロ | 103 |
m | ミリ | 10-3 |
u | マイクロ | 10-6 |
n | ナノ | 10-9 |
p | ピコ | 10-12 |
f | フェムト | 10-15 |
トランジェント解析の詳しい設定方法については以下の記事をご覧ください。


「.tran 10m」と.tranのドットコマンドが表れるので、適当な位置に配置します。本記事では、信号源V1の近くに配置しました。
「Edit Simulation Command」の画面から、.tranのドットコマンドを作成しましたが、「Edit Text on the Schematic」でも作成可能です。

ツールバーの「SPICE Directive」をクリックすると、「Edit Text on the Schematic」の画面が表れます。
SPICE directiveが選択されていることを確認して、ドットコマンドの構文(今回の場合は.tran 10m)を入力、OKをクリックすれば、作成したドットコマンドを配置することができます。
パラメトリック解析(.step)の設定
1回だけのシミュレーションでは部品の誤差のばらつきによる影響がわからないため、複数回シミュレーションをする必要があります。
今回は10回のシミュレーションを行うパラメトリック解析の設定をします。

ツールバーの「SPICE Directive」をクリックすると、「Edit Text on the Schematic」の画面が表れます。

SPICE directiveが選択されていることを確認して、.stepを入力します。

.stepのドットコマンドが表れるので、適当な位置に配置します。本記事では、信号源V1の近くに配置しました。
配置が終わったら、「.step」をマウスで「右クリック」して「.step Statement Editor」の画面を開きます。

Name of parameter to sweep:R、Nature of sweep:Linear、Start value:1、Stop value:10、Increment:1と記入します。すると、画面の下側に「.step param R 1 10 1」と表示されるはずです。
これで、10回のシミュレーションを行うパラメトリック解析の設定になります。
もちろん、今回は「.step Statement Editor」の画面で編集して.stepのドットコマンドを作成しましたが、構文の書式がわかっていれば、「Edit Text on the Schematic」の画面で入力することもできます。

.stepのドットコマンドが「.step param R 1 10 1」と表示されていることを確認します。
シミュレーション

ツールバーの「Run」をクリックすると、シミュレーションが実行されます。シミュレーション時間は回路の規模などにより異なります。

シミュレーション後、LTspiceのデフォルト設定では回路図の上側に波形表示画面が表れます。
回路図画面と波形表示画面を横並びにしたい場合、以下の記事の「回路図エディタと波形グラフを横並びにする」をご覧ください。

解析結果
当記事では、LTspiceの電圧プローブで簡単に解析結果を確認してみたいと思います。

シミュレーション後、カーソルを回路図の結線に近づけると、カーソルが「電圧プローブ」に変わります。
OUTPUTを電圧プローブでクリックします。

OUTPUTの電圧波形が波形表示画面に表れます。

OUTPUTの電圧波形を確認すると、オペアンプの帰還抵抗R2の誤差によって、出力電圧がばらついているのがわかりますね。
当記事では、波形ビューワを使って電圧プローブでV(OUTPUT)の電圧波形を確認したのみでした。
波形ビューワの詳しい使い方については以下の記事をご覧ください。

今回、モンテカルロ解析に使用した回路図は以下のリンクからダウンロードできます。