Note: This page has been translated by MathWorks. Please click here

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

Interpolate signal using Cascaded Integrator-Comb filter

Filtering / Multirate Filters

`dspmlti4`

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(z)={H}_{I}{}^{N}(z){H}_{C}{}^{N}(z)=\frac{{(1-{z}^{-RM})}^{N}}{{(1-{z}^{-1})}^{N}}={\left[{\displaystyle \sum _{k=0}^{RM-1}{z}^{-k}}\right]}^{N}$$

where

*H*is the transfer function of the integrator part of the filter._{I}*H*is the transfer function of the comb part of the filter._{C}*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.

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] .

The unit delay in the integrator portion of the CIC Filter can be located in either the feed-forward or the feedback path. These two configurations yield identical filter frequency response. However, the numerical outputs from these two configurations are different due to the latency. This block puts the unit delay in the feed forward path of the integrator since it is a preferred configuration for HDL implementation.

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:

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.

[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.

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 |

DSP System Toolbox |

Was this topic helpful?