Intel® Integrated Performance Primitives
Community support and discussions relating to developing high-performance vision, signal, security, and storage applications.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!

Error while FIR filtering

Anonymous38
Beginner
120 Views
Hi all,

I am using the filtering function ippsFIRInitAlloc32f_16s to allocate memory and the function ippsFIR32f_16s_ISfs
for filtering.
The memoery allocation is not giving me any error.
However the filtering is giving me an error ippStsContextMatchErr.

Could anyone tell me what this error means?

Thanks

Sharwari
0 Kudos
2 Replies
Vladimir_Dudnik
Employee
120 Views

Hi Sharwari,

could you please provide piece of code for us to see what can be wrong?

Regards,
Vladimir

Anonymous38
Beginner
120 Views
Hi Vladimir,
Thanks for your mail.
The code looks like this. The function ippFIR32f is called multiple times.

static IppsFIRState32f_16s* ppState; //global variable

void ippFIR32f(Ipp16s *channelData,float *floatTaps) // channelData is the data to be filtered //and floatTaps is the pointer to the taps array
{

Ipp16s* pDlyLine=NULL;
IppStatus status;
int i,j;

status=ippsFIRInitAlloc32f_16s(&ppState,floatTaps,NTAPS,pDlyLine); //NTAPS= no.of taps
if(status!=ippStsNoErr){
printf(" ippsFIRInitAlloc32f_16s error=%d message=%s",status,ippGetStatusString(status));
}

for(j=0;j status=ippsFIR32f_16s_ISfs((channelData+j),FIRCHUNKSIZE,ppState,0);
if (status!=ippStsNoErr){
printf(" ippsFIR32f_16s_ISfs status=%d message=%s",status,ippGetStatusString(status));
}
}
ippsFIRFree32f_16s(ppState);

}

When I execute this code it is giving the error.
ippsFIR32f_16s_ISfs status=-17 message=Context parameter doesn't match the operation

Regards,
Sharwari

Reply