How sensor bit depth and modulation frequencies affect depth measurement precision for a single pixel
A continuous-wave indirect time-of-flight (CW-iToF) sensor emits sinusoidally modulated light at frequency f and captures four correlation samples per pixel (4-tap homodyne). Each raw sample is an intensity measurement—a photon count, the same type of observation as any camera pixel:
where is the DC component (ambient light + active illumination DC + dark current), is the modulated return amplitude at distance d, and is the phase delay encoding depth. The amplitude falls off with distance due to the inverse-square law:
Differencing opposite taps cancels the DC component and yields in-phase and quadrature signals:
The phase (and thus depth) is recovered via:
Each frequency has an unambiguous range beyond which the phase wraps: .
Multiple frequencies extend the unambiguous range. Via the Chinese Remainder Theorem, the combined unambiguous range is:
Choosing frequencies with small GCD gives a large unambiguous range (e.g., 20, 60, 100 MHz → GCD = 20 MHz → R = 7.5 m).
Given N frequencies, each producing a phasor (Ii, Qi) with observed phase θi = atan2(Qi, Ii) and observed amplitude Ri = √(Ii² + Qi²), the joint maximum likelihood depth estimate maximizes the weighted sum of cosines:
The weight wi = Ri uses the observed amplitude as a confidence measure (low R = noisy phasor, downweighted). This objective is periodic: the cosines from different frequencies constructively interfere at the correct depth and destructively interfere elsewhere, naturally resolving phase wrapping as part of the optimization. The widget evaluates this via a coarse-to-fine grid search over the combined unambiguous range.
The alternative inverse-variance weighting is a linearized approximation: estimate depth independently per frequency, then combine via . This is the MLE in the high-SNR regime where phase errors are small and unwrapping is reliable, but it fails catastrophically when noise causes wrapping errors because it treats each frequency’s estimate as independent.
The widget shows both curves simultaneously. Where they agree, unwrapping is reliable and both give the true precision. Where the joint MLE curve rises above the inverse-variance curve, phase unwrapping is failing — the inverse-variance curve is an optimistic bound that ignores wrapping errors.
The plotted curves are computed by Monte Carlo simulation of the actual quantized pipeline, not by analytical error propagation. For each trial:
The RMS error over all trials gives σd at each distance. This captures effects that analytical formulas miss:
For comparison, the linearized analytical model treats noise as continuous Gaussian and propagates it through atan2 via standard error propagation. Per-sample noise variance (ADC levels), combining quantization, shot noise, and read noise:
Phase precision (from error propagation through atan2; the I and Q difference variances are equal because the signal-dependent shot noise terms cancel to first order when summing opposite taps [1]):
Depth precision:
This gives a smooth d² curve that agrees with the MC at mid-range but misses clipping (close range) and discrete atan2 effects (low bit depth).