Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
4 Views

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/en-us/cpp/lin/ipp/ipps/ipps_c...

0 Kudos
1 Reply
Highlighted
New Contributor II
4 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