TRANSLATE:

SPICEにおけるモンテカルロ法の基礎:理論とデモ

Zachariah Peterson
|  投稿日 2022/04/14, 木曜日  |  更新日 2024/09/2, 月曜日
モンテカルロはSPICEです

PCBにコンポーネントを配置するときは、まるで賭けをしているようなものです。すべてのコンポーネントには許容差があり、その中には非常に精密なもの(例えば、抵抗器)もありますが、名目値に対して非常に幅広い許容差を持つコンポーネントもあります(例えば、ワイヤーワウンドインダクターやフェライトなど)。これらのコンポーネントの許容差が大きくなりすぎた場合、これらの許容差が回路にどのような影響を与えるかをどのように予測できるでしょうか?

名目上の電気的値(電圧、電流、または電力)の周りで変動を手計算で計算することはできますが、特に大規模な回路では、これらの計算を手作業で行うのは非常に時間がかかります。しかし、SPICEシミュレーターは、これらの質問に答えるのに役立つ、確率論から借用した非常に便利なタイプのシミュレーションを提供しています。このタイプのシミュレーションはモンテカルロとして知られており、Altium DesignerのSPICEパッケージでこのシミュレーションを実行することができます。

この記事では、モンテカルロシミュレーションを理解し構築するために関わる理論の概要を提供し、次に電力レギュレータ回路の例示結果と、許容差によって結果がどのように影響を受けるかを示します。モンテカルロシミュレーションは、回路の動作に関する統計を取るために使用できる多くのデータを生成し、これにより製品がコンポーネント値の許容差によって仕様を満たす可能性が高いかどうかをよく理解できます。

SPICEシミュレーションにおけるモンテカルロ

モンテカルロシミュレーションは、シンプルなプロセスに基づいて動作します:ランダムに一連の数字を生成し、そのランダムな数字を数学的モデルに使用して何か有用なものを計算します。SPICEでモンテカルロシミュレーションが使用される場合、シミュレーションは定義した許容差を使用して回路内のコンポーネント値をランダムに生成します。それから、これらランダムに生成されたコンポーネント値を使用して標準のSPICEシミュレーションを実行します。このプロセスは複数回(時には100回以上)繰り返され、コンポーネントの許容差によって回路の挙動がどのように変化するかを説明するデータセットを提供します。

SPICEパッケージは、モンテカルロシミュレーションをシンプルなプロセスを通じて実装します。これにはランダムな数の生成と、標準SPICEアルゴリズムでの電圧と電流の計算が含まれ、その後、結果を表またはグラフで表示します:

  1. ランダムな変動を経験させたいコンポーネントを選択し、そのコンポーネントの許容差を定義します。
  2. コンポーネントの許容差に対する分布を選択します(ガウス分布が最も一般的に使用されます)およびシミュレーション実行の回数。
  3. SPICEシミュレータは、スキーマで定義された名目値とステップ2で定義された許容差/分布を使用して、ランダムなコンポーネント値を生成します。
  4. SPICEシミュレータは、ステップ3のランダムなコンポーネント値を使用して、回路内の各点での目標電圧/電流/電力を計算します。
  5. ステップ3と4は、希望するシミュレーション実行回数に達するまで繰り返されます。
  6. ステップ5の結果は、さらなる検査や分析のためにグラフまたは表にまとめられます。

例:電圧レギュレータのモンテカルロシミュレーション

次の例では、以下に示すバックコンバータ回路を使用しました。この回路は、主要セクション(L1)で比較的大きなインダクタを使用し、出力にLフィルタを続けてスイッチングノイズをさらに減らします。出力キャパシタには、過渡応答の強度を減らし出力電圧を滑らかにするスナバ抵抗があります。

Monte Carlo SPICE buck converter
このシミュレーション例で使用するバックコンバータ回路です。

この回路は、入力された25Vを約6.75Vまで降圧することを目的としています。私のシミュレーションでは、インダクタの値が最大30%変動することを許容し、15回の実行を行います。この大きな変動は、一部のワイヤーワウンドインダクタやフェライトで見られるもので、このような大きな変動を使用することで、リップルやオーバーシュートの極端な値がどのようになるかを確認できます。

インダクタが変動する部品である別の理由は、コンバータが連続伝導モードで動作しているときに、出力リップルの主要な決定要因であるからです。さらに一歩進んで、最悪の電気的挙動を本当に確認する必要がある場合は、インダクタ電流自体を見て、インダクタ電流が連続伝導にどれだけ近づくかを確認することもできます。

結果

初期結果の一部で、コンポーネント値の30%の変動を与えたときの過渡応答を以下に示します。このウィンドウから、コンバーターはすでに、インダクタの値に応じて8.37Vから8.56Vの範囲でオーバーシュートを示していることがわかります。下側の輪郭(緑色、L1 = 91.9 uH、L2 = 6.16 uH)と上側の輪郭(紫色、L1 = 122uH、L2 = 7.64 uH)の値は、以下のグラフにマークされています。

Monte Carlo SPICE simulation
SPICEのモンテカルロを使用して生成されたバックコンバータの一時的な分析結果です。

各曲線は、ランダムに生成された一組のインダクタ値に対応しています。結果から、インダクタの変動の影響が明らかに見て取れます:

  1. レギュレータがオンになると、立ち上がり時間、オーバーシュート、過渡応答にいくらかの変動があります。
  2. 可能なインダクタンス値ごとに、出力電圧波形のリップルに非常に小さな変化が生じます。

出力リップルが非常に低いままであるという事実は、他のすべてのパラメータの小さな変動を仮定しても、この設計により一貫したリップルの出力を期待できることを意味し、励みになります。

なぜリップルの変化がとても低いのでしょうか?

出力インダクタンスの方程式を見ずに、出力インダクタンスの±30%の変化が出力インダクタンスに同様に大きな変動を生じさせると自然に想定するかもしれません。しかし、連続伝導モードで動作するバックコンバータの出力電流の電圧波形リップルの方程式を見ると、このようなことがない理由がわかります:

Monte Carlo SPICE
バックコンバータの出力電流リップルです。

インダクタンス値が分母にあるため、これらの変動の影響は減少します。これは、公称インダクタ値についての摂動を取り、リップル感度がインダクタンスの任意の変動に比例する方法を見ることで確認できます:

Monte Carlo SPICE
出力リップル電流の変化により、インダクタの30%の公差が得られます。 インダクタが大きいほど、これらの変化の影響は小さくなることがわかります。

これらの変動の影響は、インダクタの値によって減少します。言い換えると、大きなインダクタに対する30%の許容誤差は、小さなインダクタにおける同じ30%の許容誤差よりも出力リップルの変化をはるかに少なくします。この振る舞いは、ある電気的値(この場合は電流)が問題のコンポーネント値に非線形に関連している場合に典型的です。

さらに、出力フィルタ(L2 + C2)の3 dBロールオフ周波数は、Q1を変調するPWM周波数よりも既に低くなっています。このフィルタセクションの3 dBロールオフは名目上41.1 kHzであり、リップル周波数は100 kHzのPWM周波数と一致します。リップルは既に大幅にフィルタリングされるため、ロールオフ周波数の変動が出力リップルに与える影響はそれほど大きくありません。

統計分析

モンテカルロ解析を行う場合、コンポーネント値のランダムな変動による回路の挙動の限界を本当に理解するために、統計分析を行う必要があるかもしれません。下のグラフでは、上記の過渡解析結果を取り、オーバーシュートによるオンフェーズ中に発生する最大電圧を抽出しました。平均値と標準偏差を計算して、インダクタンス値の変動の影響を定量化しました。

過渡解析結果をCSVまたは他のデータ形式でエクスポートするには、Altium Designerのメインメニューから「File → Export → Plot」コマンドを使用します。その後、Excel、MATLAB、Mathematica、または他のデータ分析プログラムにデータをインポートできます。

Monte Carlo SPICE statistics
過渡応答から決定されたオーバーシュート電圧の平均および標準偏差です。

収集したデータと上記の統計値を使用して信頼区間を構築すると、これらの回路の95%は、8.375Vから8.605Vの範囲でオーバーシュートを示すことになります。さらに分析、例えば最悪ケース分析を行いたい場合は、これらの極端な値のいずれかを使用して回路の挙動を理解することができます。

大規模なデータセットを用いた信頼性評価

統計的に信頼性を評価するためには、はるかに多くのシミュレーションを実行して、多くのデータポイントを見ることになるでしょう。データが多ければ、抽出した測定値からヒストグラムを作成し、これを使用して回路の挙動を定義する確率分布を得ることができます。そして、これらの値を使用して、回路が完全に受け入れられない領域(信頼区間の極端な値を超える)で動作する確率を決定することができます。

ちょっとした楽しみとして、この分析で実行されたシミュレーションの数を100回に増やしました。100回の繰り返しでの過渡結果は以下に示されます。これらの曲線から、オンフェーズ中の最大オーバーシュート電圧を再び抽出することができます。

Monte Carlo SPICE statistics
電源投入フェーズの最初の 100 us の間の一時的な応答です。 この100個の曲線の集合から、各曲線のオーバーシュート電圧を抽出し、最大電圧を記述する確率分布を決定することができます。

Excelに結果をエクスポートすると、以下に示すようなヒストグラムを作成するのに十分なデータが得られます。重ねられたオレンジ色の曲線は、ビン化されたデータから決定された累積関数を示しており、現在のビン以下にデータの何パーセントがあるかを示し、この回路の予想される動作範囲の尺度として使用できます。

Monte Carlo SPICE statistics
オーバーシュート電圧の統計情報は、100 のシミュレーションから決定されます。

ここでのポイントは、回路性能がコンポーネントの許容差を考慮してどのように変動するかを、迅速かつ簡単に確認できる方法を持っていることです。結果が仕様や安全余裕内にない場合は、PCBレイアウトを作成し、プロトタイプを組み立てる前に回路を修正する必要があります。

回路内でモンテカルロシミュレーションを実行することに興味がある場合、外部のシミュレーションパッケージや特化した分析ソフトウェアは必要ありません。Altium Designer®のスキーマティックエディタ内で、回路を評価し信頼性シミュレーションを実行するために必要なすべてが見つかります。PCBを完成させ、設計を共同作業者や製造業者と共有する準備ができたら、Altium 365™プラットフォームを通じて完成した設計を共有できます。高度な電子機器を設計し生産するために必要なすべてが、1つのソフトウェアパッケージ内にあります。

私たちは、Altium 365上でAltium Designerを使用して可能なことの表面をかすめただけです。今日、Altium Designer + Altium 365の無料トライアルを始めてください

筆者について

筆者について

Zachariah Petersonは、学界と産業界に広範な技術的経歴を持っています。PCB業界で働く前は、ポートランド州立大学で教鞭をとっていました。化学吸着ガスセンサーの研究で物理学修士号、ランダムレーザー理論と安定性に関する研究で応用物理学博士号を取得しました。科学研究の経歴は、ナノ粒子レーザー、電子および光電子半導体デバイス、環境システム、財務分析など多岐に渡っています。彼の研究成果は、いくつかの論文審査のある専門誌や会議議事録に掲載されています。また、さまざまな企業を対象に、PCB設計に関する技術系ブログ記事を何百も書いています。Zachariahは、PCB業界の他の企業と協力し、設計、および研究サービスを提供しています。IEEE Photonics Society、およびアメリカ物理学会の会員でもあります。

関連リソース

関連する技術文書

ホームに戻る
Thank you, you are now subscribed to updates.