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

Looking for optimized sliding window helper functions

Henry_B_Intel
Employee
344 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
344 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
344 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
344 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