DSPRelated.com
Forums

Multistage decimation by two with halfband filters

Started by bertramaerts 5 years ago4 replieslatest reply 5 years ago284 views
Rick Lyons book Understanding Digital Signal Processing third edition chapter 10.12.1 Half-band Filtering Fundamentals states:

"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?
[ - ]
Reply by napiermJune 13, 2019

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.


[ - ]
Reply by Rick LyonsJune 13, 2019

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



[ - ]
Reply by bertramaertsJune 13, 2019

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

[ - ]
Reply by kazJune 13, 2019

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.