Re: negative return values after FFT [message #49450 is a reply to message #49444] |
Wed, 26 July 2006 18:21   |
James Kuyper
Messages: 425 Registered: March 2000
|
Senior Member |
|
|
adisn123@yahoo.com wrote:
> Hi,
>
> I did FFT from spacial domain to frequency domain on an image of about
> 500 x 500 pixel size.
>
> IDL> ft = FFT(image, -1)
>
> After filtering job, it was inversly fourier tranformed back using
> IDL> inverse = FFT(ft, 1)
>
> When I printed "inverse", the values were complex numbers.
>
> 1. Aren't they supposed to real numbers since I tranformed back to
> spcial domain?
That depends upon your filter. If h(x) is a real-valued function, and
H(f) is the corresponding fourier transform, then H(f) has the property
that H(-f) = (H(f))*, where '*' indicates complex conjugation.. If
that is still true after you apply your filter, then the filtered
fourier transform should invert to a real-valued function, too. This
means that your filter function must obey that same identity. Assuming
that your filter is itself real-valued, that means that F(-f) = F(f).
Is that true for your filter?
Keep in mind that the discrete fourier transform is stored with the
positive frequency components in the first half of the array, and the
negative frequency components in the second half. Thus, the requirement
that F(-f) = F(f) corresponds, in terms of array components, to the
requirement that F[i] = F[N-i-1].
|
|
|