Decimate signal using cascaded integrator-comb (CIC) filter

The `dsp.CICDecimator`

System
object™ decimates an input signal using a cascaded integrator-comb (CIC) decimation
filter. The CIC decimation filter structure consists of *N* sections of
cascaded integrators, followed by a rate change by a factor of *R*, followed
by *N* sections of cascaded comb filters. For details, see Algorithms. The NumSections property specifies *N*, the number of sections in
the CIC filter. The DecimationFactor property
specifies *R*, the decimation factor. The `getFixedPointInfo`

function returns the word lengths and fraction lengths of the fixed-point sections and the
output for the `dsp.CICDecimator`

System
object. You can also generate HDL code for this System
object using the `generatehdl`

function.

This object requires a Fixed-Point Designer™ license.

To decimate a signal using a CIC filter:

Create the

`dsp.CICDecimator`

object and set its properties.Call the object with arguments, as if it were a function.

To learn more about how System objects work, see What Are System Objects? (MATLAB).

creates a CIC
decimation System
object that applies a CIC decimation filter to the input signal.`cicDecim`

= dsp.CICDecimator

creates a CIC decimation object with the `cicDecim`

= dsp.CICDecimator(`R`

,`M`

,`N`

)`DecimationFactor`

property
set to `R`

, the `DifferentialDelay`

property set to
`M`

, and the `NumSections`

property set to
`N`

.

creates a CIC decimation object with each specified property set to the specified value.
Enclose each property name in single quotes. You can use this syntax with any previous
input argument combination.`cicDecim`

= dsp.CICDecimator(`Name,Value`

)

decimates the input using a CIC decimator.`cicDecimOut`

= cicDecim(`input`

)

To use an object function, specify the
System
object as the first input argument. For
example, to release system resources of a System
object named `obj`

, use
this syntax:

release(obj)

For a list of filter analysis methods this object supports, type
`dsp.CICDecimator.helpFilterAnalysis`

in the MATLAB^{®} command prompt. For the corresponding function reference pages, see Analysis Methods for Filter System Objects.

[1] Hogenauer, E.B. "An Economical
Class of Digital Filters for Decimation and Interpolation." *IEEE Transactions on
Acoustics, Speech and Signal Processing*. Volume 29, Number 2, 1981,
155–162.

[2] Meyer-Baese, U. *Digital Signal Processing with Field Programmable Gate
Arrays*. New York: Springer, 2001.

[3] Harris, Fredric J.
*Multirate Signal Processing for Communication Systems*. Indianapolis,
IN: Prentice Hall PTR, 2004.

`freqz`

|`fvtool`

|`gain`

|`generatehdl`

|`getFixedPointInfo`

|`impz`

|`info`

|`phasez`