dsphdl.CICDecimator
Decimate signal using CIC filter
Description
The dsphdl.CICDecimator
System object™ decimates an input signal by using a cascaded integrator-comb (CIC) decimation
filter. CIC filters are a class of linear phase finite impulse response (FIR) filters
consisting of a comb part and an integrator part. The CIC decimation filter structure consists
of N sections of cascaded integrators, a rate change factor of
R, and N sections of cascaded comb filters. For more
information about CIC decimation filters, see Algorithms.
The System object supports these combinations of input and output data.
Scalar input and scalar output — Support for fixed and variable decimation rates
Vector input and scalar output — Support for fixed decimation rates only
Vector input and vector output — Support for fixed decimation rates only
The System object provides an architecture suitable for HDL code generation and hardware deployment.
The System object supports real and complex fixed-point inputs.
To filter input data with an HDL-optimized CIC decimation filter, follow these steps:
Create the
dsphdl.CICDecimatorobject and set its properties.Call the object with arguments, as if it were a function.
To learn more about how System objects work, see What Are System Objects?
Note
You can also generate HDL code for this hardware-optimized algorithm, without creating a MATLAB® script, by using the DSP HDL IP Designer app. The app provides the same interface and configuration options as the System object.
Creation
Description
creates an
HDL-optimized CIC decimation filter System object, cicDecFilt = dsphdl.CICDecimatorcicDecFilt, with default properties.
creates the filter with properties set using one or more name-value arguments.cicDecFilt = dsphdl.CICDecimator(Name=Value)
Properties
Usage
Syntax
Description
[
filters the input data when dataOut,validOut] = cicDecFilt(dataIn,validIn,R,reset)reset is false and
clears filter internal states when reset is true.
The System object expects the reset argument only when you set the
ResetInputPort property to true. The
DecimationSource property must be set to 'Input
port'.
Input Arguments
Output Arguments
Object Functions
To use an object function, specify the
System object as the first input argument. For
example, to release system resources of a System object named obj, use
this syntax:
release(obj)
Examples
Algorithms
References
[1] Hogenauer, E. “An Economical Class of Digital Filters for Decimation and Interpolation.” IEEE Transactions on Acoustics, Speech, and Signal Processing 29, no. 2 (April 1981): 155–62. https://doi.org/10.1109/TASSP.1981.1163535.








