Spectral Mixing and Sensor Response
modelling Level 3

Spectral Mixing and Sensor Response

When a satellite sensor looks at a field that is partly vegetated and partly bare soil, what does it actually measure? The answer depends on how spectra mix — and on which wavelengths the sensor is sensitive to. This model builds both ideas from scratch, then lets you explore them interactively.

Prerequisites: linear combinations, integration, weighted averages, exponential decay

Updated 19 min read

A satellite sensor looking at a field of mixed vegetation and bare soil does not see two separate things. It sees one number per spectral band — a single integrated measurement that conflates the reflectance of everything within its instantaneous field of view. Whether that pixel is 80% grass or 20% grass, the sensor records a single value, and the job of the analyst is to invert that value back toward something meaningful about the surface.

To do that inversion, you first need a forward model: given a surface with a known mix of components, what reflectance will the sensor record? This model builds that forward model in two steps. First, we derive how spectra mix — both the simple linear case and the more realistic non-linear case that accounts for light bouncing between vegetation and soil. Second, we show how a sensor’s spectral sensitivity function transforms the continuous spectral signal into a discrete measurement, and how the choice of bandpass affects what the sensor can and cannot distinguish.

This model is a direct web reconstruction of interactive teaching software described in Barnsley & Hobson (1997).1 The original ran on Windows 95 and Solaris as a Tcl/Tk application. This version runs in a browser. The physics is identical.


1. The Question

Why does NDVI — the Normalised Difference Vegetation Index — work at all?

The answer lies in a striking fact about plant leaves: they absorb red light strongly (using it for photosynthesis) and reflect near-infrared light strongly (a consequence of cell wall structure that has nothing to do with photosynthesis). Soil does neither. The result is that the ratio of near-infrared to red reflectance separates vegetation from soil far more reliably than either band alone.

But NDVI is computed from sensor measurements over mixed pixels. Before we can interpret NDVI, we need to understand what a sensor sees when the surface is partly green and partly bare — and what “partly” means mathematically.


2. The Conceptual Model

Surface reflectance as a spectrum

Every material has a reflectance spectrum: the fraction of incident radiation it reflects, as a function of wavelength. We write this as $\rho(\lambda)$, where $\lambda$ is wavelength (in nanometres) and $\rho$ takes values between 0 (perfect absorber) and 1 (perfect reflector).

Green vegetation and bare soil have very different spectra:

  • Vegetation absorbs strongly in the blue (400–500 nm) and red (620–700 nm) — the chlorophyll absorption bands — and reflects strongly in the near-infrared (750–900 nm).
  • Bare soil has a comparatively flat spectrum that rises gradually from visible to infrared, without the sharp NIR “step” that vegetation exhibits.

The contrast between these two spectra is the physical basis of almost all optical vegetation remote sensing.

The mixing problem

Suppose a sensor pixel contains a fraction $f_v$ of vegetation and $(1 - f_v)$ of bare soil, where $0 \leq f_v \leq 1$. What does the sensor record?

The simplest answer is linear mixing:

\[\rho_{\text{mix}}(\lambda) = f_v \cdot \rho_v(\lambda) + (1 - f_v) \cdot \rho_s(\lambda)\]

This treats the pixel as a weighted average of the two pure spectra. It is correct when photons interact with only one surface type — when every photon that hits vegetation stays in the vegetation part, and every photon that hits soil stays in the soil part.

In practice, photons can travel sideways. A photon reflected upward from the soil may hit a vegetation element and be absorbed, or reflected again. This multiple scattering means the real mixed spectrum is not a simple weighted average: the mixing is non-linear.


3. Building the Mathematical Model

Linear mixing

Linear mixing is a direct application of the weighted average. If we know $\rho_v(\lambda)$ and $\rho_s(\lambda)$ at every wavelength, and we know the vegetation fraction $f_v$, then:

\[\rho_{\text{lin}}(\lambda) = f_v \cdot \rho_v(\lambda) + (1 - f_v) \cdot \rho_s(\lambda)\]

The result lies everywhere between the two pure spectra. When $f_v = 0$ we recover bare soil; when $f_v = 1$ we recover pure vegetation. For intermediate values, the mixed spectrum is a linear interpolation.

Non-linear mixing

Multiple scattering couples the vegetation and soil components. A simple first-order correction accounts for photons that undergo one additional interaction after their first surface encounter. The Cooper et al. (1982) approach models this as:

\[\rho_{\text{nl}}(\lambda) = \rho_{\text{lin}}(\lambda) + \delta(\lambda)\]

where the correction term $\delta(\lambda)$ captures the additional reflectance from photons that initially escaped upward from one component and were then reflected by the other. For a vegetation–soil mixture, the most important interaction is soil-reflected photons being partially intercepted by the vegetation canopy:

\[\delta(\lambda) = f_v(1-f_v) \cdot \frac{\rho_v(\lambda) \cdot \rho_s(\lambda)}{1 - \rho_v(\lambda) \cdot \rho_s(\lambda)} \cdot c\]

where the denominator captures the infinite geometric series of successive reflections (each round trip attenuates the signal by the product of the two reflectances), and $c$ is a coupling coefficient of order 0.5 that parameterises how effectively the two components exchange radiation.2

Note the denominator structure: $1/(1 - ab)$ is the sum of the geometric series $1 + ab + (ab)^2 + \ldots$ This is the same reasoning as Beer-Lambert in Model 5 — an infinite series of attenuations summing to a closed form.

The practical consequence: non-linear mixing always produces higher reflectance than linear mixing in wavebands where both components reflect well (e.g., the NIR), because multiple-scattered photons contribute additional upwelling radiation. In strongly absorbing bands (e.g., red), the correction is negligible because neither component reflects much, so there is little multiple-scattered radiation to add.

Sensor bandpass integration

A real sensor does not measure reflectance at a single wavelength. It integrates all radiation arriving within a finite spectral interval — its bandpass — weighted by its spectral sensitivity function $S(\lambda)$.

The sensor-integrated reflectance over a bandpass $[\lambda_1, \lambda_2]$ is:

\[\bar{\rho} = \frac{\displaystyle\int_{\lambda_1}^{\lambda_2} S(\lambda)\, \rho(\lambda)\, d\lambda}{\displaystyle\int_{\lambda_1}^{\lambda_2} S(\lambda)\, d\lambda}\]

For a square-wave sensor (constant sensitivity within the bandpass, zero outside), $S(\lambda) = 1$ for $\lambda \in [\lambda_1, \lambda_2]$ and the expression simplifies to:

\[\bar{\rho} = \frac{1}{\lambda_2 - \lambda_1} \int_{\lambda_1}^{\lambda_2} \rho(\lambda)\, d\lambda\]

This is just the mean value of $\rho(\lambda)$ over the bandpass interval — the continuous analogue of the arithmetic mean over discrete wavelengths.

Why does bandpass width matter? A narrow bandpass in the red (e.g., 620–660 nm) captures the chlorophyll absorption feature precisely and gives a strong signal for vegetation fraction. A wide bandpass that includes both red and NIR wavelengths averages across the absorption feature and the reflection peak, diluting the vegetation signal. The design of Landsat, Sentinel-2, and MODIS spectral bands reflects decades of optimisation around this tradeoff.


4. Worked Example by Hand

Given:

  • Vegetation fraction $f_v = 0.6$
  • At $\lambda = 670$ nm (red): $\rho_v = 0.05$, $\rho_s = 0.18$
  • At $\lambda = 800$ nm (NIR): $\rho_v = 0.45$, $\rho_s = 0.22$

Step 1 — Linear mixing at 670 nm:

\[\rho_{\text{lin}}(670) = 0.6 \times 0.05 + 0.4 \times 0.18 = 0.030 + 0.072 = 0.102\]

Step 2 — Linear mixing at 800 nm:

\[\rho_{\text{lin}}(800) = 0.6 \times 0.45 + 0.4 \times 0.22 = 0.270 + 0.088 = 0.358\]

Step 3 — NDVI from linear mixing:

\[\text{NDVI} = \frac{\rho_{\text{NIR}} - \rho_{\text{red}}}{\rho_{\text{NIR}} + \rho_{\text{red}}} = \frac{0.358 - 0.102}{0.358 + 0.102} = \frac{0.256}{0.460} \approx 0.56\]

Step 4 — Non-linear correction at 800 nm (where the effect is largest):

\[\delta(800) = 0.6 \times 0.4 \times \frac{0.45 \times 0.22}{1 - 0.45 \times 0.22} \times 0.5 = 0.24 \times \frac{0.099}{0.901} \times 0.5 \approx 0.013\] \[\rho_{\text{nl}}(800) = 0.358 + 0.013 = 0.371\]

The non-linear correction adds about 1.3 percentage points in the NIR at this vegetation fraction — modest but not negligible when fitting models to data.


5. Computational Implementation

Part A: Spectral mixing explorer

The chart below uses published reference spectra for green vegetation (grass) and bare dry soil across 400–900 nm.3 Drag the slider to change the vegetation fraction and observe how the mixed spectrum evolves — and how the gap between linear and non-linear mixing varies across wavelengths.

Part B: Sensor bandpass explorer

The second chart shows the same surface spectra with an adjustable sensor bandpass window. The shaded region indicates the wavelengths the sensor integrates over; the calculated mean reflectance values update in real time. This directly replicates the second Tcl/Tk tool from the 1997 paper.

Mean reflectance in band — Vegetation: --

Mean reflectance in band — Soil: --

Contrast (soil − veg): --

Things to try:

  • Set the bandpass to 620–700 nm (Landsat Band 3, red). Note how vegetation reflectance is well below soil — strong contrast for vegetation detection.
  • Widen the band to 600–800 nm. The contrast shrinks as you average across the NIR rise.
  • Set the band to 750–900 nm (NIR). Vegetation reflectance now exceeds soil — the contrast reverses.
  • NDVI uses the ratio of NIR and red bands precisely because the contrasts point in opposite directions: vegetation is dark in red and bright in NIR, soil is intermediate in both.

6. Interpretation

What the mixing models tell us

The linear mixing model — a weighted average of pure spectra — is the basis of spectral unmixing: the inverse problem of recovering $f_v$ from a measured mixed spectrum. If we know the pure spectra for vegetation and soil, we can solve for $f_v$ directly:

\[f_v = \frac{\rho_{\text{measured}}(\lambda) - \rho_s(\lambda)}{\rho_v(\lambda) - \rho_s(\lambda)}\]

This is equivalent to asking where the measured point lies on the line between the two pure spectral endpoints. Spectral unmixing is a standard technique in hyperspectral remote sensing, where dozens of bands allow decomposition into many more components than just vegetation and soil.

The non-linear correction reminds us that this linear inversion is approximate. In heterogeneous landscapes with short vegetation and exposed soil, multiple scattering between the components means the true mixture lies slightly above the linear mixture line. Ignoring non-linearity will slightly underestimate $f_v$ in dense-canopy conditions.

What the sensor bandpass tells us

The bandpass experiment makes a simple point with broad implications: the signal a sensor records is not the reflectance at a wavelength but the integral of reflectance over a finite interval. A sensor with a wide red band spanning 600–700 nm is averaging across the chlorophyll absorption feature and the beginning of the NIR plateau — diluting both signals. A narrow red band at 660–680 nm captures the absorption minimum precisely and maximises contrast with soil.

This is why successive satellite sensor generations have generally used narrower, better-placed spectral bands: Landsat-8 (OLI) has a narrower red band than Landsat-5 (TM), Sentinel-2 adds the red-edge bands at 705, 740, and 783 nm that TM entirely missed. Each improvement reflects the same physical principle demonstrated here.


7. What Could Go Wrong?

Assuming pure spectral endmembers. The model requires $\rho_v(\lambda)$ and $\rho_s(\lambda)$ for the “pure” components. In practice, vegetation spectra vary with species, leaf water content, and canopy structure. Soil spectra vary with moisture, texture, and organic content. Using the wrong endmembers propagates directly into unmixing errors.

Ignoring atmospheric effects. The model operates in surface reflectance — the actual reflectance of the ground. A sensor in orbit records at-sensor radiance, which includes atmospheric scattering and absorption. Converting from at-sensor to surface reflectance requires atmospheric correction, which is a significant source of error in practice. This model assumes that correction has already been done.

Applying linear unmixing to non-linear mixtures. For sparse vegetation canopies (low $f_v$), multiple scattering is small and linear unmixing works well. For dense canopies with high LAI, multiple scattering becomes significant. Applying linear unmixing in this regime will underestimate vegetation fraction.

Extrapolating the bandpass result to non-square sensors. The sensor model here assumes a square-wave bandpass — constant sensitivity within $[\lambda_1, \lambda_2]$, zero outside. Real sensors have smooth, approximately Gaussian spectral response functions. The qualitative conclusions hold, but quantitative calculations require the actual spectral response curves (available from each sensor’s technical documentation).


8. Math Refresher

Weighted averages

If a quantity $Q$ takes value $Q_1$ in region 1 (with weight $w_1$) and value $Q_2$ in region 2 (with weight $w_2$), and the weights sum to 1:

\[\bar{Q} = w_1 Q_1 + w_2 Q_2, \quad w_1 + w_2 = 1\]

Linear spectral mixing is this formula applied at every wavelength simultaneously.

Mean value of a function over an interval

The mean value of a function $f(x)$ over the interval $[a, b]$ is:

\[\bar{f} = \frac{1}{b-a} \int_a^b f(x)\, dx\]

For a function sampled at $n$ discrete points $x_1, \ldots, x_n$ spaced equally by $\Delta x$:

\[\bar{f} \approx \frac{1}{n} \sum_{i=1}^n f(x_i)\]

This is exactly what the sensor bandpass calculation does: it averages the sampled reflectance values within the bandpass window.

The geometric series and multiple scattering

When a photon bounces between two surfaces with reflectances $a$ and $b$, the total upwelling flux from an infinite series of bounces is:

\[1 + ab + (ab)^2 + (ab)^3 + \ldots = \frac{1}{1 - ab}, \quad |ab| < 1\]

This closed-form sum — the same structure as compound interest and the Beer-Lambert derivation — appears in the denominator of the non-linear mixing correction. Multiple scattering in optics and compound attenuation in Beer-Lambert are the same mathematical object.


Where Next?

This model has shown how surface spectra mix and how sensor bandpass design determines what a satellite can detect. The next model — Solar Geometry and Projection — addresses a different dimension of the same problem: how much solar radiation actually reaches a tilted surface, as a function of sun angle and slope orientation. Together, these two models cover the energy budget at the Earth’s surface from two complementary directions: how radiation is reflected once it arrives, and how much arrives in the first place.

For the full physics of canopy reflectance — multiple leaf layers, leaf angle distributions, and the bidirectional reflectance function — see the canopy reflectance models in Series 5 (Remote Sensing).

In this series:


References

  1. Barnsley, M.J. and Hobson, P., 1997. Teaching the principles of optical remote sensing using graphical tools developed in Tcl/Tk. Proceedings of IGARSS ‘97, Singapore. The four interactive tools described in that paper — spectral mixing, sensor bandwidth simulation, a canopy Adding model, and the SAIL bidirectional reflectance model — were implemented as Tcl/Tk applications running on Windows 95, Macintosh, and UNIX (Solaris/Linux). This model reconstructs the first two tools for the web. 

  2. The non-linear mixing correction used here is a simplified form of the two-stream interaction term. Cooper, K., Smith, J.A. and Pitts, D. (1982). Reflectance of a vegetation canopy using the Adding method. Applied Optics, 21, 4112–4218, provides the full derivation. The coupling coefficient $c \approx 0.5$ represents the geometric probability that upwelling radiation from one component intercepts the other; the exact value depends on canopy architecture and is treated as a parameter here. 

  3. Spectral data derived from USGS Spectral Library Version 7 (Kokaly et al., 2017) representative spectra for green grass (Grass GDS91) and dry loamy sand (Soil Sandy Loam dry SL1), resampled to 25 nm intervals over 400–900 nm. 

References