サポートするデータ型
サポートされているデータ型
ユーザー作成の固定小数点 S-Function 用の API は、Simulink® と Fixed-Point Designer™ のさまざまなデータ型をサポートしており、これには以下のものが含まれます。
組み込み Simulink データ型
singledoubleuint8int8uint16int16uint32int32uint64int64
固定小数点 Simulink データ型
sfix16_En15ufix32_En16ufix128sfix37_S3_B5
Scaled doubleでデータ型をオーバーライドされた結果のデータ型flts16flts16_En15fltu32_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 関数ごとのリファレンス ページを参照してください。
固定小数点ツールとデータ型オーバーライドの詳細については、固定小数点ツールを参照してください。