fourier - neutron scattering · taylor versus fourier series isis neutron training course 16 / 38...

52
An Introduction to Fourier Transforms D. S. Sivia St. John’s College Oxford, England June 28, 2013

Upload: others

Post on 24-Sep-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

An Introduction to

Fourier Transforms

D. S. Sivia

St. John’s College

Oxford, England

June 28, 2013

Page 2: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Outline

ISIS Neutron Training Course 2 / 38

■ Approximating functions

◆ Taylor series

◆ Fourier series → transform

Page 3: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Outline

ISIS Neutron Training Course 2 / 38

■ Approximating functions

◆ Taylor series

◆ Fourier series → transform

■ Some formal properties

◆ Symmetry

◆ Convolution theorem

◆ Auto-correlation function

Page 4: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Outline

ISIS Neutron Training Course 2 / 38

■ Approximating functions

◆ Taylor series

◆ Fourier series → transform

■ Some formal properties

◆ Symmetry

◆ Convolution theorem

◆ Auto-correlation function

■ Physical insight

◆ Fourier optics

Page 5: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Taylor Series

ISIS Neutron Training Course 3 / 38

Page 6: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Taylor Series (0)

ISIS Neutron Training Course 4 / 38

■ f(x) ≈ a0

Page 7: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Taylor Series (1)

ISIS Neutron Training Course 5 / 38

■ f(x) ≈ a0 + a1(x−xo)

Page 8: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Taylor Series (2)

ISIS Neutron Training Course 6 / 38

■ f(x) ≈ a0 + a1(x−xo) + a2(x−xo)2

Page 9: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Taylor Series (3)

ISIS Neutron Training Course 7 / 38

■ f(x) ≈ a0 + a1(x−xo) + a2(x−xo)2 + a3(x−xo)

3

Page 10: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Taylor Series (4)

ISIS Neutron Training Course 8 / 38

■ f(x) ≈ a0 + a1(x−xo) + a2(x−xo)2 + a3(x−xo)

3 + a4(x−xo)4

Page 11: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Fourier Series

ISIS Neutron Training Course 9 / 38

■ Periodic: f(x) = f(x+λ) k =2π

λ(wavenumber)

Page 12: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Fourier Series (0)

ISIS Neutron Training Course 10 / 38

■ f(x) ≈a0

2

Page 13: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Fourier Series (1)

ISIS Neutron Training Course 11 / 38

■ f(x) ≈a0

2+A1sin(kx+φ1)

Page 14: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Fourier Series (1)

ISIS Neutron Training Course 12 / 38

■ f(x) ≈a0

2+ a1cos(kx)

+ b1sin(kx)

Page 15: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Fourier Series (2)

ISIS Neutron Training Course 13 / 38

■ f(x) ≈a0

2+ a1cos(kx) + a2 cos(2kx)

+ b1sin(kx) + b2 sin(2kx)

Page 16: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Fourier Series (3)

ISIS Neutron Training Course 14 / 38

■ f(x) ≈a0

2+ a1cos(kx) + a2 cos(2kx) + a3 cos(3kx)

+ b1sin(kx) + b2 sin(2kx) + b3 sin(3kx)

Page 17: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Fourier Series (4)

ISIS Neutron Training Course 15 / 38

■ f(x) ≈a0

2+ a1cos(kx) + a2 cos(2kx) + a3 cos(3kx) + a4 cos(4kx)

+ b1sin(kx) + b2 sin(2kx) + b3 sin(3kx) + b4 sin(4kx)

Page 18: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Taylor Versus Fourier Series

ISIS Neutron Training Course 16 / 38

■ Taylor: f(x) =∞

n =0

an(x−xo)n |x−xo|<R

◆ an =1

n!

dn f

dxn

xo

Page 19: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Taylor Versus Fourier Series

ISIS Neutron Training Course 16 / 38

■ Taylor: f(x) =∞

n =0

an(x−xo)n |x−xo|<R

◆ an =1

n!

dn f

dxn

xo

■ Fourier: f(x) =a0

2+

∞∑

n =1

an cos(nkx) + bn sin(nkx) k =2π

λ

◆ an = 2

λ

λ∫

0

f(x) cos(nkx) dx and bn = 2

λ

λ∫

0

f(x) sin(nkx) dx

Page 20: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Complex Fourier Series

ISIS Neutron Training Course 17 / 38

eiθ = cos θ + i sin θ , where i2 = −1

Page 21: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Complex Fourier Series

ISIS Neutron Training Course 17 / 38

eiθ = cos θ + i sin θ , where i2 = −1

■ Fourier: f(x) =∞

n =−∞cn einkx

◆ cn = 1

λ

λ/2∫

−λ/2

f(x) e−inkx dx

Page 22: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Complex Fourier Series

ISIS Neutron Training Course 17 / 38

eiθ = cos θ + i sin θ , where i2 = −1

■ Fourier: f(x) =∞

n =−∞cn einkx

◆ cn = 1

λ

λ/2∫

−λ/2

f(x) e−inkx dx

■ c±n = 1

2(an ∓ ibn) for n>1

■ c0 = a0

Page 23: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Fourier Transform

ISIS Neutron Training Course 18 / 38

■ As λ→∞, so that k→0 and f(x) is non-periodic,

∞∑

n =−∞cn einkx −→

∞∫

−∞

c(q) eiqx dq

Page 24: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Fourier Transform

ISIS Neutron Training Course 18 / 38

■ As λ→∞, so that k→0 and f(x) is non-periodic,

∞∑

n =−∞cn einkx −→

∞∫

−∞

c(q) eiqx dq

■ In the continuum limit,

◆ Fourier sum (series) −→ Fourier integral (transform)

◆ f(x) =

∞∫

−∞

F(q) eiqx dq

■ F(q) = 1

∞∫

−∞

f(x) e−iqx dx

Page 25: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Some Symmetry Properties

ISIS Neutron Training Course 19 / 38

■ Even: f(x) = f(−x) ⇐⇒ F(q) = F(−q)

■ Odd: f(x) = − f(−x) ⇐⇒ F(q) = −F(−q)

Page 26: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Some Symmetry Properties

ISIS Neutron Training Course 19 / 38

■ Even: f(x) = f(−x) ⇐⇒ F(q) = F(−q)

■ Odd: f(x) = − f(−x) ⇐⇒ F(q) = −F(−q)

■ Real: f(x) = f(x)∗ ⇐⇒ F(q) = F(−q)∗ (Friedel pairs)

Page 27: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Convolution

ISIS Neutron Training Course 20 / 38

f(x) = g(x) ⊗ h(x) =

∞∫

−∞

g(t) h(x−t) dt

Page 28: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Convolution

ISIS Neutron Training Course 20 / 38

f(x) = g(x) ⊗ h(x) =

∞∫

−∞

g(t) h(x−t) dt

Page 29: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Convolution Theorem

ISIS Neutron Training Course 21 / 38

f(x) = g(x) ⊗ h(x) ⇐⇒ F(q) =√

2π G(q)×H(q)

Page 30: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Convolution Theorem

ISIS Neutron Training Course 21 / 38

f(x) = g(x) ⊗ h(x) ⇐⇒ F(q) =√

2π G(q)×H(q)

f(x) = g(x)×h(x) ⇐⇒ F(q) = 1√2π

G(q) ⊗ H(q)

Page 31: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Auto-correlation Function

ISIS Neutron Training Course 22 / 38

∞∫

−∞

F(q) eiqx dq = f(x)

Page 32: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Auto-correlation Function

ISIS Neutron Training Course 22 / 38

∞∫

−∞

F(q) eiqx dq = f(x)

∞∫

−∞

∣F(q)∣

2eiqx dq =

∞∫

−∞

f(t)∗ f(x+t) dt = ACF(x)

◆ Patterson map

Page 33: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Auto-correlation Function (1)

ISIS Neutron Training Course 23 / 38

Page 34: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Auto-correlation Function (2)

ISIS Neutron Training Course 24 / 38

Page 35: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Fourier Optics

ISIS Neutron Training Course 25 / 38

I(q) =∣

∣ψ(q)∣

2

■ Fraunhofer: ψ(q) = ψo

∞∫

−∞

A(x) eiqx dx where q =2π sin θ

λ

Page 36: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Young’s Double Slits

ISIS Neutron Training Course 26 / 38

Page 37: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Young’s Double Slits

ISIS Neutron Training Course 26 / 38

Page 38: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Young’s Double Slits

ISIS Neutron Training Course 26 / 38

Page 39: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Single Wide Slit

ISIS Neutron Training Course 27 / 38

Page 40: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Single Wide Slit

ISIS Neutron Training Course 27 / 38

Page 41: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Single Wide Slit

ISIS Neutron Training Course 27 / 38

Page 42: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Two Wide Slits (0)

ISIS Neutron Training Course 28 / 38

Page 43: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Two Wide Slits (1)

ISIS Neutron Training Course 29 / 38

Page 44: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Two Wide Slits (2)

ISIS Neutron Training Course 30 / 38

Page 45: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Two Wide Slits (3)

ISIS Neutron Training Course 31 / 38

Page 46: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Finite Grating (0)

ISIS Neutron Training Course 32 / 38

Page 47: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Finite Grating (1)

ISIS Neutron Training Course 33 / 38

Page 48: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Finite Grating (2)

ISIS Neutron Training Course 34 / 38

Page 49: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Finite Grating (3)

ISIS Neutron Training Course 35 / 38

Page 50: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

Write up of this Talk!

ISIS Neutron Training Course 36 / 38

■ Foundations of Science Mathematics (Chapter 15)

Oxford Chemistry Primers Series, vol. 77

D. S. Sivia and S. G. Rawlings (1999), Oxford University Press

■ Elementary Scattering Theory for X-ray and Neutron Users (Chapter 2)

D. S. Sivia (January 2011), Oxford University Press

■ Foundations of Science Mathematics: Worked Problems (Chapter 15)

Oxford Chemistry Primers Series, vol. 82

D. S. Sivia and S. G. Rawlings (1999), Oxford University Press

Page 51: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

The phaseless Fourier problem

ISIS Neutron Training Course 37 / 38

Page 52: Fourier - Neutron Scattering · Taylor Versus Fourier Series ISIS Neutron Training Course 16 / 38 Taylor: f(x) = X∞ n=0 an(x−xo) n |x−xo|

The phaseless Fourier problem

ISIS Neutron Training Course 38 / 38