There have been discussions on the differences between convolution and correlation, autocorrelation, cross-correlation, et al.

  1. In spite of looking at the visualizations, and understanding the formula for calculation of convolution and correlation, I don't understand the need for correlation - is it required for identifying a signal uniquely?

  2. What is the distinction between correlation and cross-correlation (if any exists)?

I get that convolution can be important in determining system responses to any arbitrary input signals when the impulse response is known, but what are the practical scenarios where correlation is helpful?

I know the theoretical differences between the concepts and this link isn't helpful for my question.


2 Answers 2


Correlation is mainly used for capturing the similarity of signals. A special case, normalized cross correlation is now accepted to be one the best methods to match a signal in another one (e.g. finding a template in a search image). In other words, this is called matching. More details:


MATLAB code: http://www.mathworks.com/matlabcentral/fileexchange/29005-generalized-normalized-cross-correlation

Autocorrelation (cross correlation of the signal with itself) on the other hand, might give you information on repetitive patterns within the signal, such as musical beats. Pitch estimation of music also uses autocorrelation. In statistics, auto-correlation is used for error analysis, too. I would therefore suggest you also take a look at: http://en.wikipedia.org/wiki/Autocorrelation#Applications

  • $\begingroup$ If I understand auto-correlation correctly, then fractal analysis seems to be one of the application areas also (this and this seem to corroborate it). Thank you for your answer and time! $\endgroup$
    – Raaj
    Jan 4, 2014 at 15:58

A relatively simple application where correlation is used is in determining timing of a communications signal. A known synchronization signal will be sent periodically so that the receiver can use it as a point of reference. How does the receiver use it as a point of reference? It correlates the incoming signal stream against the known sequence, and when the correlation peak is above a certain threshold, it will use the peak to establish symbol timing and make decisions on the symbols to extract a binary sequence.

Correlation usually means cross-correlation, but I think the latter term only exists to be distinguished from auto-correlation.

  • 1
    $\begingroup$ I could not accept two answers but the answer below this is more relevant to my field of study. Your answer definitely helped in understanding an example application of correlation. Thank you. $\endgroup$
    – Raaj
    Jan 4, 2014 at 16:00
  • 1
    $\begingroup$ If you really want to change your mind, it is possible to unaccept an answer and accept a different one. But, as a matter of common courtesy, do write a comment on the now unaccepted answer to let the answerer know why you are changing your mind. Also, it would be nice if you could up-vote the other answer. $\endgroup$ Jan 5, 2014 at 14:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.