Main Content

データ型最適化によるモデル コンフィギュレーションの変更

データ型の最適化は、元のシステム動作を指定された許容誤差内で維持しながら、目的関数を最小化しようとします。コマンド ラインで fxpopt を使用するか、固定小数点ツール[固定小数点の最適化された変換] ワークフローを使用することで、データ型を最適化できます。

最適化プロセスでは、ソフトウェアによって以下の設定とモデル コンフィギュレーション パラメーターが変更されます。これらのパラメーター設定は、最適化の完了後に [コンフィギュレーション パラメーター] ダイアログ ボックスまたは関数 set_param を使用して元に戻すことができます。exploreKeepOriginalModelParameters オプションを使用して、モデル パラメーターの元の値を維持することもできます。

パラメーター変更の理由パラメーター既定値最適化による変更後の値
非表示にされた診断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'

参考

|

関連するトピック