2
$\begingroup$

Can anyone provide an insight to select a filter structure out of multi-stage and single stage FIR filter?(it will be great help if references are also provided) Let's say I have to make 50 tap filter. So, is it better to design it using two cascaded filters each with 25 tap then 50 tap single filter only or both are same ? Thank you.

$\endgroup$
3
$\begingroup$

First, two cascaded 24th-order (25-tap) filter will yield a 48th-order filter which is not identical to a 49th-order (50 tap). However, as I assume that this isn't really the answer you are looking for, but rather the difference between multi-stage and single stage.

Assuming infinite precision arithmetic they are the same. In practice, multi-stage filters have lower coefficient sensitivity, so using two (or more) filters would (statistically) allow shorter coefficients word lengths. However, multi-stage filters also require intermediate quantization, so for a complete comparison one should also consider that. And, as obvious from the first paragraph, multi-stage require more multiplications for a given filter order. I would say that unless you run into problems with coefficient quantization you should go with a single stage.

Another use case where multi-stage is relevant is when implementing interpolation and decimation. By using more than one stage some of the filtering can be performed at a lower sample rate and the total arithmetic complexity is reduced.

$\endgroup$
  • $\begingroup$ hi thanks for replying soon. please give more insight on the following lines from your answer which I did not get, "multi-stage filters have lower coefficient sensitivity, so using two (or more) filters would (statistically) allow shorter coefficients word lengths. However, multi-stage filters also require intermediate quantization." $\endgroup$ – user2624915 Feb 23 '15 at 10:23
  • $\begingroup$ @user2624915: How do you plan to implement the filter? The insights would depend on that (and may be more or less relevant depending on the implementation technique). $\endgroup$ – Oscar Feb 23 '15 at 12:43
  • $\begingroup$ On FPGA, I have 8 bit registers for each coeff. output and input values are also 8 bit. I am using fixed point arithmetic for rounding and all. Now I want to compare the performance of filter each multi-stage and single stage filter. $\endgroup$ – user2624915 Feb 24 '15 at 4:32
  • 1
    $\begingroup$ For multi-stage you will have to quantize (round) the result from the first filter as well as from the second filter, while for a single stage there is only one quantization. Hence, one can expect slightly higher round-off noise for the multi-stage (typically not "double" since the first noise source is filtered through the second filter). However, you could expect a better frequency response for the multi-stage filter if you simply round the coefficients (although this is only in a statistical sense so if you are unlucky it will be worse). $\endgroup$ – Oscar Feb 24 '15 at 10:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.