fourier transform: applications - uni-muenchen.deigel/... · >> help fft fft discrete fourier...

29
Modern Seismology – Data processing and inversion 1 Fourier: Applications Fourier Transform: Applications Seismograms Eigenmodes of the Earth Time derivatives of seismograms The pseudo-spectral method for acoustic wave propagation

Upload: dinhdan

Post on 18-Jun-2019

284 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Fourier Transform: Applications - uni-muenchen.deigel/... · >> help fft FFT Discrete Fourier transform. FFT(X) is the discrete Fourier transform (DFT) of vector X. For matrices,

Modern Seismology – Data processing and inversion1

Fourier: Applications

Fourier Transform: Applications

• Seismograms• Eigenmodes of the Earth• Time derivatives of

seismograms• The pseudo-spectral

method for acoustic wave propagation

Page 2: Fourier Transform: Applications - uni-muenchen.deigel/... · >> help fft FFT Discrete Fourier transform. FFT(X) is the discrete Fourier transform (DFT) of vector X. For matrices,

Modern Seismology – Data processing and inversion2

Fourier: Applications

Fourier: Space and TimeSpace

x space

variableL spatial

wavelength

k=2π/λ

spatial

wavenumberF(k) wavenumber

spectrum

Spacex space

variable

L spatial

wavelengthk=2π/λ

spatial

wavenumber

F(k) wavenumber

spectrum

Timet Time variableT periodf frequencyω=2πf

angular

frequency

Timet Time variableT periodf frequencyω=2πf

angular

frequency

Fourier

integralsFourier

integrals

With

the

complex

representation

of sinusoidal

functions

eikx

(or (eiwt) the

Fourier

transformation

can

be

written

as:

With

the

complex

representation

of sinusoidal

functions

eikx

(or (eiwt) the

Fourier

transformation

can

be

written

as:

∫∞

∞−

∞−

=

=

dxexfkF

dxekFxf

ikx

ikx

)(21)(

)(21)(

π

π

Page 3: Fourier Transform: Applications - uni-muenchen.deigel/... · >> help fft FFT Discrete Fourier transform. FFT(X) is the discrete Fourier transform (DFT) of vector X. For matrices,

Modern Seismology – Data processing and inversion3

Fourier: Applications

The Fourier Transform discrete vs. continuous

∫∞

∞−

∞−

=

=

dxexfkF

dxekFxf

ikx

ikx

)(21)(

)(21)(

π

π

1,...,1,0,

1,...,1,0,1

/21

0

/21

0

−==

−==

∑−

=

−−

=

NkeFf

NkefN

F

NikjN

jjk

NikjN

jjk

π

π

discrete

continuousWhatever

we

do on the

computer

with

data

will be

based

on the

discrete

Fourier

transform

Whatever

we

do on the computer

with

data

will

be

based

on the

discrete Fourier

transform

Page 4: Fourier Transform: Applications - uni-muenchen.deigel/... · >> help fft FFT Discrete Fourier transform. FFT(X) is the discrete Fourier transform (DFT) of vector X. For matrices,

Modern Seismology – Data processing and inversion4

Fourier: Applications

The Fast Fourier Transform

... the latter approach became interesting with the introduction of theFast Fourier Transform (FFT). What’s so fast about it ?

The FFT originates from a paper by Cooley and Tukey (1965, Math. Comp. vol 19 297-301) which revolutionised all fields where Fourier transforms where essential to progress.

The discrete Fourier Transform can be written as

1,...,1,0,ˆ

1,...,1,0,1ˆ

/21

0

/21

0

−==

−==

∑−

=

−−

=

Nkeuu

NkeuN

u

NikjN

jjk

NikjN

jjk

π

π

Page 5: Fourier Transform: Applications - uni-muenchen.deigel/... · >> help fft FFT Discrete Fourier transform. FFT(X) is the discrete Fourier transform (DFT) of vector X. For matrices,

Modern Seismology – Data processing and inversion5

Fourier: Applications

The Fast Fourier Transform

... this can be written as matrix-vector products ...for example the inverse transform yields ...

⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢

⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢

−−−−

1

2

1

0

1

2

1

0

)1(1

22642

132

ˆ

ˆˆˆ

1

11

11111

2

NNNN

N

N

u

uuu

u

uuu

M

M

M

M

LLL

MMM

MMM

K

K

K

ωω

ωωωωωωωω

.. where ...

Nie /2πω =

Page 6: Fourier Transform: Applications - uni-muenchen.deigel/... · >> help fft FFT Discrete Fourier transform. FFT(X) is the discrete Fourier transform (DFT) of vector X. For matrices,

Modern Seismology – Data processing and inversion6

Fourier: Applications

The Fast Fourier Transform

... the FAST bit is recognising that the full matrix - vector multiplicationcan be written as a few sparse matrix - vector multiplications

(for details see for example Bracewell, the Fourier Transform and its applications, MacGraw-Hill) with the effect that:

Number of multiplicationsNumber of multiplications

full matrix FFT

N2 2Nlog2 N

this has enormous implications for large scale problems.Note: the factorisation becomes particularly simple and effective

when N is a highly composite number (power of 2).

Page 7: Fourier Transform: Applications - uni-muenchen.deigel/... · >> help fft FFT Discrete Fourier transform. FFT(X) is the discrete Fourier transform (DFT) of vector X. For matrices,

Modern Seismology – Data processing and inversion7

Fourier: Applications

The Fast Fourier Transform

.. the right column can be regarded as the speedup of an algorithm when the FFT is used instead of the full system.

Number of multiplicationsNumber of multiplications

Problem full matrix FFT Ratio full/FFT

1D (nx=512) 2.6x105 9.2x103 28.41D (nx=2096) 94.981D (nx=8384) 312.6

Page 8: Fourier Transform: Applications - uni-muenchen.deigel/... · >> help fft FFT Discrete Fourier transform. FFT(X) is the discrete Fourier transform (DFT) of vector X. For matrices,

Modern Seismology – Data processing and inversion8

Fourier: Applications

Spectral synthesis

The

red

trace

is

the

sum

of all blue

traces!The

red

trace

is

the

sum

of all blue

traces!

Page 9: Fourier Transform: Applications - uni-muenchen.deigel/... · >> help fft FFT Discrete Fourier transform. FFT(X) is the discrete Fourier transform (DFT) of vector X. For matrices,

Modern Seismology – Data processing and inversion9

Fourier: Applications

Phase and amplitude spectrum

)()()( ωωω Φ= ieFF

The spectrum consists of two real-valued functions of angular frequency, the amplitude spectrum mod (F(ω)) and the phase spectrum φ(ω)

In many cases the amplitude spectrum is the most important part to be considered. However there are cases where the phase spectrum plays an important role (-> resonance, seismometer)

Page 10: Fourier Transform: Applications - uni-muenchen.deigel/... · >> help fft FFT Discrete Fourier transform. FFT(X) is the discrete Fourier transform (DFT) of vector X. For matrices,

Modern Seismology – Data processing and inversion10

Fourier: Applications

… remember …

22 ))((*

)sin(cos)sin(cos*

ribaibazzz

rririribaz

i

=−+==

=−−−=

−=−=− φφφ

φφ

Page 11: Fourier Transform: Applications - uni-muenchen.deigel/... · >> help fft FFT Discrete Fourier transform. FFT(X) is the discrete Fourier transform (DFT) of vector X. For matrices,

Modern Seismology – Data processing and inversion11

Fourier: Applications

The spectrumAmplitude spectrumAmplitude spectrum Phase spectrumPhase spectrum

Four

ier

spac

eFo

urie

rsp

ace

Phys

ical

spac

ePh

ysic

alsp

ace

Page 12: Fourier Transform: Applications - uni-muenchen.deigel/... · >> help fft FFT Discrete Fourier transform. FFT(X) is the discrete Fourier transform (DFT) of vector X. For matrices,

Modern Seismology – Data processing and inversion12

Fourier: Applications

The Fast Fourier Transform (FFT)

Most processing

tools (e.g. octave, Matlab,

Mathematica, Fortran, etc) have

intrinsic

functions for

FFTs

Most processing

tools (e.g. octave, Matlab,

Mathematica, Fortran, etc) have

intrinsic

functions for

FFTs

>> help fft

FFT Discrete Fourier transform.FFT(X) is the discrete Fourier transform (DFT) of vector X. Formatrices, the FFT operation is applied to each column. For N-Darrays, the FFT operation operates on the first non-singletondimension.

FFT(X,N) is the N-point FFT, padded with zeros if X has lessthan N points and truncated if it has more.

FFT(X,[],DIM) or FFT(X,N,DIM) applies the FFT operation across thedimension DIM.

For length N input vector x, the DFT is a length N vector X,with elements

NX(k) = sum x(n)*exp(-j*2*pi*(k-1)*(n-1)/N), 1 <= k <= N.

n=1The inverse DFT (computed by IFFT) is given by

Nx(n) = (1/N) sum X(k)*exp( j*2*pi*(k-1)*(n-1)/N), 1 <= n <= N.

k=1

See also IFFT, FFT2, IFFT2, FFTSHIFT.

>> help fft

FFT Discrete Fourier transform.FFT(X) is the discrete Fourier transform (DFT) of vector X. Formatrices, the FFT operation is applied to each column. For N-Darrays, the FFT operation operates on the first non-singletondimension.

FFT(X,N) is the N-point FFT, padded with zeros if X has lessthan N points and truncated if it has more.

FFT(X,[],DIM) or FFT(X,N,DIM) applies the FFT operation across thedimension DIM.

For length N input vector x, the DFT is a length N vector X,with elements

NX(k) = sum x(n)*exp(-j*2*pi*(k-1)*(n-1)/N), 1 <= k <= N.

n=1The inverse DFT (computed by IFFT) is given by

Nx(n) = (1/N) sum X(k)*exp( j*2*pi*(k-1)*(n-1)/N), 1 <= n <= N.

k=1

See also IFFT, FFT2, IFFT2, FFTSHIFT.

Matlab

FFT

Page 13: Fourier Transform: Applications - uni-muenchen.deigel/... · >> help fft FFT Discrete Fourier transform. FFT(X) is the discrete Fourier transform (DFT) of vector X. For matrices,

Modern Seismology – Data processing and inversion13

Fourier: Applications

Frequencies in seismograms

Page 14: Fourier Transform: Applications - uni-muenchen.deigel/... · >> help fft FFT Discrete Fourier transform. FFT(X) is the discrete Fourier transform (DFT) of vector X. For matrices,

Modern Seismology – Data processing and inversion14

Fourier: Applications

Amplitude spectrum Eigenfrequencies

Page 15: Fourier Transform: Applications - uni-muenchen.deigel/... · >> help fft FFT Discrete Fourier transform. FFT(X) is the discrete Fourier transform (DFT) of vector X. For matrices,

Modern Seismology – Data processing and inversion15

Fourier: Applications

Sound of an instrument

a‘ - 440Hz

Page 16: Fourier Transform: Applications - uni-muenchen.deigel/... · >> help fft FFT Discrete Fourier transform. FFT(X) is the discrete Fourier transform (DFT) of vector X. For matrices,

Modern Seismology – Data processing and inversion16

Fourier: Applications

Instrument Earth

26.-29.12.2004 (FFB )

0 S2 – Earth‘s gravest tone T=3233.5s =53.9min

Theoretical eigenfrequencies

Page 17: Fourier Transform: Applications - uni-muenchen.deigel/... · >> help fft FFT Discrete Fourier transform. FFT(X) is the discrete Fourier transform (DFT) of vector X. For matrices,

Modern Seismology – Data processing and inversion17

Fourier: Applications

Fourier Spectra: Main Cases random signals

Random

signals

may

contain

all frequencies. A spectrum

with constant

contribution

of all frequencies

is

called

a white

spectrum

Random

signals

may

contain

all frequencies. A spectrum

with constant

contribution

of all frequencies

is

called

a white

spectrum

Page 18: Fourier Transform: Applications - uni-muenchen.deigel/... · >> help fft FFT Discrete Fourier transform. FFT(X) is the discrete Fourier transform (DFT) of vector X. For matrices,

Modern Seismology – Data processing and inversion18

Fourier: Applications

Fourier Spectra: Main Cases Gaussian signals

The

spectrum

of a Gaussian

function

will itself

be

a Gaussian function. How

does

the

spectrum

change, if

I make

the

Gaussian

narrower

and narrower?

The

spectrum

of a Gaussian

function

will itself

be

a Gaussian function. How

does

the

spectrum

change, if

I make

the

Gaussian

narrower

and narrower?

Page 19: Fourier Transform: Applications - uni-muenchen.deigel/... · >> help fft FFT Discrete Fourier transform. FFT(X) is the discrete Fourier transform (DFT) of vector X. For matrices,

Modern Seismology – Data processing and inversion19

Fourier: Applications

Fourier Spectra: Main Cases Transient waveform

A transient

wave

form is

a wave

form limited

in time (or

space) in comparison

with

a harmonic

wave

form that

is

infinite

A transient

wave

form is

a wave

form limited

in time (or

space) in comparison

with

a harmonic

wave

form that

is

infinite

Page 20: Fourier Transform: Applications - uni-muenchen.deigel/... · >> help fft FFT Discrete Fourier transform. FFT(X) is the discrete Fourier transform (DFT) of vector X. For matrices,

Modern Seismology – Data processing and inversion20

Fourier: Applications

Puls-width and Frequency Bandwidthtime (space) spectrum

Nar

rowi

ngph

ysic

alsi

gnal

Wid

enin

gfr

eque

ncy

band

Page 21: Fourier Transform: Applications - uni-muenchen.deigel/... · >> help fft FFT Discrete Fourier transform. FFT(X) is the discrete Fourier transform (DFT) of vector X. For matrices,

Modern Seismology – Data processing and inversion21

Fourier: Applications

Spectral analysis: an Example

24 hour

ground

motion, do you

see

any

signal?

Page 22: Fourier Transform: Applications - uni-muenchen.deigel/... · >> help fft FFT Discrete Fourier transform. FFT(X) is the discrete Fourier transform (DFT) of vector X. For matrices,

Modern Seismology – Data processing and inversion22

Fourier: Applications

Seismo-Weather

Running spectrum

of the

same

data

Page 23: Fourier Transform: Applications - uni-muenchen.deigel/... · >> help fft FFT Discrete Fourier transform. FFT(X) is the discrete Fourier transform (DFT) of vector X. For matrices,

Modern Seismology – Data processing and inversion23

Fourier: Applications

Some properties of FT• FT is linear

signals can be treated as the sum of several signals, the transform will be the sum of their transforms

• FT of a real signalshas symmetry properties

the negative frequencies can be obtained from symmetry properties

• Shifting corresponds to changing the phase (shift theorem)

• Derivative)(*)( ωω FF =−

)()()()(

tfeaFFeatfai

ai

ω

ω

ω

ω−

→−

→−

)()()( ωω Fitfdtd n

n

Page 24: Fourier Transform: Applications - uni-muenchen.deigel/... · >> help fft FFT Discrete Fourier transform. FFT(X) is the discrete Fourier transform (DFT) of vector X. For matrices,

Modern Seismology – Data processing and inversion24

Fourier: Applications

Fourier Derivatives

∫∞

∞−

∞−

−=

⎟⎟⎠

⎞⎜⎜⎝

⎛∂=∂

dkekikF

dkekFxf

ikx

ikxxx

)(

)()(

.. let us recall the definition of the derivative using Fourier integrals ...

... we could either ...

1) perform this calculation in the space domain by convolution

2) actually transform the function f(x) in the k-domain and back

Page 25: Fourier Transform: Applications - uni-muenchen.deigel/... · >> help fft FFT Discrete Fourier transform. FFT(X) is the discrete Fourier transform (DFT) of vector X. For matrices,

Modern Seismology – Data processing and inversion25

Fourier: Applications

Acoustic Wave Equation - Fourier Method

let us take the acoustic wave equation with variable density

⎟⎟⎠

⎞⎜⎜⎝

⎛∂∂=∂ pp

c xxt ρρ11 2

2

the left hand side will be expressed with our standard centered finite-difference approach

[ ] ⎟⎟⎠

⎞⎜⎜⎝

⎛∂∂=−+−+ pdttptpdttp

dtc xx ρρ1)()(2)(1

22

... leading to the extrapolation scheme ...

Page 26: Fourier Transform: Applications - uni-muenchen.deigel/... · >> help fft FFT Discrete Fourier transform. FFT(X) is the discrete Fourier transform (DFT) of vector X. For matrices,

Modern Seismology – Data processing and inversion26

Fourier: Applications

Acoustic Wave Equation - Fourier Method

where the space derivatives will be calculated using the Fourier Method. The highlighted term will be calculated as follows:

)()(21)( 22 dttptppdtcdttp xx −−+⎟⎟⎠

⎞⎜⎜⎝

⎛∂∂=+

ρρ

njx

nnnj PPikPP ∂→→→→→ − 1FFTˆˆFFT υυυ

multiply by 1/ρ

⎟⎟⎠

⎞⎜⎜⎝

⎛∂∂→→⎟⎟

⎞⎜⎜⎝

⎛∂→⎟⎟

⎞⎜⎜⎝

⎛∂→→∂ − n

jxx

n

x

n

xnjx PPikPP

ρρρρ υυ

υ

1FFTˆ1ˆ1FFT1 1

... then extrapolate ...

Page 27: Fourier Transform: Applications - uni-muenchen.deigel/... · >> help fft FFT Discrete Fourier transform. FFT(X) is the discrete Fourier transform (DFT) of vector X. For matrices,

Modern Seismology – Data processing and inversion27

Fourier: Applications

... and the first derivative using FFTs ...

function df=sder1d(f,dx)% SDER1D(f,dx) spectral derivative of vectornx=max(size(f));

% initialize kkmax=pi/dx;dk=kmax/(nx/2);for i=1:nx/2, k(i)=(i)*dk; k(nx/2+i)=-kmax+(i)*dk; endk=sqrt(-1)*k;

% FFT and IFFTff=fft(f); ff=k.*ff; df=real(ifft(ff));

.. simple and elegant ...

Page 28: Fourier Transform: Applications - uni-muenchen.deigel/... · >> help fft FFT Discrete Fourier transform. FFT(X) is the discrete Fourier transform (DFT) of vector X. For matrices,

Modern Seismology – Data processing and inversion28

Fourier: Applications

Fourier Method - Comparison with FD - Table

0

20

40

60

80

100

120

140

160

5 Hz 10 Hz 20 Hz

3 point5 pointFourier

Difference (%) between numerical and analytical solution as a function of propagating frequency

Simulation time5.4s7.8s

33.0s

Page 29: Fourier Transform: Applications - uni-muenchen.deigel/... · >> help fft FFT Discrete Fourier transform. FFT(X) is the discrete Fourier transform (DFT) of vector X. For matrices,

Modern Seismology – Data processing and inversion29

Fourier: Applications

500 1000 15000

1

2

3

4

5

6

7

8

9

10

500 1000

1

2

3

4

5

6

7

8

9

10

500 1000 15000

1

2

3

4

5

6

7

8

9

10

Numerical solutions and Green’s Functions

3 point operator 5 point operator Fourier MethodFr

eque

ncy

incr

ease

s

Impu

lse

resp

onse

(ana

lytic

al) c

onco

lved

with

sou

rce

Impu

lse

resp

onse

(num

eric

al c

onvo

lved

with

sou

rce