• site home
  • blog home
  • galleries
  • contact
  • underwater
  • the bleeding edge

the last word

Photography meets digital computer technology. Photography wins -- most of the time.

You are here: Home / The Last Word / Sources of read noise in CMOS sensors

Sources of read noise in CMOS sensors

May 11, 2025 JimK Leave a Comment

In another context, I’ve been asked about the sources of noise in CMOS image sensors. There are several kinds of noise involved: read noise, photon or shot noise, and pixel response nonuniformity (PRNU). This post attempts to give a non-quantitative listing of the sources of read noise.

In CMOS image sensors, read noise refers to the uncertainty or variation introduced when converting and extracting photo-generated charge from each pixel into a digital value. Unlike shot noise (which is signal-dependent), read noise is signal-independent and represents the floor of detectability for low-light imaging.

Modern CMOS sensors usually use column-parallel analog-to-digital converters (ADCs) to increase speed and reduce power. These architectures introduce unique read noise contributors, both shared and per-column.

Here’s a simplified signal path for a modern CMOS sensor:

Photodiode → Floating Diffusion → Source Follower → Multiplexer → Column Line → Sample-and-Hold →  Programmable Gain Amplifier →  ADC

Let’s look at the noise sources at each stage:

Thermal (kTC) Reset Noise. When the floating diffusion node (FD) is reset before signal integration, it stores a charge with some thermal uncertainty. This is random from frame to frame and is typically removed using correlated double sampling (CDS). I’m not going to cover CDS here.

Source Follower Noise. Each pixel usually has a source follower transistor (current amplifier) to buffer the charge on the FD node.

The source follower contributes a) 1/f (flicker) noise, which is more prominent at low frequencies and can be mitigated with layout and process optimization, and b) Thermal noise, which is due to channel resistance in the MOSFET. This noise scales with transistor size and bias current.

Column Line Noise (Charge Injection, Cap Loading)

The shared column bus introduces noise due to

  • Multiplexing errors, crosstalk/charge injection from control signals
  • Coupling to parasitic capacitances
  • Sample-and-hold circuits

Sample and Hold Noise. The sample and hold circuitry, which locks the signal in place while the ADC does the conversion, also contributes noise.

Programmable Gain Amplifier (PGA) Noise

The sample and hold is followed by an amplifier whose gain is programmable. That amplifier adds its own noise, and the amount of noise added can vary with the gain. All the noise sources prior to the PGA are amplified by the PGA.

  • Introduces thermal noise, offset, and gain non-uniformity.

  • Gain setting can amplify both signal and upstream noise, and any noise added within the PGA itself.

  • At high gain settings, PGA noise may dominate over ADC noise or comparator offsets.

  • Implementation varies: some use analog PGAs, others use switched-capacitor gain stages, each with distinct noise characteristics.

Column ADC Noise. In column-parallel architectures, each column has its own ADC. These contribute:

  • Quantization noise:
  • Thermal and comparator noise
  • Reference voltage fluctuations
  • Mismatch between ADCs across columns

In addition, there are system wide sources of read noise:

Noise on:

  • Reference voltage noise
  • Analog power rail noise
  • Bias line noise
  • Crosstalk between columns
  • Clock feedthrough into sensitive analog nodes

Why Independent Noise Sources Add in Quadrature

When multiple independent (i.e., uncorrelated) noise sources contribute to a measurement, the total noise is not just the sum of the individual standard deviations. Instead, it’s the square root of the sum of their variances. This is called adding in quadrature.

If:

  • noise_1 has standard deviation sigma_1
  • noise_2 has standard deviation sigma_2
  • …
  • noise_n has standard deviation sigma_n

and all noise sources are statistically independent, then the total noise standard deviation is:

sigma_total = sqrt(sigma_1^2 + sigma_2^2 + … + sigma_n^2)

This is because variances add:

Var(X + Y) = Var(X) + Var(Y)     (if X and Y are independent)

Since standard deviation is the square root of variance:

sigma = sqrt(Var)

Two Noise Sources

Imagine a signal that has two independent noise sources:

  • Thermal noise with sigma_thermal = 3 e⁻
  • ADC quantization noise with sigma_adc = 4 e⁻

Then the total noise is:

sigma_total = sqrt(3^2 + 4^2)  = sqrt(9 + 16)  = sqrt(25)  = 5 e⁻

Think of each noise source as causing random “jitter” in a different direction:

  • If they push in exactly the same direction every time (i.e., correlated), you’d add linearly.
  • But if they’re independent, their errors are like steps in random directions. The net effect grows like the hypotenuse of a triangle.

That’s why the Pythagorean theorem—i.e., squaring, summing, and taking a square root—shows up.

If the noise sources are correlated, then their joint variance includes a cross term:

Var(X + Y) = Var(X) + Var(Y) + 2 * Cov(X, Y)

In this case, you can’t just add the variances—you must also account for their covariance (how much they tend to rise and fall together).

In Imaging Sensors

In CMOS sensors, typical independent read noise sources include:

  • Reset noise (kTC noise)
  • Source follower transistor noise
  • Column bus or sample-and-hold noise
  • ADC noise
  • Power supply fluctuations (if isolated per stage)

So, we model:

sigma_read^2 = sigma_reset^2 + sigma_sf^2 + sigma_column^2 + sigma_adc^2 + …

and then take:

sigma_read = sqrt(sigma_read^2)

 

 

 

The Last Word

← Simulating Long Exposures in Photoshop Using Short Exposure Stacks

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

May 2025
S M T W T F S
 123
45678910
11121314151617
18192021222324
25262728293031
« Apr    

Articles

  • About
    • Patents and papers about color
    • Who am I?
  • How to…
    • Backing up photographic images
    • How to change email providers
    • How to shoot slanted edge images for me
  • Lens screening testing
    • Equipment and Software
    • Examples
      • Bad and OK 200-600 at 600
      • Excellent 180-400 zoom
      • Fair 14-30mm zoom
      • Good 100-200 mm MF zoom
      • Good 100-400 zoom
      • Good 100mm lens on P1 P45+
      • Good 120mm MF lens
      • Good 18mm FF lens
      • Good 24-105 mm FF lens
      • Good 24-70 FF zoom
      • Good 35 mm FF lens
      • Good 35-70 MF lens
      • Good 60 mm lens on IQ3-100
      • Good 63 mm MF lens
      • Good 65 mm FF lens
      • Good 85 mm FF lens
      • Good and bad 25mm FF lenses
      • Good zoom at 24 mm
      • Marginal 18mm lens
      • Marginal 35mm FF lens
      • Mildly problematic 55 mm FF lens
      • OK 16-35mm zoom
      • OK 60mm lens on P1 P45+
      • OK Sony 600mm f/4
      • Pretty good 16-35 FF zoom
      • Pretty good 90mm FF lens
      • Problematic 400 mm FF lens
      • Tilted 20 mm f/1.8 FF lens
      • Tilted 30 mm MF lens
      • Tilted 50 mm FF lens
      • Two 15mm FF lenses
    • Found a problem – now what?
    • Goals for this test
    • Minimum target distances
      • MFT
      • APS-C
      • Full frame
      • Small medium format
    • Printable Siemens Star targets
    • Target size on sensor
      • MFT
      • APS-C
      • Full frame
      • Small medium format
    • Test instructions — postproduction
    • Test instructions — reading the images
    • Test instructions – capture
    • Theory of the test
    • What’s wrong with conventional lens screening?
  • Previsualization heresy
  • Privacy Policy
  • Recommended photographic web sites
  • Using in-camera histograms for ETTR
    • Acknowledgments
    • Why ETTR?
    • Normal in-camera histograms
    • Image processing for in-camera histograms
    • Making the in-camera histogram closely represent the raw histogram
    • Shortcuts to UniWB
    • Preparing for monitor-based UniWB
    • A one-step UniWB procedure
    • The math behind the one-step method
    • Iteration using Newton’s Method

Category List

Recent Comments

  • Mike MacDonald on Your photograph looks like a painting?
  • Mike MacDonald on Your photograph looks like a painting?
  • bob lozano on The 16-Bit Fallacy: Why More Isn’t Always Better in Medium Format Cameras
  • JimK on Goldilocks and the three flashes
  • DC Wedding Photographer on Goldilocks and the three flashes
  • Wedding Photographer in DC on The 16-Bit Fallacy: Why More Isn’t Always Better in Medium Format Cameras
  • JimK on Fujifilm GFX 100S II precision
  • Renjie Zhu on Fujifilm GFX 100S II precision
  • JimK on Fuji 20-35/4 landscape field curvature at 23mm vs 23/4 GF
  • Ivo de Man on Fuji 20-35/4 landscape field curvature at 23mm vs 23/4 GF

Archives

Copyright © 2025 · Daily Dish Pro On Genesis Framework · WordPress · Log in

Unless otherwise noted, all images copyright Jim Kasson.