変換するシステムの準備
固定小数点ツールを使用してモデルのデータ型推奨を生成する前に、Simulink® でモデルを設定し、変換するシステムを準備します。
モデルの設定
設計範囲の指定
設計の最小範囲と最大範囲の情報を使用する場合は、この情報をブロックに追加します。派生データを使用したオートスケールでは、少なくともモデルの入力で設計の最小値と最大値を指定しなければなりません。モデルの指定されたすべての設計範囲を使用して、範囲解析により派生した範囲の絞り込みを試みます。指定した設計範囲情報が多いほど、範囲解析の成功率が高くなります。解析を実行すると、モデルに対して新たな範囲情報を派生します。次に、この新しい情報とともに指定された範囲を使用して、モデル内の残りのオブジェクトに対する範囲の派生を試みます。このため、解析結果がブロックの優先順位によって変化することもありますが、これはブロックが解析される順序がブロックの優先順位によって決まるためです。
[出力の最小値] や [出力の最大値] などのパラメーターを使用してモデル オブジェクトの設計範囲を指定します。これらの値を指定できるブロックのリストについては、信号範囲の指定が可能なブロックを参照してください。
信号のログの有効化
シミュレーション データ インスペクターを使用してシミュレーション結果を表示するには、固定小数点に変換するシステムの信号ログを有効にしなければなりません。信号ログが有効になっている信号の結果のみをシミュレーション データ インスペクターを使用してプロットすることを選択できます。
Simulink エディターで、1 つ以上の信号を選択します。
Simulink エディターの [信号] タブで、[信号のログ] をクリックします。
[出力データ型の設定をロックする] の使用
ブロックの [固定小数点ツールによる変更に対して出力データ型の設定をロックする] パラメーターをオンにすると、自動データ型指定されないように一部のブロックをロックできます。このパラメーターをオンにすると、ツールはブロックのデータ型の推奨を行いません。
ブロック線図の更新
ブロック線図を更新して、モデル内のすべてのブロックに対してパラメーター範囲のチェックを実行します。
ブロック線図の更新に失敗する場合は、エラー メッセージを使用してモデル内のエラーを修正します。エラーを修正してから、ブロック線図を再度更新します。エラーを修正できない場合、バックアップのモデルを復元します。
設計対象のシステムの選択
固定小数点ツールを開くには、モデルの [アプリ] ギャラリーで [固定小数点ツール] を選択します。または、関数 fxptdlg
を使用します。
固定小数点ツールで、[新規] をクリックし、[固定小数点の反復的変換]
を選択します。
固定小数点に変換するシステムまたはサブシステムを選択します。モデル内の個々のサブシステムは一度に 1 つだけ変換してください。こうすると、数値の問題の発生源を分離することにより、デバッグが可能になります。
主な作業領域において、[設計対象のシステム (SUD)] で、ドロップダウン メニューを使用して変換するシステムまたはサブシステムを選択します。
範囲の収集方法の設定
シミュレーション、派生範囲解析、または派生範囲解析と組み合わせたシミュレーションを使用して範囲を収集できます。シミュレーション ベースの範囲の収集を使用すると、固定小数点データ型を倍精度または単精度データ型でグローバルにオーバーライドするように固定小数点ツールを設定することで、量子化の影響を回避できます。この設定により、理想的な出力を表す浮動小数点ベンチマークが提供されます。また、モデルに設定されている現在のデータ型オーバーライドを使用して、ベンチマーク範囲データを収集することもできます。
シミュレーションを通じて範囲を収集する場合、追加のシミュレーション入力を指定することもできます。範囲収集シミュレーション中、固定小数点ツールは、指定された各シミュレーション シナリオから最小値と最大値を取得します。詳細については、シミュレーション入力の指定を参照してください。
派生範囲解析を使用して、固定小数点ツールはブロックに指定された設計範囲を使用し、モデルの他のオブジェクトの静的範囲の解析および派生を行います。ツールはモデルに対して指定されたすべての設計範囲情報を使用して、設計対象システムのオブジェクトに対する範囲を派生させます。派生範囲解析を使用してモデル内のオブジェクトの範囲を収集することを選択した場合、モデルのシミュレーションを行う必要はありません。ただし、シミュレーション データ インスペクターを使用して浮動小数点と固定小数点の動作を比較するには、シミュレーションが必要です。
範囲解析によるシミュレーションを使用すると、固定小数点ツールはシミュレーションと派生範囲解析を通じて収集された範囲の組み合わせを使用します。
[範囲の収集モード] で、範囲の収集に使用する方法を選択します。固定小数点ツールはこれらの収集された範囲を後で推奨データ型の生成に使用します。
アプリケーションに適した範囲の収集方法を判断するための詳細については、範囲の収集手法の選択を参照してください。
シミュレーション入力の指定
シミュレーションを通じて範囲を収集することを選択した場合、システムに対してシミュレーション入力を指定しなければなりません。[シミュレーション入力] で、範囲収集のためのモデルのシミュレーションに既定のモデル入力を使用するかどうかを選択するか、ベース ワークスペースから Simulink.SimulationInput
オブジェクトを選択して 1 つ以上のシミュレーション シナリオを指定します。
選択した SimulationInput
オブジェクトに複数のシミュレーション シナリオが含まれている場合、固定小数点ツールは、すべてのシミュレーション シナリオからマージされた範囲に基づいてデータ型を推奨します。固定小数点ツールの推奨の精度は、指定されたテスト ベンチと同等のため、設計範囲の全体をカバーするような包括的な入力信号のセットを用意することで、システムのデータ型の推奨の精度は向上します。例については、マージされたシミュレーション範囲に対するデータ型の推奨を参照してください。
信号の許容誤差の編集
信号のログを有効にしたモデルの信号で、絶対、相対、および時間の許容誤差を指定できます。システムの変換後、組み込み型実行をシミュレートすると、[ワークフロー ブラウザー] にその組み込み型実行が、範囲収集で確立されたベースライン実行と比較して、指定された信号の許容誤差を満たすかどうかが表示されます。シミュレーション データ インスペクターで比較プロットを表示できます。
[信号許容誤差] の下のテーブルで信号の許容誤差を指定します。このテーブルには、信号のログが有効になっているモデルのすべての信号が含まれます。許容誤差を登録する信号の右側のボックスにその信号の許容誤差を入力します。以下のいずれかの許容誤差のタイプを指定できます。
絶対許容誤差 – 元の信号と変換された設計の信号との、受容可能な最大の差の絶対値。
相対許容誤差 – 元の出力と新しい設計の出力の間の最大相対差 (パーセンテージで指定)。たとえば、値
1e-2
は元の信号の値と変換された設計の信号の値との 1 パーセントの最大差を示します。時間の許容誤差 (秒) – 最大値と最小値によって比較する上限値と下限値が定義される時間間隔を定義します。
詳細については、動作の制約の指定を参照してください。
変換するシステムの準備
[準備] ボタンをクリックします。固定小数点ツールはモデルのバックアップ バージョンを作成し、設計対象のシステム、およびその設計対象のシステムを含むモデルを、変換プロセスとの互換性についてチェックします。
可能な場合は、固定小数点ツールは互換性のない設定を自動的に変更します。ツールが設定を自動変更できない場合は、手動で行わなければならない変更を通知し、変換プロセスが問題なく行われるよう支援します。準備のチェックの詳細については、固定小数点ツールを使用した変換するシステムの準備を参照してください。
変換プロセスの次の手順については、範囲の収集を参照してください。