Compensate for CIC interpolation filter using FIR interpolator
You can compensate for the shortcomings of a CIC interpolator, namely its passband droop and wide transition region, by preceding it with a compensation interpolator. This System object™ lets you design and use such a filter.
To compensate for the shortcomings of a CIC filter using an FIR interpolator:
Create the dsp.CICCompensationInterpolator
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?.
returns a System object, ciccompint
= dsp.CICCompensationInterpolatorciccompint
, that applies an FIR interpolator to each
channel of an input signal. Using the properties of the object, the interpolation filter
can be designed to compensate for a subsequent CIC filter.
returns a CIC compensation interpolator System object, ciccompint
= dsp.CICCompensationInterpolator(interp
)ciccompint
, with the
InterpolationFactor
property set to
interp
.
returns a CIC compensation interpolator System object, ciccompint
= dsp.CICCompensationInterpolator(cic
)ciccompint
, with the
CICRateChangeFactor
, CICNumSections
, and
CICDifferentialDelay
properties specified in the
dsp.CICInterpolator
System object
cic
.
returns a CIC compensation interpolator System object, ciccompint
= dsp.CICCompensationInterpolator(cic
,interp
)ciccompint
, with the
CICRateChangeFactor
, CICNumSections
, and
CICDifferentialDelay
properties specified in the
dsp.CICInterpolator
System object
cic
, and the InterpolationFactor
property set to
interp
.
returns a CIC compensation interpolator object with each specified property set to the
specified value. Enclose each property name in quotes. You can use this syntax with any
previous input argument combinations.ciccompint
= dsp.CICCompensationInterpolator(___,Name,Value
)
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)
The response of a CIC filter is given by:
R, D, and N are the rate change factor, the differential delay, and the number of sections of the CIC filter, respectively.
After decimation, the cic response has the form:okay
The normalized version of this last response is the one that the CIC compensator needs to compensate. Hence, the passband response of the CIC compensator should take the following form:
where ωp is the passband frequency of the CIC compensation filter.
Notice that when ω/2R ≪ π, the previous equation for Hciccomp(ω) can be simplified using the fact that sin(x) ≅ x:
This previous equation is the inverse sinc approximation to the true inverse passband response of the CIC filter.