Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
Announcements
FPGA community forums and blogs have moved to the Altera Community. Existing Intel Community members can sign in with their current credentials.
6815 Discussions

Looking for optimized sliding window helper functions

Henry_B_Intel
Employee
756 Views
I have not been able to find any optimized sliding window helper functions. As an example, I'd like to run a filter over 128accelermeter samples. On the next iteration, I'd to add 4 new samples and remove the 4 oldset samples (i.e. standard sliding window behavior). What is the optimal way of doing this?
0 Kudos
3 Replies
Chao_Y_Intel
Moderator
756 Views
I have not been able to find any optimized sliding window helper functions. As an example, I'd like to run a filter over 128accelermeter samples. On the next iteration, I'd to add 4 new samples and remove the 4 oldset samples (i.e. standard sliding window behavior). What is the optimal way of doing this?



Hi,

See some comment from the expert:

It is not clear what kind of filter the code wants to apply, If it is simple FIR, please check FIR MR with corresponding up/down Factors.

Thanks,
Chao
0 Kudos
loveneteasy2008126_c
756 Views
Quoting - Chao Y (Intel)



Hi,

See some comment from the expert:

It is not clear what kind of filter the code wants to apply, If it is simple FIR, please check FIR MR with corresponding up/down Factors.

Thanks,
Chao

0 Kudos
Ivan_Ryzhachkin__Int
New Contributor I
756 Views
I have not been able to find any optimized sliding window helper functions. As an example, I'd like to run a filter over 128accelermeter samples. On the next iteration, I'd to add 4 new samples and remove the 4 oldset samples (i.e. standard sliding window behavior). What is the optimal way of doing this?

Hi Henry,
to perform sliding windowing would suggest ~ the folowing IPP code:

ippsMove_32f(&buf[FRAME_SIZE], buf, WINDOW_LEN - FRAME_SIZE);
ippsZero_32f(&buf[WINDOW_LEN - FRAME_SIZE], FRAME_SIZE);
ippsMove_32f(&sBuf[FRAME_SIZE], sBuf, WINDOW_LEN - FRAME_SIZE);
ippsCopy_32f(pSrcDst,&sBuf[WINDOW_LEN - FRAME_SIZE], FRAME_SIZE);
ippsAddProduct_32f(&sBuf[0],window,buf,WINDOW_LEN);
regards,
Ivan

0 Kudos
Reply