[music-dsp] Vectorising IIR Filters
lanceboyle at qwest.net
Tue Oct 11 19:57:31 EDT 2011
Apply a partial fraction expansion to your transfer function. This will yield a _sum_ of biquads with first-order numerators and at most one first-order section. It will have exactly the same impulse response and transfer function as your original.
On Oct 11, 2011, at 7:18 AM, Thomas Young wrote:
> Does anyone have any thoughts on vectorising IIR filters?
> I can't see how an IIR filter implementation can be broken down into parallelisable pieces when there is feedback involved, and I guess that more broadly applies to any effect where feeding back is required.
> For example and perhaps to clarify, if we take a transfer function and put it into direct form 1, then we will end up with the coefficients in our denominator relying on previous outputs. Naively a vectorised implementation would process n outputs concurrently, for example using a 4 float vector and vector intrinsics to process the filter 4 samples at a time, however this obviously does not work when each ouput requires the previous output to have been already calculated.
> Tom Young
> dupswapdrop -- the music-dsp mailing list and website:
> subscription info, FAQ, source code archive, list archive, book reviews, dsp links
More information about the music-dsp