Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
6684 Discussions

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

janw80
Beginner
135 Views
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/en-us/cpp/lin/ipp/ipps/ipps_ch6/ch6_iir_filter_functions.html

0 Kudos
1 Reply
igorastakhov
New Contributor II
135 Views
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.

Regards,
Igor
0 Kudos
Reply