ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

coder.FixptConfig クラス

パッケージ: coder

浮動小数点から固定小数点への変換構成オブジェクト

説明

coder.FixptConfig オブジェクトには、浮動小数点の MATLAB® コードを固定小数点の MATLAB コードに変換するために関数 fiaccel が必要とする、コンフィギュレーション パラメーターが含まれています。-float2fixed オプションを使用して、このオブジェクトを関数 fiaccel に渡します。

作成

fixptcfg = coder.config('fixpt') は、浮動小数点を固定小数点に変換するための coder.FixptConfig オブジェクトを作成します。

プロパティ

ComputeDerivedRanges

派生範囲解析を有効にします。

値: true| false (既定値)

ComputeSimulationRanges

シミュレーション範囲データの収集と報告を有効にします。設計のダイナミック レンジ全体をカバーするために長時間のシミュレーションを実行する必要がある場合、シミュレーション範囲の収集を無効にして代わりに派生範囲解析を実行することを検討します。

値: true (既定値)|false

DefaultFractionLength

既定の固定小数点の小数部の長さ。

値: 4 (既定値) | 正の整数

DefaultSignedness

生成されたコード内の変数の符号付き/なしの既定値。

値: 'Automatic' (既定値) | 'Signed' | 'Unsigned'

DefaultWordLength

既定の固定小数点語長。

値: 14 (既定値) | 正の整数

DetectFixptOverflows

スケーリングされた double を使用したオーバーフローの検出を有効にします。

値: true| false (既定値)

fimath

変換に使用する fimath のプロパティ。

値: fimath('RoundingMethod', 'Floor', 'OverflowAction', 'Wrap', 'ProductMode', 'FullPrecision', 'SumMode', 'FullPrecision') (既定値) | 文字列

FixPtFileNameSuffix

固定小数点ファイル名の接尾辞。

値: '_fixpt' | 文字列

LaunchNumericTypesReport

固定小数点型が推奨された後に数値型レポートを表示します。

値: true (既定値) | false

LogIOForComparisonPlotting

固定小数点変換で発生したデータ誤差をプロットするためのシミュレーション データ ログを有効にします。

値: true (既定値) | false

OptimizeWholeNumber

シミュレーションの最小値/最大値のログにおいて、常に 0 または正の整数であることが示されている変数の語長を最適化します。

値: true (既定値) | false

PlotFunction

比較プロットで使用する関数の名前。

比較プロットを有効にするには、LogIOForComparisonPlotting を true に設定しなければなりません。このオプションは PlotWithSimulationDataInspector よりも優先されます。

プロット関数は次の 3 つの入力を受け入れます。

  • 変数名およびそれを使用する関数名を格納する構造体。

  • 記録された浮動小数点の変数値を格納する cell 配列。

  • 固定小数点への変換後に記録された変数値を格納する cell 配列。

値: '' (既定値) | 文字列

PlotWithSimulationDataInspector

比較プロットにシミュレーション データ インスペクターを使用します。

比較プロットを有効にするには、LogIOForComparisonPlotting を true に設定しなければなりません。PlotFunction オプションが PlotWithSimulationDataInspector よりも優先されます。

値: true| false (既定値)

ProposeFractionLengthsForDefaultWordLength

DefaultWordLength に基づいて固定小数点型を推奨します。

値: true (既定値) | false

ProposeTargetContainerTypes

既定 (false) では、値を表現するために必要な最小の語長のデータ型を推奨します。true に設定すると、範囲を表すことができ、C コード生成に適した最小の語長 (8、16、32、64 …) のデータ型を推奨します。たとえば、範囲が [0..7] の変数の場合、3 ではなく 8 の語長を推奨します。

値: true| false (既定値)

ProposeWordLengthsForDefaultFractionLength

DefaultFractionLength に基づいて固定小数点型を推奨します。

値: false (既定値) | true

ProposeTypesUsing

シミュレーション範囲データ、派生範囲またはその両方に基づいてデータ型を推奨します。

値: 'BothSimulationAndDerivedRanges' (既定値) | 'SimulationRanges' | 'DerivedRanges'

SafetyMargin

固定小数点型の推奨時にシミュレーション範囲を拡大する安全余裕の割合。指定する安全余裕は -100 よりも大きな実数でなければなりません。

値: 0 (既定値) | double

StaticAnalysisQuickMode

より高速な静的解析を実行します。

値: true| false (既定値)

StaticAnalysisTimeoutMinutes

タイムアウトした場合、解析を中止します。

値: '' (既定値) | 正の整数

TestBenchName

テスト ベンチ関数名。文字列または文字列の cell 配列として指定します。少なくとも 1 つのテスト ベンチを指定しなければなりません。

入力パラメーターのデータ型を明示的に指定しない場合、変換では最初のテスト ベンチ関数を使用してそれらのデータ型を推測します。

値: '' (既定値) | 文字列 | 文字列の cell 配列

TestNumerics

数値テストを有効にします。

値: true| false (既定値)

メソッド

addApproximation固定小数点の変換中に浮動小数点の関数をルックアップ テーブルに置換
addDesignRangeSpecificationパラメーターへの設計範囲指定の追加
addFunctionReplacement固定小数点の変換で浮動小数点関数を固定小数点関数で置き換える
clearDesignRangeSpecificationsすべての設計範囲指定の消去
getDesignRangeSpecificationパラメーターの設計範囲指定の取得
hasDesignRangeSpecificationパラメーターに設計範囲があるかどうかの判別
removeDesignRangeSpecificationパラメーターからの設計範囲指定の削除

すべて折りたたむ

coder.FixptConfig オブジェクト fixptcfg を既定の設定で作成します。

fixptcfg = coder.config('fixpt');

テスト ベンチの名前を設定します。この例では、テスト ベンチ関数名は dti_test です。この変換プロセスでは、テスト ベンチを使用して入力データ型の推測およびシミュレーション範囲データの収集を行います。

fixptcfg.TestBenchName = 'dti_test';

シミュレーション範囲のみに基づくデータ型の推奨を選択します。既定では、推奨される型はシミュレーション範囲と派生範囲の両方に基づきます。

fixptcfg.ProposeTypesUsing = 'SimulationRanges';

浮動小数点の MATLAB 関数を固定小数点の MATLAB コードに変換します。この例では、MATLAB 関数名は dti です。

fiaccel -float2fixed fixptcfg dti

coder.FixptConfig オブジェクト fixptcfg を既定の設定で作成します。

fixptcfg = coder.config('fixpt');

入力データ型の推測に使用するテスト ベンチの名前を設定します。この例では、テスト ベンチ関数名は dti_test です。変換プロセスではこのテスト ベンチを使用して入力データ型を推測します。

fixptcfg.TestBenchName = 'dti_test';

派生範囲に基づくデータ型の推奨を選択します。

fixptcfg.ProposeTypesUsing = 'DerivedRanges';
fixptcfg.ComputeDerivedRanges = true;

設計範囲を追加します。この例では、関数 dti には 1 つのスカラー double の入力 u_in があります。u_in の設計の最小値を -1 に、設計の最大値を 1 に設定します。

fixptcfg.addDesignRangeSpecification('dti', 'u_in', -1.0, 1.0);

浮動小数点の MATLAB 関数 dti を固定小数点の MATLAB コードに変換します。

fiaccel -float2fixed fixptcfg  dti

潜在的なオーバーフローを検出すること選択した場合、fiaccel は生成された固定小数点 MEX 関数のスケーリングされた double バージョンを生成します。スケーリングされた double は、倍精度浮動小数点のデータを格納するため、演算を全範囲で実行します。また、固定小数点設定も保持するため、計算が固定小数点型の範囲から外れた場合に報告することが可能です。

coder.FixptConfig オブジェクト fixptcfg を既定の設定で作成します。

fixptcfg = coder.config('fixpt');

テスト ベンチの名前を設定します。この例では、テスト ベンチ関数名は dti_test です。

fixptcfg.TestBenchName = 'dti_test';

オーバーフロー検出を行う数値のテストを有効にします。

fixptcfg.TestNumerics = true;
fixptcfg.DetectFixptOverflows = true;

浮動小数点の MATLAB 関数を固定小数点の MATLAB コードに変換します。この例では、MATLAB 関数名は dti です。

fiaccel -float2fixed fixptcfg dti

代替方法

プロジェクトの固定小数点コンバーター アプリを使用すると、浮動小数点 MATLAB コードを固定小数点コードに変換できます。次のいずれかの方法でアプリを開きます。

  • [アプリ] タブの [コード生成] セクションで、[固定小数点コンバーター] をクリックします。

  • fixedPointConverter コマンドを使用します。