Multistage decimation by two with halfband filters
Started by 5 years ago●4 replies●latest reply 5 years ago●286 views"It’s normal to use the same half-band filter in multistage decimation by two as was done in Figure 10-25(b)." and
"However, in multistage interpolation by factors of two it would be computationally inefficient to use the same half-band filter in each stage."
I fully agree with the second statement, but have questions about the first.
Let me give an example of decimation by 8 from 44100 Hz with interesting band 0-1800Hz.
The first filter going from sampling frequency 44100 to 22050 Hz has a transition window of (22050-2*1800)/22050=0.8367 which needs 25 taps for a stop band attenuation of 140 dB.
The second filter going from sampling frequency 22050 to 11025 Hz has a transition window of (11025-2*1800)/11025=0.6735 which needs 35 taps for a stop band attenuation of 150 dB.
The third filter going from sampling frequency 11025 to 5512.5 Hz has a transition window of (5512.5-2*1800)/5512.5=0.3469 which needs 55 taps for a stop band attenuation of 140 dB.
Suppose we would take 3 times the same filter, we would need the third filter and 3*55=165 taps in stead of with 3 different filters 25+35+55=115 taps. So for the same reason of computational efficiency, I prefer 3 different filters.
But probably I am missing something?
You are exactly right, I don't think you've missed anything. Curious what application needs 140dB of attenuation...
In interpolation I have use the same filter for the last 2 or 3 spots. But it was already down to a 5 tap filter (2 multipliers) with CSD coefficients and minimized to a really tiny implementation. I couldn't do any better even with the really large transition bands so I just left it.
Hello bertramaerts. You have NOT missed anything! You are correct and your uncertainty is my fault. And for this I beg your pardon. For an explanation please see my blog at:
https://www.dsprelated.com/showarticle/903.php
By the way, in case if you haven't seen it, please see the following web page.
https://www.dsprelated.com/showarticle/1094.php
Hi Rick,
Thank you very much for sharing your blog article on this subject. My uncertainty is gone now. Thanks for the errata webpage of your famous book.
Kind regards, Bert
Assuming any LPF (rather than halfband specifically) For interpolation, a multistage approach exploits the gap between first image of interpolation and signal band edge. This gap increases as you progress in stages. so the first filter can cut off from signal band edge towards edge of first image. I expect first filter to be highest order than others.
for decimation, a multistage approach exploits the fact that you can allow aliasing to occur away from signal band edge. This gap gets shorter as you progress with stage and a final stage should be strict anti alias and also remove any aliasing allowed in previous stages. I expect last filter to be highest order.