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.CICDecimator
object 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.