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