I'm trying to calculate the inverse Fourier Transform of two real functions with a single IFFT. The best and most straightforward explanation I've found so far is here, where it says:
Use the fact that the FFT is linear and form the sum of the first transform plus i times the second. You have two vectors, x1 and x2, with discrete Fourier Transforms X1 and X2 respectively. Then
x1 = Re[ IDFT[ X1 + i X2 ] ]
and
x2 = Im[ IDFT[ X1 + i X2 ] ].
The problem is that I don't get where the 'i' parameter comes from. Any hint on this would be much appreciated.
Thanks in advance.
EDIT:
After doing some experiments I finally made it work, but now I'm more confused than before as it didn't work as I expected and had to use some imagination to figure out the correct formulas.
I just made up a new complex array where:
Re[n] = X1Re[n] - X2Im[n]
Im[n] = X2Re[n] + X1Im[n]
After doing an IFFT on it x1 = Re and x2 = Im, so wouldn't it be correct to express it like this?
x1 = Re[ IDFT[ X1 - i X2 ] ]
x2 = Im[ IDFT[ X2 + i X1 ] ].
Are you wondering what the 'i' represents? In this case, I believe 'i' is referring to sqrt(-1), the imaginary unit vector.
Then:
Re[ IDFT[ X1 + i X2 ] ]
will be the 'real' part of that transform (anything without an 'i') and
Im[ IDFT[ X1 + i X2 ] ]
will be the 'imaginary' part of that transform (anything multiplied by an 'i').
It is possible I've misunderstood your question and this answer is much too simplistic; if it is, no insult was intended to your intelligence, I just misunderstood you.