Main Content

固定小数点データ型の指定

Simulink® では、信号とパラメーター値を表現するために固定小数点数を使用するモデルを作成できます。固定小数点データを使用すると、モデルから生成されたコード サイズが大幅に小さくなり、実行スピードが速くなります。

固定小数点数を使用するモデルを実行するには、システムに Fixed-Point Designer™ 製品がインストールされていなければなりません。特に、以下の操作をする場合にこの製品が必要となります。

  • 固定小数点データ型を含む Simulink ブロック線図を更新する (Ctrl+D)

  • 固定小数点データ型を含むモデルを実行する

  • 固定小数点データ型を含むモデルからコードを生成する

  • シミュレーションによって生成される最小および最大値のログを作成する

  • オートスケーリング ツールを使ってモデルの出力をオートスケーリングする

Fixed-Point Designer 製品がシステムにインストールされていない場合は、シミュレーション中の固定小数点データから浮動小数点データへの自動変換を有効にすると、固定小数点モデルを浮動小数点モデルとしてシミュレーションできます。詳細については、固定小数点データ型の指定のオーバーライドを参照してください。

Fixed-Point Designer 製品がインストールされておらず、固定小数点データから浮動小数点データへの自動変換が有効になっていない場合、固定小数点モデルをシミュレートしようとすると、エラーが発生します。

メモ

固定小数点データ型の指定で説明されているように、固定小数点ブロックのあるモデルの編集、または固定小数点データ型を指定するためにデータ型アシスタントを使用する場合は、Fixed-Point Designer 製品は必要ありません。

基本整数型に解決される固定小数点データ型の場合、Fixed-Point Designer のライセンスは必要ありません。たとえば、int8 組み込み型と等しいデータ型 fixdt(1,8,0) を指定するブロックまたは信号は、Fixed-Point Designer のライセンスをチェックアウトしません。

固定小数点データ型の指定のオーバーライド

固定小数点ツールの機能の大部分は、Fixed-Point Designer と共に使用するためのものです。ただし、Fixed-Point Designer がない場合でも、データ型オーバーライド設定を構成し、固定小数点データ型を指定するモデルのシミュレーションが行えます。このモードでは、Simulink は、モデルのシミュレーションを行う際に、固定小数点データ型を浮動小数点データ型で一時的にオーバーライドします。

メモ

モデルまたはワークスペースで fi (Fixed-Point Designer) オブジェクトまたは組み込み数値データ型を使用する場合は、モデルに固定小数点データ型を導入できます。fipref (Fixed-Point Designer) を設定すると、Fixed-Point Designer ライセンスのチェックアウトを回避することができます。

Fixed-Point Designer を使用せずにモデルのシミュレーションを行うには、コマンド ラインで次を入力します。

set_param(gcs, 'DataTypeOverride', 'Double', ...
'DataTypeOverrideAppliesTo', 'AllNumericTypes')

モデルで fi オブジェクトまたは組み込み数値データ型を使用する場合、fiprefDataTypeOverride プロパティを TrueDoubles または TrueSingles (モデル全体のデータ型オーバーライド設定と同じもの) に、DataTypeOverrideAppliesTo プロパティを All numeric types に設定します。

たとえば、MATLAB® コマンド ラインで次のように入力します。

 p = fipref('DataTypeOverride', 'TrueDoubles', ...
		'DataTypeOverrideAppliesTo', 'AllNumericTypes');

次のブロックではデータ型オーバーライドはサポートされていません。

  • アクション言語として MATLAB を使用する Stateflow Chart® ブロック

  • アクション言語として MATLAB を使用する State Transition Table® ブロック

  • アクション言語として MATLAB を使用する Truth Table® ブロック

  • Test Sequence ブロック

  • MATLAB Function ブロック

  • MATLAB Discrete-Event System ブロック

  • Requirements Table ブロック

参考

|

関連するトピック