CMSIS Conditions for DSP System Objects to Support ARM Cortex-M Processors
Each DSP System object™ that can be used with the Support Package for ARM® Cortex®-M processors requires specific conditions to allow code replacement with the CMSIS Library. You use this code replacement when generating C code from a model or from MATLAB® code. The CMSIS library supports these DSP System objects only when you set specific properties, as indicated in the following table:
Note
In the Fixed-point mode of the CMSIS DSP functions (FIR and Biquad filters), Wrap is used for intermediate MAC operations if accumulator result overflows. At the end, the accumulator is right-shifted and saturated to the output data type. For the discrete FIR and Biquad filter System objects, there is only one overflow setting for the accumulator and output. If overflow happens in accumulation, the simulation result will not match the CMSIS library result. If OverflowAction is set to
'Wrap'
and only the output overflows, the simulation result will also not match the CMSIS library result. For this case, set OverflowAction to'Saturate'
.The DSP System object implementation causes an error when there is an overflow in the SRAM buffer on the PIL or hardware.
DSP System object | Supported data types | Input requirements | Property requirements | Wrapper calling CMSIS functions |
---|---|---|---|---|
dsp.FIRFilter |
|
|
For
For
For fixed-point FIR filter with
|
|
dsp.FIRDecimator |
|
|
|
|
dsp.FIRInterpolator |
|
| None |
|
dsp.LMSFilter |
|
|
|
|
dsp.FFT |
|
|
|
|
dsp.IFFT |
|
|
|
|
dsp.VariableBandwidthFIRFilter |
|
| None. |
|
dsp.FIRHalfbandInterpolator |
|
| None. |
|
dsp.FIRHalfbandDecimator |
|
| None. |
|
dsp.CICCompensationDecimator |
|
| None. |
|
dsp.CICCompensationInterpolator |
|
| None. |
|
dsp.DigitalDownConverter |
|
|
|
|
dsp.DigitalUpConverter |
|
| None. |
|
dsp.SampleRateConverter |
|
| None. | For reducing sample rate:
For increasing sample rate:
|
dsp.SOSFilter |
|
|
|
|