How to calculate IFFT based on FFT result?

May 29, 2007 2 Replies

Dear All,



I just wonder if there is a simple way to calculate IFFT based on FFT results?



I was trying to configure xilinx FFT coregen v3.1 to perform IFFT operation, but no matter how hard I tried, the result is the same as FFT. Strange! The timing is exactly based on the FFTv3.1 datasheet. Assert fwd_inv_we ='1', and fwd_inv=' 0', and then de-assert fwd_inv_we.



If this problem can not be solved, I have to calculate IFFT based on the result of FFT.



Has anyone experienced this before?


Cheers,


Yao



An IFFT is just an FFT of an FFT, perhaps scaled by a factor of 2*pi (or other constant scaling) depending on the Fourier Transform scaling used for the FFT.

Plus, the FFT results are based on the input so the input would be the IFFT.

What question are you really trying to ask?

Not exactly. The rotations are in the opposite directions. You can perform an IFFT with an FFT by performing a complex conjugate operation on the inputs and on the outputs of the FFT:

f(t) = FFT(F(s)*)* where f(t) is the inverse transform of F(s) and * denotes complex conjugate. There is also the issue of scaling by N where N is the number of points in the FFT. The scaling depends on the FFT definition used however.

If you have access to the guts of the FFT, you can also convert it to an inverse FFT by reversing the twiddle rotations, which is done by doing the complex conjugate on the complex twiddles.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required