MVA · Course notes

Inverse Problems and Imaging: Statistical and Stochastic Approaches

M2 MVA · Semester 2 · Modelling · 5 ECTS

Contents

Introduction and overview

Module Inverse Problems and Imaging: Statistical and Stochastic Approaches
Official title Problèmes inverses et imagerie : approches statistiques et stochastiques
Instructors J. GARNIER (master-mva.com, 2026–2027)
Period Semester 2 · period 2 (04/01/2027 – 02/04/2027)
Credits and volume 5 ECTS · 27 h (lectures 27 h) per the Université Paris-Saclay programme table
Label ModellingTrack Santé
Language Not displayed (the master-mva.com course description is written in French)
Assessment Projects (with a numerical implementation or purely theoretical), hand-in of a report and an oral presentation (master-mva.com, “Mode de validation”) · Université Paris-Saclay: “Evaluation Continue non Intégrale” (partial continuous assessment) · weights not displayed
Prerequisites Probability, analysis (Fourier), linear algebra (master-mva.com, “Prè-requis”)

Audience: an M2 student with a good M1 in applied mathematics, physics or signal processing who wants to image a medium from the waves recorded by an array of sensors — an ultrasound probe, a network of seismometers, an antenna — and to know what noise allows and forbids.

Empirical first: in Code 1.10, 41 sensors record the echoes of two small reflectors with a measurement noise as strong as the signal in a typical entry of the data matrix. Yet the two largest singular values of that matrix stand clearly above the noise edge predicted by random matrix theory, and migration puts the first reflector at the right point to within a tenth of a wavelength (Code 3.12). In seismology, correlating weeks of ambient noise at two stations reveals the travel time between them without any controlled source; ch. 7 explains why.

The module studies multi-sensor imaging, as in ultrasound echography or seismic imaging, as a statistical problem. Waves carry information about a medium to an array; noise corrupts it; an imaging method must decide whether a target is present, where it is and what it is, with error rates that can be computed. Four mathematical tools organise the course: least squares and Bayesian regularisation, time reversal and the Helmholtz–Kirchhoff identity, random matrix theory, and the spectral theory of stationary processes.

It shares random matrices with Large Random Matrices and Applications to Machine Learning, hypothesis testing with Detection Theory and Industrial Applications, Bayesian inverse problems with Learning Physical Phenomena: Metamodelling and Uncertainty Quantification, and learned reconstruction with Deep Learning for Image Restoration and Synthesis.

What you will be able to do

Official objectives and syllabus (2026–2027)

The course description on master-mva.com sets the objective of presenting several techniques of stochastic and statistical analysis that are useful to solve inverse problems and multi-sensor imaging problems, of the type of ultrasound echography or seismic imaging. It announces eight sessions of three hours and lists four themes, each with an application; the Université Paris-Saclay course detail adds no programme items. The table below follows the themes in their official order.

Official topic Course section
Objective — stochastic and statistical techniques for inverse problems and multi-sensor imaging (ultrasound echography, seismic imaging) the whole page; the two applications are set up in ch. 1 (Example 1.2)
Theme 1 — Introduction to imaging problems: detection, localisation, characterisation and identification ch. 1, Definition 1.1 and Example 1.2; detection, localisation and characterisation are then solved in ch. 3 and ch. 5, identification in ch. 5 (Proposition 5.11)
Theme 1 — Some notions on the wave equation ch. 1: wave and Helmholtz equations, Green’s functions (Proposition 1.4), Born approximation, multistatic response matrix
Theme 1 — Some notions on noise models ch. 1 (Definition 1.8: additive measurement noise, clutter, ambient noise); complex Gaussian vectors in ch. 0
Theme 2 — Least-squares problems ch. 2: normal equations, pseudo-inverse, Gauss–Markov theorem
Theme 2 — Bayesian analysis and regularisation of ill-posed inverse problems ch. 2: Hadamard’s conditions, spectral filters, bias–variance, discrepancy principle, Gaussian posterior and Tikhonov as MAP
Theme 2 — Application: time-reversal imaging ch. 3: migration as strongly regularised least squares, time-reversal experiment, Helmholtz–Kirchhoff identity, resolution, DORT and MUSIC
Theme 3 — Random matrix theory ch. 4: Marchenko–Pastur law, edge and Tracy–Widom fluctuations, spiked models and the BBP transition
Theme 3 — Application: detection tests ch. 5: Neyman–Pearson lemma, GLRT and the top singular value, thresholds, power, localisation, characterisation and identification after detection
Theme 4 — Spectral properties of stationary random processes ch. 6: Wiener–Khinchin theorem, linear filtering, statistical stability of empirical correlations, periodogram
Theme 4 — Application: imaging by cross-correlation of signals emitted by ambient noise sources ch. 7: Green’s function retrieval, directivity, travel-time estimation, passive migration
Organisation — 8 sessions of 3 hours (master-mva.com) session plan, which follows the 27 h of the Université Paris-Saclay table
“Présentation : here” (a link to a presentation of the course) not a topic: a link on the official page, not reproduced here
“Les intervenants” (heading of the list of speakers) not a topic: it introduces the instructor, Josselin Garnier (École polytechnique)

Beyond the syllabus, this page adds a review chapter (ch. 0), complete proofs of the central results, runnable Python for every chapter, and a self-study chapter on research directions (ch. 8).

Where this course fits in the programme

Official prerequisites: probability, analysis (Fourier) and linear algebra. The module is a second-semester Modelling course of the Santé track.

Course outline

Session plan

27 h in class = 9 sessions of 3 h. The volume is the 27 h of lectures of the Université Paris-Saclay programme table; master-mva.com announces eight sessions of three hours (24 h). The plan therefore uses nine sessions of three hours, and the split of the chapters into sessions is a proposal. With eight sessions, ch. 6 (session 8) is the natural candidate for guided reading before session 9.

Level 1 = foundations, 2 = core methods and results, 3 = advanced and research-level material; the level never decreases.

Session Hours Level Content Practice
1 3 h 1 ch. 0 Review (Fourier, SVD, Eckart–Young, complex Gaussian vectors); ch. 1 The four imaging tasks Redo the proofs of Theorems 0.4–0.5 and Proposition 0.7
2 3 h 1 ch. 1 Wave and Helmholtz equations, Green’s functions, Born approximation, multistatic response matrix, noise models Ex. 2 (all but the migration image); lab: Code 1.10
3 3 h 2 ch. 2 Least squares, Gauss–Markov, ill-posedness, spectral regularisation, bias–variance, discrepancy principle Ex. 3, 7
4 3 h 2 ch. 2 Bayesian analysis and Tikhonov as MAP; ch. 3 migration as strongly regularised least squares Ex. 2 (migration image), 8; lab: Code 2.13
5 3 h 2 ch. 3 Time reversal, Helmholtz–Kirchhoff identity, resolution, signal-to-noise ratio, DORT and MUSIC Ex. 1, 10; lab: Code 3.12
6 3 h 2 ch. 4 Marchenko–Pastur law, edge and Tracy–Widom, spiked model and BBP transition Ex. 11; lab: Code 4.8
7 3 h 2 ch. 5 Neyman–Pearson, GLRT, thresholds and power, localisation, characterisation and identification after detection Ex. 5, 9, 12; lab: Code 5.10
8 3 h 2 ch. 6 Wiener–Khinchin, filtering, empirical correlations and their fluctuations, periodogram Ex. 4, 6; lab: Code 6.11
9 3 h 3 ch. 7 Green’s function retrieval, directivity, travel times, passive imaging Ex. 13, 14; lab: Code 7.7

Self-study, outside the 27 h (about 3 h in total): ch. 8 Research directions and open problems (≈ 3 h, with Ex. 15–16 and the paper-study projects).

How to study this module

0. Review: Fourier analysis, singular values and Gaussian vectors

Three M1 tools carry the whole module. The Fourier transform turns the wave equation into the Helmholtz equation and correlations into products; the singular value decomposition organises least squares, imaging and detection; complex Gaussian vectors model the noise on array data.

This chapter fixes the conventions and proves the facts used later. The refreshers on linear algebra and probability give more background.

Fourier transform and correlations

Definition 0.1 — Fourier transform in time For an integrable signal f(t) we use the convention of wave propagation: \hat f(\omega) = \int_{\mathbb{R}} f(t)\, e^{i\omega t}\, dt, \qquad f(t) = \frac{1}{2\pi} \int_{\mathbb{R}} \hat f(\omega)\, e^{-i\omega t}\, d\omega .

A real signal has central angular frequency \omega_0 and bandwidth B (in hertz) when \hat f(\omega) vanishes outside the two bands where \big||\omega| - \omega_0\big| \leq \pi B.

With this sign, \partial_t f has transform -i\omega \hat f, so a time derivative becomes a multiplication.

Proposition 0.2 — Convolution, correlation, Plancherel For real square-integrable signals f and g, define the convolution and the cross-correlation (f * g)(t) = \int f(s)\, g(t - s)\, ds, \qquad (f \star g)(\tau) = \int f(t)\, g(t + \tau)\, dt .

Their Fourier transforms are \widehat{f * g} = \hat f\, \hat g, \qquad \widehat{f \star g} = \overline{\hat f}\, \hat g, \qquad \int f(t)^2\, dt = \frac{1}{2\pi} \int |\hat f(\omega)|^2\, d\omega .

Proof. For the correlation, exchange the integrals and substitute s = t + \tau: \int e^{i\omega \tau} \int f(t)\, g(t+\tau)\, dt\, d\tau = \int f(t)\, e^{-i\omega t} dt \int g(s)\, e^{i\omega s} ds .

The first factor is the conjugate of the transform of f because f is real. The convolution is the same computation, and Plancherel’s identity is the correlation formula at \tau = 0 with g = f. ∎

The correlation formula is the heart of ch. 6 and ch. 7: correlating two recordings multiplies one spectrum by the conjugate of the other, which cancels the common phase of the source.

Singular values

Definition 0.3 — Singular value decomposition Every complex matrix M \in \mathbb{C}^{N \times P} factorises as M = \sum_{j=1}^{\min(N, P)} \sigma_j\, u_j v_j^* , with orthonormal left vectors u_j, orthonormal right vectors v_j, and singular values \sigma_1 \geq \sigma_2 \geq \dots \geq 0.

The operator norm is \|M\| = \sigma_1 and the Frobenius norm satisfies \|M\|_F^2 = \sum_j \sigma_j^2.

Theorem 0.4 — Weyl’s perturbation bound For matrices M and E of the same size and every index j, |\sigma_j(M + E) - \sigma_j(M)| \leq \|E\| .

Proof. The min–max characterisation of singular values states that \sigma_j(M) is the maximum, over subspaces V of dimension j, of the minimum of \|Mx\| over unit vectors x \in V.

For every unit x, the triangle inequality gives \|(M+E)x\| \geq \|Mx\| - \|E\|. Taking the minimum over V and then the maximum over V gives \sigma_j(M+E) \geq \sigma_j(M) - \|E\|.

Exchanging the roles of M and M + E gives the other inequality. ∎

Weyl’s bound says that noise of norm \|E\| cannot move a singular value by more than \|E\|. Ch. 4 shows that for random noise this bound is pessimistic, and computes the exact displacement.

Theorem 0.5 — Eckart–Young, rank-one case For every matrix M, \min_{\mathrm{rank}(B) \leq 1} \|M - B\|_F^2 = \|M\|_F^2 - \sigma_1(M)^2 , and the minimum is attained at B = \sigma_1 u_1 v_1^*.

Proof. Write B = c\, u v^* with unit vectors u, v and c \in \mathbb{C}. Expanding the square, \|M - c\, u v^*\|_F^2 = \|M\|_F^2 - 2\, \mathrm{Re}\big(\bar c\, u^* M v\big) + |c|^2 .

For fixed u, v the minimum in c is reached at c = u^* M v and equals the first term minus |u^* M v|^2.

The maximum of |u^* M v| over unit vectors is \sigma_1, reached at u_1, v_1; this is the variational definition of \sigma_1. ∎

The general statement replaces \sigma_1^2 by the sum of the r largest \sigma_j^2 for rank at most r; its proof uses a refined form of Weyl’s inequality (see Horn and Johnson, Matrix Analysis).

Complex Gaussian vectors

At a fixed frequency, sensor data are complex numbers, and their noise is modelled by circularly symmetric complex Gaussian variables.

Definition 0.6 — Circular complex Gaussian A random variable Z = X + iY is \mathcal{CN}(0, \sigma^2) when X and Y are independent \mathcal{N}(0, \sigma^2/2). Then \mathbb{E}|Z|^2 = \sigma^2, \qquad \mathbb{E} Z^2 = 0 .

A random vector Z \in \mathbb{C}^N is \mathcal{CN}(0, \Gamma) when every linear form a^* Z is \mathcal{CN}(0, a^* \Gamma a).

Proposition 0.7 — Three facts about complex Gaussian noise Let W be an N \times N matrix with independent \mathcal{CN}(0, \sigma^2) entries.

  1. For deterministic unit vectors u, v, the projection u^* W v is \mathcal{CN}(0, \sigma^2).
  2. If Z is \mathcal{CN}(0, \sigma^2), then |Z|^2 is exponential with mean \sigma^2.
  3. For deterministic unitary matrices U, V, the matrix U W V^* has the same law as W.

Proof. 1. The projection is a linear combination of independent circular Gaussians with coefficients \bar u_n v_m, whose squared moduli sum to one.

2. The variable 2|Z|^2 / \sigma^2 is a chi-square with two degrees of freedom, which is exponential with mean 2.

3. The entries of U W V^* are jointly circular Gaussian. Their covariances follow from those of W and the unitarity of U and V, and coincide with those of W. ∎

Unitary invariance (fact 3) is why the singular values of pure noise carry no information about any direction: ch. 4 and ch. 5 rest on it.

Proposition 0.8 — Conditioning a Gaussian vector Let (Z_1, Z_2) be a real Gaussian vector with zero mean and covariance blocks \Sigma_{11}, \Sigma_{12}, \Sigma_{22}, with \Sigma_{21} = \Sigma_{12}^\top and \Sigma_{22} invertible. The law of Z_1 given Z_2 = z_2 is Gaussian, with \mathbb{E}[Z_1 \mid Z_2 = z_2] = \Sigma_{12} \Sigma_{22}^{-1} z_2, \qquad \mathrm{Cov}(Z_1 \mid Z_2) = \Sigma_{11} - \Sigma_{12} \Sigma_{22}^{-1} \Sigma_{21} .

Proof. Set V = Z_1 - \Sigma_{12} \Sigma_{22}^{-1} Z_2. Its covariance with Z_2 is \Sigma_{12} - \Sigma_{12} = 0.

The pair (V, Z_2) is Gaussian, so V is independent of Z_2.

Given Z_2 = z_2, Z_1 is V plus the constant \Sigma_{12} \Sigma_{22}^{-1} z_2, and the covariance of V is the stated matrix. ∎

Key takeaways — chapter 0

  • With the convention of Definition 0.1, correlating two signals multiplies the conjugate of one spectrum by the other (Proposition 0.2).
  • A perturbation of norm \|E\| moves every singular value by at most \|E\| (Theorem 0.4).
  • The best rank-one approximation in Frobenius norm is the leading singular triplet (Theorem 0.5).
  • Matrices with independent circular Gaussian entries are unitarily invariant, and their projections on fixed vectors are again circular Gaussian (Proposition 0.7).
  • Gaussian conditioning gives a mean linear in the data and a covariance independent of the data (Proposition 0.8).

1. Imaging problems, waves and noise

Before computing any image, one must say what is measured, how waves carry information about the medium to the sensors, and what corrupts that information. This chapter sets up the forward model used in the whole module: point reflectors probed by an array, in the Born approximation, with additive noise.

The four imaging tasks

An array of N sensors at positions x_1, \dots, x_N emits waves and records the echoes, or simply listens. The data D are noisy, and the questions asked about the medium form a hierarchy.

Definition 1.1 — Detection, localisation, characterisation, identification

  • Detection: decide between the hypothesis H_0 (the data contain only noise) and H_1 (a target is present), with a controlled probability of false alarm.
  • Localisation: estimate the position z of a target known to be present.
  • Characterisation: estimate parameters of the target, such as its reflectivity, its size or its shape.
  • Identification: decide which element of a dictionary of known targets is present.

Each task needs more information than the previous one, hence a higher signal-to-noise ratio. A reflector can be detected and not located, or located and not characterised; ch. 5 makes these thresholds quantitative.

Example 1.2 — Two imaging regimes

  • Ultrasound echography. In soft tissue the speed of sound is about 1540 m/s; at a central frequency of 5 MHz the wavelength is \lambda = c_0 / f_0 \approx 0.31 \text{ mm}. A probe of a few centimetres images organs a few centimetres deep.
  • Seismic imaging. With speeds of a few km/s and frequencies of a few tens of hertz, wavelengths range from tens to hundreds of metres, and arrays of geophones span kilometres.
  • In both cases the array aperture is tens or hundreds of wavelengths, and the targets are a few wavelengths to hundreds of wavelengths away.

Waves and Green’s functions

Definition 1.3 — Wave and Helmholtz equations A scalar wave u(t, x) in a medium of speed c(x) excited by a source term F(t, x) solves \frac{1}{c(x)^2}\, \partial_t^2 u - \Delta u = F .

Taking the Fourier transform in time (Definition 0.1) gives the Helmholtz equation \Delta \hat u + \frac{\omega^2}{c(x)^2}\, \hat u = -\hat F .

In a homogeneous medium of speed c_0, the wavenumber is k = \omega / c_0 and the wavelength is \lambda = 2\pi / k.

Proposition 1.4 — Green’s functions of a homogeneous medium The outgoing Green’s function solves \Delta \hat G + k^2 \hat G = -\delta(x - y) with the Sommerfeld radiation condition. In three dimensions, \hat G(\omega, x, y) = \frac{e^{i k |x - y|}}{4\pi |x - y|}, \qquad G(t, x, y) = \frac{\delta\big(t - |x - y| / c_0\big)}{4\pi |x - y|} .

In two dimensions, with the Hankel function of the first kind, \hat G(\omega, x, y) = \frac{i}{4} H_0^{(1)}(k |x - y|) \approx \frac{i}{4} \sqrt{\frac{2}{\pi k |x - y|}}\; e^{i (k |x - y| - \pi/4)} \quad (k|x-y| \gg 1) .

Proof. Three dimensions, with r = |x - y|. For a radial function, \Delta \hat G = r^{-1} (r \hat G)''. Here r \hat G = e^{ikr}/4\pi has second derivative -k^2 r \hat G, so \Delta \hat G + k^2 \hat G = 0 for r > 0.

Near r = 0, \hat G behaves like 1/(4\pi r). The flux of its gradient through a sphere of radius \varepsilon tends to -1, which is the weak form of -\delta: 4\pi\varepsilon^2\, \partial_r \hat G(\varepsilon) = (ik\varepsilon - 1)\, e^{ik\varepsilon} \longrightarrow -1 .

The radiation condition holds because \partial_r \hat G - ik \hat G = -\hat G / r. The inverse Fourier transform of e^{i\omega r/c_0} is \delta(t - r/c_0), which gives the time-domain formula. ∎

The time-domain formula says that an impulse emitted at y reaches x after the travel time |x - y|/c_0, with amplitude decaying like the inverse distance. Green’s functions are also symmetric, \hat G(\omega, x, y) = \hat G(\omega, y, x), even in heterogeneous media: this is the reciprocity principle.

Reflectors and the multistatic response matrix

Proposition 1.5 — Born approximation Let the medium be a homogeneous background perturbed by a reflectivity \nu of compact support: \frac{1}{c(x)^2} = \frac{1 + \nu(x)}{c_0^2} .

The field emitted by a point source at y is \hat G(x, y) + \hat u_s(x), and the scattered field solves the Lippmann–Schwinger equation \hat u_s(x) = k^2 \int \nu(z)\, \hat G(x, z)\, \big[\hat G(z, y) + \hat u_s(z)\big]\, dz .

The Born approximation drops \hat u_s inside the integral. For a small reflector at z_r with \rho_r = \int \nu, it gives \hat u_s(x) \approx k^2 \rho_r\, \hat G(x, z_r)\, \hat G(z_r, y) .

Proof. Subtracting the equation of \hat G(\cdot, y) from the Helmholtz equation of the total field gives \Delta \hat u_s + k^2 \hat u_s = -k^2 \nu \big(\hat G(\cdot, y) + \hat u_s\big) .

The right-hand side is a source term, so convolving it with the Green’s function gives the Lippmann–Schwinger equation. Dropping \hat u_s on the right is the first-order term in \nu. When \nu is concentrated near z_r, the integral reduces to the value of the integrand at z_r times \int \nu. ∎

The Born approximation neglects multiple scattering. It is accurate when the reflectivity is weak and the reflectors are small compared with the wavelength, which is the regime of this module.

Definition 1.6 — Illumination vector and multistatic response matrix The illumination vector of a point z collects the Green’s functions from the sensors: g(z) = \big(\hat G(\omega, x_1, z), \dots, \hat G(\omega, x_N, z)\big)^\top \in \mathbb{C}^N .

The multistatic response (MSR) matrix A(\omega) \in \mathbb{C}^{N \times N} has entry A_{nm} equal to the scattered field recorded at x_n when x_m emits a unit point source.

Proposition 1.7 — Structure of the MSR matrix In the Born approximation, R point reflectors at z_1, \dots, z_R with reflectivities \rho_1, \dots, \rho_R produce A = k^2 \sum_{r=1}^{R} \rho_r\, g(z_r)\, g(z_r)^\top .

The matrix is complex symmetric, and its rank is R when the vectors g(z_r) are linearly independent and the \rho_r are nonzero. For a single reflector, its only nonzero singular value is \sigma_1 = |\rho_1|\, k^2\, \|g(z_1)\|^2 , with left vector g(z_1)/\|g(z_1)\| and right vector \overline{g(z_1)}/\|g(z_1)\|, up to a phase.

Proof. Apply Proposition 1.5 with y = x_m and x = x_n, and sum over the reflectors, which the Born approximation treats independently. Each term is a rank-one symmetric matrix.

For one reflector, write g g^\top = \|g\|^2\, (g/\|g\|)\, (\bar g/\|g\|)^*, which is a singular value decomposition up to the phase of \rho_1. ∎

In the time domain, in three dimensions, the entry A_{nm}(t) for a pulse f is an echo arriving at the round-trip travel time T_{nm}: A_{nm}(t) = -\frac{\rho_1}{16\pi^2 c_0^2\, |x_n - z_1|\, |z_1 - x_m|}\; f''\big(t - T_{nm}\big), \qquad T_{nm} = \frac{|x_n - z_1| + |z_1 - x_m|}{c_0} .

Noise models

Definition 1.8 — Three kinds of noise

  • Additive measurement noise. At each frequency the measured matrix is A^{\mathrm{meas}} = A + W, where W has independent \mathcal{CN}(0, \sigma^2) entries. It models the electronic noise of the sensors; ch. 6 explains why the Fourier coefficients of a stationary noise are nearly independent circular Gaussians.
  • Clutter. The background medium itself fluctuates, and many small heterogeneities send random echoes, the speckle of echography. This noise is generated by the probing wave, so it does not average out over repeated shots.
  • Ambient noise. Uncontrolled sources, such as ocean waves or traffic, emit stationary random signals. They are a nuisance for active imaging and a resource for passive imaging (ch. 7).

This module mostly uses the first model, which allows exact computations; the research chapter returns to clutter.

Example 1.9 — Weak entries, strong matrix In Code 1.10, 41 sensors with half-wavelength spacing face two reflectors about 30 wavelengths away.

  • The median modulus of an entry of A is 0.0094, and the moduli range from 0.0035 to 0.013, while the noise level is \sigma = 0.01: each entry has a signal-to-noise ratio of order one, below one for more than half of them.
  • The two nonzero singular values of A are 0.335 and 0.188, while the singular values of pure noise stay below about 2\sigma\sqrt N = 0.128 (ch. 4).
  • The matrix as a whole therefore carries a clear signal: coherence across the N^2 entries beats the noise of each entry.
import numpy as np
from scipy.special import hankel1

rng = np.random.default_rng(0)
lam = 1.0; k = 2 * np.pi / lam                 # lengths in wavelengths
N = 41
xs = np.stack([(np.arange(N) - 20) * lam / 2, np.zeros(N)], axis=1)   # array, aperture 20 lambda

def G(x, z):
    """2D outgoing Green's function (i/4) H0^(1)(k|x - z|)."""
    return 0.25j * hankel1(0, k * np.linalg.norm(x - z, axis=-1))

refl = [(np.array([-2.0, 30.0]), 1.0), (np.array([3.0, 32.0]), 0.6)]
A = sum(rho * k**2 * np.outer(G(xs, z), G(xs, z)) for z, rho in refl)   # Born MSR matrix
sigma = 0.01
W = sigma * (rng.standard_normal((N, N)) + 1j * rng.standard_normal((N, N))) / np.sqrt(2)
s_clean = np.linalg.svd(A, compute_uv=False)
s_noisy = np.linalg.svd(A + W, compute_uv=False)
print("typical |A_nm|        :", np.round(np.median(np.abs(A)), 4))
print("clean singular values :", np.round(s_clean[:4], 4))
print("noisy singular values :", np.round(s_noisy[:4], 4))
print("noise edge 2 sigma sqrt(N):", np.round(2 * sigma * np.sqrt(N), 4))

Code 1.10 — What the code shows The clean matrix has exactly two nonzero singular values, 0.3353 and 0.1876, as Proposition 1.7 predicts for two reflectors.

With noise, they become 0.345 and 0.194, and the next ones, 0.116 and 0.112, belong to the noise bulk, below the edge 0.128. The upward shift of the two signal values is not a coincidence: ch. 4 predicts it.

Key takeaways — chapter 1

  • Imaging asks four questions of increasing difficulty: detection, localisation, characterisation, identification (Definition 1.1).
  • The Green’s function of a homogeneous medium is an outgoing spherical wave, a delayed impulse in time (Proposition 1.4).
  • In the Born approximation, point reflectors make the MSR matrix a sum of rank-one terms built on illumination vectors (Proposition 1.7).
  • Measurement noise is modelled by independent circular Gaussian entries; clutter and ambient noise are the two other sources of randomness (Definition 1.8).

2. Least squares, ill-posedness and Bayesian regularisation

Most imaging problems, once linearised, read y = Kx + w: unknown parameters x, a known forward operator K, noisy data y. This chapter asks when least squares can invert K, why it fails for imaging operators, and how regularisation and Bayesian priors restore stability.

Throughout, K \in \mathbb{C}^{M \times P} has the singular value decomposition K = \sum_j s_j u_j v_j^*, with non-increasing s_j. The noise w has mean zero and covariance \sigma^2 I.

We write s_j for the singular values of K to keep \sigma for the noise.

Least squares

Theorem 2.1 — Normal equations and pseudo-inverse The minimisers of \|Kx - y\|^2 are the solutions of the normal equations K^* K x = K^* y. Among them, the one of minimal norm is x^\dagger = K^\dagger y = \sum_{j : s_j > 0} \frac{u_j^* y}{s_j}\, v_j .

Proof. Complete (u_j) and (v_j) into orthonormal bases. In these bases, with r the rank of K, \|Kx - y\|^2 = \sum_{j \leq r} \big|s_j\, v_j^* x - u_j^* y\big|^2 + \sum_{j > r} |u_j^* y|^2 .

The minimisers are exactly the x with v_j^* x = u_j^* y / s_j for j \leq r, which is the normal equation written in the same bases. The other coordinates of x are free, and setting them to zero minimises the norm. ∎

Theorem 2.2 — Gauss–Markov Let K be injective. The least-squares estimator \hat x = K^\dagger y is unbiased, with covariance \sigma^2 (K^* K)^{-1}, and every linear unbiased estimator Ly satisfies \mathrm{Cov}(Ly) \succeq \sigma^2 (K^* K)^{-1} .

Proof. Unbiasedness for every x means LK = I. Write L = K^\dagger + D; then DK = 0.

The covariance of Ly is \sigma^2 L L^*. The cross term vanishes because K^\dagger D^* = (K^* K)^{-1} (DK)^* = 0 .

Hence \mathrm{Cov}(Ly) = \sigma^2 (K^* K)^{-1} + \sigma^2 D D^*, and the last term is positive semi-definite. ∎

The mean squared error of least squares follows from the covariance: \mathbb{E}\, \|\hat x - x\|^2 = \sigma^2\, \mathrm{tr}\, (K^* K)^{-1} = \sigma^2 \sum_j \frac{1}{s_j^2} .

The best unbiased estimator can thus be useless: one tiny singular value suffices to ruin it.

Ill-posedness

Definition 2.3 — Well-posed problem (Hadamard) The problem of finding x from y = Kx is well posed when a solution exists for every y, is unique, and depends continuously on y. Otherwise it is ill posed.

In infinite dimension, a compact operator, such as a smoothing integral operator, has singular values accumulating at zero, so its inverse is unbounded. After discretisation the inverse exists but its norm is huge, and the problem stays ill posed in a quantitative sense.

Proposition 2.4 — Noise amplification Let K be invertible with condition number \kappa = s_1 / s_P.

  1. A perturbation \delta y of the data causes an error \delta x = K^{-1} \delta y with \frac{\|\delta x\|}{\|x\|} \leq \kappa\, \frac{\|\delta y\|}{\|y\|} .
  2. With noise of covariance \sigma^2 I, the error of K^{-1} y along v_j is u_j^* w / s_j, of variance \sigma^2 / s_j^2.

Proof. 1. Combine \|\delta x\| \leq \|\delta y\| / s_P with \|y\| \leq s_1 \|x\|.

2. Expand K^{-1} w in the singular bases: its coordinate along v_j is u_j^* w / s_j, and u_j^* w has variance \sigma^2. ∎

The data coefficients u_j^* y split into a signal part, s_j v_j^* x, which decays with j, and a noise part of constant size \sigma. Beyond the index where s_j falls below the noise, the coefficients are pure noise; Picard’s condition says that a meaningful solution needs the signal coefficients to decay faster than s_j.

Example 2.5 — Gaussian blur In Code 2.13, a signal of 200 samples on [0, 1] is blurred by a Gaussian kernel of width 0.03, and a noise of level \sigma = 10^{-3} is added.

  • The condition number of K is 6.2 \cdot 10^{16}.
  • Least squares returns a relative error of 2.5 \cdot 10^{13}: the reconstruction is pure amplified noise.

Regularisation by spectral filtering

Definition 2.6 — Spectral filters A regularised solution damps the small singular values by a filter \varphi_\alpha with values in [0, 1]: x_\alpha = \sum_j \varphi_\alpha(s_j)\, \frac{u_j^* y}{s_j}\, v_j .

  • Truncated SVD (TSVD) keeps the coefficients with s_j^2 \geq \alpha: \varphi_\alpha(s) = \mathbb{1}[s^2 \geq \alpha].
  • Tikhonov damps them smoothly: \varphi_\alpha(s) = s^2 / (s^2 + \alpha).

Proposition 2.7 — Variational form of Tikhonov regularisation For \alpha > 0, the Tikhonov solution is the unique minimiser x_\alpha = \arg\min_x \|Kx - y\|^2 + \alpha \|x\|^2 = (K^* K + \alpha I)^{-1} K^* y .

Proof. The functional is strictly convex, and its gradient vanishes when (K^* K + \alpha I) x = K^* y, a system with an invertible matrix.

In the basis (v_j) the matrix is diagonal with entries s_j^2 + \alpha, and K^* y has coordinates s_j\, u_j^* y. The solution has coordinates s_j\, u_j^* y / (s_j^2 + \alpha), which is the Tikhonov filter. ∎

Theorem 2.8 — Bias–variance decomposition With \varphi_j = \varphi_\alpha(s_j), the mean squared error of a filtered solution is \mathbb{E}\, \|x_\alpha - x\|^2 = \underbrace{\sum_j (1 - \varphi_j)^2\, |v_j^* x|^2}_{\text{bias}^2} + \underbrace{\sigma^2 \sum_j \frac{\varphi_j^2}{s_j^2}}_{\text{variance}} .

For Tikhonov, each variance term is at most \sigma^2 / (4\alpha), whatever the size of s_j.

Proof. The coordinate of x_\alpha - x along v_j is (\varphi_j - 1)\, v_j^* x + \varphi_j\, \frac{u_j^* w}{s_j} .

The second term has mean zero and variance \sigma^2 \varphi_j^2 / s_j^2, so the cross term vanishes in expectation. Summing over j gives the formula.

For Tikhonov, \varphi_j^2 / s_j^2 = s_j^2 / (s_j^2 + \alpha)^2, and (s^2 + \alpha)^2 \geq 4 \alpha s^2 by the arithmetic–geometric inequality. ∎

Increasing \alpha trades variance for bias; the best \alpha depends on the unknown x, so it must be chosen from the data.

Proposition 2.9 — Discrepancy principle (Morozov) For Tikhonov regularisation, the residual r(\alpha) = \|K x_\alpha - y\| is continuous and non-decreasing in \alpha.

At \alpha = 0 it equals the norm of the component of y orthogonal to the range of K, and it tends to \|y\| as \alpha \to \infty.

Hence, if the target lies between these two values, there is an \alpha such that \|K x_\alpha - y\| = \tau\, \sigma \sqrt{M}, \qquad \tau \geq 1 .

Proof. In the singular bases, with P_\perp the projection onto the orthogonal of the range, r(\alpha)^2 = \sum_j \Big(\frac{\alpha}{s_j^2 + \alpha}\Big)^2 |u_j^* y|^2 + \|P_\perp y\|^2 .

Each term is continuous and non-decreasing in \alpha, with the stated limits; the intermediate value theorem concludes. ∎

The rationale is that \mathbb{E}\|w\|^2 = M\sigma^2: fitting the data more closely than the noise level means fitting the noise. Other rules, such as the L-curve and generalised cross-validation, do not need \sigma.

Bayesian analysis

The Bayesian approach treats x as random, with a prior law that encodes what is known before the measurement. Regularisation then appears as a consequence rather than a recipe. We state the real case; the circular complex case is identical with conjugate transposes.

Theorem 2.10 — Gaussian posterior Let x \sim \mathcal{N}(0, \Gamma), with \Gamma positive definite, and w \sim \mathcal{N}(0, \sigma^2 I) be independent, and y = Kx + w. Given y, x is Gaussian with mean and covariance m = \big(K^\top K + \sigma^2 \Gamma^{-1}\big)^{-1} K^\top y, \qquad C = \Big(\frac{K^\top K}{\sigma^2} + \Gamma^{-1}\Big)^{-1} .

Proof. The vector (x, y) is Gaussian with \mathrm{Cov}(x, y) = \Gamma K^\top and \mathrm{Cov}(y) = K \Gamma K^\top + \sigma^2 I. Proposition 0.8 gives m = \Gamma K^\top (K \Gamma K^\top + \sigma^2 I)^{-1} y, \qquad C = \Gamma - \Gamma K^\top (K \Gamma K^\top + \sigma^2 I)^{-1} K \Gamma .

The identity (K^\top K + \sigma^2 \Gamma^{-1})\, \Gamma K^\top = K^\top (K \Gamma K^\top + \sigma^2 I) turns the first formula into the stated one. The Woodbury identity does the same for C. ∎

Corollary 2.11 — Tikhonov is a MAP estimator With the white prior \Gamma = \gamma^2 I, the posterior mean is the Tikhonov solution:

Key result — regularisation from a prior m = (K^\top K + \alpha I)^{-1} K^\top y, \qquad \alpha = \frac{\sigma^2}{\gamma^2} = \frac{\text{noise variance}}{\text{prior variance}} .

Since the posterior is Gaussian, its mean is also its mode, the maximum a posteriori (MAP) estimate. Indeed, minus the log-posterior is, up to a constant, \frac{\|Kx - y\|^2}{2\sigma^2} + \frac{\|x\|^2}{2\gamma^2} .

Proposition 2.12 — The posterior mean minimises the Bayes risk Among all estimators \hat x(y), measurable functions of the data, the posterior mean minimises \mathbb{E}\|\hat x(y) - x\|^2, and its risk is \mathrm{tr}\, C.

Proof. Conditionally on y, with m = m(y), \mathbb{E}\big[\|\hat x(y) - x\|^2 \mid y\big] = \|\hat x(y) - m\|^2 + \mathrm{tr}\, C .

The first term vanishes only for \hat x = m; taking the expectation over y concludes. ∎

The posterior covariance quantifies the uncertainty. Along v_j, the posterior standard deviation is close to \sigma / s_j when s_j^2 \gg \alpha, and close to \gamma when s_j^2 \ll \alpha: the data inform the first directions, the prior alone the others.

Non-Gaussian priors change the picture. A Laplace prior gives an \ell_1-penalised MAP, which favours sparse reflectivities; the posterior is then no longer Gaussian and is explored by Markov chain Monte Carlo, as in Computational Statistics. The hyperparameters \sigma^2 and \gamma^2 can be estimated by maximising the marginal likelihood of y, which is \mathcal{N}(0, K \Gamma K^\top + \sigma^2 I).

import numpy as np

rng = np.random.default_rng(1)
n = 200
t = np.linspace(0, 1, n)
K = np.exp(-(t[:, None] - t[None, :])**2 / (2 * 0.03**2))       # Gaussian blur
K /= K.sum(axis=1, keepdims=True)
x_true = (np.abs(t - 0.3) < 0.08) + 0.6 * np.exp(-((t - 0.7) / 0.05)**2)
sigma = 1e-3
y = K @ x_true + sigma * rng.standard_normal(n)

U, s, Vt = np.linalg.svd(K)
c = U.T @ y
err = lambda x: np.linalg.norm(x - x_true) / np.linalg.norm(x_true)
print(f"condition number {s[0] / s[-1]:.1e}; least squares rel. error {err(Vt.T @ (c / s)):.1e}")

def tikhonov(alpha):
    return Vt.T @ (s / (s**2 + alpha) * c)

# Morozov discrepancy principle: residual = sqrt(n) * sigma
alphas = np.logspace(-10, 0, 201)
res = np.array([np.linalg.norm(K @ tikhonov(a) - y) for a in alphas])
a_mor = alphas[np.argmin(np.abs(res - np.sqrt(n) * sigma))]
errs = np.array([err(tikhonov(a)) for a in alphas])
print(f"Tikhonov, Morozov alpha={a_mor:.1e}: rel. error {err(tikhonov(a_mor)):.3f}")
print(f"Tikhonov, oracle  alpha={alphas[errs.argmin()]:.1e}: rel. error {errs.min():.3f}")
for r in [10, 20, 40]:
    print(f"TSVD r={r:2d}: rel. error {err(Vt[:r].T @ (c[:r] / s[:r])):.3f}")

# Bayesian reading: prior N(0, gamma^2 I) with gamma^2 = sigma^2 / alpha
gamma = sigma / np.sqrt(a_mor)
post_sd = 1 / np.sqrt(s**2 / sigma**2 + 1 / gamma**2)   # posterior s.d. along each v_j
print(f"directions informed by the data (s_j^2 > alpha): {np.sum(s**2 > a_mor)} of {n}")
print(f"posterior s.d. along v_1, v_20, v_100: {post_sd[0]:.1e}, {post_sd[19]:.1e}, {post_sd[99]:.1e}")

Code 2.13 — What the code shows Least squares is destroyed by noise amplification (Example 2.5).

  • Tikhonov with the discrepancy principle picks \alpha = 3.5 \cdot 10^{-4} and a relative error of 0.186, close to the oracle value 0.176 obtained with the unknown truth.
  • TSVD with 10, 20 and 40 terms gives 0.368, 0.238 and 0.199.
  • In the Bayesian reading, only 31 of the 200 directions are informed by the data. The posterior standard deviation is 10^{-3} along v_1 and equals the prior value 0.053 along v_{100}.

Key takeaways — chapter 2

  • Least squares is the minimum-norm solution of the normal equations, and the best linear unbiased estimator (Theorems 2.1 and 2.2).
  • Its error along v_j has variance \sigma^2 / s_j^2: small singular values amplify noise without bound (Proposition 2.4).
  • Spectral filters trade bias for variance (Theorem 2.8); the discrepancy principle chooses the trade-off from the noise level (Proposition 2.9).
  • A Gaussian prior turns least squares into Tikhonov regularisation with \alpha = \sigma^2/\gamma^2, and gives a posterior covariance for free (Theorem 2.10, Corollary 2.11).

3. Time-reversal imaging

The first application of ch. 2 is imaging itself. Least squares on a fine grid of pixels is hopelessly ill posed; its strongly regularised limit, back-propagation of the time-reversed data, is stable, and its resolution can be computed exactly. This chapter derives migration from ch. 2, explains physical time reversal through the Helmholtz–Kirchhoff identity, and ends with the subspace methods DORT and MUSIC.

Migration as strongly regularised least squares

Fix a search grid z_1, \dots, z_P of candidate positions with unknown reflectivities \rho \in \mathbb{C}^P. By Proposition 1.7 the data depend linearly on \rho: \mathcal{K} \rho = k^2 \sum_{p=1}^P \rho_p\, g(z_p)\, g(z_p)^\top \in \mathbb{C}^{N \times N} .

With the Frobenius inner product on matrices, the adjoint is (\mathcal{K}^* A)_p = k^2\, g(z_p)^*\, A\, \overline{g(z_p)} .

Definition 3.1 — Kirchhoff migration The Kirchhoff migration (KM) imaging function of a response matrix A is \mathcal{I}_{\mathrm{KM}}(z) = g(z)^*\, A\, \overline{g(z)} = \sum_{n, m = 1}^N \overline{\hat G(x_n, z)}\; A_{nm}\; \overline{\hat G(z, x_m)} .

With several frequencies, the images are summed over \omega. Conjugation is time reversal in the Fourier domain: the data are sent back into the medium, from the receivers and from the sources, and evaluated at z.

Proposition 3.2 — Migration is the limit of Tikhonov regularisation Let \rho_\alpha be the Tikhonov solution of \mathcal{K}\rho = A. Then, as \alpha \to \infty, \alpha\, \rho_\alpha \longrightarrow \mathcal{K}^* A, \qquad \text{that is,} \qquad \alpha\, (\rho_\alpha)_p \to k^2\, \mathcal{I}_{\mathrm{KM}}(z_p) .

Proof. By Proposition 2.7, \alpha\, \rho_\alpha = \big(I + \mathcal{K}^* \mathcal{K} / \alpha\big)^{-1} \mathcal{K}^* A , and the matrix in front tends to the identity. ∎

Migration is therefore least squares with so much regularisation that only the adjoint survives. By Theorem 2.8 its variance is under control; its bias is a blur, since the image of the exact data is \mathcal{K}^* \mathcal{K} \rho. The blur kernel is the point spread function computed below.

Proposition 3.3 — Delay and sum In three dimensions, integrate the migration of the data over all frequencies with the measure d\omega / 2\pi. With the travel time T(x, z) = |x - z|/c_0, the result is a sum of the time-domain data at the round-trip travel times: \int \sum_{n, m} \overline{\hat G(x_n, z)}\, \hat A_{nm}(\omega)\, \overline{\hat G(z, x_m)}\, \frac{d\omega}{2\pi} = \sum_{n, m} \frac{A_{nm}\big(T(x_n, z) + T(z, x_m)\big)}{16\pi^2\, |x_n - z|\, |z - x_m|} .

Proof. By Proposition 1.4, the product of the two conjugate Green’s functions is e^{-i\omega (T(x_n, z) + T(z, x_m))} divided by the two distances and 16\pi^2. The frequency integral is then the inverse Fourier transform of \hat A_{nm} evaluated at the round-trip time. ∎

This delay-and-sum formula is the beamforming used in ultrasound scanners and the Kirchhoff migration of seismology.

The time-reversal experiment

Definition 3.4 — Time-reversal mirror A point source at y emits a pulse f(t). The array records the signals at x_1, \dots, x_N, reverses them in time, and re-emits them. In the Fourier domain the re-emitted field at a point x is, up to a phase, \hat u_{\mathrm{TR}}(\omega, x) = \overline{\hat f(\omega)} \sum_{n=1}^N \hat G(\omega, x, x_n)\, \overline{\hat G(\omega, x_n, y)} .

Experiments by Fink and coworkers show that the re-emitted wave refocuses on the source. The next theorem explains why, and how sharp the focus is.

Theorem 3.5 — Helmholtz–Kirchhoff identity Let B be a smooth bounded domain containing x and y, with outward normal \nu. Then \int_{\partial B} \Big[\overline{\hat G(x, \xi)}\; \partial_\nu \hat G(y, \xi) - \hat G(y, \xi)\; \partial_\nu \overline{\hat G(x, \xi)}\Big]\, d\sigma(\xi) = 2i\, \mathrm{Im}\, \hat G(x, y) .

For the sphere of radius R centred at the origin, as R \to \infty:

Key result — Helmholtz–Kirchhoff identity, large sphere \int_{|\xi| = R} \overline{\hat G(x, \xi)}\, \hat G(y, \xi)\, d\sigma(\xi) \;\longrightarrow\; \frac{1}{k}\, \mathrm{Im}\, \hat G(x, y) .

Proof. Let u = \hat G(\cdot, y) and v = \overline{\hat G(\cdot, x)}. Since k is real, \Delta u + k^2 u = -\delta_y and \Delta v + k^2 v = -\delta_x.

Green’s second identity on B gives \int_{\partial B} (v\, \partial_\nu u - u\, \partial_\nu v)\, d\sigma = \int_B (v \Delta u - u \Delta v) = -v(y) + u(x) .

By reciprocity, the right-hand side is \hat G(x, y) - \overline{\hat G(x, y)}, which is the first identity.

On a large sphere, the radiation condition gives \partial_\nu \hat G(y, \xi) = ik \hat G(y, \xi) + O(R^{-2}), and the conjugate relation for v. The integrand becomes 2ik\, v u plus a term of order R^{-3}, integrated over an area of order R^2; dividing by 2ik concludes. ∎

Corollary 3.6 — Refocusing and the diffraction limit If the mirror densely covers a large sphere around the source, the time-reversed field is proportional to \mathrm{Im}\, \hat G(\omega, x, y). In three dimensions, \mathrm{Im}\, \hat G(\omega, x, y) = \frac{\sin(k |x - y|)}{4\pi |x - y|} , a focal spot centred at the source whose first zero is at distance \lambda / 2.

Proof. Replace the sum over the sensors by an integral over the sphere in Definition 3.4, use reciprocity, and apply Theorem 3.5. The formula for the imaginary part follows from Proposition 1.4. ∎

The focal spot cannot be smaller than half a wavelength, whatever the mirror: this is the diffraction limit. In the time domain, \mathrm{Im}\, \hat G corresponds to G(t) - G(-t), a wave converging on the source and then diverging from it.

Proposition 3.7 — Resolution with a finite array In two dimensions, let a linear array of aperture a face a source at distance L, in the paraxial regime a \ll L. Along the cross-range direction, the time-reversed field is proportional to a sinc function, with first zero at the Rayleigh distance \Delta_{\text{cross}} = \frac{\lambda L}{a} .

Along the range direction, with bandwidth B, the first zero is at c_0 / B for time reversal of a source, and at c_0 / (2B) for echoes, whose travel time is doubled.

Proof. Place the sensors at (s, 0) with |s| \leq a/2, the source at y = (0, L) and the observation point at x = (\xi, L). The paraxial expansion of the distances gives |x - (s, 0)| - |y - (s, 0)| \approx \frac{(s - \xi)^2 - s^2}{2L} = \frac{\xi^2 - 2 s \xi}{2L} .

The amplitudes are nearly equal, so a dense array sums the phases: \int_{-a/2}^{a/2} e^{-i k s \xi / L}\, ds = a\, \frac{\sin(k a \xi / 2L)}{k a \xi / 2L} , which vanishes first when k a \xi / 2L = \pi, that is, \xi = \lambda L / a.

Along the range, a shift \eta changes the phase by k\eta for a source and by 2k\eta for an echo.

Integrating over a band of width 2\pi B around \omega_0 gives a sinc in \pi B \eta / c_0 or in 2\pi B \eta / c_0. ∎

Stability: the signal-to-noise ratio of migration

Proposition 3.8 — Migration gains a factor N Let A^{\mathrm{meas}} = k^2 \rho\, g g^\top + W, with g = g(z_1) and W as in Definition 1.8. At the reflector, \mathcal{I}_{\mathrm{KM}}(z_1) = \rho\, k^2 \|g\|^4 + \|g\|^2\, Z, \qquad Z \sim \mathcal{CN}(0, \sigma^2) , so the signal-to-noise ratio of the image is |\rho|\, k^2 \|g\|^2 / \sigma.

When the moduli of the g_n are comparable, this is N times the signal-to-noise ratio of a single entry. With F independent frequencies the gain is multiplied by \sqrt F.

Proof. The signal part is \rho k^2 (g^* g)(g^\top \bar g) = \rho k^2 \|g\|^4. The noise part is \|g\|^2 times \hat g^* W \bar{\hat g}, with \hat g = g / \|g\| a unit vector, which is \mathcal{CN}(0, \sigma^2) by Proposition 0.7.

A single entry has signal modulus |\rho| k^2 |g_n| |g_m| \approx |\rho| k^2 \|g\|^2 / N and noise \sigma. Over F frequencies the signals add coherently and the independent noises add in variance. ∎

Example 3.9 — Resolution and stability by numbers

  • In echography with \lambda = 0.31 mm, an aperture a = 4 cm, a depth L = 6 cm and a bandwidth of 3 MHz, the cross-range resolution is 0.46 mm and the range resolution of echoes is 1540 / (6 \cdot 10^6) m, about 0.26 mm.
  • In Code 1.10 the first reflector gives |\rho| k^2 \|g\|^2 \approx 0.335 and \sigma = 0.01. The image signal-to-noise ratio at the reflector is about 34, while each entry of the data has a ratio close to 1.

Iterative time reversal, DORT and MUSIC

Re-emitting the conjugate of the recorded field twice maps an input v to \bar A A v = A^* A v, since A is symmetric. Iterating time reversal is thus the power method on the time-reversal operator A^* A: it converges to the top singular vector, and the array focuses on the strongest reflector. The DORT method of Prada and Fink uses all the singular vectors at once.

Proposition 3.10 — Well-separated reflectors If the normalised illumination vectors \hat g_r = g(z_r)/\|g(z_r)\| are orthonormal, the nonzero singular values of A are \sigma_r = |\rho_r|\, k^2\, \|g(z_r)\|^2, \qquad r = 1, \dots, R, with left singular vectors \hat g_r and right singular vectors \overline{\hat g_r}, up to phases. Back-propagating the r-th singular vector focuses on z_r alone.

Proof. Write A = \sum_r \rho_r k^2 \|g(z_r)\|^2\, \hat g_r\, \overline{\hat g_r}^{\,*} .

Both families (\hat g_r) and (\overline{\hat g_r}) are orthonormal, so this is a singular value decomposition once the phases of the \rho_r are absorbed. ∎

Orthogonality holds approximately when the reflectors are farther apart than the Rayleigh distance of Proposition 3.7. Closer reflectors mix their singular vectors, but not their signal subspace, which MUSIC exploits.

Theorem 3.11 — MUSIC characterisation Let R < N, and assume that the illumination vectors of any R + 1 distinct points of the search region are linearly independent. Let P_\perp be the orthogonal projection onto the orthogonal of the range of A. For z in the search region, P_\perp\, g(z) = 0 \iff z \in \{z_1, \dots, z_R\} .

The MUSIC imaging function is therefore infinite exactly at the reflectors: \mathcal{I}_{\mathrm{MU}}(z) = \|P_\perp \hat g(z)\|^{-2} .

Proof. Write A = \mathbf{G} D \mathbf{G}^\top with \mathbf{G} = [g(z_1), \dots, g(z_R)] and D diagonal invertible.

The matrix \mathbf{G} has rank R, so \mathbf{G}^\top maps onto \mathbb{C}^R, and the range of A is the span of the g(z_r).

That span contains g(z_r), which proves one direction. If it contained g(z) for another z, the R + 1 vectors would be linearly dependent, which is excluded. ∎

With noisy data, the range is replaced by the span of the R leading left singular vectors. This needs an estimate of R, which ch. 5 obtains from random matrix theory.

MUSIC comes from array processing (Schmidt, 1986); Cheney (2001) relates it to the linear sampling method of inverse scattering.

import numpy as np
from scipy.special import hankel1

rng = np.random.default_rng(0)
N = 41
xs = np.stack([(np.arange(N) - 20) * 0.5, np.zeros(N)], axis=1)   # aperture a = 20 (wavelengths)
refl = [(np.array([-2.0, 30.0]), 1.0), (np.array([3.0, 32.0]), 0.6)]
ks = 2 * np.pi * np.linspace(0.8, 1.2, 21)                         # band B = 0.4, centre lambda = 1
sigma = 0.01

def g(k, z):                     # illumination vectors, z of shape (..., 2) -> (..., N)
    r = np.linalg.norm(z[..., None, :] - xs, axis=-1)
    return 0.25j * hankel1(0, k * r)

def msr(k):                      # Born response matrix + measurement noise
    A = sum(rho * k**2 * np.outer(g(k, z), g(k, z)) for z, rho in refl)
    return A + sigma * (rng.standard_normal((N, N)) + 1j * rng.standard_normal((N, N))) / np.sqrt(2)

data = [msr(k) for k in ks]
X, Y = np.meshgrid(np.arange(-6, 7.01, 0.1), np.arange(26, 36.01, 0.1))
Z = np.stack([X, Y], axis=-1)

def kirchhoff(freqs):            # I(z) = sum_k g(z)^* A_k conj(g(z))
    I = 0
    for i in freqs:
        G = g(ks[i], Z)
        I = I + np.einsum("...n,nm,...m->...", G.conj(), data[i], G.conj())
    return np.abs(I)

I_multi = kirchhoff(range(len(ks)))
iy, ix = np.unravel_index(I_multi.argmax(), I_multi.shape)
print(f"migration peak at ({X[iy, ix]:.1f}, {Y[iy, ix]:.1f})")

# cross-range and range profiles through the first reflector
I_one = kirchhoff([10])                                   # centre frequency only
row = I_one[np.argmin(np.abs(Y[:, 0] - 30.0))]
xr = X[0]; j0 = np.argmin(np.abs(xr + 2.0))
first_null = xr[j0 + np.argmax(np.diff(row[j0:]) > 0)] + 2.0
print(f"cross-range first null at {first_null:.1f} (Rayleigh lambda L / a = {30 / 20:.1f})")
col = I_multi[:, np.argmin(np.abs(xr + 2.0))]
y0 = np.argmin(np.abs(Y[:, 0] - 30.0))
print(f"range first null at {Y[y0 + np.argmax(np.diff(col[y0:]) > 0), 0] - 30:.1f} (c / 2B = {1 / (2 * 0.4):.2f})")

# MUSIC at the centre frequency, signal space of dimension 2
U = np.linalg.svd(data[10])[0][:, :2]
G = g(ks[10], Z); G /= np.linalg.norm(G, axis=-1, keepdims=True)
proj = np.linalg.norm(G - (G @ U.conj()) @ U.T, axis=-1)
music = 1 / proj**2
for half in [X < 0.5, X >= 0.5]:                    # one search window per half-plane
    m = np.where(half, music, 0)
    iy, ix = np.unravel_index(m.argmax(), m.shape)
    print(f"MUSIC peak at ({X[iy, ix]:.1f}, {Y[iy, ix]:.1f})")

Code 3.12 — What the code shows The geometry of Code 1.10 is probed at 21 frequencies with a relative bandwidth of 40 %, and imaged on a grid of step \lambda / 10.

  • The migration image peaks at (-2.0, 30.0), exactly at the first reflector.
  • Its first zero is at 1.4 wavelengths in cross-range, against \lambda L / a = 1.5, and at 1.2 in range, against c_0 / 2B = 1.25 (Proposition 3.7).
  • MUSIC with R = 2 at the central frequency finds both reflectors, at (-2.0, 29.9) and (3.0, 32.1), although each entry of the data is as noisy as it is informative.

In a randomly scattering medium, physical time reversal refocuses even better than in a homogeneous one: multiple scattering widens the effective aperture, and the refocused field is statistically stable (Fink, 1997; Blomgren, Papanicolaou and Zhao, 2002). Migration of the recorded data, by contrast, is blurred by clutter; ch. 8 returns to this contrast.

Key takeaways — chapter 3

  • Kirchhoff migration is the adjoint of the linearised forward map, and the limit of Tikhonov regularisation as \alpha \to \infty (Proposition 3.2); in the time domain it is delay and sum (Proposition 3.3).
  • The Helmholtz–Kirchhoff identity makes time reversal refocus, with a focal spot of half a wavelength (Theorem 3.5, Corollary 3.6).
  • A finite array resolves \lambda L / a in cross-range and c_0 / B or c_0 / 2B in range (Proposition 3.7).
  • Migration multiplies the signal-to-noise ratio of single entries by N (Proposition 3.8).
  • DORT reads reflectors from singular vectors, and MUSIC from the signal subspace (Proposition 3.10, Theorem 3.11).

4. Random matrix theory

Ch. 1 and ch. 3 showed that a few singular values of a noisy response matrix stand out of a noise bulk. To turn this observation into a detection test, one needs the law of the singular values of a pure-noise matrix, and the exact way a weak signal emerges from it. Random matrix theory provides both, in the limit of many sensors.

Throughout, W is an N \times N matrix with independent and identically distributed entries of mean zero and variance \mathbb{E}|W_{ij}|^2 = 1, and X = W / \sqrt N.

The Marchenko–Pastur law

Definition 4.1 — Empirical spectral distribution The empirical distribution of the squared singular values of X is the probability measure \mu_X = \frac{1}{N} \sum_{j=1}^N \delta_{\sigma_j(X)^2} .

Its k-th moment is the normalised trace \frac1N \mathrm{tr}\, (X X^*)^k.

Theorem 4.2 — Marchenko–Pastur, square case If the entries of W have finite moments of all orders, \mu_X converges almost surely, as N \to \infty, to the law of density p(x) = \frac{\sqrt{x (4 - x)}}{2\pi x}, \qquad 0 \leq x \leq 4 .

Equivalently, the singular values follow the quarter-circle law of density \sqrt{4 - s^2} / \pi on [0, 2].

For an N \times M matrix normalised by \sqrt M, with N / M \to c \leq 1, the limit has density \frac{\sqrt{(b - x)(x - a)}}{2\pi c x} \quad \text{on } [a, b], \qquad a = (1 - \sqrt c)^2, \quad b = (1 + \sqrt c)^2 .

Proof. Sketch by the moment method, square case.

  1. The moments of p are the Catalan numbers C_k = \binom{2k}{k} / (k+1): with x = s^2 they become even moments of the semicircle law, a classical computation.
  2. Expand the trace as a sum over closed paths i_1 \to j_1 \to i_2 \to \dots \to i_1 of length 2k alternating between row and column indices: \frac{1}{N}\, \mathbb{E}\, \mathrm{tr}\, (X X^*)^k = \frac{1}{N^{k+1}} \sum_{\text{paths}} \mathbb{E}\big[W_{i_1 j_1} \overline{W_{i_2 j_1}}\, W_{i_2 j_2} \cdots \overline{W_{i_1 j_k}}\big] .
  3. Entries have mean zero, so every edge of a contributing path is used at least twice. Such a path has at most k distinct edges, hence at most k + 1 distinct vertices, and at most of order N^{k+1} labellings.
  4. The paths that reach k + 1 vertices use each edge exactly twice and trace a tree. They are counted by the Catalan number C_k, and each contributes (\mathbb{E}|W_{ij}|^2)^k = 1; all other paths contribute O(1/N).
  5. The variance of the normalised trace is O(N^{-2}), which gives almost sure convergence by the Borel–Cantelli lemma. A law with compact support is determined by its moments. ∎

The bulk of noise singular values thus fills [0, 2\sqrt N] for W itself, with the quarter-circle profile. No noise direction is privileged, by the unitary invariance of Proposition 0.7.

Theorem 4.3 — The edge and its fluctuations Under the assumptions of Theorem 4.2, the largest singular value of X converges almost surely to 2.

For complex Gaussian entries, its fluctuations are of order N^{-2/3} and follow the Tracy–Widom law \mathrm{TW}_2: \sigma_1(W) \approx 2\sqrt N + 2^{-2/3}\, N^{-1/6}\, \mathrm{TW}_2 .

The law \mathrm{TW}_2 has mean -1.771, standard deviation 0.902 and 95 % quantile about -0.23. Real Gaussian entries give \mathrm{TW}_1 instead.

The convergence of the largest singular value is due to Geman (1980) and Yin, Bai and Krishnaiah (1988). The law \mathrm{TW}_2 was found by Tracy and Widom (1994) for Gaussian Hermitian matrices. Its appearance for the largest eigenvalue of W W^* is due to Johansson (2000) in the complex case and Johnstone (2001) in the real case; the formula above follows by taking a square root.

The spiked model and the BBP transition

A reflector adds a rank-one matrix to the noise. The question is whether its singular value separates from the bulk.

Theorem 4.4 — Phase transition of the top singular value Let X = \theta\, u v^* + W / \sqrt N, with deterministic unit vectors u, v, a strength \theta > 0, and W with independent \mathcal{CN}(0, 1) entries. As N \to \infty, almost surely:

Key result — BBP transition, square case \sigma_1(X) \longrightarrow \begin{cases} \theta + \dfrac{1}{\theta} & \text{if } \theta > 1, \\[2mm] 2 & \text{if } \theta \leq 1, \end{cases} \qquad |u^* \hat u_1|^2 \longrightarrow \Big(1 - \frac{1}{\theta^2}\Big)_+ ,

where \hat u_1 is the top left singular vector of X; the same limit holds for |v^* \hat v_1|^2.

Proof. Sketch, following Benaych-Georges and Nadakuditi (2012). Write Y = W/\sqrt N and let s > 2 be a singular value of X that is not one of Y, with singular vectors x, y.

  1. The equations Xy = s x and X^* x = s y read \begin{pmatrix} s I & -Y \\ -Y^* & s I \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} = \theta \begin{pmatrix} (v^* y)\, u \\ (u^* x)\, v \end{pmatrix} .
  2. Invert the block matrix. The diagonal blocks of its inverse are s(s^2 - YY^*)^{-1} and s(s^2 - Y^*Y)^{-1}; the off-diagonal blocks contain one factor Y.
  3. Project on u and on v, and set a = v^* y and b = u^* x. One gets two linear equations in (a, b) whose coefficients are quadratic forms in the two vectors.
  4. By unitary invariance, the diagonal quadratic forms converge to s\, G(s^2), where G is the Stieltjes transform of the Marchenko–Pastur law (Lemma 4.5). The off-diagonal forms, odd in Y, tend to zero.
  5. A nonzero solution exists if and only if \theta\, s\, G(s^2) = 1. With Lemma 4.5 this reads \frac{s - \sqrt{s^2 - 4}}{2} = \frac{1}{\theta} .
  6. The left side decreases from 1 to 0 on (2, \infty), so a root exists if and only if \theta > 1, and then s = \theta + 1/\theta. The overlap follows from the derivative of the same equation. ∎

Lemma 4.5 — Stieltjes transform of the Marchenko–Pastur law For z > 4, G(z) = \int_0^4 \frac{p(x)}{z - x}\, dx = \frac{1 - \sqrt{1 - 4/z}}{2} .

Proof. Expand 1/(z - x) as a geometric series in x/z, valid since x \leq 4 < z. By step 1 of Theorem 4.2, G(z) = \sum_{k \geq 0} \frac{C_k}{z^{k+1}} = \frac{1}{z}\, c\Big(\frac1z\Big) , where c(t) = \sum_k C_k t^k = (1 - \sqrt{1 - 4t})/(2t) is the generating function of the Catalan numbers. ∎

Below the threshold \theta = 1, the signal is invisible in the spectrum: the top singular value sticks to the edge and its vector is asymptotically orthogonal to u. Above it, the singular value separates and is biased upwards by 1/\theta.

Corollary 4.6 — Singular values of a noisy MSR matrix Let A^{\mathrm{meas}} = A + W, where A has a single nonzero singular value s_A and W has independent \mathcal{CN}(0, \sigma^2) entries. For large N, \sigma_1(A^{\mathrm{meas}}) \approx \begin{cases} s_A + \dfrac{\sigma^2 N}{s_A} & \text{if } s_A > \sigma \sqrt N, \\[2mm] 2 \sigma \sqrt N & \text{otherwise.} \end{cases}

Proof. Divide by \sigma\sqrt N and apply Theorem 4.4 with \theta = s_A / (\sigma \sqrt N). ∎

For a reflector, s_A = |\rho| k^2 \|g\|^2 grows like N while the threshold \sigma\sqrt N grows like \sqrt N: adding sensors always ends up revealing a fixed reflector.

Example 4.7 — Back to Code 1.10 There \sigma \sqrt N = 0.064. The matrix A has rank two, and the finite-rank version of Theorem 4.4 (Benaych-Georges and Nadakuditi, 2012) applies the formula of Corollary 4.6 to each of its singular values.

  • The first reflector has s_A = 0.335, so \theta = 5.2 and Corollary 4.6 predicts 0.348; the observed value is 0.345.
  • The second has s_A = 0.188, so \theta = 2.9 and the prediction is 0.209; the observed 0.194 is within the fluctuations of order \sigma expected at N = 41.
import numpy as np

rng = np.random.default_rng(2)
def noise(N):                    # i.i.d. CN(0, 1) entries
    return (rng.standard_normal((N, N)) + 1j * rng.standard_normal((N, N))) / np.sqrt(2)

# 1. Quarter-circle law for the singular values of W / sqrt(N)
N = 400
s = np.linalg.svd(noise(N) / np.sqrt(N), compute_uv=False)
grid = np.linspace(0, 2, 2001)
cdf = np.cumsum(np.sqrt(4 - grid**2) / np.pi) * (grid[1] - grid[0])
ks = np.max(np.abs(np.searchsorted(np.sort(s), grid) / N - cdf))
print(f"N={N}: largest singular value {s[0]:.3f} (limit 2), Kolmogorov distance {ks:.3f}")

# 2. Edge fluctuations: sigma_1 ~ 2 sqrt(N) + 2^(-2/3) N^(-1/6) TW2, E[TW2] = -1.771
for N in [50, 200]:
    top = np.array([np.linalg.norm(noise(N), 2) for _ in range(300)])
    pred = 2 * np.sqrt(N) + 2**(-2/3) * N**(-1/6) * (-1.771)
    print(f"N={N}: mean sigma_1 {top.mean():.3f}, Tracy-Widom prediction {pred:.3f}, sd {top.std():.3f}")

# 3. Spiked model X = theta u v^* + W / sqrt(N): BBP transition
N = 400
u = np.ones(N) / np.sqrt(N); v = np.exp(2j * np.pi * rng.random(N)) / np.sqrt(N)
for theta in [0.5, 1.0, 1.5, 2.0, 3.0]:
    Uh, sh, Vh = np.linalg.svd(theta * np.outer(u, v.conj()) + noise(N) / np.sqrt(N))
    s_lim = theta + 1 / theta if theta > 1 else 2.0
    ov_lim = max(1 - 1 / theta**2, 0.0)
    print(f"theta={theta:.1f}: sigma_1={sh[0]:.3f} (limit {s_lim:.3f}), "
          f"|<u,u_hat>|^2={abs(u @ Uh[:, 0].conj())**2:.2f} (limit {ov_lim:.2f})")

Code 4.8 — What the code shows

  • For N = 400, the singular values of W/\sqrt N are within Kolmogorov distance 0.006 of the quarter-circle law, and the largest is 1.975.
  • Over 300 draws, the mean of \sigma_1(W) is 13.542 for N = 50 and 27.826 for N = 200; the Tracy–Widom formula gives 13.561 and 27.823. The standard deviations, 0.29 and 0.23, are small compared with the gaps to the signal values.
  • In the spiked model, \theta = 0.5 and \theta = 1 leave the top singular value at the edge. For \theta = 1.5, 2 and 3 it is 2.171, 2.514 and 3.329, against the limits 2.167, 2.5 and 3.333. The overlaps 0.54, 0.73 and 0.89 match 1 - 1/\theta^2 = 0.56, 0.75 and 0.89.

Key takeaways — chapter 4

  • The singular values of an N \times N noise matrix with entries of variance \sigma^2 fill [0, 2\sigma\sqrt N] with the quarter-circle profile (Theorem 4.2).
  • The largest one sits at the edge, with Tracy–Widom fluctuations of order N^{-1/6} in these units (Theorem 4.3).
  • A rank-one signal of strength \theta in units of \sigma\sqrt N emerges from the bulk if and only if \theta > 1, at \theta + 1/\theta, with overlap 1 - 1/\theta^2 (Theorem 4.4).
  • For an MSR matrix, the threshold is s_A > \sigma\sqrt N, and the observed singular value overestimates s_A by \sigma^2 N / s_A (Corollary 4.6).

5. Detection tests and what follows them

The first imaging question is whether there is anything to image. This chapter builds tests with a prescribed false-alarm rate from the response matrix, computes their power with ch. 4, and then localises, characterises and identifies what was detected.

Throughout, H_0 says A^{\mathrm{meas}} = W and H_1 says A^{\mathrm{meas}} = A + W, with W as in Definition 1.8 and A the MSR matrix of one reflector.

Tests and the Neyman–Pearson lemma

Definition 5.1 — Test, false alarm, power A test is a function \phi of the data with values in \{0, 1\}, where 1 means “declare a target”. Its probability of false alarm and its power (probability of detection) are P_{\mathrm{FA}} = \mathbb{P}_{H_0}(\phi = 1), \qquad P_{\mathrm{D}} = \mathbb{P}_{H_1}(\phi = 1) .

The receiver operating characteristic (ROC) is the curve of P_{\mathrm{D}} against P_{\mathrm{FA}} as the threshold of the test varies.

Theorem 5.2 — Neyman–Pearson lemma Let the data have density p_0 under H_0 and p_1 under H_1. Assume that the likelihood-ratio test \phi^\star = \mathbb{1}[p_1 / p_0 > \eta] has false-alarm probability \alpha.

Then every test \phi with P_{\mathrm{FA}}(\phi) \leq \alpha satisfies P_{\mathrm{D}}(\phi) \leq P_{\mathrm{D}}(\phi^\star) .

Proof. By construction, (\phi^\star - \phi)(p_1 - \eta p_0) \geq 0 everywhere: where \phi^\star = 1 both factors are non-negative, and where \phi^\star = 0 both are non-positive. Integrating gives P_{\mathrm{D}}(\phi^\star) - P_{\mathrm{D}}(\phi) \geq \eta \big(P_{\mathrm{FA}}(\phi^\star) - P_{\mathrm{FA}}(\phi)\big) , and the right-hand side is non-negative because P_{\mathrm{FA}}(\phi) \leq \alpha. ∎

In imaging, H_1 contains unknown parameters: the position and the reflectivity. The generalised likelihood-ratio test (GLRT) replaces them by their maximum-likelihood estimates. Under the Gaussian model, minus the log-likelihood is \|A^{\mathrm{meas}} - A\|_F^2 / \sigma^2 plus a constant.

Known position: migration is the matched filter

Proposition 5.3 — GLRT for a reflector at a known point Let H_1 say A = c\, g g^\top with known g = g(z) and unknown c \in \mathbb{C}. The GLRT rejects H_0 when the migration image at z is large: \frac{|\mathcal{I}_{\mathrm{KM}}(z)|^2}{\sigma^2 \|g\|^4} > \ln \frac{1}{\alpha} .

Under H_0 the left side is exponential with mean one, so this test has false-alarm probability exactly \alpha.

Proof. As in Theorem 0.5, the minimum of \|A^{\mathrm{meas}} - c\, g g^\top\|_F^2 over c equals \|A^{\mathrm{meas}}\|_F^2 minus \frac{|\langle g g^\top, A^{\mathrm{meas}} \rangle_F|^2}{\|g g^\top\|_F^2} = \frac{|g^* A^{\mathrm{meas}}\, \bar g|^2}{\|g\|^4} .

The log-GLR is this quantity divided by \sigma^2. Under H_0, \mathcal{I}_{\mathrm{KM}}(z) = \|g\|^2 Z with Z \sim \mathcal{CN}(0, \sigma^2) (Proposition 3.8), and |Z|^2/\sigma^2 is exponential with mean one (Proposition 0.7). ∎

Unknown position: the top singular value

Proposition 5.4 — GLRT for an unknown rank-one signal If H_1 allows any rank-one matrix A, the GLRT statistic is \max_{\mathrm{rank}(A) \leq 1} \frac{\|A^{\mathrm{meas}}\|_F^2 - \|A^{\mathrm{meas}} - A\|_F^2}{\sigma^2} = \frac{\sigma_1(A^{\mathrm{meas}})^2}{\sigma^2} , so the test compares the top singular value with a threshold.

Proof. This is Theorem 0.5 applied to A^{\mathrm{meas}}. ∎

The test ignores the physics of the illumination vectors, which makes it robust: it also detects targets that are not points, or a model with an inaccurate speed of sound.

Proposition 5.5 — Threshold for a prescribed false-alarm rate With complex Gaussian noise of known level \sigma, the test \sigma_1(A^{\mathrm{meas}}) > \tau_\alpha has asymptotic false-alarm probability \alpha for \tau_\alpha = \sigma \big(2 \sqrt N + 2^{-2/3} N^{-1/6}\, q_{1 - \alpha}\big) , where q_{1-\alpha} is the quantile of \mathrm{TW}_2; for \alpha = 5\,\%, q_{0.95} \approx -0.23.

Proof. Under H_0, A^{\mathrm{meas}} = W; apply Theorem 4.3 to W / \sigma. ∎

When \sigma is unknown, it is estimated from the bulk, for instance by \hat\sigma^2 = \frac{1}{N^2} \sum_{j \geq 2} \sigma_j(A^{\mathrm{meas}})^2 , or by fitting the quarter-circle law of Theorem 4.2 to the empirical singular values. Removing the top value makes the estimate consistent under both hypotheses.

Proposition 5.6 — Asymptotic power Fix \alpha and the strength \theta = s_A / (\sigma \sqrt N) of the reflector. As N \to \infty, the power of the top-singular-value test tends to 1 if \theta > 1, and to \alpha if \theta < 1.

Proof. If \theta > 1, Corollary 4.6 gives \sigma_1 / (\sigma\sqrt N) \to \theta + 1/\theta > 2, while \tau_\alpha / (\sigma \sqrt N) \to 2.

If \theta < 1, the top singular value tends to the edge as under H_0 (Theorem 4.4). Below the transition its fluctuations are moreover those of the null case, so the test cannot distinguish the hypotheses. Baik, Ben Arous and Péché (2005) proved this for the closely related spiked covariance model; we admit it for the additive model. ∎

Below the threshold, the top singular value is blind, but the data are not. The energy detector, which uses the whole spectrum, keeps a nontrivial power there.

Proposition 5.7 — Power of the energy detector The test that rejects H_0 when \|A^{\mathrm{meas}}\|_F^2 exceeds its (1 - \alpha) quantile under H_0 has, as N \to \infty with \theta fixed, P_{\mathrm{D}} \longrightarrow 1 - \Phi\big(z_{1 - \alpha} - \theta^2\big) , where \Phi is the standard normal distribution function and z_{1-\alpha} its quantile.

Proof. Under H_0, \|W\|_F^2 is a sum of N^2 independent exponential variables of mean and standard deviation \sigma^2. By the central limit theorem it is close to \mathcal{N}(N^2 \sigma^2, N^2 \sigma^4).

Under H_1, the statistic is \|W\|_F^2 + s_A^2 + 2\, \mathrm{Re} \langle A, W \rangle_F. The shift s_A^2 = \theta^2 N \sigma^2 equals \theta^2 standard deviations. The cross term has standard deviation \sqrt 2\, s_A \sigma, of order \sqrt N \sigma^2, which is negligible. ∎

The two tests are complementary: the energy detector never reaches power one at fixed \theta, while the top singular value is asymptotically perfect above the threshold. Onatski, Moreira and Hallin (2013) study the best achievable power below it.

After detection: localisation and characterisation

Once a target is declared, the top singular triplet carries its position and strength.

Proposition 5.8 — Debiased estimate of the reflectivity If \sigma_1(A^{\mathrm{meas}}) > 2 \sigma \sqrt N, the estimator \hat s_A = \frac{\sigma_1 + \sqrt{\sigma_1^2 - 4 \sigma^2 N}}{2} inverts Corollary 4.6, and |\hat\rho| = \hat s_A / (k^2 \|g(\hat z)\|^2) estimates the modulus of the reflectivity.

Proof. The map s \mapsto s + \sigma^2 N / s is increasing on (\sigma\sqrt N, \infty). Solving s^2 - \sigma_1 s + \sigma^2 N = 0 and keeping the larger root gives \hat s_A. ∎

Example 5.9 — Thresholds by numbers Take N = 100, \sigma = 1 and \alpha = 5\,\%.

  • The threshold of Proposition 5.5 is 20 - 0.63 \times 0.464 \times 0.23 \approx 19.93.
  • A reflector with s_A = 20 has \theta = 2; its singular value is about 20 + 100/20 = 25, well above the threshold.
  • The raw value overestimates s_A by 25 %; Proposition 5.8 removes this bias.
import numpy as np

rng = np.random.default_rng(3)
N, sigma, n_mc = 100, 1.0, 400
def noise():
    return sigma * (rng.standard_normal((N, N)) + 1j * rng.standard_normal((N, N))) / np.sqrt(2)

u = np.exp(2j * np.pi * rng.random(N)) / np.sqrt(N)      # unit "illumination" vector
v = u.conj()                                              # MSR matrices are symmetric: v = conj(u)
stats = {
    "top singular value": lambda M: np.linalg.norm(M, 2),
    "Frobenius energy":   lambda M: np.linalg.norm(M),
    "matched filter":     lambda M: abs(u.conj() @ M @ v),   # known position
}
h0 = {name: np.array([f(noise()) for _ in range(n_mc)]) for name, f in stats.items()}
thr = {name: np.quantile(x, 0.95) for name, x in h0.items()}          # false-alarm rate 5 %
edge = sigma * (2 * np.sqrt(N) + 2**(-2/3) * N**(-1/6) * (-0.232))    # TW2 95 % quantile ~ -0.232
print(f"threshold on sigma_1: simulated {thr['top singular value']:.2f}, Tracy-Widom {edge:.2f}")
for theta in [0.2, 0.8, 1.2, 1.6]:
    s_ref = theta * sigma * np.sqrt(N)                    # singular value of the clean matrix
    A = s_ref * np.outer(u, v.conj())
    pd = {name: np.mean([f(A + noise()) > thr[name] for _ in range(n_mc)]) for name, f in stats.items()}
    print(f"theta={theta}: " + ", ".join(f"{k} {p:.2f}" for k, p in pd.items()))

# characterisation: invert sigma_1 = s + sigma^2 N / s
s_ref = 2.0 * sigma * np.sqrt(N)
s1 = np.linalg.norm(s_ref * np.outer(u, v.conj()) + noise(), 2)
s_hat = (s1 + np.sqrt(s1**2 - 4 * sigma**2 * N)) / 2
print(f"true {s_ref:.1f}, raw sigma_1 {s1:.2f}, debiased {s_hat:.2f}")

Code 5.10 — What the code shows The simulated 95 % quantile of \sigma_1 under H_0 is 19.93, the Tracy–Widom value of Proposition 5.5.

  • At \theta = 0.8 the top singular value detects in 16 % of the cases, barely above the 5 % of false alarms, and the energy detector in 23 %.
  • At \theta = 1.2 and 1.6 the top singular value reaches 81 % and 100 %, the energy detector only 47 % and 85 %. The asymptotic formula of Proposition 5.7 gives 0.16, 0.42 and 0.82, slightly below these values at N = 100.
  • Knowing the position changes everything: the matched filter detects in 74 % of the cases already at \theta = 0.2.
  • For s_A = 20 the raw singular value is 25.51 and the debiased estimate 20.67.

Identification within a dictionary

Identification asks which of several known targets is present, for instance which of two materials fills a small inclusion at a known position. Under the Gaussian noise model it is a classification problem with an exact error rate.

Proposition 5.11 — Identification by maximum likelihood Let a dictionary contain D known response matrices A^{(1)}, \dots, A^{(D)}, and let the data be A^{\mathrm{meas}} = A^{(d)} + W with W as in Definition 1.8. The maximum-likelihood rule picks the closest element: \hat d = \arg\min_{d} \|A^{\mathrm{meas}} - A^{(d)}\|_F .

For two candidates, with \Delta = A^{(1)} - A^{(2)}, the probability of error under either hypothesis is P_{\mathrm{err}} = 1 - \Phi\Big(\frac{\|\Delta\|_F}{\sqrt 2\, \sigma}\Big) .

Proof. The likelihood of A^{(d)} is a decreasing function of \|A^{\mathrm{meas}} - A^{(d)}\|_F, which gives the rule.

Under d = 1, the rule errs when \|\Delta + W\|_F^2 < \|W\|_F^2, that is, when \mathrm{Re}\, \langle \Delta, W\rangle_F < -\tfrac12\, \|\Delta\|_F^2 .

As in fact 1 of Proposition 0.7, \langle \Delta, W\rangle_F is \mathcal{CN}(0, \sigma^2 \|\Delta\|_F^2), so its real part is Gaussian with variance \sigma^2 \|\Delta\|_F^2 / 2. Standardising gives the formula; the case d = 2 is symmetric. ∎

Example 5.12 — Identification needs more than detection Take the first reflector of Code 1.10, with k^2 \|g\|^2 \approx 0.335 and \sigma = 0.01, and two candidate reflectivities 1 and 0.9 at its position.

  • Then \Delta = 0.1\, k^2 g g^\top and \|\Delta\|_F = 0.0335, so P_{\mathrm{err}} = 1 - \Phi(2.37) \approx 0.009 .
  • For the candidates 1 and 0.95, the argument halves to 1.18 and the error rises to 0.12.
  • Detection of the same reflector has a signal-to-noise ratio of 34 (Example 3.9). Identification only sees the difference of the two responses, here a tenth or a twentieth of the signal.

Key takeaways — chapter 5

  • The likelihood-ratio test is the most powerful test at a given false-alarm rate (Theorem 5.2); with unknown parameters one uses the GLRT.
  • For a known position, the GLRT is migration, with an exact exponential null law (Proposition 5.3); for an unknown rank-one signal, it is the top singular value (Proposition 5.4).
  • Random matrix theory sets the threshold (Proposition 5.5) and predicts the power: blind detection works if and only if s_A > \sigma\sqrt N (Proposition 5.6).
  • After detection, the top singular vector localises the target and the inverse of the BBP formula estimates its strength (Proposition 5.8).
  • Identification within a dictionary picks the closest known response; its error rate depends only on the distance between the candidate responses (Proposition 5.11).

6. Spectral properties of stationary random processes

Sensor noise and ambient noise are random signals whose statistics do not change in time. Their spectral description answers the two questions of ch. 7: what does the correlation of two recordings estimate, and how long must one record for the estimate to be reliable?

Stationary processes

Definition 6.1 — Stationary process, covariance A real random process n(t) is stationary (in the wide sense) if it has mean zero, finite variance, and a covariance depending only on the lag: C(\tau) = \mathbb{E}\big[n(t)\, n(t + \tau)\big] .

Two processes n_1, n_2 are jointly stationary if, moreover, their cross-covariance C_{12}(\tau) = \mathbb{E}[n_1(t)\, n_2(t + \tau)] depends only on \tau.

Proposition 6.2 — Properties of a covariance The covariance is even, bounded by its value at zero, and positive definite: for all times t_1, \dots, t_p and real coefficients a_1, \dots, a_p, |C(\tau)| \leq C(0), \qquad \sum_{i, j} a_i a_j\, C(t_j - t_i) \geq 0 .

Proof. Evenness follows from stationarity by shifting t by -\tau, and the bound from the Cauchy–Schwarz inequality. The double sum is the variance of \sum_i a_i n(t_i). ∎

The power spectral density

Theorem 6.3 — Wiener–Khinchin Let C be integrable, and let S(\omega) = \int C(\tau)\, e^{i\omega\tau}\, d\tau be its Fourier transform. Then S(\omega) = \lim_{T \to \infty} \frac{1}{T}\, \mathbb{E}\, \Big| \int_0^T n(t)\, e^{i\omega t}\, dt \Big|^2 \;\geq\; 0 , and C is recovered by Fourier inversion (Definition 0.1). The function S is the power spectral density of n.

Proof. Expanding the square and taking the expectation, \mathbb{E}\, \Big| \int_0^T n(t)\, e^{i\omega t} dt \Big|^2 = \int_0^T \!\! \int_0^T C(t - s)\, e^{i\omega (t - s)}\, ds\, dt = \int_{-T}^{T} (T - |\tau|)\, C(\tau)\, e^{i\omega\tau}\, d\tau , because the set of pairs (s, t) in the square with t - s = \tau has length T - |\tau|.

Dividing by T, the integrand converges to C(\tau) e^{i\omega\tau} and is dominated by |C|; dominated convergence gives the limit. It is non-negative as a limit of non-negative numbers. The inversion formula is Fourier inversion. ∎

The spectral density says how the variance C(0) = \frac{1}{2\pi}\int S is distributed over frequencies. Conversely, Bochner’s theorem states that every continuous positive-definite function is the Fourier transform of a non-negative measure.

Example 6.4 — Band-limited noise Let S(\omega) = S_0 when |\omega| is within \pi B of \omega_0, and zero otherwise. Then C(\tau) = 2 B S_0\, \frac{\sin(\pi B \tau)}{\pi B \tau}\, \cos(\omega_0 \tau) .

The variance is C(0) = 2 B S_0, and the correlation time, the width of the envelope, is of order 1/B. A noise of bandwidth B forgets its past after about 1/B seconds.

Filtering and cross-spectra

Proposition 6.5 — Linear filtering Let h be an integrable real filter and m = h * n. Then n and m are jointly stationary, with S_m(\omega) = |\hat h(\omega)|^2\, S_n(\omega), \qquad \hat C_{nm}(\omega) = \hat h(\omega)\, S_n(\omega) , where \hat C_{nm} is the Fourier transform of the cross-covariance, the cross-spectrum.

Proof. For the cross-covariance, \mathbb{E}[n(t)\, m(t + \tau)] = \int h(s)\, C_n(\tau - s)\, ds , a convolution whose transform is \hat h\, S_n.

For m itself, C_m(\tau) = \int\!\!\int h(s)\, h(s')\, C_n(\tau + s - s')\, ds\, ds' .

Its transform is S_n(\omega) times \hat h(\omega)\, \overline{\hat h(\omega)}, since h is real. ∎

In ch. 7 the medium is the filter: the signal recorded at a sensor is the noise of each source filtered by the Green’s function from the source to the sensor.

Fluctuations of empirical correlations

In practice the covariance is unknown and is estimated from a single record of duration T. For Gaussian processes the error of this estimate can be computed exactly, thanks to the following moment formula.

Proposition 6.6 — Isserlis’ formula For a centred Gaussian vector (X_1, X_2, X_3, X_4), \mathbb{E}[X_1 X_2 X_3 X_4] = \mathbb{E}[X_1 X_2]\, \mathbb{E}[X_3 X_4] + \mathbb{E}[X_1 X_3]\, \mathbb{E}[X_2 X_4] + \mathbb{E}[X_1 X_4]\, \mathbb{E}[X_2 X_3] .

It follows by differentiating the characteristic function four times at zero.

Definition 6.7 — Empirical cross-correlation For jointly stationary processes recorded on [0, T], the empirical cross-correlation is C_T(\tau) = \frac{1}{T} \int_0^T n_1(t)\, n_2(t + \tau)\, dt .

It is an unbiased estimator of C_{12}(\tau).

Theorem 6.8 — Statistical stability of empirical correlations Let n_1, n_2 be jointly Gaussian and stationary, with integrable covariances, and write C_{21}(s) = C_{12}(-s). As T \to \infty, T\, \mathrm{Var}\, C_T(\tau) \longrightarrow \int \big[ C_{11}(s)\, C_{22}(s) + C_{12}(s + \tau)\, C_{21}(s - \tau) \big]\, ds .

In particular C_T(\tau) converges to C_{12}(\tau) in mean square, at rate T^{-1/2}.

Proof. The variance is the double integral over t, t' \in [0, T] of the covariance of n_1(t) n_2(t + \tau) and n_1(t') n_2(t' + \tau), divided by T^2.

By Proposition 6.6, with s = t' - t, this covariance is C_{11}(s)\, C_{22}(s) + C_{12}(s + \tau)\, C_{21}(s - \tau) .

It depends only on s, so the double integral reduces, as in Theorem 6.3, to the integral of (T - |s|) times this function, and dominated convergence concludes. ∎

Corollary 6.9 — The square-root rule For the band-limited noise of Example 6.4, the relative standard deviation of the empirical variance is, for large T,

Key result — statistical stability of correlations \frac{\sqrt{\mathrm{Var}\, C_T(0)}}{C(0)} \approx \frac{1}{\sqrt{B T}} .

Proof. With n_1 = n_2 and \tau = 0, Theorem 6.8 gives T\, \mathrm{Var}\, C_T(0) \to 2 \int C^2. By Plancherel, \int C(s)^2\, ds = \frac{1}{2\pi} \int S(\omega)^2\, d\omega = \frac{S_0^2\, 4\pi B}{2\pi} = 2 B S_0^2 .

Dividing 4 B S_0^2 / T by C(0)^2 = 4 B^2 S_0^2 gives 1/(BT). ∎

A record of duration T and bandwidth B contains about BT independent pieces of information. One day of seismic noise in a band of 1 Hz gives a relative error of about 1/\sqrt{86\,400} \approx 0.3\,\% on a correlation of order C(0).

The periodogram

Proposition 6.10 — The periodogram is not consistent The periodogram is P_T(\omega) = \frac{1}{T}\, \Big| \int_0^T n(t)\, e^{i\omega t}\, dt \Big|^2 .

Its mean tends to S(\omega) by Theorem 6.3. For a Gaussian process and \omega \neq 0, P_T(\omega) converges in law to S(\omega) times an exponential variable of mean one, so its variance does not vanish.

Proof. Sketch. The Fourier integral is a centred complex Gaussian variable of variance T S(\omega) + o(T). Its pseudo-variance, \mathbb{E}[(\int_0^T n(t) e^{i\omega t} dt)^2], is o(T) when \omega \neq 0, by the same computation as in Theorem 6.3 with e^{i\omega(t + s)}. The normalised integral is therefore asymptotically circular, and Proposition 0.7 concludes. ∎

Averaging the periodograms of K independent segments, as in Bartlett’s and Welch’s methods, divides the variance by K at the price of a frequency resolution of order 2\pi K / T. The same computation shows that Fourier coefficients at frequencies more than 2\pi/T apart are asymptotically independent, which justifies the noise model of Definition 1.8.

import numpy as np

rng = np.random.default_rng(4)
dt = 1e-3                                         # sampling step (s)
def bandlimited_noise(n_samples, f_lo=20.0, f_hi=40.0):
    """Gaussian noise with a flat spectrum on f_lo < |f| < f_hi (Hz), unit variance."""
    w = rng.standard_normal(n_samples)
    f = np.fft.rfftfreq(n_samples, dt)
    x = np.fft.irfft(np.fft.rfft(w) * ((f > f_lo) & (f < f_hi)), n_samples)
    return x / np.sqrt(2 * (f_hi - f_lo) * dt)  # variance = 2 B dt * (1 / (2 B dt)) = 1

B = 20.0
for T in [1.0, 4.0, 16.0]:
    n = int(T / dt)
    c0 = np.array([np.mean(bandlimited_noise(n)**2) for _ in range(200)])   # C_T(0)
    print(f"T={T:4.0f} s: sd of C_T(0) = {c0.std():.3f}, theory 1/sqrt(BT) = {1 / np.sqrt(B * T):.3f}")

# the periodogram does not converge; averaging over segments (Welch) does
x = bandlimited_noise(2**16)
for n_seg in [1, 64]:
    segs = x.reshape(n_seg, -1)
    P = np.mean(np.abs(np.fft.rfft(segs, axis=1))**2, axis=0) * dt / segs.shape[1]
    f = np.fft.rfftfreq(segs.shape[1], dt)
    band = (f > 22) & (f < 38)
    print(f"{n_seg:2d} segment(s): mean of P in band {P[band].mean():.4f}, "
          f"relative sd {P[band].std() / P[band].mean():.2f}")
print("true S(omega) in band:", 1 / (2 * B))

Code 6.11 — What the code shows The noise has a flat spectrum between 20 and 40 Hz, so B = 20 Hz, and unit variance.

  • Over 200 records, the standard deviation of the empirical variance is 0.227, 0.111 and 0.052 for T = 1, 4 and 16 s, against 1/\sqrt{BT} = 0.224, 0.112 and 0.056 (Corollary 6.9).
  • The periodogram of a single record has the right mean, 0.025, but a relative standard deviation of 1.02, as an exponential variable (Proposition 6.10).
  • Averaging 64 segments brings the relative standard deviation down to 0.11, close to 1/\sqrt{64}.

Key takeaways — chapter 6

  • A stationary process is described by its covariance, or equivalently by its non-negative power spectral density (Theorem 6.3).
  • Linear filters multiply spectra by |\hat h|^2 and cross-spectra by \hat h (Proposition 6.5).
  • Empirical correlations of Gaussian processes are unbiased and converge at rate T^{-1/2} (Theorem 6.8); their relative error is 1/\sqrt{BT} (Corollary 6.9).
  • The periodogram is unbiased but not consistent; averaging over segments makes it so (Proposition 6.10).

7. Imaging with ambient noise cross-correlations

Ambient noise, generated by ocean waves, wind or traffic, is recorded by every seismometer, all the time. This chapter shows that correlating the noise recorded at two sensors produces, on average, the signal that one sensor would record if the other were a source. Passive sensors can then measure travel times and image reflectors without any controlled source.

The noise-source model

Definition 7.1 — Ambient noise sources The wave field u(t, x) solves the wave equation of Definition 1.3 with a random source term n(t, y), centred, stationary in time and delta-correlated in space: \mathbb{E}\big[n(t, y)\, n(t', y')\big] = F(t - t')\, K(y)\, \delta(y - y') .

The function F is the time covariance of the sources, with spectral density \hat F \geq 0, and K \geq 0 is their spatial density. The medium is three-dimensional with Green’s function G.

Proposition 7.2 — Cross-correlation of the recordings The recordings at x_1 and x_2 are jointly stationary, with cross-covariance C(\tau, x_1, x_2) = \mathbb{E}\big[u(t, x_1)\, u(t + \tau, x_2)\big] = \frac{1}{2\pi} \int \hat F(\omega)\, e^{-i\omega\tau} \int K(y)\, \overline{\hat G(\omega, x_1, y)}\, \hat G(\omega, x_2, y)\, dy\, d\omega .

Proof. The recording at x_j is the superposition over y of the source signals n(\cdot, y) filtered by G(\cdot, x_j, y).

For a single source, two filters h_1, h_2 applied to the same process give the cross-spectrum \overline{\hat h_1}\, \hat h_2\, \hat F, by the computation of Proposition 6.5.

Sources at different points are uncorrelated, so their contributions add, with weight K(y). ∎

Green’s function retrieval

Theorem 7.3 — The cross-correlation contains the Green’s function Let the sources be spread uniformly over a sphere of radius R surrounding the sensors, so that K(y)\, dy is the surface measure. As R \to \infty,

Key result — Green’s function retrieval \partial_\tau C(\tau, x_1, x_2) = -\frac{c_0}{2}\, \Big[ F * \big( G(\cdot, x_1, x_2) - G(-\cdot, x_1, x_2) \big) \Big](\tau) .

In a homogeneous medium, the derivative of the cross-correlation thus shows two pulses, at \tau = \pm |x_1 - x_2| / c_0.

Proof. By the large-sphere Helmholtz–Kirchhoff identity (Theorem 3.5) and reciprocity, the inner integral of Proposition 7.2 tends to \mathrm{Im}\, \hat G(\omega, x_1, x_2) / k, with k = \omega / c_0. The Fourier transform of \partial_\tau C is therefore -i\omega\, \hat F(\omega)\, \frac{c_0}{\omega}\, \frac{\hat G - \overline{\hat G}}{2i} = -\frac{c_0}{2}\, \hat F(\omega) \big( \hat G(\omega) - \overline{\hat G(\omega)} \big) .

Since G is real, \overline{\hat G(\omega)} is the transform of G(-t), and the product of transforms is the transform of a convolution (Proposition 0.2). ∎

The same proof works in a heterogeneous medium, as long as the speed is constant outside a ball enclosed by the source sphere: Green’s identity only uses that the Helmholtz operator is real. The cross-correlation then contains the full Green’s function, with all its scattered arrivals.

Directivity of the sources

Real noise sources are not uniformly distributed: ocean microseisms come mainly from the coasts. The far-field computation below shows which sources matter.

Proposition 7.4 — Only the sources aligned with the sensors matter Let the sources lie on a large sphere with a smooth angular density K(\hat y). Let e = (x_1 - x_2)/|x_1 - x_2|, let T = |x_1 - x_2|/c_0, and let \bar K(\mu) be the average of K over the circle \{\hat y \cdot e = \mu\}. Then C(\tau, x_1, x_2) = \frac{1}{8\pi} \int_{-1}^{1} \bar K(\mu)\, F(\tau - \mu T)\, d\mu , \partial_\tau C(\tau, x_1, x_2) = -\frac{\bar K(1)\, F(\tau - T) - \bar K(-1)\, F(\tau + T)}{8\pi T} + \frac{1}{8\pi T} \int_{-1}^{1} \bar K'(\mu)\, F(\tau - \mu T)\, d\mu .

Proof. In the far field, \hat G(x, y) \approx e^{ik(R - \hat y \cdot x)} / (4\pi R), so the inner integral of Proposition 7.2 has phase k\, \hat y \cdot (x_1 - x_2) and amplitude 1/(16\pi^2) per unit solid angle.

The phase is a delay \mu T with \mu = \hat y \cdot e. By Archimedes’ theorem, \mu is uniformly distributed on [-1, 1] when \hat y is uniform on the sphere.

In the coordinates (\mu, \varphi) the area element is d\mu\, d\varphi, and integrating over \varphi gives the first formula.

The second follows by integrating by parts in \mu, since \partial_\tau F(\tau - \mu T) = -T^{-1}\, \partial_\mu F(\tau - \mu T) . \qquad ∎

For a band-pass noise, F oscillates and the last integral is small when \bar K is smooth. The pulse at \tau = +T is weighted by the sources in the direction e, beyond x_1 as seen from x_2.

The pulse at \tau = -T is weighted by the sources beyond x_2.

With \bar K \equiv 1 one recovers Theorem 7.3. This is the stationary-phase argument of Snieder (2004), in exact form for a homogeneous medium.

Travel times and tomography

The peak of the cross-correlation envelope gives the travel time between two sensors. Its reliability follows from ch. 6: by Theorem 6.8, the empirical cross-correlation fluctuates around its mean with a standard deviation of order C(0)/\sqrt{BT}, where C(0) is the power of the recordings. A coherent peak of relative amplitude \eta therefore emerges after a recording time of order 1/(\eta^2 B).

Example 7.5 — How long to record

  • One month of seismic noise in a band of B = 0.1 Hz gives BT \approx 2.6 \cdot 10^5, hence a relative noise floor of about 0.2\,\%.
  • A coherent peak of 1 % of C(0) then stands five times above the fluctuations.
  • Halving the record halves BT and divides this ratio by \sqrt 2.

With travel times T_{ij} between many pairs of stations, the slowness 1/c(x) can be reconstructed. Linearised around a reference model, each travel time is a line integral of the slowness perturbation along a ray, so the problem is a linear inverse problem of ch. 2, regularised by Tikhonov’s method. Shapiro, Campillo, Stehly and Ritzwoller (2005) applied this to surface waves across California.

Passive imaging

Theorem 7.3 says that a pair of passive sensors behaves, on average, like an active source–receiver pair. An array of passive sensors therefore yields a virtual response matrix, and the imaging methods of ch. 3 apply.

Proposition 7.6 — Cross-correlations as virtual echoes Let the medium contain a reflector, in the Born approximation, and let the sources surround the array as in Theorem 7.3. The cross-spectral matrix \hat C(\omega) of the recordings at x_1, \dots, x_N is \hat C(\omega) = \frac{c_0\, \hat F(\omega)}{\omega}\, \Big( \mathrm{Im}\, \hat G_0(\omega, x_n, x_m) + \frac{A(\omega) - \overline{A(\omega)}}{2i} \Big)_{n, m} , where G_0 is the background Green’s function and A the MSR matrix of Proposition 1.7.

In the time domain, the positive lags of \partial_\tau C contain the echoes of the active experiment, up to the factor -c_0/2 and the convolution by F.

Proof. The full Green’s function is \hat G_0 + \hat G_s, with \hat G_s(x_n, x_m) = A_{nm} in the Born approximation. Theorem 7.3 holds for the full medium, as noted after its proof, and \mathrm{Im}\, \hat G_s = (A - \bar A)/(2i).

The term A(\omega) is the transform of the causal echoes A_{nm}(t), and \overline{A(\omega)} that of their time reversal, which lives at negative lags. ∎

Migrating the positive-lag cross-correlations with the delay-and-sum formula of Proposition 3.3 images the reflector, with the resolution of Proposition 3.7. Garnier and Papanicolaou (2009) analyse this passive imaging, including its statistical stability and the role of the source distribution. When the illumination is partial, the missing directions produce artefacts, a topic taken up in ch. 8.

import numpy as np

c0, R, S = 1.0, 50.0, 6000                       # speed, radius of the source sphere, sources
x1, x2 = np.array([-2.6, 0, 0]), np.array([2.6, 0, 0])
i = np.arange(S) + 0.5                            # Fibonacci points on the sphere
phi, th = np.pi * (1 + 5**0.5) * i, np.arccos(1 - 2 * i / S)
Y = R * np.stack([np.cos(phi) * np.sin(th), np.sin(phi) * np.sin(th), np.cos(th)], axis=1)
dA = 4 * np.pi * R**2 / S                         # area element of each source
r1, r2 = np.linalg.norm(Y - x1, axis=1), np.linalg.norm(Y - x2, axis=1)
G = lambda k, r: np.exp(1j * k * r) / (4 * np.pi * r)
r12 = np.linalg.norm(x1 - x2)

# Helmholtz-Kirchhoff: sum_y conj G(x1,y) G(x2,y) dA  ~  Im G(x1,x2) / k
for k in [2 * np.pi, 3 * np.pi]:
    lhs = np.sum(np.conj(G(k, r1)) * G(k, r2)) * dA
    print(f"k={k:.2f}: source sum {lhs.real:+.6f}{lhs.imag:+.6f}i, "
          f"Im G / k = {np.sin(k * r12) / (4 * np.pi * r12) / k:+.6f}")

# envelope of the cross-correlation for a noise spectrum centred on 1 Hz
w = np.linspace(0.05, 4 * np.pi, 800); dw = w[1] - w[0]
F = np.exp(-((w - 2 * np.pi) / 2.0)**2)
tau = np.linspace(-10, 10, 2001)
for name, K in [("uniform", np.ones(S)), ("mostly x < 0", (1 - Y[:, 0] / R)**2)]:
    Chat = F * ((K * np.conj(G(w[:, None] / c0, r1)) * G(w[:, None] / c0, r2)).sum(1) * dA)
    env = np.abs(np.exp(-1j * np.outer(tau, w)) @ Chat) * dw / np.pi   # analytic-signal envelope
    pos, neg = tau > 0, tau < 0
    print(f"sources {name:12s}: envelope max at tau={tau[pos][env[pos].argmax()]:+.2f} "
          f"({env[pos].max():.1e}) and tau={tau[neg][env[neg].argmax()]:+.2f} ({env[neg].max():.1e})")
print(f"travel time |x1 - x2| / c0 = {r12 / c0:.2f}")

Code 7.7 — What the code shows Six thousand sources on a sphere of radius 50 wavelengths surround two sensors 5.2 wavelengths apart.

  • The source sum matches \mathrm{Im}\, \hat G / k at two frequencies: 0.002316 against 0.002316, and -0.001545 against -0.001544 (Theorem 3.5).
  • With uniform sources, the envelope of the cross-correlation peaks at \tau = \pm 5.20, the travel time.
  • With a density (1 - \hat y_1)^2, concentrated on the side of x_1, only the peak at \tau = +5.19 remains; its amplitude is four times the uniform one, since \bar K(1) = 4, and the negative side is a thousand times weaker (Proposition 7.4).

Key takeaways — chapter 7

  • The cross-correlation of noise recordings is an integral over the sources of products of Green’s functions (Proposition 7.2).
  • With sources surrounding the sensors, its derivative is the Green’s function between the sensors minus its time reversal, convolved with the source covariance (Theorem 7.3).
  • Only the sources aligned with the two sensors contribute to the travel-time peaks; one-sided sources give one-sided correlations (Proposition 7.4).
  • Travel times need a recording time of order 1/(\eta^2 B), and cross-correlation matrices can be migrated like active data (Proposition 7.6).

8. Research directions and open problems

This chapter is for self-study. It sketches where the four themes of the module lead in current research, with entry points into the literature; it is a map, not a survey.

Imaging in random and cluttered media

The additive noise model of Definition 1.8 allows exact computations, but in echography and seismology the dominant randomness is clutter: echoes from many small heterogeneities of the medium. Migration of cluttered data produces speckle, images whose fine details depend on the unknown realisation of the medium.

Coherent interferometry, developed by Borcea, Papanicolaou and Tsogka (2005), migrates local cross-correlations of the data instead of the data themselves. The resulting images are statistically stable, at the price of some resolution, which is the trade-off of Theorem 6.8 transposed to imaging.

In ultrasound, Aubry and Derode (2009) used random matrix theory to separate single scattering, which carries the image, from multiple scattering, which behaves like a random matrix. Lambert, Cobus, Frappart, Fink and Aubry (2020) introduced a distortion matrix that corrects aberrations caused by an unknown speed of sound.

Time reversal behaves differently from migration in random media: multiple scattering enlarges the effective aperture and the refocusing is statistically stable (Blomgren, Papanicolaou and Zhao, 2002). The asymptotic theory of waves in randomly layered media is developed in the book by Fouque, Garnier, Papanicolaou and Sølna (2007).

High-dimensional detection and estimation

Ch. 4 and ch. 5 used the simplest spiked model. Several directions refine it.

The official reference by Ammari and coauthors (2013) develops multistatic imaging of small and extended targets along these lines.

Noise-based imaging and monitoring

The founding experiments of correlation-based imaging include ultrasonic thermal noise in an aluminium block (Weaver and Lobkis, 2001) and the seismic coda (Campillo and Paul, 2003). Wapenaar (2004) proved Green’s function retrieval for arbitrary inhomogeneous elastic media, and Snieder (2004) gave the stationary-phase explanation of Proposition 7.4. Bakulin and Calvert (2006) turned the idea into the virtual source method of exploration geophysics.

Repeated cross-correlations also monitor slow changes of a medium. Brenguier and coauthors (2008) measured small relative changes of seismic velocity along the San Andreas fault after earthquakes, using years of continuous noise records. The theory of these measurements combines ch. 6 and ch. 7 with the analysis of small perturbations of travel times.

The book by Garnier and Papanicolaou (2016), an official reference of the module, gives the mathematical theory of passive imaging, including scattering media, where multiple scattering can help by diversifying the illumination.

Learned reconstruction and generative priors

The Bayesian framework of ch. 2 extends to priors learned from data. Arridge, Maass, Öktem and Schönlieb (2019) survey data-driven models for inverse problems. Jin, McCann, Froustey and Unser (2017) post-process a simple reconstruction with a convolutional network, and Adler and Öktem (2018) unroll an iterative scheme into a trained network.

Diffusion models provide generative priors, and Chung, Kim, McCann, Klasky and Ye (2023) sample approximate posteriors with them. Whether such posteriors quantify uncertainty reliably, in the sense of Proposition 2.12, is largely open. The MVA courses on image restoration and synthesis and on diffusion and multiscale models develop these models.

Full-waveform inversion and super-resolution

Migration linearises the problem; full-waveform inversion fits the complete wave equation to the data by nonlinear least squares (Tarantola, 1984; Virieux and Operto, 2009). The misfit is not convex, and a poor initial model converges to a wrong one whose arrivals are shifted by a period, the cycle-skipping problem. Engquist and Froese (2014) proposed optimal-transport distances between seismic signals to convexify the misfit.

The diffraction limit of Corollary 3.6 holds for linear imaging. With a sparsity prior, Candès and Fernandez-Granda (2014) showed that point sources separated by a few times the Rayleigh distance can be recovered exactly by convex optimisation from low-frequency data.

A list of open problems

  1. Detection thresholds and power for structured noise (symmetric, correlated, heavy-tailed) at moderate N.
  2. Statistical stability of passive imaging with non-uniform, non-stationary noise sources.
  3. Calibrated uncertainty for learned reconstructions and generative priors.
  4. What information about the medium survives strong multiple scattering, and how to extract it.
  5. Joint estimation of the noise level, the number of targets and their positions, with finite-sample guarantees.

Key takeaways — chapter 8

  • Clutter, not measurement noise, limits imaging in practice; interferometric and matrix methods tame it.
  • Spiked models extend to denoising, rank estimation and realistic noise, with many finite-N questions open.
  • Noise correlations image and monitor the Earth; their theory rests on ch. 6 and ch. 7.
  • Learned priors and full-waveform inversion push beyond linear imaging, at the cost of guarantees still to be established.

Exercises

Levels: ★ apply the course, ★★ combine or prove a short result, ★★★ open-ended or research-flavoured. Exercises 12 and 14 are computational.

  1. ★ Resolution of a seismic survey. Waves travel at c_0 = 3000 m/s with central frequency 30 Hz and bandwidth 20 Hz. A linear array of aperture a = 1 km images a reflector at depth L = 3 km. Compute the wavelength, the cross-range resolution and the range resolution of echoes. (ch. 1, 3)

    Solution: \lambda = 3000/30 = 100 m. By Proposition 3.7, the cross-range resolution is \lambda L / a = 100 \times 3 = 300 \text{ m}, and the range resolution of echoes is c_0/(2B) = 3000/40 = 75 m. Range is resolved four times better than cross-range: with a narrow aperture, bandwidth is the main source of resolution.

  2. ★ Eigenvalues are not singular values. Three sensors see one reflector with illumination vector g = (1, i, 1)^\top and \rho k^2 = 2. Compute the MSR matrix, its singular values and vectors, the migration image at the reflector, and the nonzero eigenvalue of A. (ch. 1, 3)

    Solution: A = 2 g g^\top has rank one, and \|g\|^2 = 3, so by Proposition 1.7 \sigma_1 = 2 \times 3 = 6, \qquad u_1 = g/\sqrt 3, \qquad v_1 = \bar g/\sqrt 3 = (1, -i, 1)^\top/\sqrt 3 .

    The migration image is g^* A \bar g = 2 \|g\|^4 = 18. However A g = 2 g\, (g^\top g) and g^\top g = 1 - 1 + 1 = 1, so the nonzero eigenvalue is 2, not 6. A complex symmetric matrix is not Hermitian: imaging uses its singular values, or the eigenvalues of the Hermitian time-reversal operator A^* A.

  3. ★ Filter factors. Let s_j = 10^{-j} for j = 0, \dots, 4 and \alpha = 10^{-4}. Compute the Tikhonov factors \varphi_j and the noise amplification \varphi_j / s_j, and compare with TSVD at the same \alpha. (ch. 2)

    Solution: \varphi_j = s_j^2/(s_j^2 + \alpha) gives 0.9999, 0.990, 0.5, 0.0099 and 0.0001. The amplifications \varphi_j / s_j are 1.0, 9.9, 50, 9.9 and 1.0, never above \frac{1}{2\sqrt\alpha} = 50 , as in Theorem 2.8. TSVD keeps j = 0, 1, 2 with amplifications 1, 10 and 100, and discards the rest: it has twice the worst-case amplification and a sharper cut.

  4. ★ Exponential covariance. Let C(\tau) = s^2 e^{-|\tau|/\tau_c}. Compute the spectral density, and the relative standard deviation of C_T(0) for a Gaussian process with this covariance. (ch. 6)

    Solution: by evenness of C, S(\omega) = 2\, \mathrm{Re} \int_0^\infty s^2 e^{-\tau(1/\tau_c - i\omega)}\, d\tau , that is S(\omega) = \frac{2 s^2 \tau_c}{1 + \omega^2 \tau_c^2} , a Lorentzian of width 1/\tau_c. By Theorem 6.8, T\, \mathrm{Var}\, C_T(0) \to 2\int C^2 = 2 s^4 \tau_c, so the relative standard deviation is \sqrt{2\tau_c / T}: the record must be much longer than the correlation time.

  5. ★ Detection by numbers. An array of N = 64 sensors has noise level \sigma = 0.02 per entry. Give the edge of the noise bulk and the detectability threshold. For a reflector with s_A = 0.4, predict the top singular value and the overlap of its vector. If the observed top singular value is 0.47, estimate s_A. (ch. 4, 5)

    Solution: the edge is 2\sigma\sqrt N = 0.32 and the threshold \sigma\sqrt N = 0.16. With \theta = 0.4/0.16 = 2.5, Corollary 4.6 and Theorem 4.4 give \sigma_1 \approx 0.4 + \frac{0.0004 \times 64}{0.4} = 0.464, \qquad |u^* \hat u_1|^2 \approx 1 - \frac{1}{6.25} = 0.84 .

    Proposition 5.8 gives \hat s_A = (0.47 + \sqrt{0.2209 - 0.1024})/2 = 0.407.

  6. ★ Correlations of white noise. Let n_t be independent \mathcal{N}(0,1) and C_T(\tau) = T^{-1}\sum_{t=1}^T n_t\, n_{t+\tau}. Compute the mean and variance of C_T(\tau). (ch. 6)

    Solution: the mean is \mathbb{1}[\tau = 0]. For \tau \neq 0 the products n_t n_{t+\tau} are uncorrelated with variance 1, so the variance is 1/T.

    For \tau = 0, \mathrm{Var}(n_t^2) = 2 gives 2/T.

    This is the discrete form of Theorem 6.8, where the integral becomes \sum_s C(s)^2 + C(s+\tau) C(s-\tau).

  7. ★★ Uniqueness in the discrepancy principle. Show that \alpha \mapsto \|x_\alpha\| is non-increasing for Tikhonov regularisation, and that the discrepancy equation of Proposition 2.9 has a unique solution when some u_j^* y with s_j > 0 is nonzero. (ch. 2)

    Solution: in the singular bases, \|x_\alpha\|^2 = \sum_j \frac{s_j^2\, |u_j^* y|^2}{(s_j^2 + \alpha)^2} , a sum of non-increasing functions of \alpha. In the residual of Proposition 2.9, each term with s_j > 0 and u_j^* y \neq 0 is strictly increasing in \alpha, so r(\alpha) is strictly increasing and takes the target value once.

  8. ★★ Bayes risk. With the prior x \sim \mathcal{N}(0, \gamma^2 I), compute the Bayes risk of the posterior mean and of least squares in terms of the s_j. Evaluate them for s_j = 10^{-j}, j = 0, \dots, 4, \sigma = 0.01 and \gamma = 1. (ch. 2)

    Solution: by Proposition 2.12 the posterior mean has risk \mathrm{tr}\, C, and least squares has risk \sigma^2 \sum_j s_j^{-2} for every x: \mathrm{tr}\, C = \sum_j \frac{\sigma^2 \gamma^2}{\sigma^2 + \gamma^2 s_j^2}, \qquad R_{\mathrm{LS}} = \sigma^2 \sum_j s_j^{-2} .

    Numerically, the terms of \mathrm{tr}\, C are 0.0001, 0.0099, 0.5, 0.990 and 0.9999, so \mathrm{tr}\, C \approx 2.50. The prior mean alone has risk 5\gamma^2 = 5, and least squares about 1.01 \cdot 10^4.

  9. ★★ Power of the known-position test. In Proposition 5.3, let s = |\rho| k^2 \|g\|^2 and t = \sqrt{\ln(1/\alpha)}. Show that, if s/\sigma > t, P_{\mathrm{D}} \geq 1 - \exp\big(-(s/\sigma - t)^2\big) , and evaluate the bound for \alpha = 5\,\% and s/\sigma = 4. Compare with the threshold of blind detection. (ch. 3, 5)

    Solution: under H_1 the normalised statistic is |s e^{i\phi}/\sigma + Z'| with Z' \sim \mathcal{CN}(0,1). It falls below t only if |Z'| \geq s/\sigma - t.

    Since |Z'|^2 is exponential, this event has probability \exp(-(s/\sigma - t)^2).

    With t = 1.731 and s/\sigma = 4, the bound gives P_{\mathrm{D}} \geq 1 - e^{-5.15} = 0.994.

    Blind detection needs s > \sigma\sqrt N, that is s/\sigma > 10 for N = 100: knowing the position saves a factor of order \sqrt N.

  10. ★★ Focal spot in two dimensions. Show that a circular time-reversal mirror surrounding a source in two dimensions refocuses a field proportional to J_0(k|x - y|), and compute the radius of the first zero. Compare with three dimensions. (ch. 3)

    Solution: the proof of Theorem 3.5 holds in two dimensions, since \hat G = O(r^{-1/2}) and \partial_r \hat G - ik\hat G = O(r^{-3/2}) make the boundary error O(R^{-1}). The field is proportional to \mathrm{Im}\, \hat G = \mathrm{Im}\, \frac{i}{4} H_0^{(1)}(kr) = \frac{1}{4} J_0(kr) .

    The first zero of J_0 is at 2.405, hence r = 2.405\, \lambda / 2\pi \approx 0.38\, \lambda, about three quarters of the \lambda/2 of three dimensions.

  11. ★★ The second moment of the Marchenko–Pastur law. Show directly that N^{-1}\, \mathbb{E}\, \mathrm{tr}\, (X X^*)^2 \to 2 for X = W/\sqrt N, and check that C_2 = 2. (ch. 4)

    Solution: expand \mathbb{E}\, \mathrm{tr}\, (W W^*)^2 = \sum_{i, j, k, l} \mathbb{E}\big[W_{ij}\, \overline{W_{kj}}\, W_{kl}\, \overline{W_{il}}\big] .

    The expectation vanishes unless the entries pair up. Either k = i, which gives \sum_{i,j,l} \mathbb{E}\, |W_{ij}|^2 |W_{il}|^2 = N^3 + O(N^2) , or l = j with k \neq i, which gives another N^3 + O(N^2).

    Dividing by N \cdot N^2 gives the limit 2, the Catalan number C_2 = \binom42/3 = 2.

  12. ★★ Localisation by the top singular vector (computational). For the array of Code 1.10 and one reflector, choose the noise level so that \theta = 0.7, 1.5, 3, 6. Compare the top singular value with Corollary 4.6, the overlap |\hat g(z_1)^* \hat u_1|^2 with 1 - 1/\theta^2, and the cross-range position of the maximum of |\hat g(z)^* \hat u_1|. (ch. 4, 5)

    Hints and expected result: the code below gives ratios of \sigma_1 to the prediction between 0.97 and 1.04. The overlaps are 0.02, 0.71, 0.87 and 0.96, against 0, 0.56, 0.89 and 0.97: at N = 41, finite-size effects are visible near the threshold. Localisation fails at \theta = 0.7, is off by 0.15\lambda at \theta = 1.5, and is exact on the grid for \theta \geq 3.

import numpy as np
from scipy.special import hankel1

rng = np.random.default_rng(5)
N, k = 41, 2 * np.pi
xs = np.stack([(np.arange(N) - 20) * 0.5, np.zeros(N)], axis=1)
g = lambda z: 0.25j * hankel1(0, k * np.linalg.norm(z[..., None, :] - xs, axis=-1))
z1 = np.array([-2.0, 30.0])
A = k**2 * np.outer(g(z1), g(z1))                       # one reflector, rho = 1
s_A = np.linalg.norm(A, 2)
line = np.stack([np.linspace(-8, 4, 241), np.full(241, 30.0)], axis=1)   # cross-range search line
G_line = g(line); G_line /= np.linalg.norm(G_line, axis=1, keepdims=True)
gh = g(z1) / np.linalg.norm(g(z1))
for theta in [0.7, 1.5, 3.0, 6.0]:
    sigma = s_A / (theta * np.sqrt(N))                  # noise level giving this theta
    W = sigma * (rng.standard_normal((N, N)) + 1j * rng.standard_normal((N, N))) / np.sqrt(2)
    U, s, Vh = np.linalg.svd(A + W)
    pred = s_A + sigma**2 * N / s_A if theta > 1 else 2 * sigma * np.sqrt(N)
    overlap = abs(gh.conj() @ U[:, 0])**2
    x_hat = line[np.argmax(np.abs(G_line.conj() @ U[:, 0])), 0]
    print(f"theta={theta}: sigma_1/pred={s[0] / pred:.3f}, overlap={overlap:.2f} "
          f"(limit {max(1 - 1 / theta**2, 0):.2f}), estimated cross-range {x_hat:+.2f} (true -2.00)")
  1. ★★ One-sided noise. In Proposition 7.4, let \bar K(\mu) = 1 + \mu. Which pulses does \partial_\tau C contain, and where are the sources that produce them? Show that the remaining integral is small for a band-pass noise. (ch. 7)

    Solution: \bar K(1) = 2 and \bar K(-1) = 0, so only the pulse at \tau = +T survives, with twice the uniform amplitude. It comes from the sources in the direction e, beyond x_1 as seen from x_2.

    The remaining term is, with F_1 a primitive of F, \frac{1}{8\pi T} \int_{-1}^1 F(\tau - \mu T)\, d\mu = \frac{F_1(\tau + T) - F_1(\tau - T)}{8\pi T^2} .

    For a noise of central frequency \omega_0, F_1 is of order F(0)/\omega_0, so this term is smaller than the pulse by a factor of order 1/(\omega_0 T).

  2. ★★ How long to record (computational). In two dimensions, put 1000 noise sources on a circle of radius 50 around two sensors 5.2 wavelengths apart. Simulate records of duration T = 100, 400, 1600 and 6400 s in the band 0.5–1.5 Hz, compute the empirical cross-correlation and its relative error, and estimate the travel time from the symmetrised envelope. (ch. 6, 7)

    Hints and expected result: Fourier coefficients of a record of length T at the frequencies m/T are nearly independent circular Gaussians (Proposition 6.10), which the code exploits. The relative error times \sqrt{T/100} stays between 7.2 and 7.7: the error decays like T^{-1/2}, as Theorem 6.8 predicts. The travel time is missed in five of the six records of 100 and 400 s, and found within 0.15 s in every record of 1600 and 6400 s.

import numpy as np

rng = np.random.default_rng(6)
c0, R, S = 1.0, 50.0, 1000                       # 2D: sources on a circle of radius R
x1, x2 = np.array([-2.6, 0.0]), np.array([2.6, 0.0])
ang = 2 * np.pi * np.arange(S) / S
Y = R * np.stack([np.cos(ang), np.sin(ang)], axis=1)
r1, r2 = np.linalg.norm(Y - x1, axis=1), np.linalg.norm(Y - x2, axis=1)
T12 = np.linalg.norm(x1 - x2) / c0
tau = np.linspace(-30, 30, 1201)

def correlate(T):
    w = 2 * np.pi * np.arange(int(0.5 * T), int(1.5 * T)) / T   # Fourier bins in the band 0.5-1.5 Hz
    u1 = np.zeros(len(w), complex); u2 = np.zeros(len(w), complex); mean = np.zeros(len(w), complex)
    for chunk in np.array_split(np.arange(S), 20):
        G1 = np.exp(1j * np.outer(r1[chunk], w) / c0) / np.sqrt(r1[chunk, None])   # far-field 2D Green
        G2 = np.exp(1j * np.outer(r2[chunk], w) / c0) / np.sqrt(r2[chunk, None])
        xi = rng.standard_normal(G1.shape) + 1j * rng.standard_normal(G1.shape)    # source spectra
        u1 += (G1 * xi).sum(0); u2 += (G2 * xi).sum(0)
        mean += 2 * (np.conj(G1) * G2).sum(0)                                     # E[conj(u1) u2]
    E = np.exp(-1j * np.outer(tau, w))
    return E @ (np.conj(u1) * u2), E @ mean       # empirical and expected correlations (analytic)

for T in [100, 400, 1600, 6400]:                 # record length (s)
    errs, est = [], []
    for _ in range(3):                           # three independent records
        C_T, C = correlate(T)
        errs.append(np.linalg.norm(C_T - C) / np.linalg.norm(C))
        sym = (np.abs(C_T) + np.abs(C_T)[::-1])[tau > 0]               # symmetric envelope
        est.append(tau[tau > 0][sym.argmax()])
    err = np.sqrt(np.mean(np.square(errs)))
    print(f"T={T:5d} s: relative error {err:.2f} (x sqrt(T/100): {err * np.sqrt(T / 100):.1f}), "
          f"travel-time estimates {np.round(est, 2)} (true {T12:.2f})")
  1. ★★★ How many reflectors? Design an estimator of the number R of reflectors from the singular values of a noisy MSR matrix, by counting the values above the threshold of Proposition 5.5. Compare it with the information criteria of Wax and Kailath (1985), and study how both fail when two reflectors come closer than the Rayleigh distance. (ch. 3, 4, 5)

    Hints and expected result: with R reflectors well separated, Proposition 3.10 gives R singular values s_r, and Theorem 4.4 extends to finite rank: each s_r > \sigma\sqrt N produces an outlier. The counting estimator is consistent when all s_r exceed the threshold by a margin.

    When two reflectors approach, their illumination vectors become nearly parallel and the second singular value of A drops; expect a curve of the detection probability of the second reflector against the separation, falling near \lambda L / a.

  2. ★★★ Time reversal against migration in clutter. Add to the geometry of Code 3.12 a few hundred weak random scatterers, simulated with the Born approximation or with the Foldy–Lax multiple-scattering equations. Compare, over many realisations, the time-reversal refocusing on the target and the migration image of the target. (ch. 3, 8)

    Hints and expected result: in the Born simulation the clutter echoes add a random matrix of rank equal to the number of scatterers, far from the i.i.d. model of ch. 4. With multiple scattering, time reversal should refocus with a spot no wider than in the homogeneous case and with small fluctuations between realisations, while the migration image of the target fluctuates; quantify both by the mean and variance of the peak over realisations, and relate them to the discussion of ch. 8.

Projects and assessment

The official assessment is a project, with a numerical implementation or purely theoretical, ending with a written report and an oral presentation (master-mva.com); the Université Paris-Saclay course detail describes it as partial continuous assessment, and no weights are displayed. The subjects below are sized for that project. Each names its paper or model, its deliverables and a success criterion; the theoretical ones replace code by complete proofs. The written-exam proposal is a self-test on the whole module.

Solo projects

  1. [Solo · ≈ 20 h] Rectangular spiked models for two arrays. Paper study of Benaych-Georges and Nadakuditi (2012). Derive the singular value and vector limits for an N \times M matrix with N/M \to c, following the sketch of Theorem 4.4, and apply them to an MSR matrix whose emitter and receiver arrays differ. Success criterion: simulated limits within 2 % of the formulas for N = 400 and c \in \{0.25, 0.5, 1\}, and a figure of detection probability against \theta. Deliverables: code, 4–6 page report, 10-minute talk. Chapters 0, 4 and 5.
  2. [Solo · ≈ 20 h] Denoising the response matrix before imaging. Paper study of Gavish and Donoho (2014). Apply the optimal hard threshold 4/\sqrt 3 \cdot \sqrt N \sigma to the noisy MSR matrices of Code 3.12, then image with migration and MUSIC, and compare with truncation at the noise edge 2\sigma\sqrt N. Success criterion: for \theta \in \{1, 1.5, 2, 3, 5\} and 100 realisations each, a figure of the median localisation error of raw, edge-truncated and threshold-truncated data, which locates the range of \theta where denoising halves the error, or shows that it never does. Deliverables: code, 4–6 page report, 10-minute talk. Chapters 3, 4 and 5.
  3. [Solo · ≈ 20 h] The point-spread function of migration (theoretical). Derive the full two-dimensional point-spread function of multi-frequency Kirchhoff migration for a linear array in the paraxial regime, including an off-broadside reflector, and prove the resolution formulas of Proposition 3.7 with explicit error terms. Success criterion: complete proofs, and a numerical check against Code 3.12 within 10 %. Deliverables: 4–6 page report with proofs, short script, 10-minute talk. Chapters 1 and 3.
  4. [Solo · ≈ 20 h] Selective focusing with DORT. Paper study of Prada and Fink (1994). Reproduce selective focusing on two reflectors of different strengths with the singular vectors of the time-reversal operator, then measure how the vectors mix as the reflectors approach. Success criterion: a figure of selective focusing, and a curve of the mixing angle against separation that turns over near \lambda L / a. Deliverables: code, 4–6 page report, 10-minute talk. Chapter 3.

Group projects

  1. [Group of 2–3 · ≈ 30 h each] Passive travel-time tomography. In the spirit of Shapiro, Campillo, Stehly and Ritzwoller (2005), on synthetic data. Build a 2D medium with a slow anomaly and 20 stations, simulate ambient noise from sources on a surrounding circle with straight-ray travel times, extract inter-station travel times from cross-correlations, and invert them by Tikhonov regularisation. Chapters 2, 6 and 7.
    • Split: noise simulation and correlations; travel-time picking with error bars from the \sqrt{BT} rule; tomography with the discrepancy principle.
    • Success criterion: the anomaly recovered within one station spacing and with relative L^2 error below 30 %. Deliverables: code, 8-page report, 15-minute talk.
  2. [Group of 2–3 · ≈ 30 h each] A detection–localisation–characterisation pipeline. Simulate multi-frequency MSR matrices of a 64-element probe facing point reflectors, with i.i.d. noise. Implement the thresholds of ch. 5, rank estimation, MUSIC and migration, and debiased reflectivity estimates. Split: simulation and detection; imaging; characterisation and ROC study. Success criterion: empirical false-alarm rate within one percentage point of the nominal 5 %, a detection curve showing the transition of Proposition 5.6, and reflectivity errors below 10 % for \theta \geq 2. Deliverables: code, 8-page report, 15-minute talk. Chapters 1, 3, 4 and 5.
  3. [Group of 2–3 · ≈ 30 h each] Bayesian deconvolution with uncertainty. On the blur of Code 2.13 and on the imaging operator of ch. 3, compare three ways of setting the hyperparameters: a Gibbs sampler with conjugate inverse-gamma priors on \sigma^2 and \gamma^2, empirical Bayes by marginal likelihood, and the discrepancy principle. Split: Gibbs sampler; empirical Bayes and discrepancy; imaging operator. Success criterion: pointwise 95 % credible bands whose empirical coverage lies between 90 % and 99 % over 100 synthetic signals. Deliverables: code, 8-page report, 15-minute talk. Chapters 2 and 3.

Written exam (proposal)

Two hours, one handwritten sheet of notes allowed, four exercises covering ch. 2–6.

  1. Question (5 points). State and prove the Helmholtz–Kirchhoff identity, deduce the time-reversal focal spot of a full-aperture mirror in three dimensions, and give its first zero.

    Expected: Green’s second identity applied to \hat G(\cdot, y) and \overline{\hat G(\cdot, x)}, reciprocity, the radiation condition on a large sphere (Theorem 3.5); the field proportional to \sin(k r)/(4\pi r), first zero at \lambda / 2 (Corollary 3.6).

  2. Question (5 points). Let K = \mathrm{diag}(1, 0.1), \sigma = 0.1 and x \sim \mathcal{N}(0, I). Compute the posterior mean and covariance, the equivalent Tikhonov parameter, and compare the Bayes risk of the posterior mean with that of least squares.

    Expected: \alpha = \sigma^2/\gamma^2 = 0.01; posterior mean (y_1 / 1.01,\ 5\, y_2); posterior variances 0.0099 and 0.5, so \mathrm{tr}\, C = 0.51; least squares has variances 0.01 and 1, total 1.01 (Theorem 2.10, Proposition 2.12).

  3. Question (5 points). An array of N = 100 sensors has noise level \sigma = 0.05. Give the threshold of the top-singular-value test at 5 %. For s_A = 1, predict the top singular value and the overlap; for s_A = 0.4, say which test has power and how much.

    Expected: threshold 0.05 \times 19.93 \approx 0.997; \theta = 2, \sigma_1 \approx 1.25, overlap 0.75; for \theta = 0.8 the top singular value is asymptotically powerless, and the energy detector has power about 1 - \Phi(1.645 - 0.64) \approx 0.16 (Propositions 5.5–5.7).

  4. Question (5 points). Prove the Wiener–Khinchin theorem for an integrable covariance, and deduce that the spectral density is non-negative. Compute the spectral density of C(\tau) = e^{-|\tau|}.

    Expected: the double integral reduced to \int (T - |\tau|) C(\tau) e^{i\omega\tau} d\tau, dominated convergence (Theorem 6.3); S(\omega) = 2/(1 + \omega^2).

Grading rubric (proposal)

Criterion Weight What earns the marks
Correctness of the mathematics 30 % Statements precise, assumptions stated, proofs complete or sketched at the key step
Implementation and reproducibility 20 % Code runs from a clean environment with fixed seeds; for a theoretical project, the numerical check of the main result
Experimental or theoretical evidence 20 % The success criterion is met, or its failure is explained; comparison with the predictions of the course
Critical analysis 20 % Limits of the model (Born approximation, noise model, finite N), and what would change in a real experiment
Communication 10 % Clear report and talk, readable figures, sources cited

References

Official references (master-mva.com, “Références”)

  1. Course lecture notes (“polycopié”).
  2. H. Ammari et al. Mathematical and Statistical Methods for Multistatic Imaging. Lecture Notes in Mathematics 2098, Springer, 2013.
  3. J. Garnier and G. Papanicolaou. Passive Imaging with Ambient Noise. Cambridge University Press, 2016.

Textbooks

  1. G. W. Anderson, A. Guionnet and O. Zeitouni. An Introduction to Random Matrices. Cambridge University Press, 2010.
  2. Z. Bai and J. W. Silverstein. Spectral Analysis of Large Dimensional Random Matrices, 2nd edition. Springer, 2010.
  3. N. Bleistein, J. K. Cohen and J. W. Stockwell Jr. Mathematics of Multidimensional Seismic Imaging, Migration, and Inversion. Springer, 2001.
  4. P. J. Brockwell and R. A. Davis. Time Series: Theory and Methods, 2nd edition. Springer, 1991.
  5. D. Colton and R. Kress. Inverse Acoustic and Electromagnetic Scattering Theory, 3rd edition. Springer, 2013.
  6. H. W. Engl, M. Hanke and A. Neubauer. Regularization of Inverse Problems. Kluwer, 1996.
  7. J.-P. Fouque, J. Garnier, G. Papanicolaou and K. Sølna. Wave Propagation and Time Reversal in Randomly Layered Media. Springer, 2007.
  8. P. C. Hansen. Rank-Deficient and Discrete Ill-Posed Problems. SIAM, 1998.
  9. R. A. Horn and C. R. Johnson. Matrix Analysis, 2nd edition. Cambridge University Press, 2013.
  10. J. Kaipio and E. Somersalo. Statistical and Computational Inverse Problems. Springer, 2005.
  11. S. M. Kay. Fundamentals of Statistical Signal Processing, Volume II: Detection Theory. Prentice Hall, 1998.
  12. E. L. Lehmann and J. P. Romano. Testing Statistical Hypotheses, 3rd edition. Springer, 2005.
  13. A. M. Stuart. Inverse problems: a Bayesian perspective. Acta Numerica, 19:451–559, 2010.
  14. A. Tarantola. Inverse Problem Theory and Methods for Model Parameter Estimation. SIAM, 2005.

Articles

  1. J. Adler and O. Öktem. Learned primal-dual reconstruction. IEEE Transactions on Medical Imaging, 37(6):1322–1332, 2018.
  2. S. Arridge, P. Maass, O. Öktem and C.-B. Schönlieb. Solving inverse problems using data-driven models. Acta Numerica, 28:1–174, 2019.
  3. A. Aubry and A. Derode. Random matrix theory applied to acoustic backscattering and imaging in complex media. Physical Review Letters, 102(8):084301, 2009.
  4. J. Baik, G. Ben Arous and S. Péché. Phase transition of the largest eigenvalue for nonnull complex sample covariance matrices. Annals of Probability, 33(5):1643–1697, 2005.
  5. A. Bakulin and R. Calvert. The virtual source method: theory and case study. Geophysics, 71(4):SI139–SI150, 2006.
  6. F. Benaych-Georges and R. R. Nadakuditi. The singular values and vectors of low rank perturbations of large rectangular random matrices. Journal of Multivariate Analysis, 111:120–135, 2012.
  7. P. Blomgren, G. Papanicolaou and H. Zhao. Super-resolution in time-reversal acoustics. Journal of the Acoustical Society of America, 111(1):230–248, 2002.
  8. L. Borcea, G. Papanicolaou and C. Tsogka. Interferometric array imaging in clutter. Inverse Problems, 21(4):1419–1460, 2005.
  9. F. Brenguier, M. Campillo, C. Hadziioannou, N. M. Shapiro, R. M. Nadeau and E. Larose. Postseismic relaxation along the San Andreas fault at Parkfield from continuous seismological observations. Science, 321(5895):1478–1481, 2008.
  10. M. Campillo and A. Paul. Long-range correlations in the diffuse seismic coda. Science, 299(5606):547–549, 2003.
  11. E. J. Candès and C. Fernandez-Granda. Towards a mathematical theory of super-resolution. Communications on Pure and Applied Mathematics, 67(6):906–956, 2014.
  12. M. Cheney. The linear sampling method and the MUSIC algorithm. Inverse Problems, 17(4):591–595, 2001.
  13. H. Chung, J. Kim, M. T. McCann, M. L. Klasky and J. C. Ye. Diffusion posterior sampling for general noisy inverse problems. International Conference on Learning Representations, 2023.
  14. D. L. Donoho, M. Gavish and I. M. Johnstone. Optimal shrinkage of eigenvalues in the spiked covariance model. Annals of Statistics, 46(4):1742–1778, 2018.
  15. B. Engquist and B. D. Froese. Application of the Wasserstein metric to seismic signals. Communications in Mathematical Sciences, 12(5):979–988, 2014.
  16. M. Fink. Time reversed acoustics. Physics Today, 50(3):34–40, 1997.
  17. J. Garnier and G. Papanicolaou. Passive sensor imaging using cross correlations of noisy signals in a scattering medium. SIAM Journal on Imaging Sciences, 2(2):396–437, 2009.
  18. M. Gavish and D. L. Donoho. The optimal hard threshold for singular values is 4/\sqrt 3. IEEE Transactions on Information Theory, 60(8):5040–5053, 2014.
  19. M. Gavish and D. L. Donoho. Optimal shrinkage of singular values. IEEE Transactions on Information Theory, 63(4):2137–2152, 2017.
  20. S. Geman. A limit theorem for the norm of random matrices. Annals of Probability, 8(2):252–261, 1980.
  21. K. H. Jin, M. T. McCann, E. Froustey and M. Unser. Deep convolutional neural network for inverse problems in imaging. IEEE Transactions on Image Processing, 26(9):4509–4522, 2017.
  22. K. Johansson. Shape fluctuations and random matrices. Communications in Mathematical Physics, 209(2):437–476, 2000.
  23. I. M. Johnstone. On the distribution of the largest eigenvalue in principal components analysis. Annals of Statistics, 29(2):295–327, 2001.
  24. W. Lambert, L. A. Cobus, T. Frappart, M. Fink and A. Aubry. Distortion matrix approach for ultrasound imaging of random scattering media. Proceedings of the National Academy of Sciences, 117(26):14645–14656, 2020.
  25. V. A. Marchenko and L. A. Pastur. Distribution of eigenvalues for some sets of random matrices. Mathematics of the USSR-Sbornik, 1(4):457–483, 1967.
  26. A. Onatski, M. J. Moreira and M. Hallin. Asymptotic power of sphericity tests for high-dimensional data. Annals of Statistics, 41(3):1204–1231, 2013.
  27. C. Prada and M. Fink. Eigenmodes of the time reversal operator: a solution to selective focusing in multiple-target media. Wave Motion, 20(2):151–163, 1994.
  28. R. O. Schmidt. Multiple emitter location and signal parameter estimation. IEEE Transactions on Antennas and Propagation, 34(3):276–280, 1986.
  29. N. M. Shapiro, M. Campillo, L. Stehly and M. H. Ritzwoller. High-resolution surface-wave tomography from ambient seismic noise. Science, 307(5715):1615–1618, 2005.
  30. R. Snieder. Extracting the Green’s function from the correlation of coda waves: a derivation based on stationary phase. Physical Review E, 69(4):046610, 2004.
  31. A. Tarantola. Inversion of seismic reflection data in the acoustic approximation. Geophysics, 49(8):1259–1266, 1984.
  32. C. A. Tracy and H. Widom. Level-spacing distributions and the Airy kernel. Communications in Mathematical Physics, 159(1):151–174, 1994.
  33. J. Virieux and S. Operto. An overview of full-waveform inversion in exploration geophysics. Geophysics, 74(6):WCC1–WCC26, 2009.
  34. K. Wapenaar. Retrieving the elastodynamic Green’s function of an arbitrary inhomogeneous medium by cross correlation. Physical Review Letters, 93(25):254301, 2004.
  35. M. Wax and T. Kailath. Detection of signals by information theoretic criteria. IEEE Transactions on Acoustics, Speech, and Signal Processing, 33(2):387–392, 1985.
  36. R. L. Weaver and O. I. Lobkis. Ultrasonics without a source: thermal fluctuation correlations at MHz frequencies. Physical Review Letters, 87(13):134301, 2001.
  37. P. D. Welch. The use of fast Fourier transform for the estimation of power spectra: a method based on time averaging over short, modified periodograms. IEEE Transactions on Audio and Electroacoustics, 15(2):70–73, 1967.
  38. Y. Q. Yin, Z. D. Bai and P. R. Krishnaiah. On the limit of the largest eigenvalue of the large dimensional sample covariance matrix. Probability Theory and Related Fields, 78(4):509–521, 1988.