The wiggles above an absorption edge
Tune X-rays through the absorption edge of one element and each atom of that element ejects a photoelectron. The part of that electron wave which scatters off the neighbours and comes back interferes with the part still on its way out — and that interference is written into the absorption coefficient as a decaying ripple. Read the ripple and you get distances to about a hundredth of an ångström, from any sample, ordered or not.
An X-ray absorption experiment is a very simple experiment done very carefully. A monochromator — usually a pair of Si(111) or Si(220) crystals — picks a single photon energy out of a synchrotron beam, and you step that energy through the absorption edge of the element you care about while recording how much beam the sample removes.
In transmission, ion chambers before and after the sample give I0 and I1, and Beer–Lambert gives the absorption directly: μ(E)x = ln(I0/I1). For dilute samples the edge step disappears into the background, so instead you count the element's own fluorescence with an energy-discriminating detector and use μ(E) ∝ If/I0. A third ion chamber and a reference foil sit downstream so that every single scan carries its own energy calibration.
The edge energy is a core-level binding energy, so it belongs to one element and one core level. That is the origin of the technique's defining virtue: you choose which atom you are standing on, and the rest of the sample is invisible.
| Edge | Energy | Transition | Practical note |
|---|---|---|---|
| Ti K | 4966 eV | 1s → εp | He paths or vacuum needed; air absorbs badly |
| Fe K | 7112 eV | 1s → εp | The foil most beamlines calibrate on |
| Cu K | 8979 eV | 1s → εp | The standard test sample for EXAFS |
| Pb L3 | 13035 eV | 2p3/2 → εd | Heavy elements: use an L edge, K is out of range |
Three regions get named, and the boundaries are conventions rather than physics. The pre-edge region is background. XANES (roughly the first 50 eV) is intense and dominated by multiple scattering and by the density of unoccupied states — it reports on oxidation state and site symmetry, and it is usually read by comparison with standards rather than fitted. EXAFS is everything above that, out to as far as the signal survives: weak, oscillatory, and quantitatively interpretable.
Cooling the sample is the cheapest improvement available. Thermal disorder enters as an exponential damping term, and a cryostat routinely turns an unusable second shell into a fittable one.
X-ray absorption is a transition from a core state to an unoccupied final state. Above the edge, that final state is a photoelectron travelling outward. For an isolated atom there is nothing else to say, and μ(E) decays smoothly.
Put neighbours around the absorber and the outgoing electron wave scatters off them. Part of it is backscattered and returns to the absorbing atom, where the final state is now the sum of the outgoing wave and everything that has come back. The transition matrix element depends on the amplitude of that final state at the absorber, so absorption is modulated by whether the returning wave arrives in phase or out of phase with the outgoing one.
The photoelectron's wavelength is set by its kinetic energy, so sweeping the X-ray energy sweeps the wavelength continuously. A neighbour at distance R imposes a round trip of 2R, so the interference cycles through constructive and destructive as sin(2kR + φ). That is the whole idea: a distance becomes a frequency.
Two consequences follow immediately. Because the interference is evaluated inside the tiny volume of the core orbital, EXAFS is a strictly local probe and needs no long-range order — glasses, liquids, solutions and nanoparticles are as tractable as crystals. And because the returning electron must survive the round trip, the useful range is only a few ångströms.
Since the physics is a wave phenomenon, the natural variable is not photon energy but photoelectron wavenumber. Take the photon energy above the edge as the electron's kinetic energy and
so 50 eV above the edge is k ≈ 3.6 Å−1 and 1000 eV above it is k ≈ 16 Å−1. Real data typically become useless somewhere between 12 and 18 Å−1.
The fine structure itself is defined as the fractional modulation of the absorption:
The numerator subtracts the smooth atomic-like background; the denominator normalises by the measured edge step so that χ is per absorbing atom and independent of sample thickness and concentration.
μ0 is not measured. It is a smooth spline drawn through the data, and choosing it is the most subjective step in the whole analysis. The standard algorithm (AUTOBK) constrains the spline so that it cannot absorb signal from above a chosen distance Rbkg, typically about 1 Å or half the first-shell distance. Set it too high and the spline eats your first shell; too low and low-frequency background survives into χ(k).
Finally, χ(k) is always plotted and fitted with a k-weight: k¹, k² or k³. The oscillations decay steeply with k, and multiplying by a power of k rebalances the plot so that the whole range contributes. It is not cosmetic: light backscatterers dominate at low k and heavy ones at high k, so fitting with several k-weights at once is a genuine discriminator between candidate structures.
Almost everything you will do as a practitioner is an argument about one of these eight factors. Select a term to see what it does and how it will bite you.
A sum of sines in k, each with a frequency set by 2R, is exactly the thing a Fourier transform separates. Transforming knχ(k) over a finite window gives a complex function of R whose magnitude shows a peak for each shell. This was the original insight of Sayers, Stern and Lytle in 1971, and it is what turned a curiosity into a structural technique.
Three things about that plot need to be said out loud, because every newcomer gets them wrong at least once.
Fitting is normally done in R space, over a window that isolates the shells you intend to model, but the model itself is always built in k space and transformed identically to the data. Fitting the complex transform — real and imaginary parts, not just the magnitude — is what makes the distances precise, because the phase carries the information that the magnitude throws away.
The simulator below is the fastest way to build intuition. Try: raise σ² and watch the high-k end vanish before the peak does; switch the neighbour from O to Pb and watch the signal move to high k; turn on a second shell 0.3 Å away and watch a beat appear that no single sine could produce.
Two shells whose distances differ by ΔR beat with a period π/ΔR in k. If that period is longer than your usable k range, you cannot resolve them — which is the whole content of the resolution limit δR ≈ π/(2kmax), about 0.11 Å for kmax = 14 Å−1.
You do not fit the EXAFS equation with free-floating F(k) and φ(k); those are computed ahead of time. You give FEFF a plausible atomic cluster, it builds self-consistent muffin-tin potentials, enumerates the scattering paths, and returns Fj(k), φj(k) and λ(k) for each one. The fit then adjusts a small number of physically meaningful parameters per path — typically ΔR, N (through S02N), σ² and a shared ΔE0 — until the model matches the data over a chosen R window.
The single most important discipline is knowing how few parameters you are entitled to. A band-limited signal measured over a finite range contains a finite number of independent points:
For a good first-shell dataset — k from 3 to 14 Å−1, R from 1 to 3 Å — that is about 14–16 independent points, depending on which additive constant you adopt. Four variables per path means you are already at the limit with three or four paths, and a fit with more free parameters than independent points is not a fit, whatever the software reports.
Two parameter pairs are strongly correlated and no amount of good data fully separates them: N with σ² (both set the amplitude, and S02 joins the same fight), and R with ΔE0 (both set the phase). Always look at the correlation matrix; a fit with a 0.95 correlation between N and σ² is reporting one number, not two.
The usual defences are constraints and restraints: one ΔE0 for all paths, coordination numbers fixed by known stoichiometry, σ² tied across chemically similar paths or to an Einstein/correlated-Debye temperature, fits performed simultaneously with k¹, k² and k³ weighting, and where possible with data from two edges or several temperatures fitted together.
EXAFS reports an average over every atom of that element in the beam. A sample containing two distinct sites gives one averaged signal, and a broad or asymmetric distance distribution is not described by a Gaussian σ² at all — it needs higher cumulants, and ignoring them systematically shortens the fitted R.
The most valuable thing a new student can do is measure a Cu or Fe foil in transmission, reduce it, and fit the first shell against the known crystal structure. It takes an afternoon, it exercises every step above, and you know the right answer in advance.