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