System objects that support fixed-point data processing have
fixed-point properties, which you can display for a particular object
by typing `dsp.<ObjectName>.helpFixedPoint`

at
the command line. See
Display Fixed-Point Properties
for System Objects to set the display
of System object™ fixed-point properties.

**DSP System Toolbox System Objects that Support Fixed
Point**

Object | Description |
---|---|

Estimation | |

`dsp.LevinsonSolver` | Solve linear system of equations using Levinson-Durbin recursion |

Filters | |

`dsp.AllpoleFilter` | IIR Filter with no zeros |

`dsp.BiquadFilter` | Model biquadratic IIR (SOS) filters |

`dsp.CICCompensationDecimator` | Compensate for CIC filter using a FIR decimator |

`dsp.CICCompensationInterpolator` | Compensate for CIC filter using a FIR interpolator |

`dsp.CICDecimator` | Decimate inputs using a Cascaded Integrator-Comb (CIC) filter |

`dsp.CICInterpolator` | Interpolate inputs using a Cascaded Integrator-Comb (CIC) filter |

`dsp.DigitalFilter` | Filter each channel of input over time using discrete-time filter implementations |

`dsp.FIRDecimator` | Filter and downsample input signals |

`dsp.FIRFilter` | Static or time-varying FIR filter |

`dsp.FIRInterpolator` | Upsample and filter input signals |

`dsp.FIRRateConverter` | Upsample, filter and downsample input signals |

`dsp.IIRFilter` | Infinite Impulse Response (IIR) filter |

`dsp.LMSFilter` | Compute output, error, and weights using LMS adaptive algorithm |

`dsp.SubbandAnalysisFilter` | Decompose signal into high-frequency and low-frequency subbands |

`dsp.SubbandSynthesisFilter` | Reconstruct a signal from high-frequency and low-frequency subbands |

Math Functions | |

`dsp.ArrayVectorAdder` | Add vector to array along specified dimension |

`dsp.ArrayVectorDivider` | Divide array by vector along specified dimension |

`dsp.ArrayVectorMultiplier` | Multiply array by vector along specified dimension |

`dsp.ArrayVectorSubtractor` | Subtract vector from array along specified dimension |

`dsp.CumulativeProduct ` | Compute cumulative product of channel, column, or row elements |

`dsp.CumulativeSum` | Compute cumulative sum of channel, column, or row elements |

`dsp.LDLFactor` | Factor square Hermitian positive definite matrices into lower, upper, and diagonal components |

`dsp.LevinsonSolver` | Solve linear system of equations using Levinson-Durbin recursion |

`dsp.LowerTriangularSolver` | Solve LX = B for X when L is lower triangular matrix |

`dsp.LUFactor` | Factor square matrix into lower and upper triangular matrices |

`dsp.Normalizer` | Normalize input |

`dsp.UpperTriangularSolver` | Solve UX = B for X when U is upper triangular matrix |

Quantizers | |

`dsp.ScalarQuantizerDecoder` | Convert each index value into quantized output value |

`dsp.ScalarQuantizerEncoder` | Perform scalar quantization encoding |

`dsp.VectorQuantizerDecoder` | Find vector quantizer codeword for given index value |

`dsp.VectorQuantizerEncoder` | Perform vector quantization encoding |

Signal Management | |

`dsp.Buffer` | Buffer an input signal |

`dsp.Counter` | Count up or down through specified range of numbers |

Signal Operations | |

`dsp.Convolver` | Compute convolution of two inputs |

`dsp.DigitalDownConverter` | Digitally down convert the input signal |

`dsp.DigitalUpConverter` | Digitally up convert the input signal |

`dsp.HDLNCO` | Generate real or complex sinusoidal signals — optimized for HDL code generation |

`dsp.NCO` | Generate real or complex sinusoidal signals |

`dsp.PeakFinder` | Determine extrema (maxima or minima) in input signal |

`dsp.VariableFractionalDelay` | Delay input by time-varying fractional number of sample periods |

`dsp.Window` | Window object |

Sinks | |

`dsp.SignalSink` | Log MATLAB simulation data |

`dsp.TimeScope` | Display time-domain signals |

Sources | |

`dsp.SignalSource` | Import a variable from the MATLAB workspace |

`dsp.SineWave` | Generate discrete sine wave |

Statistics | |

`dsp.Autocorrelator` | Compute autocorrelation of vector inputs |

`dsp.Crosscorrelator` | Compute cross-correlation of two inputs |

`dsp.Histogram` | Output histogram of an input or sequence of inputs |

`dsp.Maximum` | Compute maximum value in input |

`dsp.Mean` | Compute average or mean value in input |

`dsp.Median` | Compute median value in input |

`dsp.Minimum` | Compute minimum value in input |

`dsp.Variance` | Compute variance of input or sequence of inputs |

Transforms | |

`dsp.DCT` | Compute discrete cosine transform (DCT) of input |

`dsp.FFT` | Compute fast Fourier transform (FFT) of input |

`dsp.HDLFFT` | Compute fast Fourier transform (FFT) of input — optimized for HDL Code generation |

`dsp.HDLIFFT` | Compute inverse fast Fourier transform (IFFT) of input — optimized for HDL Code generation |

`dsp.IDCT` | Compute inverse discrete cosine transform (IDCT) of input |

`dsp.IFFT` | Compute inverse fast Fourier transform (IFFT) of input |

You can control whether the software displays fixed-point properties with either of the following commands:

`matlab.system.showFixedPointProperties`

`matlab.system.hideFixedPointProperties`

at the MATLAB^{®} command line. These commands set
the **Show fixed-point properties** display option.
You can also set the display option directly via the MATLAB preferences
dialog box. Click **Preferences** on the MATLAB Toolstrip.
The Preferences dialog box opens. Scroll down and select **System
Objects**. Finally, select or deselect **Show
fixed-point properties**.

If an object supports fixed-point data processing, its fixed-point properties are active regardless of whether they are displayed or not.

A number of properties affect the fixed-point data processing used by a System object. Objects perform fixed-point processing and use the current fixed-point property settings when they receive fixed-point input.

You change the values of fixed-point properties in the same
way as you change any System object property value. See Configure Components for Your System.
You also use the Fixed-Point Designer™ `numerictype`

object
to specify the desired data type as fixed-point, the signedness, and
the word- and fraction-lengths. System objects support these values
of `DataTypeMode`

: `Boolean`

, `Double`

, `Single`

,
and `Fixed-point: binary point scaling`

.

In the same way as for blocks, the data type properties of many
System objects can set the appropriate word lengths and scalings automatically
by using full precision. System objects assume that the target specified
on the Configuration Parameters Hardware Implementation target is `ASIC/FPGA`

.

If you have not set the property that activates a dependent
property and you attempt to change that dependent property, a warning
message displays. For example, for the `dsp.FFT`

object,
before you set `CustomOutputDataType`

to `numerictype(1,32,30)`

you
must set `OutputDataType`

to `'Custom'`

.

For any System object provided in the Toolbox, the fimath settings for any fimath attached to a fi input or a fi property are ignored. Outputs from a System object never have an attached fimath. |

`FullPrecisionOverride`

is a convenience
property that, when you set to `true`

, automatically
sets the appropriate properties for an object to use full-precision
to process fixed-point input. For System objects, full precision,
fixed-point operation refers to growing just enough additional bits
to compute the ideal full precision result. This operation has no
minimum or maximum range overflow nor any precision loss due to rounding
or underflow. It is also independent of any hardware-specific settings.
The data types chosen are based only on known data type ranges and
not on actual numeric values. Unlike full precision for `dfilt`

objects,
full precision for System objects does not optimize coefficient values.

When you set the `FullPrecisionOverride`

property
to `true`

, the other fixed-point properties it controls
no longer apply and any of their non-default values are ignored. These
properties are also hidden. To specify individual fixed-point properties,
you must first set `FullPrecisionOverride`

to `false`

.

Was this topic helpful?