Forums

How to calculate IFFT based on FFT result?

Started by Yao Sics May 29, 2007
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

Yao Sics wrote:
> 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?
John_H wrote:

> > 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. >
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.