Cascaded integrator-comb (CIC) filters are multirate filters used for realizing large sample rate changes in digital systems. Both decimation and interpolation structures are supported. CIC filters contain no multipliers; they consist only of adders, subtractors, and registers. They are typically employed in applications that have a large excess sample rate. That is, the system sample rate is much larger than the bandwidth occupied by the signal. CIC filters are frequently used in digital down-converters and digital up-converters.
Implementation details are provided in the filter design Subsystems. To read the annotations, place the block in a model, then right-click on the block and select Explore from the popup menu. Double click on one of the sub-blocks to open the sub-block model and read the annotations.
Block Interface
The CIC Block has a single data input port and a data output port:
- xn: data input port, can be between 1 and 128 bits (inclusive)
- yn: data output port
The two basic building blocks of a CIC filter are the integrator and the comb. A single integrator is a single-pole IIR filter with a transfer function of:
H(z) = (1 - z-1 )-1
The integrator's unity feedback coefficient is y[n] = y[n-1] + x[n].
A single comb filter is an odd-symmetric FIR filter described by:
y[n] = x[n] - x[n - RM]
M is the differential delay selected in the block dialog box, and R is the selected integer rate change factor. The transfer function for a single comb stage is
H(z) = 1 -z-RM
As seen in the two figures below, the CIC filter cascades N integrator sections together with N comb sections. To keep the integrator and comb structures independent of rate change, a rate change block (for example, an up-sampler, or down-sampler) is inserted between the sections. In the interpolator, the up-sampler causes a rate increase by a factor of R by inserting R-1 zero-valued samples between consecutive samples of the comb section output. In the decimator, the down-sampler reduces the sample rate by a factor of R by taking sub-samples of the output from the last integrator stage.
Block Parameters
The block parameters dialog box can be invoked by double-clicking the icon in your Simulink® model.
Parameters specific to this reference block are as follows:
- Input Bit Width
- Width of input sample.
- Input Binary Point
- Binary point location of input.
- Filter Type
- Interpolator or Decimator
- Sample Rate Change
- 8 to 16384 (inclusive)
- Number of Stages
- 1 to 32 (inclusive)
- Differential Delay
- 1 to 4 (inclusive)
- Pipeline Differentiators
- On or Off
Reference
E. B. Hogenauer. An economical class of digital filters for decimation and interpolation. IEEE Transactions on Acoustics, Speech and Signal Processing, ASSP- 29(2):155{162, 1981