Hi, Matt - I think the essential point is that sampling at 1 eV at k=12
A^(-1) is greatly oversampled. Suppose you want to sample data out to
R=10A (just to make sure you get everything). Then the period of those
oscillations in k-space is 2 Pi/(2 10A) ~ .3 A^(-1). Nyquist's theorem
says you should sample at least twice per cycle, so you need delta K of
0.15 A^(-1) or smaller (you don't want higher frequency noise to alias
down to low frequencies0. The 0.05 grid historically used in the UW
programs therefore is pretty conservative. Attempting to preserve a 1 eV
resolution at k=12 A^(-1) would imply a sampling of about 0.01 A^(-1), which
is quite unnecessary.
So I think the box-car average is ok when you are far enough above the edge.
I implemented something like in my own mathematica programs a couple of
years ago and it works fine, and Nick Dimakis built it into the tcl/tk
based APEX package last year.
thanks - grant
On Wed, 12 Mar 2003 ifeffit-request@millenia.cars.aps.anl.gov wrote:
Send Ifeffit mailing list submissions to
ifeffit@millenia.cars.aps.anl.gov
To subscribe or unsubscribe via the World Wide Web, visit
http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit
or, via email, send a message with subject or body 'help' to
ifeffit-request@millenia.cars.aps.anl.gov
You can reach the person managing the list at
ifeffit-owner@millenia.cars.aps.anl.gov
When replying, please edit your Subject line so it is more specific
than "Re: Contents of Ifeffit digest..."
Today's Topics:
1. Re: fourier transforms and k grids (Matt Newville)
2. Rebinning (Carlo U. Segre)
3. Re: Rebinning (Bruce Ravel)
4. Re: Rebinning (Matt Newville)
5. Re: Rebinning (Carlo U. Segre)
6. Re: Rebinning (Carlo U. Segre)
7. Re: Rebinning (Matt Newville)
----------------------------------------------------------------------
Message: 1
Date: Tue, 11 Mar 2003 12:04:57 -0600 (CST)
From: Matt Newville
Subject: Re: [Ifeffit] fourier transforms and k grids
To: XAFS Analysis using Ifeffit
Message-ID:
Content-Type: TEXT/PLAIN; charset=US-ASCII
Hi Peter,
Thanks for the report. I've verified your findings that feffit()
is doing the wrong thing for the Fourier transforms for data on
grids other than k-grid of 0.05Ang^-1. Here's what is happening:
feffit() really is interpolating data internally onto the 0.05
grid for the fit. The fit _should_ procede correctly for data on
any grid.
Anyway, at the end of feffit() command it sends the data off to
the fftf() command to make the chir_mag, etc arrays. It is at
this point that the k-array in ***NOT*** being sent to the FFT.
I've verified in my own tests that including the k-array in the
FFT works, giving the right FFT. hopefully I will get a fixed
version posted this week. But currently, the r-space data (data
only, not the fits) from feffit() are wrong when a non-0.05
k-grid is used. Simply doing
fftf(real=data.chi, k = data.k)
will give the correct r-space data.
I also noticed another wart and small inconsistency between
feffit() and fftf() from your example, which has the 'data' over
a smaller range than the FFT window.
Thanks, and sorry for the trouble,
--Matt
------------------------------
Message: 2
Date: Tue, 11 Mar 2003 12:16:24 -0600 (CST)
From: "Carlo U. Segre"
Subject: [Ifeffit] Rebinning
To: IFEFFIT Mailing List
Message-ID:
Content-Type: text/plain; charset="us-ascii"
Matt and Bruce:
Following our previous discussion of rebinning continuous scan data, I am
attaching a python code fragment which we use to perform this function.
You are free to use it as you like. It was written by Ken McIvor, a
student at IIT as part of a larger project to manipulate and preview
MR-CAT XAFS data. We simply pulled out the code and annotated it
somewhat.
Carlo
--
Carlo U. Segre -- Professor of Physics
Associate Dean for Research, Armour College
Illinois Institute of Technology
Voice: 312.567.3498 Fax: 312.567.3494
Carlo.Segre@iit.edu http://www.iit.edu/~segre