Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.

FIR filter with non-contiguous (strided) input?

Becker__Neal
Beginner
654 Views

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

0 Kudos
2 Replies
Chao_Y_Intel
Moderator
654 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
654 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