Main Content

Interpolate signal using cascaded integrator-comb filter

The `dsp.CICInterpolator`

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

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

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

function.

**Note**

This object requires a Fixed-Point Designer™ license.

To interpolate a signal using a CIC filter:

Create the

`dsp.CICInterpolator`

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?

creates a
CIC interpolation System object that applies a CIC interpolation filter to the input signal.`cicInterp`

= dsp.CICInterpolator

creates a CIC interpolation object with the `cicInterp`

= dsp.CICInterpolator(`R`

,`M`

,`N`

)`InterpolationFactor`

property set to `R`

, the `DifferentialDelay`

property set to `M`

, and the `NumSections`

property
set to `N`

.

creates a CIC interpolation 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 combinations.`cicInterp`

= dsp.CICInterpolator(`Name,Value`

)

interpolates
the input using a CIC interpolator.`cicInterpOut`

= cicInterp(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.CICInterpolator.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.

`generatehdl`

|`impz`

|`freqz`

|`phasez`

|`fvtool`

|`gain`

|`getFixedPointInfo`

|`info`