Intel® Integrated Performance Primitives
Community support and discussions relating to developing high-performance vision, signal, security, and storage applications.
Announcements
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.
6628 Discussions

FIR filter with non-contiguous (strided) input?

Becker__Neal
Beginner
119 Views

Are FIR filters limited to only inputs with unit-stride (contiguous)?

0 Kudos
2 Replies
Chao_Y_Intel
Employee
119 Views

Hi, 

It is only support unit stride. You can use the ippmExtract_v_xxx function to create the contiguous input data. 

Regards,
Chao 

Igor_A_Intel
Employee
119 Views

Hi,

it is better to use ippsSampleUp or ippsSampleDown functions - they support any regular stride. Also there are FIRSparse functions, but they are oriented for strided taps, not input vector. We can't implement all possible kinds of DSP specific with single functions - IPP functions are just building blocks - so if your request can be implemented with 2 or more blocks - that is normal situation. Use SampleDown and FIR in a loop taking into account L0 size - in this case there is no performance difference between special single primitive and combined one. So SampleDown your input vector to some tmp, then perform FIR from tmp to your dst vector (if you use 7.1.1 - you can get rid of tmp and perform SampleDown to dst and then apply FIR with pSrc==pDst - it supports in-place). In this case you should divide your vector on "slices" that input+tmp+dst (or input+dst in case of in-place op) < 32K (L0 size).

Regards,

Igor

Reply