# CIC Interpolation

Interpolate signal using Cascaded Integrator-Comb filter

## Library

Filtering / Multirate Filters

`dspmlti4`

## Description

The CIC Interpolation block performs a sample rate increase (interpolation) on an input signal by an integer factor. Cascaded Integrator-Comb (CIC) filters are a class of linear phase FIR filters that consist of a comb part and an integrator part.

The transfer function of a CIC interpolator filter is

$H\left(z\right)={H}_{I}{}^{N}\left(z\right){H}_{C}{}^{N}\left(z\right)=\frac{{\left(1-{z}^{-RM}\right)}^{N}}{{\left(1-{z}^{-1}\right)}^{N}}={\left[\sum _{k=0}^{RM-1}{z}^{-k}\right]}^{N}$

where

• HI is the transfer function of the integrator part of the filter.

• HC is the transfer function of the comb part of the filter.

• N is the number of sections. The number of sections in a CIC filter is defined as the number of sections in either the comb part or the integrator part of the filter. This value does not represent the total number of sections throughout the entire filter.

• R is the interpolation factor.

• M is the differential delay.

The CIC Interpolation block requires a Fixed-Point Designer™ license.

The block supports real and complex fixed-point inputs. In its normal mode of operation, the CIC Interpolation block allows the adder's numeric values to overflow and wrap around [1] [3]. The Fixed-Point infrastructure then causes overflow warnings to appear on the command line. This overflow is of no consequence.

### CIC Filter Structure

The CIC Interpolation block has the following CIC filter structure. The structure consists of N sections of cascaded comb filters, followed by a rate change by a factor R, followed by N sections of cascaded integrators [1] .

## Dialog Box

### Coefficient Source

The CIC Interpolation block can operate in two different modes. Select the mode in the Coefficient source group box. If you select:

• Dialog parameters — Enter information about the filter, such as Interpolation factor (R), Differential delay (M) and Number of sections (N) in the block mask.

• Filter object — Specify the filter using a `dsp.CICInterpolator` System object™.

Different items appear on the CIC Interpolation block dialog depending on whether you select Dialog parameters or Filter object in the Coefficient source group box. See the following sections for details:

## HDL Code Generation

This block supports HDL code generation using HDL Coder™. HDL Coder provides additional configuration options that affect HDL implementation and synthesized logic. For more information on implementations, properties, and restrictions for HDL code generation, see CIC Interpolation in the HDL Coder documentation.

## References

[1] Hogenauer, E.B., "An Economical Class of Digital Filters for Decimation and Interpolation," IEEE Transactions on Acoustics, Speech and Signal Processing, ASSP-29(2): pp. 155–162, 1981.

[2] Meyer-Baese, U., Digital Signal Processing with Field Programmable Gate Arrays, Springer Verlag, 2001.

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

## Supported Data Types

• Fixed point (signed only)

• 8-, 16-, and 32-bit signed integers

 CIC Decimation DSP System Toolbox FIR Decimation DSP System Toolbox FIR Interpolation DSP System Toolbox Digital Down-Converter DSP System Toolbox Digital Up-Converter DSP System Toolbox `dsp.CICDecimator` DSP System Toolbox `dsp.CICInterpolator` DSP System Toolbox `dsp.FIRDecimator` DSP System Toolbox `dsp.FIRInterpolator` DSP System Toolbox `dsp.CICCompensationDecimator` DSP System Toolbox `dsp.CICCompensationInterpolator` DSP System Toolbox `dsp.FIRHalfbandDecimator` DSP System Toolbox `dsp.FIRHalfbandInterpolator` DSP System Toolbox `filter` DSP System Toolbox