Cross-correlation measures the Similarity between two discrete-time signals as a function of a time lag applied to one of them:

The result is a new signal indexed by , where each value is the Similarity score at that offset.

Motivation

At what phase shift are these two signals most similar?

Fast Cross-Correlation

Cross-correlation can be computed efficiently using the FFT:

This reduces the Time Complexity from to .

Autocorrelation

When both signals are the same (), cross-correlation becomes autocorrelation, measuring how similar a signal is to a shifted version of itself. Useful for detecting periodicity.

Applications

  • Radar: cross-correlate the return with the transmitted pulse; the peak lag gives range
  • Monopulse Radar: cross-correlate and channels to determine whether a coherent signal is present in both
  • DSSS: cross-correlate the received signal with the known pseudo-noise (PN) spreading code to despread it
  • Time synchronization: align two recordings of the same event by finding the lag where they match best