[music-dsp] Vectorising IIR Filters
hybridalienrob at hotmail.com
Tue Oct 11 15:26:01 EDT 2011
Can you live with some latency ?
If so, a simple approach I've taken on the Sharc DSP is to split the chain
in half & process one half on each core, e.g
PEx = Band 1 -> Band 2
PEy = Band 3 -> Band 4
so the input to band 3 will always be one sample behind.
This approach doesn't scale up terribly well for many parallel cores unless
you have a lot of filter bands to process but works fine for SSE or Sharc
From: "Thomas Young" <thomas.young at rebellion.co.uk>
Sent: Tuesday, October 11, 2011 3:18 PM
To: "A discussion list for music-related DSP" <music-dsp at music.columbia.edu>
Subject: [music-dsp] Vectorising IIR Filters
> 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