Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Becker__Neal
Beginner
26 Views

newb where are filter functions?

I just got an eval copy of ipp to try.  The documentation is awful.  I just want to try first a simple single rate floating point FIR filter.

I look at http://software.intel.com/sites/products/documentation/doclib/ipp_sa/71/ipp_manual/index.htm, everthing

I see there says it deprectated.  Where are the non-deprecated functions for 

1) initialize the filter structure

2) process a vector of input data

Thanks

0 Kudos
3 Replies
SKost
Valued Contributor II
26 Views

Take a look at Digital Signal Processing domain header file ( ipps.h ) if you don't like online documentation. There are also documents in pdf format for almost all domains of IPP library.
Igor_A_Intel
Employee
26 Views

use ippsFIRGetBufferSize, then ippsFIRInit and then - ippsFIR function; GetSize+Init pair should be used instead of deprecated InitAlloc.

regards, Igor

SKost
Valued Contributor II
26 Views

#define NUMITERS 150 IppStatus TestFIR(void) { int n; IppStatus status; IppsIIRState_32f *ictx; IppsFIRState_32f *fctx; Ipp32f *x = ippsMalloc_32f(NUMITERS), *y = ippsMalloc_32f(NUMITERS), *z = ippsMalloc_32f(NUMITERS); const float taps[] = { 0.0051f, 0.0180f, 0.0591f, 0.1245f, 0.1869f, 0.2127f, 0.1869f, 0.1245f, 0.0591f, 0.0180f, 0.0051f, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; for (n =0;n=(float)sin(IPP_2PI *n *0.2); ippsIIRInitAlloc_32f( &ictx, taps, 10, NULL ); ippsFIRInitAlloc_32f( &fctx, taps, 11, NULL ); status = ippsIIR_32f( x, y, NUMITERS, ictx); printf_32f("IIR 32f output + 120 =", y+120, 5, status); ippsIIRFree_32f(ictx); status = ippsFIR_32f( x, z, NUMITERS, fctx ); printf_32f("FIR 32f output + 120 =", z+120, 5, status); ippsFIRFree_32f(fctx); ippsFree(z); ippsFree(y); ippsFree(x); return status; } IPP Output: IIR 32f output + 120 = 0.000000 0.049896 0.030838 -0.030838 -0.049896 FIR 32f output + 120 = 0.000000 0.049896 0.030838 -0.030838 -0.049896