Main Content

CIC Filter

Design Cascaded Integrator-Comb (CIC) Filter

Library

Filtering / Filter Designs

dspfdesign

  • CIC Filter block

Description

This block brings the filter design capabilities of the filterBuilder function to the Simulink® environment.

Dialog Box

Main Pane

See CIC Filter Design — Main Pane for more information about the parameters of this block. The Data Types and Code Generation panes are not available for blocks in the DSP System Toolbox™ Filter Designs library.

View filter response

This button opens the Filter Visualization Tool (FVTool) from the Signal Processing Toolbox™ product. You can use the tool to display:

  • Magnitude response, phase response, and group delay in the frequency domain.

  • Impulse response and step response in the time domain.

  • Pole-zero information.

The tool also helps you evaluate filter performance by providing information about filter order, stability, and phase linearity. For more information on FVTool, see the Signal Processing Toolbox documentation.

In its normal mode of operation, the CIC Filter block allows the adder’s numbers to wrap around. The Fixed-Point infrastructure then causes warnings to appear on the command line.

Filter Specifications

In this group, you specify your CIC filter format, such as the filter type and the differential delay.

Filter type

Select whether your filter will be a decimator or an interpolator. Your choice determines the type of filter and the design methods and structures that are available to implement your filter. Selecting decimator or interpolator activates the Factor option. When you design an interpolator, you enable the Output sample rate parameter.

When you design either a decimator or interpolator, the resulting filter is a CIC filter that decimates or interpolates your input signal.

Differential delay

Specify the differential delay of your CIC filter as an integer value greater than or equal to 1. The default value is 1. The differential delay changes the shape, number, and location of nulls in the filter response. Increasing the differential delay increases the sharpness of the nulls and the response between the nulls. In practice, differential delay values of 1 or 2 are the most common.

Factor

Specify the decimation or interpolation factor for your filter as an integer value greater than or equal to 1. The default value is 2.

Frequency units

Use this parameter to specify whether your frequency settings are normalized or in absolute frequency. Select Normalized (0–1) to enter frequencies in normalized form. This behavior is the default. To enter frequencies in absolute values, select one of the frequency units from the drop-down list—Hz, kHz, MHz, or GHz. Selecting one of the unit options enables the Input sample rate parameter.

Input sample rate

Fs, specified in the units you selected for Frequency units, defines the sampling frequency at the filter input. When you provide an input sampling frequency, all frequencies in the specifications are in the selected units as well. This parameter is available when you select one of the frequency options from the Frequency units list.

Output sample rate

Fs, specified in the units you selected for Frequency units, defines the sampling frequency at the filter output. When you provide an output sampling frequency, all frequencies in the specifications are in the selected units as well. This parameter is available only when you design interpolators.

Passband frequency

Enter the frequency at the end of the passband. Specify the value in either normalized frequency units or the absolute units you select in Frequency units.

Magnitude units

Specify the units for any parameter you provide in magnitude specifications. From the drop-down list, select one of the following options:

  • Linear — Specify the magnitude in linear units.

  • dB — Specify the magnitude in decibels (default).

  • Squared — Specify the magnitude in squared units.

Stopband attenuation

Enter the filter attenuation in the stopband in the units you choose for Magnitude units, either linear or decibels.

Filter Implementation
Use basic elements to enable filter customization

Select this check box to implement the filter as a subsystem of basic Simulink blocks. Clear the check box to implement the filter as a high-level subsystem. By default, this check box is cleared.

The high-level implementation provides better compatibility across various filter structures, especially filters that would contain algebraic loops when constructed using basic elements.

Rate options

When the Filter type parameter specifies a multirate filter, select the rate processing rule for the block from following options:

  • Enforce single-rate processing — When you select this option, the block maintains the sample rate of the input.

  • Allow multirate processing — When you select this option, the block adjusts the rate at the output to accommodate an increased or reduced number of samples. To select this option, you must set the Input processing parameter to Elements as channels (sample based).

Data Types Pane

See the Data Types Pane subsection of the filterBuilder function reference page for more information about specifying data type parameters.

Supported Data Types

PortSupported Data Types

Input

  • Double-precision floating point

  • Single-precision floating point

  • Fixed point

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

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

Output

  • Fixed point

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Fixed-Point Conversion
Design and simulate fixed-point systems using Fixed-Point Designer™.

Version History

Introduced in R2007b