MATLAB Function ブロックの固定小数点への変換
この例では、固定小数点ツールを使用して MATLAB® Function ブロックを含むモデルを固定小数点に変換する方法を示します。
固定小数点ツールでの MATLAB Function ブロックの操作のためのベスト プラクティス
MATLAB Function ブロック アルゴリズムの固定小数点のバリアントを編集しないでください。コード ビューを使用して MATLAB コードの浮動小数点のバリアントを編集し、データ型を再推奨して適用します。
正常に変換を行うには、固定小数点の自動変換でサポートされているモデル構造のみを使用してください。サポートされているモデル構造のリストについては、固定小数点の自動変換でサポートされる MATLAB 言語機能を参照してください。
範囲情報を収集する間は、MATLAB Function ブロックの MATLAB コードを編集しないでください。コードを編集すると、結果を統合しようとする場合に問題が発生します。
固定小数点ツールを使用した固定小数点の変換プロセス中に、[名前を付けて保存] オプションを使用して MATLAB Function ブロックを別の名前で保存しないでください。別の名前で保存すると、元のブロックの既存の結果が失われる可能性があります。
モデルを開く
ex_symm_fir
モデルを開きます。
open_system("ex_symm_fir.slx")
ex_symm_fir
モデルは対称 FIR フィルターを使用します。モデルのシミュレーションを実行して、モデル出力関数を検査します。MATLAB Function ブロックをダブルクリックすることで対称 FIR フィルター アルゴリズムを検査します。
固定小数点の変換のための準備
固定小数点ツールを開くには、[アプリ] タブで [アプリ] ギャラリーを展開し、[固定小数点ツール] を選択します。
固定小数点ツールの [新規] ボタンの矢印を展開し、
[固定小数点の反復的変換]
を選択します。[設計対象のシステム (SUD)] で、変換するシステムとして MATLAB Function ブロックを含む
symmetric_fir
サブシステムを選択します。[範囲の収集モード] で、範囲の収集方法として [シミュレーション範囲] を選択します。これにより、理想的な浮動小数点データ型を使用して範囲を収集するようにモデルが設定されます。
ツールストリップの [準備] セクションで、[準備] をクリックします。
範囲情報の収集
理想的な範囲を収集して、データ型の推奨に使用します。[範囲の収集] ボタンの矢印を展開して [倍精度]
を選択します。[範囲の収集] をクリックして、シミュレーションを開始します。
固定小数点ツールは、BaselineRun
というタイトルの実行にシミュレーション データを格納します。スプレッドシートで MATLAB 変数の範囲情報を確認します。
データ型の推奨
推奨設定を構成し、モデルに固定小数点データ型を推奨します。
ツールストリップの [変換] セクションで、MATLAB Function ブロック変数のデータ型の推奨設定を構成できます。
この例では、既定の推奨設定を使用します。
[データ型を推奨] をクリックします。
データ型の推奨は、スプレッドシートの [ProposedDT] 列に表示されます。
メモ
[SpecifiedDT] 列は MATLAB Function ブロック変数については常に空白です。
コード ビューを使用したコードの検査
コード ビューを起動するには、[MATLAB 関数] ボタンをクリックします。
コード ビューを使用すると以下を行うことができます。
変数と式の詳細情報を表示します。
fimath
設定などの推奨設定を調整します。推奨されたデータ型を編集します。
関数の置き換えを管理します。
MATLAB 関数をルックアップ テーブルに置き換える方法を示す例については、ルックアップ テーブルを使用した MATLAB Function ブロックでの関数の置換を参照してください。
コードを編集します。
固定小数点データ型を推奨します。
推奨されたデータ型をコードに適用します。
現在の推奨設定を表示するには、[設定] をクリックします。ここでは、関数の fimath
プロパティを編集できます。この例では、既定の fimath
プロパティで十分です。
推奨されたデータ型の適用
推奨された型の確認、推奨の設定の編集および関数の置き換えが終了したら、推奨されたデータ型をモデルに適用します。コード ビューまたは固定小数点ツールのいずれかからデータ型を適用できます。
コード ビューのウィンドウで、[適用] をクリックします。左側のペインには、元の浮動小数点の MATLAB Function ブロックと新たに生成された固定小数点バリアントの MATLAB Function ブロックの両方が表示されます。
左側のペインにある MATLAB Function ブロック ノードを右クリックします。[ブロックに移動]
を選択して、モデルの MATLAB Function ブロックに移動します。
これでバリアント サブシステムが、MATLAB Function ブロックの代わりとなります。バリアント サブシステムには、浮動小数点および固定小数点の両方のバージョンの MATLAB Function ブロックが含まれます。アクティブなバージョンは、固定小数点ツールによってモデルのデータ型オーバーライド設定に基づいて自動的に制御されます。[データ型オーバーライド] は現在モデルでアクティブになっていないため、固定小数点バージョンがアクティブになっています。
結果の確認
固定小数点ツールに戻り、変換の結果を確認します。
ツールストリップの [検証] セクションで [組み込み型によるシミュレーション] ボタンをクリックし、新しく適用された固定小数点データ型を使用してモデルをシミュレートします。モデルは、固定小数点のバリアントをアクティブなバリアントとして使用してシミュレーションを実行します。