データ型最適化によるモデル コンフィギュレーションの変更
データ型の最適化は、元のシステム動作を指定された許容誤差内で維持しながら、目的関数を最小化しようとします。コマンド ラインで fxpopt
を使用するか、固定小数点ツールの [固定小数点の最適化された変換]
ワークフローを使用することで、データ型を最適化できます。
最適化プロセスでは、ソフトウェアによって以下の設定とモデル コンフィギュレーション パラメーターが変更されます。これらのパラメーター設定は、最適化の完了後に [コンフィギュレーション パラメーター] ダイアログ ボックスまたは関数 set_param
を使用して元に戻すことができます。explore
の KeepOriginalModelParameters
オプションを使用して、モデル パラメーターの元の値を維持することもできます。
パラメーター変更の理由 | パラメーター | 既定値 | 最適化による変更後の値 |
---|---|---|---|
非表示にされた診断 | ParameterDowncastMsg | 'error' | 'none' |
ParameterUnderflowMsg | 'none' | 'none' | |
FixptConstUnderflowMsg | 'none' | 'none' | |
ParameterPrecisionLossMsg | 'none' | 'none' | |
FixptConstPrecisionLossMsg | 'none' | 'none' | |
ParameterOverflowMsg | 'error' | 'none' | |
FixptConstOverflowMsg | 'none' | 'none' | |
IntegerOverflowMsg | 'warning' | 'none' | |
IntegerSaturationMsg | 'warning' | 'none' | |
シミュレーション データ インスペクターでのログ記録 | SignalLogging | 'on' | 'on' |
ReturnWorkspaceOutputs | 'on' | 'on' | |
SaveFormat | 'Dataset' | 'Dataset' | |
結果のメモリ消費量の軽減 | SaveTime | 'on' | 'off' |
SaveOutput | 'on' | 'off' | |
モデルの有効性 | SignalRangeChecking | 'none' | 'error' |
結果の理解 | ShowPortDataTypes | 'off' | 'on' |
最適化の高速化 | SimulationMode | 'normal' | 'accelerator' |
データ型オーバーライド | DataTypeOverride | 'UseLocalSettings' | 'Off' |
OptimizationSolution
オブジェクトの showContents
メソッドを使用して、データ型最適化による変更内容の概要を MATLAB® コマンド ウィンドウに出力できます。たとえば、固定小数点データ型の最適化の例に従ってデータ型を最適化した後に showContents
を使用すると、データ型最適化によるモデル パラメーターの変更内容が表示されます。
solution = result.Solutions(1); showContents(solution)
ModelName: 'ex_auto_gain_controller' ModelParameters: Index Name Value _____ __________________________ _____________ 1 SignalLogging 'on' 2 ReturnWorkspaceOutputs 'on' 3 SaveFormat 'Dataset' 4 ShowPortDataTypes 'on' 5 SignalRangeChecking 'error' 6 ParameterDowncastMsg 'none' 7 ParameterUnderflowMsg 'none' 8 ParameterPrecisionLossMsg 'none' 9 ParameterOverflowMsg 'none' 10 FixptConstPrecisionLossMsg 'none' 11 FixptConstOverflowMsg 'none' 12 FixptConstUnderflowMsg 'none' 13 IntegerOverflowMsg 'none' 14 IntegerSaturationMsg 'none' 15 SaveTime 'off' 16 SaveOutput 'off' 17 SimulationMode 'accelerator' 18 DataTypeOverride 'off' ...
ダウンキャストの検出
シミュレーション中にパラメーターのダウンキャストが発生したときに、何のアクションも実行しません。最適化では、ダウンキャストを含む量子化の影響が想定されます。最適化されたデータ型は、指定されたすべての動作の制約を満たします。詳細については、ダウンキャストの検出を参照してください。
パラメーター: ParameterDowncastMsg |
値: 'none' |
既定の設定: 'error' |
アンダーフローの検出
シミュレーション中にパラメーター量子化によって非ゼロ値がゼロにアンダーフローしたときに、何のアクションも実行しません。シミュレーション中に固定小数点定数のアンダーフローが発生したときに、何のアクションも実行しません。最適化では、アンダーフローを含む量子化の影響が想定されます。最適化されたデータ型は、指定されたすべての動作の制約を満たします。詳細については、アンダーフローの検出およびアンダーフローの検出を参照してください。
パラメーター: ParameterUnderflowMsg |
値: 'none' |
既定の設定: 'none' |
パラメーター: FixptConstUnderflowMsg |
値: 'none' |
既定の設定: 'none' |
桁落ちの検出
シミュレーション中にパラメーターの桁落ちや固定小数点定数の桁落ちが発生したときに、何のアクションも実行しません。最適化では、桁落ちを含む量子化の影響が想定されます。最適化されたデータ型は、指定されたすべての動作の制約を満たします。詳細については、桁落ちの検出および桁落ちの検出を参照してください。
パラメーター: ParameterPrecisionLossMsg |
値: 'none' |
既定の設定: 'warning' |
パラメーター: FixptConstPrecisionLossMsg |
値: 'none' |
既定の設定: 'none' |
オーバーフローの検出
シミュレーション中にパラメーターのオーバーフローや固定小数点定数のオーバーフローが発生したときに、何のアクションも実行しません。最適化では、オーバーフローを含む量子化の影響が想定されます。最適化されたデータ型は、指定されたすべての動作の制約を満たします。詳細については、オーバーフローの検出およびオーバーフローの検出を参照してください。
パラメーター: ParameterOverflowMsg |
値: 'none' |
既定の設定: 'error' |
パラメーター: FixptConstOverflowMsg |
値: 'none' |
既定の設定: 'none' |
オーバーフロー時にラップ
信号の値がその信号のデータ型をオーバーフローしてラップ アラウンドされる場合に、何のアクションも実行しません。最適化では、オーバーフローを含む量子化の影響が想定されます。最適化されたデータ型は、指定されたすべての動作の制約を満たします。詳細については、オーバーフロー時にラップを参照してください。
パラメーター: IntegerOverflowMsg |
値: 'none' |
既定の設定: 'warning' |
オーバーフローで飽和
信号の値が大きすぎてその信号のデータ型で表現できず、飽和になる場合に、何のアクションも実行しません。最適化では、オーバーフローを含む量子化の影響が想定されます。最適化されたデータ型は、指定されたすべての動作の制約を満たします。詳細については、オーバーフローで飽和を参照してください。
パラメーター: IntegerSaturationMsg |
値: 'none' |
既定の設定: 'warning' |
信号のログ
このモデルのワークスペースに対する信号のログをグローバルに有効にします。最適化では、指定された信号のログをシミュレーション データ インスペクターに記録するために、この設定にすることが求められます。詳細については、Signal loggingを参照してください。
パラメーター: SignalLogging |
値: 'on' |
既定の設定: 'on' |
単一のシミュレーション出力
シミュレーション結果を Simulink.SimulationOutput
オブジェクトとして返すように単出力形式の sim
コマンドを有効にします。最適化では、信号のログをシミュレーション データ インスペクターで記録するために、この設定にすることが求められます。詳細については、Single simulation outputを参照してください。
パラメーター: ReturnWorkspaceOutputs |
値: 'on' |
既定の設定: 'on' |
形式
ログに記録された状態と出力を Simulink.SimulationData.Dataset
オブジェクトに格納します。最適化では、シミュレーション データ インスペクターでの信号のログのために、この設定にすることが求められます。詳細については、永続ストレージへのデータの記録を参照してください。
パラメーター: SaveFormat |
値: 'Dataset' |
既定の設定: 'Dataset' |
時間
シミュレーション中に時間データを MATLAB ワークスペースにエクスポートしません。最適化では、不要なメモリ消費を回避するために、この設定にすることが求められます。詳細については、時間を参照してください。
パラメーター: SaveTime |
値: 'off' |
既定の設定: 'on' |
出力
シミュレーション中にルート出力端子信号データを指定された MATLAB 変数にエクスポートしません。最適化では、シミュレーション データ インスペクターでの信号のログのために、この設定にすることが求められます。詳細については、出力を参照してください。
パラメーター: SaveOutput |
値: 'off' |
既定の設定: 'on' |
シミュレーション範囲のチェック
信号が指定した最小値または最大値を超えたときに、シミュレーションを終了します。最適化されたデータ型を適用したモデルのシミュレーション範囲が、指定された設計範囲に確実に従うように、最適化ではこの設定にすることが求められます。詳細については、シミュレーション範囲のチェックを参照してください。
パラメーター: SignalRangeChecking |
値: 'error' |
既定の設定: 'none' |
端子のデータ型の表示
モデルのブロック線図上に端子のデータ型を表示します。モデルに適用された最適化済みのデータ型を簡単に検証できるように、最適化ではこの設定にすることが求められます。詳細については、プログラムによるモデル エディターの外観パラメーターを参照してください。
パラメーター: ShowPortDataTypes |
値: 'on' |
既定の設定: 'off' |
シミュレーション モード
モデルをアクセラレータ モードでシミュレートします。最適化では、モデルにおけるデータ型の最適化にかかる時間を短縮するために、アクセラレータ モードを使用します。詳細については、アクセラレーションとはを参照してください。
パラメーター: SimulationMode |
値: 'accelerator' |
既定の設定: 'normal' |
データ型オーバーライド
最適化では、モデルの動作に対する最適化されたデータ型の影響をシミュレーション中に正確に表現するために、モデルで設定されているデータ型オーバーライドが既定ではすべてオフになります。この動作は、fxpOptimizationOptions
の高度なオプションを使用してカスタマイズできます。詳細については、固定小数点の計測機能およびデータ型オーバーライドを参照してください。
パラメーター: DataTypeOverride |
値: 'Off' |
既定の設定: 'UseLocalSettings' |