You can always write to the following properties of fimath
objects:
Property  Description  Valid Values 

CastBeforeSum  Whether both operands are cast to the sum data type before addition 
NoteThis property is hidden when the 
MaxProductWordLength  Maximum allowable word length for the product data type 

MaxSumWordLength  Maximum allowable word length for the sum data type 

OverflowAction  Action to take on overflow 

ProductBias  Bias of the product data type 

ProductFixedExponent  Fixed exponent of the product data type 
NoteThe 
ProductFractionLength  Fraction length, in bits, of the product data type 
NoteThe 
ProductMode  Defines how the product data type is determined 

ProductSlope  Slope of the product data type 
Note$$ProductSlope=ProductSlopeAdjustmentFactor\times {2}^{ProductFixedExponent}$$ 
ProductSlopeAdjustmentFactor  Slope adjustment factor of the product data type 
Note$$ProductSlope=ProductSlopeAdjustmentFactor\times {2}^{ProductFixedExponent}$$ 
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 
NoteThe 
SumFractionLength  Fraction length, in bits, of the sum data type 
NoteThe 
SumMode  Defines how the sum data type is determined 

SumSlope  Slope of the sum data type 
Note$$SumSlope\text{=}SumSlopeAdjustmentFactor\times {2}^{SumFixedExponent}$$ 
SumSlopeAdjustmentFactor  Slope adjustment factor of the sum data type 
Note$$SumSlope\text{=}SumSlopeAdjustmentFactor\times {2}^{SumFixedExponent}$$ 
SumWordLength  Word length, in bits, of the sum data type 

For details about these properties, refer to the fi Object Properties.
To learn how to specify properties for fimath
objects
in FixedPoint
Designer™ software, refer to Setting fimath Object Properties.
The slope of the sum of two fi
objects is
related to the SumSlopeAdjustmentFactor
and SumFixedExponent
properties
by
$$SumSlope\text{=}SumSlopeAdjustmentFactor\times {2}^{SumFixedExponent}$$
In a FullPrecision
sum, the resulting word
length is represented by
$${W}_{s}=\text{integerlength}+{F}_{s}$$
$$\text{integerlength}=\mathrm{max}\left({W}_{a}{F}_{a},{W}_{b}{F}_{b}\right)+\mathrm{ceil}\left(\mathrm{log}2\left(NumberOfSummands\right)\right)$$
$${F}_{s}=\mathrm{max}({F}_{a},{F}_{b})$$
When the SumMode
is set to KeepLSB
,
the resulting word length and fraction length is determined by
$$\begin{array}{l}{W}_{s}=\text{specifiedinthe}\text{SumWordLength}\text{property}\\ {F}_{s}=\mathrm{max}({F}_{a},{F}_{b})\end{array}$$
When the SumMode
is set to KeepMSB
,
the resulting word length and fraction length is determined by
$$\begin{array}{l}{W}_{s}=\text{specifiedinthe}\text{SumWordLength}\text{property}\\ {F}_{s}={W}_{s}\text{integerlength}\end{array}$$
$$\text{integerlength}=\mathrm{max}\left({W}_{a}{F}_{a},{W}_{b}{F}_{b}\right)+\mathrm{ceil}\left(\mathrm{log}2\left(NumberOfSummands\right)\right)$$
When the SumMode
is set to SpecifyPrecision
,
you specify both the word and fraction length or slope and bias of
the sum data type with the SumWordLength
and SumFractionLength
,
or SumSlope
and SumBias
properties
respectively.
The slope of the product of two fi
objects
is related to the ProductSlopeAdjustmentFactor
and ProductFixedExponent
properties
by
$$ProductSlope=ProductSlopeAdjustmentFactor\times {2}^{ProductFixedExponent}$$
In a FullPrecision
multiply, the resulting
word length and fraction length are represented by
$$\begin{array}{l}{W}_{p}={W}_{a}+{W}_{b}\\ {F}_{p}={F}_{a}+{F}_{b}\end{array}$$
When the ProductMode
is KeepLSB
the
word length and fraction length are determined by
$$\begin{array}{l}{W}_{p}=\text{specifiedinthe}\text{ProductWordLength}\text{property}\\ {F}_{p}={F}_{a}+{F}_{b}\end{array}$$
When the ProductMode
is KeepMSB
the
word length and fraction length are
$$\begin{array}{l}{W}_{p}=\text{specifiedinthe}\text{ProductWordLength}\text{property}\\ {F}_{p}={W}_{p}\text{integerlength}\end{array}$$
$$\text{integerlength}=({W}_{a}+{W}_{b})({F}_{a}{F}_{b})$$
When the ProductMode
is set to SpecifyPrecision
,
you specify both the word and fraction length or slope and bias of
the product data type with the ProductWordLength
and ProductFractionLength
,
or ProductSlope
and ProductBias
properties
respectively.
For more information about how certain functions use the fimath
properties,
see
You can set properties of fimath
objects
at the time of object creation by including properties after the arguments
of the fimath
constructor function.
For example, to set the overflow action to Saturate
and
the rounding method to Convergent
,
F = fimath('OverflowAction','Saturate','RoundingMethod','Convergent')
F = RoundingMethod: Convergent OverflowAction: Saturate ProductMode: FullPrecision SumMode: FullPrecision
In addition to creating a fimath
object at
the command line, you can also set fimath
properties
using the Insert fimath Constructor dialog box.
For an example of this approach, see Building fimath Object Constructors in a GUI.
You can reference directly into a property for setting or retrieving fimath
object
property values using MATLAB^{®} structurelike referencing. You
do so by using a period to index into a property by name.
For example, to get the RoundingMethod
of F
,
F.RoundingMethod
ans = Convergent
To set the OverflowAction
of F
,
F.OverflowAction = 'Wrap'
F = RoundingMethod: Convergent OverflowAction: Wrap ProductMode: FullPrecision SumMode: FullPrecision