File Exchange

image thumbnail


version 1.0.3 (11.5 KB) by Linas Svilainis
Calculates the delay between two signals using frequency domain interpolation of cross-correlation peak position


Updated 31 Oct 2019

View License

function [ToFph] = GetTOFfftPhase(MySignal,RefSignal, ProcType)
Used to get the delay between RefSignal and MySignal. This delay is called time of flight (ToF).
Estimation is based on cross-correlation peak position in time.
ToF is in subsamples, i.e. with better resolution than sampling period.
Time interpolation is using frequency domain interpolation.
Assume you have a pulse (reference, or transmitted signal) and a delayed version of it (measured signal in sonar, radar, range meter application). You need to estimate the delay between the measured and reference signals. All you need to supply just these two signals. This function calculates the cross-correlation between two signals and estimates the location of the peak. Peak is estimated with higher than sampling period resolution. Subsample estimation is done using frequency domain interpolation. Refer paper below for this function accuracy analysis:
L.Svilainis, Review on Time Delay Estimate Subsample Interpolation in Frequency Domain. IEEE Transactions on Ultrasonics, Ferroelectrics, and Frequency Control. 2019.
Available at IEEE Explore:

Two signals can be any shape, not necessary just pulse (e.g. chirp, PSK sequence). Can also be used for spatial shift estimation if signals in time are replaced by signals in space.
Once downloaded, type "help GetTOFfftPhase" for more info

Can use TestBiasErrVsDelay for bias and random errors analysis.

Cite As

Linas Svilainis (2020). GetTOFfftPhase (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (0)



Minor grammar mistakes in help text


More subfunctions in package


Subfunctions added

MATLAB Release Compatibility
Created with R2019a
Compatible with any release
Platform Compatibility
Windows macOS Linux