DSPRelated.com
Delay estimation by FFT

Delay estimation by FFT

Markus Nentwig
TimelessIntermediate

Given x=sig(t) and y=ref(t), returns [c, ref(t+delta), delta)] = fitSignal(y, x);:Estimates and corrects delay and scaling factor between two signals Code snippet This article relates to the Matlab / Octave code snippet: Delay estimation with...


Summary

This 2007 blog describes an FFT-based technique to estimate and correct time delay and scaling between two signals, with a practical Matlab/Octave implementation (fitSignal). It explains phase- and correlation-based approaches, demonstrates how to get sub-sample accuracy, and shows how simple preprocessing (windowing, zero-padding) and interpolation improve robustness.

Key Takeaways

  • Use FFT-based cross-spectral phase to estimate relative delay between two signals efficiently.
  • Apply phase unwrapping and interpolation to achieve sub-sample (fractional) delay estimates.
  • Implement the provided fitSignal Matlab/Octave routine to compute delay and scaling and to realign signals.
  • Mitigate noise and bias by using windowing, zero-padding, and optionally GCC-PHAT weighting for robustness.

Who Should Read This

Intermediate DSP engineers, researchers, or graduate students working on audio, radar or communications who need a concise, practical FFT-based method and Matlab code for time-delay estimation and signal alignment.

TimelessIntermediate

Topics

FFT/Spectral AnalysisMATLAB/SimulinkAudio ProcessingRadar

Related Documents