wish: IIR filtering of multi-channel sample (IIROne_P())

wish: IIR filtering of multi-channel sample (IIROne_P())

Hi! It would be convenient if IIR filter functions [1] would have a variant that filters multi-channel data.

This would be somewhat similar to ippsIIR_32f_P(), but done in IIROne() single-sample fashion.

Thus instead of taking an array of pointers to all the
single-channel source vectors (with several time samples in each), the new function (IIROne_P()?) could take a single vector of multi-channel data containing just one time sample from each channel. Some call this "interleaved" data.

Internally the new filter function could store filter states in multi-channel vectors, one vector per z^-1 memory element. I suspect that this would perform better than the current method which is to have one filter state for each channel, and looping over channels, instead of processing all channels in parallel.

Does this sound viable?

[1] http://software.intel.com/sites/products/documentation/hpc/compilerpro/e...

2 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

you can always call _P variant with vector length==1 - it behaves in the same manner as proposed One_P - moreover, IPP is performance library - and from the performance point of view "One" function doesn't make sense, especially for IIR. Use vector processing functions where it's possible.


Leave a Comment

Please sign in to add a comment. Not a member? Join today