Main Content

浮動小数点から固定小数点への変換を複数行うことによる探索

この例では、固定小数点ツールと ex_fixed_point_workflow モデルを使用してさまざまな語長の選択肢を探索します。組み込み型を使用してモデルのシミュレーションを実行し、システムの浮動小数点と固定小数点の動作を比較した後、新しい動作が満足なものであるかどうかを判断します。新たに適用された固定小数点データ型を使用したシステムの動作が許容できない場合、システムに有効な設定が見つかるまでプロセスを繰り返すことができます。

モデルの設定

モデルを開き、固定小数点変換向けに設定します。

open_system('ex_fixed_point_workflow')

モデルは Source、固定小数点に変換する Controller Subsystem、およびサブシステム出力を可視化する Scope で構成されています。この方法でモデルを構成すると、システムに与える固定小数点データ型の影響を判定する場合に役立ちます。この方法を使用する場合は、サブシステムが対象のシステムであるため、サブシステムのみを変換します。Source または Scope を固定小数点に変換する必要はありません。

このように設定すると、入力を変更し複数のスティミュラスのシミュレーション データを収集できます。異なる入力範囲を使用してサブシステムの動作を調べ、固定小数点データ型をスケーリングすると、シミュレーション範囲全体に適応しながら最高精度を与えられます。

変換前と変換後とで動作を比較するには、設計対象のシステムの出力で信号のログを有効にします。

ph = get_param('ex_fixed_point_workflow/Controller Subsystem','PortHandles');
set_param(ph.Outport(1),'DataLogging','on')
set_param(ph.Outport(2),'DataLogging','on')

既定の推奨設定を使用した固定小数点への変換

  1. ex_fixed_point_workflow モデルの [アプリ] ギャラリーで、[固定小数点ツール] を選択します。

  2. 固定小数点ツールの [設計対象のシステム] で、固定小数点に変換するサブシステムを選択します。この例では、[Controller Subsystem] を選択します。

  3. [範囲の収集モード] で、範囲の収集方法として [シミュレーション範囲] を選択します。

  4. [シミュレーション入力]Simulink.SimulationInput オブジェクトを指定すると、その動作範囲全体にわたって設計を実行できます。この例では、[シミュレーション入力][既定のモデル入力を使用] に設定します。

  5. システムの許容誤差を指定するには、テーブルの [信号許容誤差] で、モデル内の信号のログが有効になっている任意の信号について、許容誤差を指定します。

    ログ記録した信号の相対誤差 ([相対許容誤差]) を 15% に設定します。

  6. ツールストリップで [準備] をクリックします。固定小数点ツールは設計対象のシステムについて変換プロセスとの互換性をチェックし、モデルで見つかった問題をレポートします。可能な場合は、固定小数点ツールは互換性のない設定を自動的に変更します。詳細については、固定小数点ツールを使用した変換するシステムの準備を参照してください。

  7. [範囲の収集] ボタンの矢印を展開して [倍精度] を選択します。[範囲の収集] ボタン をクリックし、モデル内のデータ型を倍精度にオーバーライドして範囲収集シミュレーションを開始します。

  8. [変換] セクションで、[データ型を推定] ボタン をクリックします。

    固定小数点ツールは既定の推奨設定を使用して、語長が 16 ビットで小数部の長さが最良精度のデータ型を推奨し、スプレッドシートで結果を更新します。

  9. [データ型を適用] ボタン をクリックし、推奨されたデータ型をモデルに書き込みます。

  10. ツールストリップの [検証] セクションで、[組み込み型によるシミュレーション] ボタン をクリックします。固定小数点ツールは新しい固定小数点データ型を使用してモデルのシミュレーションを実行し、実行情報を EmbeddedRun というタイトルの新しい実行に保存します。

  11. [結果の比較] を選択してシミュレーション データ インスペクターを開き、浮動小数点と固定小数点の動作を比較します。

固定小数点ツールに戻り、推奨設定を更新して、新しいデータ型の推奨を生成します。

新しい推奨設定を使用した変換

  1. 固定小数点ツールのツールストリップの [変換] セクションで、[設定] ボタン をクリックします。

    推奨設定を編集して、より長い語長がシステムの固定小数点の動作を改善するかどうかを判断します。[既定の語長]32 に設定します。

  2. 新しい推奨を生成するには、[データ型の推奨] をクリックします。

  3. [データ型を適用] をクリックし、新たに推奨されたデータ型をモデルに書き込みます。

  4. [組み込み型によるシミュレーション] をクリックします。固定小数点ツールは新しい固定小数点データ型を使用してモデルのシミュレーションを実行し、実行情報を EmbeddedRun_2 というタイトルの新しい実行に保存します。

  5. [結果の比較] を選択してシミュレーション データ インスペクターを開き、浮動小数点と固定小数点の動作を比較します。

システムの固定小数点の動作が許容される設定が検出されるまで、引き続きデータ型推奨設定を調整し、データ型を推奨してモデルに適用できます。

関連するトピック