ドキュメンテーション センター

シミュレーション速度の高速化

シミュレーション速度を高速化する方法

適当なソルバー (連続積分法、離散積分法、フェーザー法)、ソルバー タイプ、パラメーターを選択した後、次の方法によりさらにその実行速度を最適化することができます。

  • 回路と制御システムの離散化について説明します。そのとき、制御システムには、システム全体としての最小サンプル時間の整数倍の長いサンプル時間を設定することができます。

  • 大規模システム、あるいは複雑な電力変換器のシミュレーションには時間がかかります。また、ある動作点からのシミュレーションをいくつか繰り返す必要があれば、その初期値を [シミュレーション][コンフィギュレーション パラメーター][ワークスペース I/O] ダイアログ ボックス上に、初期状態を示すベクトルとして設定しておくことができ、これにより、時間の短縮が図れます。初期条件のベクトルはそれ以前のシミュレーション結果として保存しておかなければなりません。

  • シミュレーション実行中に測定用として開く Scope の数と Scope に保存する測定点を減らしてください。このことによっても、シミュレーション時間の短縮が図れます。

  • Simulink® アクセラレータ モードを利用してください。アクセラレータで得られるパフォーマンスの向上は、モデルのサイズと複雑さによって変わります。一般的に、2 ~ 10 倍のパフォーマンス向上を期待できます。

アクセラレータ モードと Simulink Coder の利用

Simulink アクセラレータ モードについては、高速化のドキュメンテーションで説明します。

アクセラレータ モードは Simulink モデルのシミュレーションを高速化します。記述したモデルの動作としてコンパイルされた Simulink ブロックの下で、さらにこのブロックを解釈している M コードに直接置き換えて実行することで高速化します。アクセラレータ モードは Simulink Coder™ を使用して、このコードを順次生成します。アクセラレータ モードはこのテクノロジーを使っていますが、実行するために Simulink Coder のライセンスは必要ありません。また、環境として C コンパイラをインストールしていなくても、MATLAB® が提供する LCC コンパイラを使うことができます。

アクセラレータ モードを有効にするには、モデル ウィンドウのメニューから [シミュレーション][モード][アクセラレータ] を選択します。あるいは、モデル ウィンドウのツール バーのプルダウン メニューから [アクセラレータ] を選択できます。

次の表に、以下の 2 つの例に対して離散化とアクセラレータ モードを適用して得られたパフォーマンスの向上を示します。デモは、チョッパーを使った DC ドライブ、および三相 3 レベル電圧源コンバーターを使用する AC-DC コンバーターです。2 種類の DC ドライブ モデルが、製品付属の例として提供されています。1 つは連続バージョン power_dcdrivepower_dcdriveもう 1 つは離散化バージョン power_dcdrive_discpower_dcdrive_disc です。AC-DC コンバーターは、power_3levelVSCpower_3levelVSC の例として提供されています。

 

シミュレーション時間 (秒)

シミュレーション法

DC ドライブ

(終了時間=2s)

AC-DC コンバーター

(終了時間=0.2s)

連続ode23tb 既定のパラメーター

12

離散

9.0 (Ts = 10µs)

14.5 (Ts = 5µs)

離散 + アクセラレータ

5.2 (Ts = 10µs)

3.3 (Ts = 5µs)

* Pentium IV 2.6GHz CPU、512MB RAM の PC で得られたシミュレーション時間

この表から、回路を離散化すると、DC ドライブに対してシミュレーションが 1.33 倍高速化することがわかります。アクセラレータ モードを利用すると、さらにファクター 1.7 のパフォーマンス ゲインが得られます。AC-DC コンバーターに対して、アクセラレータ モードではゲインは 4.4 倍となります。複雑な電力用コンバーターのモデルの場合、アクセラレータ モードはファクター 15 までのパフォーマンス ゲインを提供します。

モデルをコードに変換することで可能になるパフォーマンス向上をフルに活用するには、スタンドアロン C コードを生成するために、Simulink Coder ソフトウェアを使用しなければなりません。その場合、xPC Target™ ソフトウェアを使って、このコードをコンパイルして実行できます。さらに、xPC Target リアルタイム カーネルが動作しているターゲット PC 上で実行することもできます。

この情報は役に立ちましたか?