Main Content

サポートするデータ型

サポートされているデータ型

ユーザー作成の固定小数点 S-Function 用の API は、Simulink® と Fixed-Point Designer™ のさまざまなデータ型をサポートしており、これには以下のものが含まれます。

  • 組み込み Simulink データ型

    • single

    • double

    • uint8

    • int8

    • uint16

    • int16

    • uint32

    • int32

    • uint64

    • int64

  • 固定小数点 Simulink データ型

    • sfix16_En15

    • ufix32_En16

    • ufix128

    • sfix37_S3_B5

  • Scaled double でデータ型をオーバーライドされた結果のデータ型

    • flts16

    • flts16_En15

    • fltu32_S3_B5

詳細は、固定小数点データ型とスケーリングの表記法を参照してください。

整数の処理

API は整数を自明のスケーリングをもつ固定小数点数として処理します。[傾きバイアス] 表現では、固定小数点数は次のように表現されます。

real-world value = (slope × integer) + bias

自明のスケーリングでは、slope = 1 で、bias = 0 です。

2 進小数点のみのスケーリングで説明すると、自明のスケーリングの 2 進小数点は最下位ビットの右になり、小数部の長さがゼロを意味します。

real-world value = integer × 2-fraction length = integer × 20

いずれの場合も、自明のスケーリングは実際値が整数格納値に等しいことを意味します。

real-world value = integer

この API では、uint8 などの Simulink 組み込み整数を含むすべての整数は、自明のスケーリングをもつ固定小数点数として処理されます。しかし、Simulink の組み込み整数は、それを使用しても Fixed-Point Designer ソフトウェア ライセンスがチェックアウトされないという点において異なります。

データ型オーバーライド

固定小数点ツールを使用すると、シミュレーションの固定小数点信号に対してさまざまなデータ型オーバーライドを実行できるようになります。この API はデータ型が次のようにしてオーバーライドされた信号を扱えます。

  • Single が Simulink の組み込み single として処理されてオーバーライドされた信号。

  • Double が Simulink の組み込み double として処理されてオーバーライドされた信号。

  • Scaled doubleScaledDouble のデータ型のまま処理されてオーバーライドされた信号。

ScaledDouble 信号は浮動小数点信号と固定小数点信号のハイブリッドで、スケーリング、符号、および語長の情報を維持したまま doubles として保存します。値は浮動小数点 double として格納されますが、固定小数点数を付け、整数格納値と実際値の区別は維持されます。整数格納 double にスケーリング情報を適用して、実際値に変換します。値を double で格納するため、オーバーフローと精度の問題はほとんど無くなります。関数が ScaledDouble 信号を処理する方法については、付録の末尾にある API 関数ごとのリファレンス ページを参照してください。

固定小数点ツールとデータ型オーバーライドの詳細については、固定小数点ツールを参照してください。