| Signal Processing Blockset™ | ![]() |
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 comprised of a comb part and an integrator part.
The transfer function of a CIC interpolator filter is

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, not as the total number of sections throughout the entire filter.
R is the interpolation factor.
M is the differential delay.
The CIC Interpolation block supports real and complex fixed-point inputs. Each channel of a complex input is treated as two real input channels.
The filter structures supported by the CIC Interpolation and CIC Decimation blocks exactly match those created by Filter Design Toolbox mfilt CIC objects. If you have the Filter Design Toolbox and Fixed-Point Toolbox products installed, you can create an mfilt object in any workspace to specify in the Multirate filter variable parameter of this block. Otherwise, you can specify the CIC filter completely using only block dialog parameters.
This block can be used to create either of the following CIC filter structures:
This interpolator has a latency of N, where N is the number of sections in either the comb or the integrator part of the filter.

This filter is the classical Hogenauer CIC interpolator, which has zero latency.

The CIC Interpolation block can operate in two different modes. Select the mode in the Coefficient source group box. If you select
Dialog parameters, you enter information about the filter such as structure and coefficients in the block mask
Multirate filter object (MFILT), you specify the filter using a Filter Design Toolbox mfilt object, if you have the Filter Design Toolbox and Fixed-Point Toolbox products installed.
Different items appear on the CIC Interpolation block dialog depending on whether you select Dialog parameters or Multirate filter object (MFILT) in the Coefficient source group box. See the following sections for details:
The Main pane of the CIC Interpolation block dialog appears as follows when Dialog parameters is selected in the Coefficient source group box.

Select one of the following CIC filter structures:
Interpolator — CIC interpolator with latency N
Zero-latency interpolator — Classical Hogenauer CIC interpolator with zero latency
See CIC Filter Structures for diagrams of these filter structures.
Specify the interpolation factor of the filter.
Specify the differential delay of the comb portion of the filter, M, as shown in the diagrams in CIC Filter Structures.
Specify the number of filter sections. This number is equal to the number of sections in either the comb part of the filter or in the integrator part of the filter. This value is not equal to the total number of sections in the comb and integrator parts combined.
Choose how you specify the fixed-point word length and fraction length of the filter sections and/or output.
Full precision — In this mode, the word and fraction lengths of the filter sections and outputs are automatically selected for you. The output and last section word lengths are set to
![]()
where
I = input word length
M = differential delay
N = number of sections
R = interpolation factor
The other section word lengths are set is such a way as to accommodate the bit growth, as described in Hogenauer's paper [1]. All fraction lengths are set to the input fraction length.
Minimum section word lengths — In this mode, you specify the word length of the filter output in the Output word length parameter. The word lengths of the filter sections are set in the same way as in Full precision mode.
The section fraction lengths are set to the input fraction length. The output fraction length is set to the input fraction length minus the difference between the last section and output word lengths.
Specify word lengths — In this mode you specify the word lengths of the filter sections and output in the Section word lengths and Output word length parameters. The fraction lengths of the filter sections are set such that the spread between word length and fraction length is the same as in full-precision mode. The output fraction length is set to the input fraction length minus the difference between the last section and output word lengths.
Binary point scaling — In this mode you fully specify the word and fraction lengths of the filter sections and output in the Section word lengths, Section fraction lengths, Output word length, and Output fraction length parameters.
Specify the word length, in bits, of the filter sections.
This parameter is only visible if Specify word lengths or Binary point scaling is selected for the Data type specification mode parameter.
Specify the fraction length of the filter sections.
This parameter is only visible if Binary point scaling is selected for the Data type specification mode parameter.
Specify the word length, in bits, of the filter output.
This parameter is only visible if Minimum section word lengths, Specify word lengths, or Binary point scaling is selected for the Data type specification mode parameter.
Specify the fraction length of the filter output.
This parameter is only visible if Binary point scaling is selected for the Data type specification mode parameter.
For frame-based operation, specify the method by which to implement the interpolation; increase the output frame rate, or increase the output frame size. This parameter cannot be set to Maintain input frame rate for sample-based signals.
This button opens the Filter Visualization Tool (fvtool) from the Signal Processing Toolbox product and displays the filter response of the mfilt object specified in the Multirate filter variable parameter. For more information on FVTool, see the Signal Processing Toolbox documentation.
Note This button is only available when the Filter Design Toolbox and Fixed-Point Toolbox products are installed. If you specify a filter in the Multirate filter variable parameter, you must apply the filter by clicking the Apply button before using the View filter response button. |
The Main pane of the CIC Interpolation block dialog appears as follows when Multirate filter object (MFILT) is specified in the Coefficient source group box.

Specify the multirate filter object (mfilt) that you would like the block to implement. You can do this in one of three ways:
You can fully specify the mfilt object in the block mask.
You can enter the variable name of a mfilt object that is defined in any workspace.
You can enter a variable name for a mfilt object that is not yet defined, as shown in the default value.
For more information on creating mfilt objects, see the mfilt function reference page in the Filter Design Toolbox documentation.
For frame-based operation, specify the method by which to implement the interpolation; reduce the output frame rate, or reduce the output frame size. This parameter cannot be set to Maintain input frame rate for sample-based signals.
This button opens the Filter Visualization Tool (fvtool) from the Signal Processing Toolbox product and displays the filter response of the mfilt object specified in the Multirate filter variable parameter. For more information on FVTool, see the Signal Processing Toolbox documentation.
Note This button is only available when the Filter Design Toolbox and Fixed-Point Toolbox products are installed. If you specify a filter in the Multirate filter variable parameter, you must apply the filter by clicking the Apply button before using the View filter response button. |
[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 | Signal Processing Blockset |
| FIR Decimation | Signal Processing Blockset |
| FIR Interpolation | Signal Processing Blockset |
| Filter Design Toolbox | |
| Filter Design Toolbox | |
| Filter Design Toolbox |
![]() | CIC Filter | Complex Cepstrum | ![]() |
| © 1984-2008- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |