CIC Interpolation
Interpolation of the signal using a cascade integral-comb filter.
blockType: CICInterpolation
Path in the library:
|
Description
Block CIC Interpolation performs an increase in the sampling rate (interpolation) of the input signal by an integer factor. Cascade integrator-combed FIR filters are a class of linear-phase FIR filters consisting of cascaded comb filters and integrators.
Ports
Output
#
OUT_1
—
interpolated output signal
vector | the matrix
Details
The output signal interpolated by the CIC filter is returned as a vector or matrix. The output data type is determined by the block parameter settings. The complexity of the output data corresponds to the complexity of the input.
The number of output lines is , where — the interpolation coefficient, and — number of input lines.
| Data types |
|
| Complex numbers support |
Yes |
Input
#
IN_1
—
Input signal
vector | the matrix
Details
An input signal specified as a vector or matrix.
| Data types |
|
| Complex numbers support |
Yes |
Parameters
Main
#
Coefficient source —
source of information about the filter
Dialog parameters
Details
The source of information about the filter, specified as:
-
Dialog parameters— entering information about the filter in the dialog box of the block through the parameters Interpolation coefficient (R), Differential delay (M) and Number of sections (N).
| Values |
|
| Default value |
|
| Program usage name |
|
| Tunable |
No |
| Evaluatable |
No |
#
Interpolation factor (R) —
the interpolation coefficient
Real number
Details
The filter’s interpolation coefficient, set as an integer, is greater than 1.
| Default value |
|
| Program usage name |
|
| Tunable |
No |
| Evaluatable |
Yes |
#
Differential delay (M) —
differential delay
Real number
Details
Differential delay of CIC comb filters, , specified as a positive integer.
| Default value |
|
| Program usage name |
|
| Tunable |
No |
| Evaluatable |
Yes |
#
Number of sections (N) —
number of filter sections
Real number
Details
Specify the number of filter sections. The specified number determines both the number of sections in the comb filter and the number of integrators, but not these values combined.
| Default value |
|
| Program usage name |
|
| Tunable |
No |
| Evaluatable |
Yes |
#
Data type specification mode —
a method for setting the length of a word and the length of the fractional part of fixed-point numbers for filter sections and input signal
Full precision
Details
A method for setting the length of a word and the length of the fractional part of fixed-point numbers for filter sections and/or output, specified as:
-
Full precision— The lengths of the words and fractions of the filter and output sections are selected automatically. The length of the output words and the last section they are installed as:where
-
— the length of the input word;
-
— differential delay;
-
— number of sections;
-
— the interpolation coefficient.
-
The word lengths of the other sections are set taking into account the growth of the bits, as described in Hogenauer’s work [1]. The lengths of all fractional parts are set equal to the length of the input fraction.
| Values |
|
| Default value |
|
| Program usage name |
|
| Tunable |
No |
| Evaluatable |
No |
#
Input processing —
input data processing method
Columns as channels (frame based)
Details
The input data processing method specified as:
-
Columns as channels (frame based)— the block treats each column of the input signal as a separate channel. In this mode, the unit always performs single-speed processing.
For more information, see Signal processing by frames and counts.
| Values |
|
| Default value |
|
| Program usage name |
|
| Tunable |
No |
| Evaluatable |
No |
#
Rate options —
signal processing mode
Enforce single-rate processing
Details
The input signal processing mode specified as:
-
Enforce single-rate processing— The unit saves the sampling rate of the input signal.
| Values |
|
| Default value |
|
| Program usage name |
|
| Tunable |
No |
| Evaluatable |
No |
Additional information
CIC filter
Details
CIC-filter is an optimized class of linear-phase FIR filters consisting of cascaded comb filters and integrators.
Conceptually, the interpolation CIC filter is an element of increasing the sampling rate, followed by a CIC filter , which is a reconstruction low-pass filter and performs filtering without changing the sampling rate. The interpolation CIC filter increases the sampling rate of the input signal by an integer factor using a cascaded Integrator comb filter (Cascaded Integrator-Comb, CIC).
In a more efficient implementation, a CIC filter that works without changing the sampling rate , is factorized in this way:
Where
-
— transfer function sections of the cascade of comb filters, each of which has a width of ;
-
— the transfer function of the cascade of integrators;
-
— number of sections. The number of sections in the CIC filter is determined by both the number of sections in the comb filter and the number of integrators, but not these values combined. This value does not reflect the total number of sections in the entire filter;
-
— interpolation coefficient;
-
— differential delay.
In an algorithm that provides full multi-rate filtering, two remarkable identities for interpolation are taken into account, which allow you to move the operation of changing the sampling rate for the cascade of comb filters without distorting the result of the operation.
The transfer function of the resulting filter is given by the following equation:
For a flowchart showing multi-speed implementation, see [algorithms].
Algorithms
Interpolation CIC filter
Details
The interpolation CIC filter is implemented as a cascade of comb filters, followed by an element of increasing the sampling rate of the signal in once, and then a cascade of integrators.
This diagram shows a cascade of comb filters with two sections and a cascade of integrators with two sections. A single delay in the integrators of the CIC filter can be located both in the direct and feedback circuits. These two configurations provide identical frequency characteristics of the filter. However, the actual numerical sequences in the output for these two configuration options will be different due to the effect of the delay. In this algorithm, a single delay is placed in the path of the direct line of the integrator, since such a configuration is preferable for HDL implementation.
Literature
-
Hogenauer, E.B. An Economical Class of Digital Filters for Decimation and Interpolation. IEEE Transactions on Acoustics, Speech and Signal Processing. Vol. 29, Number 2, 1981, pp. 155–162, 1981.
-
Meyer-Baese, U. Digital Signal Processing with Field Programmable Gate Arrays. New York: Springer Verlag, 2001.
-
Harris, Fredric J., Multirate Signal Processing for Communication Systems. Upper Saddle River, NJ: Prentice Hall PTR, 2004.