Note: This page has been translated by MathWorks. Click here to see

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

System objects that support fixed-point data processing have fixed-point properties. When you
display the properties of a System
object™, click `show all properties`

at the end of the
property list to display the fixed-point properties for that object. You can also
display the fixed-point properties for a particular object by typing
`dsp.<ObjectName>.helpFixedPoint`

at the command
line.

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

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

Sources | |

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

`dsp.SineWave` | Generate discrete sine wave |

Sinks | |

`dsp.ArrayPlot` | Display vectors or arrays |

`dsp.AudioFileWriter` | Write audio samples to audio file |

`dsp.SignalSink` | Log MATLAB simulation data |

`dsp.SpectrumAnalyzer` | Display frequency spectrum of time-domain signals |

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

Adaptive
Filters | |

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

Filter Designs | |

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

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

`dsp.Differentiator` | Direct form FIR full band differentiator filter |

`dsp.FIRHalfbandDecimator` | Halfband decimator |

`dsp.FIRHalfbandInterpolator` | Halfband interpolator |

`dsp.HighpassFilter` | FIR or IIR highpass filter |

`dsp.LowpassFilter` | FIR or IIR lowpass filter |

Filter Implementations | |

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

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

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

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

Multirate
Filters | |

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

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

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

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

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

`dsp.HDLFIRRateConverter` | Upsample, filter, and downsample—optimized for HDL code generation |

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

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

Linear Prediction | |

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

Transforms | |

`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.IFFT` | Compute inverse fast Fourier transform (IFFT) of input |

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 |

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 Operations | |

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

`dsp.DCBlocker` | Remove DC component |

`dsp.Delay` | Delay input by specified number of samples or frames |

`dsp.DigitalDownConverter` | Translate digital signal from Intermediate Frequency (IF) band to baseband and decimate it |

`dsp.DigitalUpConverter` | Interpolate digital signal and translate it from baseband to Intermediate Frequency (IF) band |

`dsp.FarrowRateConverter` | Polynomial sample rate converter with arbitrary conversion factor |

`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.VariableIntegerDelay` | Delay input by time-varying integer number of sample periods |

`dsp.Window` | Window object |

`dsp.ZeroCrossingDetector` | Zero crossing detector |

Math Operations | |

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

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

`dsp.HDLComplexToMagnitudeAngle` | Compute magnitude and phase angle of complex signal—optimized for HDL code generation |

Matrix Operations | |

`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 |

Matrix Factorizations | |

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

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

Linear System
Solvers | |

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

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

Switches
and Counters | |

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

Buffers | |

`dsp.Buffer` | Buffer an input signal |

Several 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 (MATLAB). 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)`

, set
`OutputDataType`

to `'Custom'`

.

System objects do not support fixed-point word lengths greater than 128 bits.

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. 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,
first set `FullPrecisionOverride`

to `false`

.