Transforming IIR filters to have larger feedback step

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

Hi! Say I have an IIR filter, like:

Code: Select all

y[n] = b0*x[n] + b1*x[n-1] + ...
       - a1*y[n-1] - a2*y[n-2] - ...
If I then produce a filter with the same frequency response, but where the feedback is at 2-sample intervals, like:

Code: Select all

y[n] = b0m*x[n] + b1m*x[n-1] ...
       - a1m*y[n-2] - a2m*y[n-4] - ...
What's the name for this? Is there a writeup which explores the impact on numerical accuracy and stuff?
Last edited by signalsmith on Mon Apr 12, 2021 6:34 am, edited 4 times in total.

Post

Not sure what it would be called (and the interesting papers for the polyphase IIR half-band filters and what not that use these types of schemes are nearly ungoogleable unless you remember the exact title)...

But rougly, what happens is that you'll get a second set of poles as reflection across the z-plane imaginary axis, like the filter response was aliasing at fs/4. From the point of view of numerical accuracy, since you're essentially switching between two "regular" filters evaluated at alternating samples, the numerical accuracy should be about the same (ie. crapping if you're using direct forms, but this should not make things significantly worse as far as I can think of).

Post

Yeah - I'm writing up something else, and hoped to find a neat resource to link to and say "read this, then come back".

I think this is slightly different from the polyphase IIR half-bands because the odd/even filters are different in that case, whereas I'm taking an existing filter and producing another single filter just with different feedback-spacing.

(The numerical accuracy is going to suck though, because I can't think of a way of avoiding the direct form for my particular use-case.)

Post

well the thing is.. using 2-sample delays instead of 1-sample delays replicates the spectrum (of the poles) twice.. using 3-sample delays replicates 3 times.. and so on with every other copy reflected.. if you start with one-pole this gives you the usual comb filter, but you can do it with multiple such delays too.. other than that I'm not sure where you point you...

Post

I can't tell if we've misunderstood each other. I wasn't looking for help understanding, but for help explaining it to other people (especially if there was already a name for it). Maybe that was clear, and you were saying "I don't have a link for it, but just explain it yourself, like this".

I'm also not sure we're discussing exactly the same scheme/transformation - so either I need to work on explaining that better, or I'm asking in the wrong place.

Thanks for the replies, though. 🙂

Post

signalsmith wrote: Mon Apr 12, 2021 6:24 am I can't tell if we've misunderstood each other. I wasn't looking for help understanding, but for help explaining it to other people (especially if there was already a name for it). Maybe that was clear, and you were saying "I don't have a link for it, but just explain it yourself, like this".
Fair enough. Well, I'm not aware of any name for this particular scheme, other than I guess "comb filter" even though in this case it's a very short comb-filter. :)

Post Reply

Return to “DSP and Plugin Development”