 Crosscorrelation

In signal processing, crosscorrelation is a measure of similarity of two waveforms as a function of a timelag applied to one of them. This is also known as a sliding dot product or sliding innerproduct. It is commonly used for searching a longduration signal for a shorter, known feature. It also has applications in pattern recognition, single particle analysis, electron tomographic averaging, cryptanalysis, and neurophysiology.
For continuous functions, f and g, the crosscorrelation is defined as:
where f * denotes the complex conjugate of f.
Similarly, for discrete functions, the crosscorrelation is defined as:
The crosscorrelation is similar in nature to the convolution of two functions.
In an autocorrelation, which is the crosscorrelation of a signal with itself, there will always be a peak at a lag of zero unless the signal is a trivial zero signal.
In probability theory and statistics, correlation is always used to include a standardising factor in such a way that correlations have values between −1 and +1, and the term crosscorrelation is used for referring to the correlation corr(X, Y) between two random variables X and Y, while the "correlation" of a random vector X is considered to be the correlation matrix (matrix of correlations) between the scalar elements of X.
If X and Y are two independent random variables with probability density functions f and g, respectively, then the probability density of the difference Y − X is formally given by the crosscorrelation (in the signalprocessing sense) ; however this terminology in not used in probability and statistics. In contrast, the convolution f * g (equivalent to the crosscorrelation of f(t) and g(−t) ) gives the probability density function of the sum X + Y.
Contents
Explanation
For example, consider two real valued functions f and g differing only by an unknown shift along the xaxis. One can use the crosscorrelation to find how much g must be shifted along the xaxis to make it identical to f. The formula essentially slides the g function along the xaxis, calculating the integral of their product at each position. When the functions match, the value of is maximized. This is because when peaks (positive areas) are aligned, they make a large contribution to the integral. Similarly, when troughs (negative areas) align, they also make a positive contribution to the integral because the product of two negative numbers is positive.
With complexvalued functions f and g, taking the conjugate of f ensures that aligned peaks (or aligned troughs) with imaginary components will contribute positively to the integral.
In econometrics, lagged crosscorrelation is sometimes referred to as crossautocorrelation^{[1]}
Properties
 The crosscorrelation of functions f(t) and g(t) is equivalent to the convolution of f *(−t) and g(t). I.e.:
 If either f or g is Hermitian, then:
 Analogous to the convolution theorem, the crosscorrelation satisfies:
where denotes the Fourier transform, and an asterisk again indicates the complex conjugate. Coupled with fast Fourier transform algorithms, this property is often exploited for the efficient numerical computation of crosscorrelations. (see circular crosscorrelation)
 The crosscorrelation is related to the spectral density. (see Wiener–Khinchin theorem)
 The cross correlation of a convolution of f and h with a function g is the convolution of the correlation of f and g with the kernel h:
Normalized crosscorrelation
For imageprocessing applications in which the brightness of the image and template can vary due to lighting and exposure conditions, the images can be first normalized. This is typically done at every step by subtracting the mean and dividing by the standard deviation. That is, the crosscorrelation of a template, t(x,y) with a subimage f(x,y) is
 .
where n is the number of pixels in t(x,y) and f(x,y), is the average of f and σ_{f} is standard deviation of f. In functional analysis terms, this can be thought of as the dot product of two normalized vectors. That is, if
and
then the above sum is equal to
where is the inner product and is the L² norm. Thus, if f and t are real matrices, their normalized crosscorrelation equals the cosine of the angle between the unit vectors F and T, being thus 1 if and only if F equals T multiplied by a positive scalar.
Normalized correlation is one of the methods used for template matching, a process used for finding incidences of a pattern or object within an image. It is in fact just the 2dimensional version of Pearson productmoment correlation coefficient.
Time series analysis
In time series analysis, as applied in statistics, the cross correlation between two time series describes the normalized cross covariance function.
Let (X_{t},Y_{t}) represent a pair of stochastic processes that are jointly wide sense stationary. Then the cross covariance is given by ^{[2]}
where μ_{x} and μ_{y} are the means of X_{t} and Y_{t} respectively.
The cross correlation function ρ_{xy} is the normalized crosscovariance function.

 where σ_{x} and σ_{y} are the standard deviations of processes X_{t} and Y_{t} respectively.
Note that if X_{t} = Y_{t} for all t, then the cross correlation function is simply the autocorrelation function.
See also
 Autocorrelation
 Autocovariance
 Coherence (signal processing)
 Convolution
 Correlation
 Digital image correlation
 Phase correlation
 Spectral density
 Crossspectrum
 Wiener–Khinchin theorem
References
 ^ Campbell, Lo, and MacKinlay 1996: The Econometrics of Financial Markets, NJ: Princeton University Press.
 ^ von Storch, H.; F. W Zwiers (2001). Statistical analysis in climate research. Cambridge Univ Pr. ISBN 0521012309.
External links
Categories: Bilinear operators
 Covariance and correlation
 Signal processing
 Time domain analysis
Wikimedia Foundation. 2010.