I need to find a time delay between the two audio signals, one comming from one set of speakers, and the other being the source signal that is initialy sent to speakers. I send some noise through those speakers and they come to microphone with a time delay compared to a source signal.

Cross-correlation method
As I understand, there is a cross-correlation method where I send both recorded signals to frequency domain via Discrete Fourier Transform (DFT), then multiply the frequencies, and finaly go back to time domain via Inverse DFT. There should be a peak in time domain telling me what the delay is (let's disregard the accuracy for now.)

IR method
There is also an Impulse Response method, where I also take two signals to freq domain via DFT, then divide the two to get a system transfer function, and finaly do an Inverse DFT of the Transfer function; this will give me the Impulse Response, which should also have a strong peak at the delay point.

My question is:
Am I right in the short descriptions above? The main difference between the two methods seems to be that frequencies are multiplied in the cross-correletion method, and dividied in the IR method? Have I missed something important?

  • $\begingroup$ I think it also depends a bit on what the audio signals are and if there is only a delay between the input and output or it's more complex response $\endgroup$
    – Cherny
    Oct 9, 2017 at 13:27

1 Answer 1


Your description of the cross-correlation method is not entirely correct. What you describe is actually a convolution. For a cross-correlation you would perform an FFT on both signals and then multiply one with the complex conjugate of the other, and finally perform an IFFT.

  • 2
    $\begingroup$ you're describing an implementation of the cross-correlation not cross-correlation itself. A cross-correlation is pretty much the same as convolutioning a signal with itself without time reversal. $\endgroup$
    – Ben
    Dec 8, 2017 at 19:48

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.