CIC Compensation Interpolator
Compensate for CIC filter using FIR interpolator
Libraries:
DSP System Toolbox /
Filtering /
Multirate Filters
Description
The CIC Compensation Interpolator block uses an FIR polyphase interpolator as the compensation filter. CIC compensation interpolators are multirate FIR filters that you cascade with CIC interpolators to mitigate the drawbacks of the CIC filters.
CIC interpolation filters are used in areas that require high interpolation. These filters are popular in ASICs and FPGAs, since they do not have any multipliers. CIC filters have two drawbacks:
CIC filters have a magnitude response that causes a droop in the passband region. This magnitude response is:
$$abs{\left(\frac{\mathrm{sin}\left(M\frac{\omega}{2}\right)}{\mathrm{sin}\left(\frac{\omega}{2}\right)}\right)}^{n}$$
M — Differential delay
n — Number of stages
ω — Normalized angular frequency
CIC filters have a wide transition region.
The compensation interpolator filters have an inverse sinc passband response to correct for the CIC droop, and they have a narrow transition width.
This block brings the capabilities of the dsp.CICCompensationInterpolator
System object™ to the Simulink^{®} environment.
Ports
Input
Output
Parameters
Block Characteristics
Data Types 

Direct Feedthrough 

Multidimensional Signals 

VariableSize Signals 

ZeroCrossing Detection 

Algorithms
The response of a CIC filter is given by:
$${H}_{cic}\left(\omega \right)={\left[\frac{\mathrm{sin}\left(\frac{RD\omega}{2}\right)}{\mathrm{sin}\left(\frac{\omega}{2}\right)}\right]}^{N}$$
R, D, and N are the rate change factor, the differential delay, and the number of sections in the CIC filter, respectively.
After decimation, the CIC response has the form:
$${H}_{cic}\left(\omega \right)={\left[\frac{\mathrm{sin}\left(\frac{D\omega}{2}\right)}{\mathrm{sin}\left(\frac{\omega}{2R}\right)}\right]}^{N}$$
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:
$${H}_{ciccomp}\left(\omega \right)={\left[RD\frac{\mathrm{sin}\left(\frac{\omega}{2R}\right)}{\mathrm{sin}\left(\frac{D\omega}{2}\right)}\right]}^{N}\text{for}\text{\hspace{0.17em}}\omega \le {\omega}_{p}<\pi $$
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:
$${H}_{ciccomp}\left(\omega \right)\approx {\left[\frac{\left(\frac{D\omega}{2}\right)}{\mathrm{sin}\left(\frac{D\omega}{2}\right)}\right]}^{N}\text{=}{\left[sinc\left(\frac{D\omega}{2}\right)\right]}^{N}\text{for}\text{\hspace{0.17em}}\omega \le {\omega}_{p}\pi $$
This previous equation is the inverse sinc approximation to the true inverse passband response of the CIC filter.