Erik de Castro Lopo wrote:> > If you have a true half band filter of the form: > > h[n] = {..., g[-2], 0, g[-1], 0, g[0], 1, g[1], 0, g[2], 0, g[3], ...} > > then an efficient polyphase implementation is possible. > > ErikEven if the filter is not a half band filter, a polyphase implementation buys you the efficiency. What the half band does, is it reduces the odd branch to a simple delay and the even branch is a symmetric FIR filter. The more general case (non-half-band) gets you two sub filters that you need to sum the outputs for decimation or commutate for interpolation.
Discussion: Interpolation Can of Worms
Started by ●September 12, 2006
Reply by ●September 28, 20062006-09-28
Reply by ●September 28, 20062006-09-28
Andor wrote:> > Some while back, Fred posted a link to a program that computes > equiripple halfband filters > (http://groups.google.ch/group/comp.dsp/msg/5476b541eb7c55ce?dmode=source) > - that should beat the pants off any filter for factor 2 upsampling > (w.r.t. computational efficiency). BTW, we've had this (or similar) > discussion before: > > http://groups.google.ch/group/comp.dsp/browse_frm/thread/8de91e30641d10e8/4e69c0ef1c9f4edf?#4e69c0ef1c9f4edf > > My 0.02$ is that the appropriate filter (either halfband or Erik's > proper downsampler) depends on the application. For audio sample rate > conversion, halfband filters usually are critical. However, for > sidechain upsampling or metering, halfband filters are very useful. > > Regards, > Andor >Goodman and Carey wrote a paper on efficient decimation/interpolation back in the 70's I think that addresses this. They presented a set of half band filters and a methodology for selecting which filters to use in a chain of filters for a decimating / interpolating multi-rate filter. The longest of their halfband filters was IIRC 19 taps. Basically, the higher frequency filters can be shorter filters since the more gradual cut-off is filtered out by subsequent filters anyway.






