Construct signed fixed-point numeric object
a = sfi
a = sfi(v)
a = sfi(v,w)
a = sfi(v,w,f)
a = sfi(v,w,slope,bias)
a = sfi(v,w,slopeadjustmentfactor,fixedexponent,bias)
You can use the sfi
constructor function
in the following ways:
a = sfi
is the default constructor
and returns a signed fi
object with no value, 16-bit
word length, and 15-bit fraction length.
a = sfi(v)
returns a signed fixed-point
object with value v
, 16-bit word length, and best-precision
fraction length.
a = sfi(v,w)
returns a signed
fixed-point object with value v
, word length w
,
and best-precision fraction length.
a = sfi(v,w,f)
returns a signed
fixed-point object with value v
, word length w
,
and fraction length f
.
a = sfi(v,w,slope,bias)
returns
a signed fixed-point object with value v
, word
length w
, slope
, and bias
.
a = sfi(v,w,slopeadjustmentfactor,fixedexponent,bias)
returns
a signed fixed-point object with value v
, word
length w
, slopeadjustmentfactor
, fixedexponent
,
and bias
.
fi
objects created by the sfi
constructor
function have the following general types of properties:
These properties are described in detail in fi Object Properties in the Properties Reference.
Note
fi
objects created by the sfi
constructor
function have no local fimath.
The data properties of a fi
object are always
writable.
bin
— Stored integer value
of a fi
object in binary
data
— Numerical real-world
value of a fi
object
dec
— Stored integer value
of a fi
object in decimal
double
— Real-world value
of a fi
object, stored as a MATLAB® double
hex
— Stored integer value
of a fi
object in hexadecimal
int
— Stored integer value
of a fi
object, stored in a built-in MATLAB integer
data type. You can also use int8
, int16
, int32
, int64
, uint8
, uint16
, uint32
,
and uint64
to get the stored integer value of a fi
object
in these formats
oct
— Stored integer value
of a fi
object in octal
These properties are described in detail in fi Object Properties.
When you create a fi
object with the sfi
constructor
function, that fi
object does not have a local
fimath
object. You can attach a fimath
object to that fi
object if you do not want to use the default
fimath settings. For more information, see fimath Object Construction.
fimath
— fixed-point math
object
The following fimath
properties are always
writable and, by transitivity, are also properties of a fi
object.
CastBeforeSum
— Whether
both operands are cast to the sum data type before addition
Note
This property is hidden when the SumMode
is
set to FullPrecision
.
OverflowAction
— Action
to take on overflow
ProductBias
— Bias of the
product data type
ProductFixedExponent
— Fixed
exponent of the product data type
ProductFractionLength
—
Fraction length, in bits, of the product data type
ProductMode
— Defines how
the product data type is determined
ProductSlope
— Slope of
the product data type
ProductSlopeAdjustmentFactor
—
Slope adjustment factor of the product data type
ProductWordLength
— Word
length, in bits, of the product data type
RoundingMethod
— Rounding
method
SumBias
— Bias of the sum
data type
SumFixedExponent
— Fixed
exponent of the sum data type
SumFractionLength
— Fraction
length, in bits, of the sum data type
SumMode
— Defines how the
sum data type is determined
SumSlope
— Slope of the
sum data type
SumSlopeAdjustmentFactor
—
Slope adjustment factor of the sum data type
SumWordLength
— The word
length, in bits, of the sum data type
These properties are described in detail in fimath Object Properties.
When you create a fi
object, a numerictype
object
is also automatically created as a property of the fi
object.
numerictype
— Object containing all
the data type information of a fi
object, Simulink® signal
or model parameter
The following numerictype
properties are,
by transitivity, also properties of a fi
object.
The properties of the numerictype
object become
read only after you create the fi
object. However,
you can create a copy of a fi
object with new values
specified for the numerictype
properties.
Bias
— Bias of a fi
object
DataType
— Data type category
associated with a fi
object
DataTypeMode
— Data type
and scaling mode of a fi
object
FixedExponent
— Fixed-point
exponent associated with a fi
object
SlopeAdjustmentFactor
—
Slope adjustment associated with a fi
object
FractionLength
— Fraction
length of the stored integer value of a fi
object
in bits
Scaling
— Fixed-point scaling
mode of a fi
object
Signed
— Whether a fi
object
is signed or unsigned
Signedness
— Whether a fi
object
is signed or unsigned
Note
numerictype
objects can have a Signedness
of Auto
,
but all fi
objects must be Signed
or Unsigned
.
If a numerictype
object with Auto
Signedness
is
used to create a fi
object, the Signedness
property
of the fi
object automatically defaults to Signed
.
Slope
— Slope associated
with a fi
object
WordLength
— Word length
of the stored integer value of a fi
object in bits
For further details on these properties, see numerictype Object Properties.
Note
For information about the display format of fi
objects,
refer to Display Settings.
For examples of casting, see Cast fi Objects.
For example, the following creates a signed fi
object
with a value of pi
, a word length of 8 bits, and
a fraction length of 3 bits:
a = sfi(pi,8,3) a = 3.1250 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 8 FractionLength: 3
Default fimath
properties are associated
with a
. When a fi
object does
not have a local fimath
object, no fimath
object
properties are displayed in its output. To determine whether a fi
object
has a local fimath
object, use the isfimathlocal
function.
isfimathlocal(a) ans = 0
A returned value of 0
means the fi
object
does not have a local fimath
object. When the isfimathlocal
function
returns a 1
, the fi
object has
a local fimath
object.
The value v
can also be an array:
a = sfi((magic(3)/10),16,12) a = 0.8000 0.1001 0.6001 0.3000 0.5000 0.7000 0.3999 0.8999 0.2000 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 16 FractionLength: 12
If you omit the argument f
, it is set automatically
to the best precision possible:
a = sfi(pi,8) a = 3.1563 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 8 FractionLength: 5
If you omit w
and f
, they
are set automatically to 16 bits and the best precision possible,
respectively:
a = sfi(pi) a = 3.1416 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 16 FractionLength: 13
fi
| fimath
| fipref
| isfimathlocal
| numerictype
| quantizer
| ufi