inverse fft with real result

inverse fft with real result

Let me know if you've heard this before!

I am trying to write an ipps-based function that does something like following MatLab code:

result = ifft( theFT.*conj(theFT) );

Here, theFT is a complex vector and multiplying by its conjugate yields the squared magnitude, which is real. We then get the inverse real fft.

My questions are about formatting the data efficiently for IPP. If I call MagSquared, that gives me a real vector, but I need something in perm (or pack or ccs) format to pass to ippsFFTInv. Is there a convenient function for converting from real to perm? If not, should I write my own function to compute the magnitude and store it in perm format?

thanks for your attention



3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hi Mjc,

all packed formats (Pack, Perm, Ccs) are intended for storing complex data. Your vector is real - so the easiest way is to convert it to complex (for example using ippsSampleUp) and then apply complex iFFT instead of developing your own function for RealToPerm conversion.

regards, Igor

That would not be efficient, requiring twice the amount of computation. I have determined that a simple hand-written routine is best.

Leave a Comment

Please sign in to add a comment. Not a member? Join today