Engee documentation

CIC Interpolation

Interpolation of the signal using a cascade integral-comb filter.

blockType: CICInterpolation

Path in the library:

/Signal Operations/Filters/MultirateFilters/CIC Interpolation

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

Int8, Int16, Int32, Int64, Fixed-point

Complex numbers support

Yes

Input

# IN_1 — Input signal
vector | the matrix

Details

An input signal specified as a vector or matrix.

Data types

Int8, Int16, Int32, Int64, Fixed-point

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

Dialog parameters

Default value

Dialog parameters

Program usage name

CoefficientSource

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

2

Program usage name

InterpolationFactor

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

1

Program usage name

DifferentialDelay

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

1

Program usage name

NumberOfSections

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

Full precision

Default value

Full precision

Program usage name

SpecificationMode

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

Columns as channels (frame based)

Default value

Columns as channels (frame based)

Program usage name

InputProcessing

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

Enforce single-rate processing

Default value

Enforce single-rate processing

Program usage name

RateOptionsFrameBased

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).

cic interpolation 1

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.

cic interpolation 2

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

  1. 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.

  2. Meyer-Baese, U. Digital Signal Processing with Field Programmable Gate Arrays. New York: Springer Verlag, 2001.

  3. Harris, Fredric J., Multirate Signal Processing for Communication Systems. Upper Saddle River, NJ: Prentice Hall PTR, 2004.