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.

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.

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

`cicInterp = dsp.CICInterpolator`

`cicInterp = dsp.CICInterpolator(R,M,N)`

`cicInterp = dsp.CICInterpolator(Name,Value)`

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`

)

**For versions earlier than R2016b, use the step
function to run the System object algorithm. The arguments to
step are the object you created, followed by
the arguments shown in this section.**

**For example, y = step(obj,x) and y = obj(x) perform equivalent operations.**

`cicInterpOut = cicInterp(input)`

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.

`freqz`

|`fvtool`

|`gain`

|`generatehdl`

|`getFixedPointInfo`

|`impz`

|`info`

|`phasez`