Forums

CIC versus Polyphase FIR

Started by sachinwannabe August 21, 2008
I am trying to understand the real benefits of using a CIC filter for rate
sample change v.s a conventional multi-rate FIR filter. My thoughts on CIC
v/s traditional sampling rate conversion methods below:

I understand the multiplier-less advantage of CIC filters. However,
because of their spectral content, one invariably needs a compensation
filter. The good thing about the compensation filter (as is pointed out
repeatedly) is that it runs at the slower sampling rate and hence is less
resource intensive in implementation. However, the FIR filter for removing
the imaging/aliasing after interpolation/decimation ends up being
polyphase, and hence needs less multipliers too, so the "advantage" of the
compensation filter running at the slower sampling rate is negated by the
polyphase-based reduction of multipliers needed, right?

In other words, if my spectral requirements is such that I have the two
following architectures for an interpolation by 10 filter

A: (Multi-rate polyphase FIR)
FIR order = 100 (ends up being 100/2/10  = 5 multipliers, right?)

B: (CIC preceded by compensation filter)
Precompensation Filter order = 100 (ends up being 100/2/10 = 5
multipliers, right)

In this scenario is there any sense in using the CIC? And given this
argument I am beginning to question why CIC is trumpeted and used so much? 
Only explanation I can think of is that in most cases, the spectral
requirements are not stringent enough that the precompensation filter order
and the FIR filter order end up being same (as they do in this particular
design of mine). Any ideas/guidance?




On Aug 21, 2:53 pm, "sachinwannabe" <cpa...@vt.edu> wrote:

> I am trying to understand the real benefits of using a CIC filter for rate > sample change v.s a conventional multi-rate FIR filter.
The CIC is much cheaper for large decimation ratios. But it's a terrible filter, so for smaller ratios you are better with a polyphase FIR.
> I understand the multiplier-less advantage of CIC filters. However, > because of their spectral content, one invariably needs a compensation > filter.
Not necessarily. It is often possible to simply use a low ratio (divide by four or eight) polyphase decimator to pick out a narrow region at the center of the CIC response which will be flat enough without actual inverse sinc compensation for many applications.
> However, the FIR filter for removing > the imaging/aliasing after interpolation/decimation ends up being > polyphase, and hence needs less multipliers too, so the "advantage" of the > compensation filter running at the slower sampling rate is negated by the > polyphase-based reduction of multipliers needed, right?
Not reduced by as much. You must have enough taps to generate the desired low pass response when evaluated at the input sample rate, and then you must evaluate that many taps for each output sample. For a large rate change, it's a prohibitive amount of multiplication.
> In other words, if my spectral requirements is such that I have the two > following architectures for an interpolation by 10 filter
At a factor of 10 a CIC may not be advantageous, thought it's coming close. Try again with a factor of 50 and the picture looks different.
> B: (CIC preceded by compensation filter) > Precompensation Filter order = 100 (ends up being 100/2/10 = 5 > multipliers, right)
No, because a filter of 10 taps at the low sample rate has the same duration of impulse response and is thus equivalent to a filter of 100 taps at the high rate. The filter only needs 100 taps if it's doing the interpolation, if not 10 will have the same effect - thus one multiplier is probably enough.
> In this scenario is there any sense in using the CIC?
At a ratio of 10 it's kind of borderline. Much higher and it gets very tempting. You can deal with an arbitrarily large ratio simply by adding more bits to the registers to accomodate the bit growth, and it's trivial to make the ratio programmable.

sachinwannabe wrote:

> I am trying to understand the real benefits of using a CIC filter for rate > sample change v.s a conventional multi-rate FIR filter.
CIC architecture is intended for the hardware implementation. I.e. very fast and very simple. It had been shown many times in the literature that there is no advantage in using CIC approach on the programmable DSPs. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
On Aug 22, 3:09&#2013266080;pm, Vladimir Vassilevsky <antispam_bo...@hotmail.com>
wrote:
> sachinwannabe wrote: > > I am trying to understand the real benefits of using a CIC filter for rate > > sample change v.s a conventional multi-rate FIR filter. > > CIC architecture is intended for the hardware implementation. I.e. very > fast and very simple. It had been shown many times in the literature > that there is no advantage in using CIC approach on the programmable DSPs.
Whilst the structure may of no benefit in software, replicating the impulse response of a CIC may still provide significant efficiency gains in certain circumstances. In particular, when performing interpolation on a signal whose bandwidth is already narrow compared to the lower sampling rate, achieving a specified rejection is often possible with a much shorter filter. -- Oli
Thanks. I was missing out on the fact that the number of taps also gets
smaller in the slower domain. 


>On Aug 21, 2:53 pm, "sachinwannabe" <cpa...@vt.edu> wrote: > >> I am trying to understand the real benefits of using a CIC filter for
rate
>> sample change v.s a conventional multi-rate FIR filter. > >The CIC is much cheaper for large decimation ratios. But it's a >terrible filter, so for smaller ratios you are better with a polyphase >FIR. > >> I understand the multiplier-less advantage of CIC filters. However, >> because of their spectral content, one invariably needs a compensation >> filter. > >Not necessarily. It is often possible to simply use a low ratio >(divide by four or eight) polyphase decimator to pick out a narrow >region at the center of the CIC response which will be flat enough >without actual inverse sinc compensation for many applications. > >> However, the FIR filter for removing >> the imaging/aliasing after interpolation/decimation ends up being >> polyphase, and hence needs less multipliers too, so the "advantage" of
the
>> compensation filter running at the slower sampling rate is negated by
the
>> polyphase-based reduction of multipliers needed, right? > >Not reduced by as much. You must have enough taps to generate the >desired low pass response when evaluated at the input sample rate, and >then you must evaluate that many taps for each output sample. For a >large rate change, it's a prohibitive amount of multiplication. > >> In other words, if my spectral requirements is such that I have the
two
>> following architectures for an interpolation by 10 filter > >At a factor of 10 a CIC may not be advantageous, thought it's coming >close. Try again with a factor of 50 and the picture looks different. > >> B: (CIC preceded by compensation filter) >> Precompensation Filter order = 100 (ends up being 100/2/10 = 5 >> multipliers, right) > >No, because a filter of 10 taps at the low sample rate has the same >duration of impulse response and is thus equivalent to a filter of 100 >taps at the high rate. The filter only needs 100 taps if it's doing >the interpolation, if not 10 will have the same effect - thus one >multiplier is probably enough. > >> In this scenario is there any sense in using the CIC? > >At a ratio of 10 it's kind of borderline. Much higher and it gets >very tempting. You can deal with an arbitrarily large ratio simply by >adding more bits to the registers to accomodate the bit growth, and >it's trivial to make the ratio programmable. >