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

Polyphase Resampler usage

mattroos
Beginner
606 Views
Hi, All. I'm trying to usethe polyphase resampling functions.
They are part of the signal processing set and found in the manual under
Speech Recognition Functions. I've found the manual's usage description
somewhat lacking. I don't understand it well enough to implement.

Can anyone provide a reference that might match well with Intel's
implementation? It's been a while since I've used a polyphase filter, so I
reviewed it in Proakis/Manolakis and still couldn't fully understand the IPP
version. IPP has a version for fixed rational resampling factors, and a
version for arbitrary resampling factors -- i'm intereseted in the later.
The IPP manual says that this uses "linear interpolation of filter
coefficients". I'm not sure what this means in this context. Proakis/Manolakis discuss linear interpolation of points from the output of a fixed rational
resampler, but this wouldn't appear to be the same thing.

While full knowledge of the implementation would be nice, I'm primarily
concerned with just understanding what the filter's frequency response will
be for the specific arguments I pass to the function. I'm particularly
confused by the "nStep" argument.
Thanks for any help/advice,
Matt
0 Kudos
1 Reply
Vladimir_Dudnik
Employee
606 Views
Hi,
there is answer from expert:

Let F(x) is Kaiser-windowed ideal lowpass filter for |x|<=window. For ippsResample functions without "Fixed" suffix F(x) is calculated in points i/nStep for |i/nStep|<=windows and stored in the structure. F(x) value for arbitrary argument x is calculated by linear interpolation of two nearest F(i/nStep) values. Filter coeffs f(ph,i) for phase ph (0<=ph<1) are F((ph+i)/factor), |(ph+i)/factor|<=window, they are calculated by such linear interpolation. Factor is the resampling factor or 1.0 for upsampling. For input samples a(j), time t>=0 the phase is ph=t-int(t), output sample is SUM(a((int)t+i)*f(ph,i); |(ph+i)/factor|<=window)

Regards,
Vladimir

0 Kudos
Reply