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

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

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

Decimate signal using Cascaded Integrator-Comb filter

Filtering / Multirate Filters

`dspmlti4`

The CIC Decimation block performs a sample rate decrease (decimation) on an input signal by an integer factor. Cascaded Integrator-Comb (CIC) filters are a class of linear phase FIR filters comprised of a comb part and an integrator part.

The transfer function of a CIC decimation filter is

$$H(z)={H}_{I}{}^{N}(z){H}_{c}{}^{N}(z)=\frac{{\left(1-{z}^{-RM}\right)}^{N}}{{\left(1-{z}^{-1}\right)}^{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 decimation factor.*M*is the differential delay.

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

The block supports real and complex fixed-point inputs. In its normal mode of operation, the CIC Decimation 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 Decimation block has the following CIC filter structure.
The structure consists of *N* sections of cascaded
integrators, followed by a rate change by a factor *R*,
followed by *N* sections of cascaded comb filters [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.

See GSM Digital Down Converter for an example using the CIC Decimation block.

The CIC Decimation block can operate in two different modes.
Select the mode in the **Coefficient source** group
box.

**Dialog parameters**— Enter information about the filter, such as**Decimation factor (R)**,**Differential delay (M)**and**Number of sections (N)**in the block mask.**Filter object**— Specify the filter using a`dsp.CICDecimator`

System object™.

Different items appear on the CIC Decimation 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 Decimation.

[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 Interpolation | 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?