Theory and prac-ce of phase unwrapping

46
Theory and prac-ce of phase unwrapping Meng (Matt) Wei, David Sandwell GMTSAR short course, 2018 Based on notes from the last few years by: Rob Mellors, Eric Lindsey, Xiaohua (Eric) Xu, Kurt Feigl and notes from Rüdiger Gens, presented at ASF

Transcript of Theory and prac-ce of phase unwrapping

Page 1: Theory and prac-ce of phase unwrapping

Theory and prac-ce of phase unwrapping

Meng (Matt) Wei, David Sandwell

GMTSAR short course, 2018

Based on notes from the last few years by:

Rob Mellors, Eric Lindsey, Xiaohua (Eric) Xu, Kurt Feigl

and notes from Rüdiger Gens, presented at ASF

Page 2: Theory and prac-ce of phase unwrapping

Why are there so many files? Which file should I look at?

Page 3: Theory and prac-ce of phase unwrapping

Summary

Filter Unwrap

phase change to

displacementMask

phase.pdf

Geo

code

Page 4: Theory and prac-ce of phase unwrapping

overview of unwrapping

Given an interferogram(s)

- usually need to convert phase to useful units

- we know radar wavelength and geometry

Usually requires unwrapping

- unwrapping not always easy or fast

Two popular algorithms

- Goldstein

- SNAPHU (Chen and Zebker, 2000), default in GMTSAR

- others exist! (global, gradient, etc)

Page 5: Theory and prac-ce of phase unwrapping

InSAR measures phase shift

Why phase unwrapping?

Page 6: Theory and prac-ce of phase unwrapping

Sentinel, M6.1 Iran, 04/05/17, ascending & descending

Why phase unwrapping?

Phase data

Unwrapped

Page 7: Theory and prac-ce of phase unwrapping

Osmanoglu et al., 2016

Why phase unwrapping?

snaphu

∆Φ = *2,

Page 8: Theory and prac-ce of phase unwrapping

An example of poor unwrapping

Unwrapping is not always easy or fast

Page 9: Theory and prac-ce of phase unwrapping

Ideal case

Image in courtesy of Rüdiger Gens

Page 10: Theory and prac-ce of phase unwrapping

Problem 1: noise

Changes on the surface (e.g.,

vegeta3on, snow, erosion)

may cause the two images to

de-correlate, introducing

noise

SNR = 10 SNR = 2

SNR = 1

Page 11: Theory and prac-ce of phase unwrapping

Example: Salton Sea

Problem 1: noise

Page 12: Theory and prac-ce of phase unwrapping

How to reduce noise?

1) Filter to reduce noise.

2) Mask out areas of water and

low coherence.

Page 13: Theory and prac-ce of phase unwrapping

Reduce noise: 1. Mask

Correlation Phase masked

Page 14: Theory and prac-ce of phase unwrapping

Reduce noise: 1. Mask

Page 15: Theory and prac-ce of phase unwrapping

config.s1a.txt

Page 16: Theory and prac-ce of phase unwrapping

Reduce noise: 2. Filter

Page 17: Theory and prac-ce of phase unwrapping

Which one is filtered?

Reduce noise: 2. Filter

Page 18: Theory and prac-ce of phase unwrapping

Some technical details on filtering

sta$c

- usually low-pass

- convolve with set of filter coefficients (boxcar, Gaussian, etc)

- GMTSAR use Gaussian filter

adap$ve

-Goldstein and Werner [1998] spectral filter

- effecGve but “can significantly change the structure of the

interferogram”[Baran et al, 2003]

Objective: improve signal-to-noise of fringes prior to unwrapping

Page 19: Theory and prac-ce of phase unwrapping

phasefilt

• reads in real and imaginary files (imag.grd and real.grd)

• alpha = exponent for filter (default is 0.5; between 0.0 and 1.5)

• psize = patch size (usually 16 or 32)

• Can define alpha with correlaEon also

Run by filter.csh

Filter.csh run by p2p*.csh scripts

creates phasefilt.grd

(phasefilt makes filtphase.grd which is

flipped with grdmath to create phasefilt.grd)

phasefilt -imag imagfilt.grd -real realfilt.grd -amp1 amp1.grd -amp2 amp2.grd -psize 16

Some technical details on filtering

Page 20: Theory and prac-ce of phase unwrapping

No filter

phasefilter, psize=32

alpha = 0.5

alpha = 1.5

wrapped unwrapped wrapped unwrapped

M 6.1 2017-04-05 06:09:12

UTC 35.776°N 60.436°E

13.0 km depth

SenJnel

Effects of adapJve filter

Some technical details on filtering

Page 21: Theory and prac-ce of phase unwrapping

We do filter in GMTSAR

Gaussian filter Gaussian filter

+ Goldstein filter

Page 22: Theory and prac-ce of phase unwrapping

config.s1a.txt

Page 23: Theory and prac-ce of phase unwrapping

Problem 2: aliasing

True phase changes by more than 1 cycle (2π radians) between

samples. Caused by large baselines, steep topography or large

deforma?on (steep phase gradient)

Page 24: Theory and prac-ce of phase unwrapping

Removing deforma.on prior to unwrapping

Process

– Look at it – does it look okay?

– May be imprac.cal for large datasets and automa.c

processing.

– Subtract out es.mated model of deforma.on before

unwrapping.

– Can be done itera.vely

– ABer unwrapping, add in to regain original signal.

– Can bias results with assump.ons in model

Reduce aliasing?

Page 25: Theory and prac-ce of phase unwrapping

Reduce aliasing?

Nice site: https://earthquakes.aranzgeo.com/

Page 26: Theory and prac-ce of phase unwrapping

Unwrapping algorithm: GMTSAR uses SNAPHU

1) Uses a sta)s)cal es)mate of ‘cost’

2) Other algorithms may solve with different norms (e.g. L1

or L2, see Ghiglia and Pra=, 1998).

• C & Z (2000) claim low norms are best.

• Three sta)s)cal models: topography, deforma)on, or

smooth)

• L0 unwrapping can be slow (NP hard).

• There are other algorithm out there.

h=ps://web.stanford.edu/group/radar/soCwareandlinks/sw/snaphu/

Chen and Zebker, 2000, 2001, and 2002

Page 27: Theory and prac-ce of phase unwrapping

config.s1a.txt

Area in radar coordinates, check phase.pdf

Page 28: Theory and prac-ce of phase unwrapping

phase.pdf

Page 29: Theory and prac-ce of phase unwrapping

Using SNAPHU in GMTSAR

GMTSAR: snaphu.csh

• Makes correla6on mask

• Convert grd to binary for snaphu

• Parameters: threshold_snaphu and defomax in configura6on

file – see comments

• Deforma6on mode is default; defomax = 0 means smooth

phase (will detrend) while defomax > 0 sets maximum phase

jump

• Can also use landmask or deforma6on mask

• Extracts parameters from snaphu.conf.brief in

$sharedir/snaphu/config

• snaphu.csh run by p2p*csh scripts

• Creates unwrap.grd

Usage: snaphu.csh correla6on threshold maximum_discon6nuity [<r0>/<r1>/<a0>/<a1>]"

Example: snaphu.csh .12 40 1000/3000/24000/27000"

Page 30: Theory and prac-ce of phase unwrapping

Challenging case for default SNAPHU

In general GMTSAR masks out low correla7on, which usually

masks out areas with random phase.

Some7mes a scene possesses large decorrelated areas.

In these cases, SNAPHU can take ~forever.

• Increase threshold (not always a good idea).

• Interpolate [in GMTSAR, snaphu_interpolate.csh]

• Or buy a beLer computer.

• Nearest neighbor interpola7on preserves the topology of any

loops containing residues

• Unwrapped, masked result should be the same, whether or

not we interpolate first

Agram and Zebker, Sparse two-dimensional phase unwrapping using

regular grid methods, IEEE Geosci. Rem. Sens., 2009

Page 31: Theory and prac-ce of phase unwrapping

Imperial Valley, CA – standard (~6 hours)

ENVI_D084_2005268_2007063

Standard unwrappingRunning time: 5h 57m 41sec

Page 32: Theory and prac-ce of phase unwrapping

Imperial Valley, CA, interpolate (~6 minutes)

ENVI_D084_2005268_2007063

Interpolation unwrapping

Running time: 6m 23sec (56x speedup!)

Page 33: Theory and prac-ce of phase unwrapping

• LOS displacement = Φ(t) * λ/4 π

• Φ(t): (unwrapped) phase change

• λ: wavelength of the radar system, ~5 cm

for SenGnel

• Why 4π instead of 2π?

After unwrapping:

convert phase to displacement

Page 34: Theory and prac-ce of phase unwrapping

There is something wrong in this figure below.

Can you find it? (M6.1 earthquake in Iran)

PracBcal Bps: always count fringes

Page 35: Theory and prac-ce of phase unwrapping

0

5000

10000

15000

20000

25000

Azim

uth

0 1000 2000 3000 4000 5000 6000

Range

−3.14 −1.57 0.00 1.57 3.14

Phase

rad

Gaussian (m)

filter_wavelength = 200

Page 36: Theory and prac-ce of phase unwrapping

0

5000

10000

15000

20000

25000

Azim

uth

0 1000 2000 3000 4000 5000 6000

Range

−3.14 −1.57 0.00 1.57 3.14

Phase

rad

Gaussian (m)

filter_wavelength = 200+Goldstein

Page 37: Theory and prac-ce of phase unwrapping

Gaussian (m)

filter_wavelength = 200

Page 38: Theory and prac-ce of phase unwrapping

Gaussian (m)

filter_wavelength = 200+Goldstein

Page 39: Theory and prac-ce of phase unwrapping
Page 40: Theory and prac-ce of phase unwrapping

0.0 0.2 0.4 0.6 0.8

Page 41: Theory and prac-ce of phase unwrapping

10000

15000

20000

25000

Azim

uth

1000 2000 3000 4000 5000

Range

−300 −200 −100 0 100 200

LOS displacement [range decrease →]

mm

region_cut = 1000/5000/7000/27000

threshold_snaphu = 0.01near_interp = 0

defomax = 0

Page 42: Theory and prac-ce of phase unwrapping

10000

15000

20000

25000

Azim

uth

1000 2000 3000 4000 5000

Range

−300 −200 −100 0 100 200

LOS displacement [range decrease →]

mm

region_cut = 1000/5000/7000/27000

threshold_snaphu = 0.12near_interp = 1

defomax = 0

Page 43: Theory and prac-ce of phase unwrapping

10000

15000

20000

25000

Azim

uth

1000 2000 3000 4000 5000

Range

−300 −200 −100 0 100 200

LOS displacement [range decrease →]

mm

region_cut = 1000/5000/7000/27000

threshold_snaphu = 0.12near_interp = 1

defomax = 65

Page 44: Theory and prac-ce of phase unwrapping

10000

15000

20000

25000

Azim

uth

1000 2000 3000 4000 5000

Range

−300 −200 −100 0 100 200

LOS displacement [range decrease →]

mm

region_cut = 1000/5000/7000/27000

threshold_snaphu = 0.20near_interp = 1

defomax = 65

Page 45: Theory and prac-ce of phase unwrapping

Conclusions

• Work in radar coordinates.

• Remove as much phase signal as possible prior to filtering and unwrapping.

• Interferograms are filtered to reduce noise and estimate coherence.

• Gaussian filters can be sequential for efficient decimation.

• Goldstein filter cleans noise but can corrupt the phase.

• Snaphu is an accurate and effective phase unwrapping algorithm.

• Unwraps everything so need to mask.

• Fill masked areas with nearest neighbor interpolation.

• Use defomax parameter for surface ruptures.

• Phase unwrapping errors are integer steps of N2pi

• A human can usually guess N

• Many new papers on using 3-way phase closure to solve for N

Page 46: Theory and prac-ce of phase unwrapping

Thank you

Filter Unwrap

phase change to

displacementMask

phase.pdf

Geo

code