CIC Interpolation
Signal interpolation using a cascaded integral comb filter.
blockType: CICInterpolation
Path in the library:
|
Description
Block CIC Interpolation performs an increase in the sampling frequency (interpolation) of the input signal by an integer factor. Cascaded integrator-comb FIR filters are a class of FIR filters with linear phase, consisting of cascaded comb filters and integrators.
Ports
Output
#
OUT_1
—
interpolated output signal
vector
| matrix
Details
CIC filter interpolated output signal returned as a vector or matrix. The output data type is determined by the block parameter settings. Complexity of output data corresponds to the complexity of input data.
The number of output lines is equal to ✕ , where is the interpolation factor and is the number of input lines.
Data types |
|
Complex numbers support |
Yes |
Input
#
IN_1
—
input signal
vector
| matrix
Details
An input signal given 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 filter information specified as:
-
'Dialog parameters' – entering information about the filter in the dialog box of the block using the parameters Interpolation factor (R), Differential delay (M) and Number of sections (N).
Values |
|
Default value |
|
Program usage name |
|
Tunable |
No |
Evaluatable |
No |
#
Interpolation factor (R) —
interpolation coefficient
Real number
Details
The interpolation coefficient of the filter, set as an integer greater than `1'.
Default value |
|
Program usage name |
|
Tunable |
No |
Evaluatable |
Yes |
#
Differential delay (M) —
differential delay
Real number
Details
Differential delay of CIC-filter 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 specifying 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 specifying 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 word lengths of the output signal and the last section (WL) are set as:
Where
-
– input word length;
-
– differential delay;
-
– number of sections;
-
– interpolation coefficient.
The word lengths of other sections are set taking into account the growth of bits, as described in Hogenauer’s work. 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 processing method
Columns as channels (frame based)
Details
Input 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 one-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 block saves the sampling rate of the input signal.
Values |
|
Default value |
|
Program usage name |
|
Tunable |
No |
Evaluatable |
No |
Optional
*CIC filter
CIC-filters are an optimised class of linear phase FIR filters consisting of cascaded comb filters and integrators.
Conceptually, an interpolation CIC filter is an upsampling element followed by a CIC filter, , which is a low-pass reconstruction 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 (CIC).
In a more efficient implementation, the CIC filter operating without changing the sampling rate , is decomposed into multipliers in this way:
where
-
- transfer function of sections of a cascade of comb filters, each of which has a width of ;
-
- transfer function of the cascade of integrators;
-
- number of sections. The number of sections in a 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 factor;
-
- differential delay.
In an algorithm that provides full multirate filtering, two remarkable identities for interpolation are considered, which allow the operation of changing the sampling rate R to be moved behind a cascade of N comb filters without distorting the result of the operation.
The transfer function of the resulting filter is given by the following equation:
For a block diagram showing the multirate implementation, see the section Algorithms.
Algorithms
*Interpolation CIC filter.
The interpolation CIC filter is implemented as a cascade of comb filters, followed by an element of upsampling the signal by a factor of R, and then a cascade of N integrators.
This diagram shows a cascade of comb filters with two sections and a cascade of integrators with two sections. The unit delay in the CIC filter integrators can be located in either the forward or feedback circuit. These two configurations provide identical frequency characteristics of the filter. However, the actual numerical sequences at the output for these two configurations will be different due to the influence of the delay. In this algorithm, the unit delay is placed in the forward path of the integrator because this configuration is preferred for HDL implementation.
References
-
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.