Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Probability Applied — A Worked Sensor Noise Model

DhvaniAI

From One Random Event to a Gaussian Noise Floor

Part 6 laid out the generic measurement chain. This page works it through end-to-end for one concrete sensor — the camera — because every link in the chain corresponds to physically distinct hardware, making it the cleanest worked example.

The same template applies to any sensor (vibration, audio, network telemetry); the cross-reference table at the end shows where each one plugs in. This is the applied capstone of the probability series.


1. Random Variables and Distributions — Quick Recap

A random variable is a function that maps an experiment’s outcome to a number. Every sensor reading is a random variable — it takes a different value each time you measure the same underlying state, because the physics of measurement is inherently random.

A probability distribution completely describes a random variable: it assigns a probability to every possible value.

The three quantities that characterise a distribution:


2. The Distribution Chain — Worked for the Camera Sensor

The camera is the cleanest physical instance of the chain because each link corresponds to a different piece of silicon. The same chain applies to any sensor — only the physical interpretations of pp and λ\lambda change.

Bernoulli — one photon, one photosite

Each photon either reaches the photosite or it doesn’t. Probability pp of detection (= quantum efficiency, QE):

P(X=1)=p,P(X=0)=1pP(X=1) = p, \quad P(X=0) = 1-p

Mean = pp, Variance = p(1p)p(1-p).

Generic version: one event, two outcomes, probability pp of “success.”

Binomial — nn photons, one photosite

Count the number of photons detected in nn independent trials:

P(X=k)=(nk)pk(1p)nkP(X=k) = \binom{n}{k} p^k (1-p)^{n-k}

Mean = npnp, Variance = np(1p)np(1-p).

Generic version: count successes in nn independent identical trials.

Poisson — photon flux model

When nn \to \infty and p0p \to 0 such that np=λnp = \lambda (mean count) stays fixed:

P(X=k)=λkeλk!P(X=k) = \frac{\lambda^k e^{-\lambda}}{k!}

Mean = λ\lambda, Variance = λ\lambda (mean = variance — the defining property of Poisson).

This is the exact model for photon arrivals over an exposure. The parameter λ\lambda is the average photon count per exposure.

Generic version: rare events arriving at rate λ\lambda per window — photons per exposure, shock pulses per second, packet drops per minute.

Normal (Gaussian) — large count limit

When λ1\lambda \gg 1 (bright scene, many photons), the Poisson distribution converges to a Gaussian:

Poisson(λ)λN(μ=λ,  σ2=λ)\text{Poisson}(\lambda) \xrightarrow{\lambda \to \infty} \mathcal{N}(\mu=\lambda,\; \sigma^2=\lambda)

This is why shot noise is Gaussian in bright conditions: it is the large-λ\lambda limit of Poisson photon counting.

Central Limit Theorem — why sums are always Gaussian

The CLT says: the sum of any nn independent random variables with finite mean and variance converges to a Gaussian as nn \to \infty, regardless of the original distributions.

In a sensor, multiple noise sources add together (shot noise + read noise + dark current + quantization). Even if each source is non-Gaussian, their sum is approximately Gaussian. The CLT is why we can model total sensor noise as Gaussian in almost all practical cases — and why the same conclusion holds for a vibration sensor, an audio ADC, or any other measurement front-end.


3. Shot Noise Is Irreducible

From the Poisson model: σshot=λ\sigma_{shot} = \sqrt{\lambda}.

This cannot be reduced by better hardware — it is a fundamental property of the discrete nature of light. To halve the shot noise you must quadruple the photon count (larger aperture, longer exposure, bigger photosite).

SNR=λλ=λ\text{SNR} = \frac{\lambda}{\sqrt{\lambda}} = \sqrt{\lambda}

Doubling the photon count improves SNR by 241%\sqrt{2} \approx 41\%. This is the fundamental physical limit for any photon-counting measurement.

The same σ=λ\sigma = \sqrt{\lambda} rule holds for any Poisson process: bearing-fault counts, packet drops, Geiger counter clicks. In each case, the irreducible relative noise is 1/λ1/\sqrt{\lambda} — the only way to reduce it is to count more events.


4. Noise Budget

A real sensor has multiple noise sources. The total noise variance is their sum (assuming independence):

σtotal2=σshot2+σread2+σdark2+σquant2\sigma_{total}^2 = \sigma_{shot}^2 + \sigma_{read}^2 + \sigma_{dark}^2 + \sigma_{quant}^2
=λ+σr2+σd2+Δ212= \lambda + \sigma_r^2 + \sigma_d^2 + \frac{\Delta^2}{12}

where Δ\Delta is the quantization step size.

Which term dominates depends on the signal regime:

RegimeDominant noiseCharacteristic
Bright (λσr2\lambda \gg \sigma_r^2)Shot noiseσλ\sigma \propto \sqrt{\lambda}
Dim (λσr2\lambda \ll \sigma_r^2)Read noiseσσr\sigma \approx \sigma_r (constant floor)
Saturated (λC\lambda \geq C)ClippingAll information above CC is lost

In bright conditions, collecting more signal always helps. In dim conditions, electronics dominate and more signal doesn’t help much until you climb out of the electronics floor.

The same regime structure shows up in any measurement chain: an electronics-limited floor at low signal, a physics-limited (often λ\sqrt{\lambda}) regime at medium signal, and a saturation regime where the measurement is destroyed.


5. The Anscombe Transform

Poisson noise has variance equal to its mean — which makes it awkward statistically (the noise level depends on the signal level). The Anscombe transform converts Poisson noise to approximately unit-variance Gaussian:

A(X)=2X+38A(X) = 2\sqrt{X + \frac{3}{8}}

After applying AA, the data has approximately constant variance 1\approx 1 regardless of λ\lambda. This lets standard Gaussian-assumption algorithms work correctly on Poisson-distributed data — useful any time you have count data you want to feed into a tool that assumes constant-variance Gaussian noise.

Simulation: the probability seriespart0 through part6 — develops every step on this page from scratch using Monte Carlo simulation. Read those first if you want the build-up; this page is the destination.


6. The Same Chain — Where Other Sensors Plug In

StageCameraVibration (accelerometer)Network telemetryAudio (microphone)
Bernoulli eventPhoton detected (QE)Shock pulse in a time slicePacket dropped or notPressure crossing threshold
Binomial countPhotons detected per exposurePulses per windowDrops per minuteThreshold crossings per frame
Poisson regimeλ\lambda = expected photonsλ\lambda = expected pulses/hourλ\lambda = expected drops/min(rarely the dominant model)
Gaussian limitHigh illuminationMany pulses per windowHigh-traffic monitoringAlmost always — the noise floor is Gaussian to begin with
Electronics floorRead noiseCharge-amp + ADC noise(none)Pre-amp + ADC noise
QuantizationADC bit depthADC bit depth(count, no quantization)16/24-bit ADC

The chain is the same. Only the names change.


Summary

ConceptKey fact
BernoulliOne trial, two outcomes
Binomialnn trials, count of successes
PoissonLimiting case nn\to\infty, p0p\to 0, np=λnp=\lambda; mean = variance = λ\lambda
GaussianLimiting case λ\lambda\to\infty; why most noise floors are approximately Normal
CLTSum of any independent RVs → Gaussian; why total sensor noise is Normal
SNR=λ= \sqrt{\lambda} in any Poisson regime (photons, pulses, packets)
Noise budgetσtotal2=σphysics2+σelectronics2+σquantization2\sigma^2_{total} = \sigma^2_{physics} + \sigma^2_{electronics} + \sigma^2_{quantization}

Next → Linear algebra applied — Images as vectors: the normalisation operations in Chapter 6 (L2 norm, dot product, mean subtraction) have a precise geometric interpretation that the linear algebra track makes explicit.