## Fixed-Point Numbers in Simulink

Simulink® data type names must be valid MATLAB® identifiers with less than 128 characters. The data type name provides information about container type, number encoding, and scaling.

You can represent a fixed-point number using the fixed-point scaling equation

`$V\approx \stackrel{~}{V}=SQ+B,$`

where

• V is the real-world value.

• $\stackrel{~}{V}$ is the approximate real-world value.

• S = F2E is the slope.

• F is the slope adjustment factor, where F is a value in the range [1.0, 2.0).

• E is the fixed power-of-two exponent.

• Q is the stored integer.

• B is the bias.

### Fixed-Point Data Type and Scaling Notation

The following table provides a key for various symbols that appear in Simulink products to indicate the data type and scaling of a fixed-point value.

Symbol

Description

Example

Container Type

`ufix`

Unsigned fixed-point data type

`ufix8` is an 8-bit unsigned fixed-point data type

`sfix`

Signed fixed-point data type

`sfix128` is a 128-bit signed fixed-point data type

`fltu`

Scaled Doubles override of an unsigned fixed-point data type (`ufix`)

`fltu32` is a scaled doubles override of `ufix32`

`flts`

Scaled Doubles override of a signed fixed-point data type (`sfix`)

`flts64` is a scaled doubles override of `sfix64`

Number Encoding

`e`

10^

`125e8` equals `125*(10^(8))`

`n`

Negative

`n31` equals `-31`

`p`

Decimal point

`1p5` equals `1.5`

`p2` equals `0.2`

Scaling Encoding

`S`

Slope

`ufix16_S5_B7` is a 16-bit unsigned fixed-point data type with `Slope` of `5` and `Bias` of `7`

`B`

Bias

`ufix16_S5_B7` is a 16-bit unsigned fixed-point data type with `Slope` of `5` and `Bias` of `7`

`E`

Fixed exponent (2^)

A negative fixed exponent describes the fraction length

`sfix32_En31` is a 32-bit signed fixed-point data type with a fraction length of `31`

`F`

`ufix16_F1p5_En50` is a 16-bit unsigned fixed-point data type with a `SlopeAdjustmentFactor` of `1.5` and a `FixedExponent` of `-50`

C, c, D, or d

Compressed encoding for Bias

Note

If you pass this symbol to the `slDataTypeAndScale` function, it returns a valid `fixdt` data type.

No example available. For backwards compatibility only.

To identify and replace calls to `slDataTypeAndScale`, use the Check for calls to slDataTypeAndScale Model Advisor check.

T or t

Compressed encoding for Slope

Note

If you pass this symbol to the `slDataTypeAndScale`, it returns a valid `fixdt` data type.

No example available. For backwards compatibility only.

To identify and replace calls to `slDataTypeAndScale`, use the Check for calls to slDataTypeAndScale Model Advisor check.