[Ifeffit] more fun with FFT's

Scott Calvin scalvin at slc.edu
Wed Jun 9 17:12:15 CDT 2004


Thanks to Matt and Grant for the comments.

After reading Grant's comments, it appears I have some significant gaps in
my understanding of some basic EXAFS concepts:

Chi(k) is complex? That's a completely new concept to me. I thought chi(R)
was complex because a complex Fourier transform was used, and that chi(k)
was real. After all, the peaks of chi(k) correspond to peaks in the energy
spectrum...if that is the real part of chi(k), what does the imaginary part
correspond to?

I still disagree with the assertion that you always have truncation effects
when using a finite k-range. As I understand the properties of Fourier
transforms, using a finite range is identical to using an infinite range
with a periodic function that repeats the pattern seen in the finite range
over and over. So if it happens that the function at the end of the range
connects smoothly with the function at the beginning of the range, there
should be no truncation effects. This can also be looked at another way. In
terms of the sinc function due to the finite range, the zeroes of the sinc
function correspond exactly with the points in r-space at which the Fourier
transform is evaluated, and thus the Foruier transform is only non-zero at
one point. I have simulations that show this, but if I missed that chi(k)
was complex, that could mean there is an error in this logic.

As I understand Grant's comments, you can show that the sinc function is
"really" still there by padding with zeroes, thus improving the resolution
in r-space, and revealing the side-band structure. I agree that this is
what will be observed, but if I consider this from the point of view of a
FT of a finite range being the same as the FT of an infinite function which
repeats the finite section periodically, then the zero-padding is
introducing discontinuities which were not previously there. It is, I
think, a matter of semantics whether one considers the side-bands to be
"really" there when the FT is not evaluated at values of r where it is
non-zero. But in either way of looking at it, padding with zeroes
introduces non-zero values to the discrete FT outside of a region where
there were only zero values before.

None of this is meant in any way as a criticism of the algorithm used by
Ifeffit as Matt described it. Windowing and then padding with zeroes makes
the truncation effects relatively consistent...if there is a downside to
forcing chi(k) to go to zero at the endpoints, so be it, but this strategy
means the downside is always present. Alternative strategies which
encourage picking whole periods of chi(k) for the data range, for example,
risk being self-fulfilling, so that the period chosen for the data range
might be emphasized in the Fourier transform at the expense of other
spectral frequencies.

To sum up, I am now very curious as to whether there is some sense in which
chi(k) is complex. If that's true, I'll have to rethink a lot of my
understanding as to how this all fits together.

--Scott Calvin
Sarah Lawrence College

At 02:26 PM 6/9/2004 -0500, Grant wrote:
>This is in response to Scott's remarks about zero padding and windows.
>The basic point is that you *always* have fourier truncation effects if
>you are using a finite k range. If you Fourier transform a pure sine wave
>over a finite range you will get side lobes that go like |sin(x)/x|. This
>is true whether you zero pad or not. You won't be able to resolve the side
>lobe structure if you don't zero-pad however. All you will see is a single
>point. A useful way to think about it is to view the discrete FFT as a
sampled
>version of the continuous transform (side lobes and all) where the r-space
>sampling is controlled by size N of the zero padded array (and dk).
>Hhe zero padding doesn't change the window distortions, it just allows you
>to see them better.
>
>You can of course mitigate the side lobes by applying a k-window to taper
>the amplitude down to zero at the cutoff, but at the expense of broadening
the
>central part of the peaks.
>
>There also is a common myth that if you choose the cutoff to be where
>chi is zero anyway, that you don't get fourier truncation effects. This is
>not true. Even if chi (Amplitude*sin(phase))  is zero at a particular k
>value the amplitude may not be. Imagine a thought experiment in which
>you shift the phase of chi by a Pi/2, so a node becomes an antinode.
>Mathematically this is the same as multiplying the complex chi
>A exp(i phi) by exp(i Pi/2).  Since the fourier transform is linear, the
>filtered (transformed, r-windowed, and inverse transformed) data are just
>shifted in phase by Pi/2. The fourier filtering distortions are precisely
>the same when you cut at a node or an antinode.
>
>I'll try to dig up some simulations I did many moons ago and post
>them.
>>>




More information about the Ifeffit mailing list