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

FIR filter with non-contiguous (strided) input?

Becker__Neal
Beginner
340 Views

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

0 Kudos
2 Replies
Chao_Y_Intel
Moderator
340 Views

Hi, 

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

Regards,
Chao 

0 Kudos
Igor_A_Intel
Employee
340 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

0 Kudos
Reply