Crosscorrelation

Crosscorrelation is a mathematical operation that measures how similar two signals are to each other, and how that similarity changes as one signal is shifted in time or space relative to the other. The result is a number between -1 and +1: a value close to +1 means the two signals match well at that shift, a value close to -1 means they are mirror images of each other (anti-correlated), and a value near zero means no similarity. In seismic data processing, crosscorrelation is used to find the time delay between a source signal and the recorded reflection, to correlate well logs across a field, and to align multiple traces in a seismic gather. In vibroseis recording, crosscorrelation of the recorded wavefield with the pilot sweep converts the sweep-length signal into a short, sharp pulse that represents the reflection series.

Key Takeaways

  • Crosscorrelation is computed by multiplying two signals sample by sample at a given time shift and summing the products. Repeat this for every possible time shift and you get the crosscorrelation function, which peaks where the two signals are most similar.
  • A normalized crosscorrelation (correlation coefficient) scales the result to the range -1 to +1 regardless of the amplitude of the two signals. This removes the effect of signal strength and makes it easy to compare correlation quality between signal pairs of different amplitudes.
  • In vibroseis seismic recording, the source emits a swept-frequency chirp signal (the pilot sweep) lasting 8 to 32 seconds. The recorded seismogram contains overlapping reflections of this long sweep. Crosscorrelating the recorded signal with the pilot sweep collapses the long sweep into a short wavelet, producing a usable seismic trace.
  • In well log correlation, crosscorrelation algorithms identify the best match between a gamma ray log or sonic log from one well and the same log from a neighboring well. The time shift that maximizes correlation corresponds to the structural dip or depth difference between the same geological horizon at the two well locations.
  • In distributed acoustic sensing (DAS) and vertical seismic profiling (VSP), crosscorrelation of signals from pairs of depth levels along the fiber gives travel time information used to build a velocity model.

What Is Crosscorrelation?

Imagine you have two nearly identical recordings of a piece of music, but one was started a fraction of a second late. Play them together and you hear a slight echo or doubling effect. Slide one recording forward until the echo disappears and the two signals align perfectly. The time you had to slide by is the time delay between the two signals. Crosscorrelation finds that optimal shift mathematically, without you having to listen for it.

In mathematics, this is done by multiplying the two signals together, point by point, for every possible time shift, and summing up the products. When the signals are aligned (one is shifted to the position where it best matches the other), the product at each point is large and positive, so the sum is large. When they are out of alignment, the products partially cancel each other and the sum is small. The shift that gives the largest sum is the best estimate of the time delay between the two signals.

This works equally well in space as in time. Instead of shifting a signal forward or backward in time, you can shift a seismic trace left or right across a seismic section. Crosscorrelation then finds where a reflection event on one trace best matches the same event on a neighboring trace, quantifying the structural dip or horizontal continuity of the reflector.

Fast Facts

The Vibroseis seismic source system, first patented by Continental Oil Company (now ConocoPhillips) in 1953 and commercialized through the 1960s, relies entirely on crosscorrelation to be useful. The vibrating truck generates a frequency sweep (say, 10 to 120 Hz over 16 seconds) that is far too long to be a useful seismic pulse on its own. Only after crosscorrelation with the pilot sweep record does the 16-second sweep collapse into a roughly 20-millisecond Klauder wavelet that can be used for reflection imaging. Without crosscorrelation, vibroseis data is uninterpretable. Vibroseis has become the dominant land seismic source in most of the world because it is repeatable, controllable, and does not require explosives.

Crosscorrelation in Seismic Processing

The vibroseis application is the most technically important use of crosscorrelation in oil and gas geophysics. A vibroseis truck generates a controlled sweep of frequencies, starting at a low frequency and sweeping to a higher one (or the reverse) over a programmed time length. The ground vibrations travel downward, reflect from geological boundaries, and return to geophones at the surface. The recorded signal at each geophone is a convolution of the source sweep with the earth's reflection response. It looks like noise to the naked eye.

Crosscorrelating this recorded signal with the pilot sweep is the mathematical inverse of convolution. The result is a zero-phase wavelet at the time of each reflection, forming a conventional-looking seismic trace. This process is called vibroseis correlation or sweep correlation, and it happens automatically in modern data acquisition systems, often in real time at the recording truck.

In reflection processing more generally, crosscorrelation is used to pick the time delay (moveout) between a reflection event at different receiver offsets, to determine static corrections (the time shift needed to correct for near-surface velocity variations), and to compare synthetic seismograms (computed from well logs) with actual seismic data to tie the well to the seismic.

Crosscorrelation in Well Log Analysis

When correlating stratigraphic horizons between wells in a field or basin, a geoscientist often compares gamma ray logs (or sonic logs, density logs, or resistivity logs) from multiple wells. The visual process of manually picking the same geological surface at each well can be done by crosscorrelation instead, especially when working with hundreds of wells simultaneously.

A crosscorrelation algorithm takes a reference log from one well (the pilot log), computes the crosscorrelation function between it and a log from each neighboring well, and finds the depth shift that maximizes correlation. This depth shift corresponds to the structural difference between the two wells at the correlated horizon. If the reference well has a strong gamma ray signature for a marker bed at 1,230 metres and the crosscorrelation peaks at a shift of +15 metres for a neighboring well, the same marker is at 1,245 metres in the neighboring well, indicating the horizon dips between the two wells.

Automated crosscorrelation log correlation is commonly used in the Alberta basin, where the density of wells in some Cardium and Viking plays exceeds one well per section (one per 2.59 km²). Correlating thousands of wells manually would take teams of geologists months. Crosscorrelation algorithms running on well log databases can do it in hours, producing a consistent stratigraphic framework that the geologist reviews and adjusts rather than builds from scratch.

Crosscorrelation is also written as cross-correlation. The result of a crosscorrelation is a crosscorrelation function or crosscorrelogram. A normalized crosscorrelation is also called a correlation coefficient. Related terms include autocorrelation (crosscorrelation of a signal with itself; the autocorrelation function shows the periodicity within a signal and is used in seismic processing to design deconvolution operators), vibroseis (a land seismic source system that emits a swept-frequency vibration from a truck-mounted hydraulic vibrator; requires crosscorrelation with the pilot sweep to produce interpretable seismic data), convolution (the mathematical operation that combines two signals into a third; seismic recording is described as convolution of the source wavelet with the earth reflectivity; crosscorrelation with the source wavelet reverses this process), deconvolution (a seismic processing step that attempts to remove the effect of the source wavelet from the recorded seismic trace, improving temporal resolution; uses information from the autocorrelation function to design the deconvolution operator), and seismic-to-well tie (the process of matching features on a seismic section to depth intervals in a well log; crosscorrelation between the synthetic seismogram and the actual seismic trace quantifies the quality of the match).

How Crosscorrelation Found a Seismic Artifact That Would Have Cost a Dry Hole

An interpretation team was mapping a Cardium sandstone prospect in west-central Alberta using a 3D seismic survey acquired with a vibroseis source. The target was a subtle amplitude anomaly on a structural high, interpreted as a potential gas-saturated sand. The amplitude anomaly appeared on both near-offset and far-offset seismic stacks, and the amplitude-versus-offset (AVO) response suggested a Class II AVO signature consistent with a tight gas sand.

A quality control step in the processing workflow crosscorrelated each seismic trace with a reference wavelet extracted from the pilot sweep. Traces in the northwest corner of the survey showed a systematic crosscorrelation peak at a time shift of 12 milliseconds, indicating that the correlation of the field records with the pilot sweep had been misapplied in that area (possibly due to a GPS timing error at one of the vibrator trucks).

Reprocessing the northwest corner of the survey with the correct time shift moved the amplitude anomaly 12 milliseconds up in two-way time, which at the local velocity model placed it 22 metres shallower. When the corrected depth was mapped, the amplitude anomaly no longer sat on the structural high. It sat on the flank, where a gas accumulation would not be trapped. The team dropped the prospect.

The cost of discovering the timing error in processing: approximately CAD 85,000 in the reprocessing run. The estimated cost of drilling the prospect before the error was found: CAD 2.4 million for a dry hole. Crosscorrelation as a quality control tool found the error before the drill bit did.