# How to calculate IFFT based on FFT result?

Started by 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.
```