File Exchange

image thumbnail

Phase Difference Measurement with Matlab

version (1.87 KB) by Hristo Zhivomirov
Phase difference measurement between two signals via DFT.


Updated 02 Aug 2020

View License

The present code is a Matlab function that provides a measurement of the phase difference between two signals. The measurement is based on Discrete Fourier Transform (DFT) and Maximum Likelihood (ML) estimation of the signals’ initial phases. The method is highly noise resistive.

An example is given in order to clarify the usage of the function. The input and output arguments are given in the beginning of the code.

The code is based on the theory described in:

[1] M. Sedlacek, M. Krumpholc. “Digital measurement of phase difference – a comparative study of DSP algorithms”. Metrology and Measurement Systems, Vol. XII, No. 4, pp. 427-448, 2005.

[2] M. Sedlacek. “Digital Measurement of Phase Difference of LF Signals A Comparison of DSP Algorithms”. Proceedings of XVII IMEKO World Congress, pp. 639-644, 2003.

Cite As

Hristo Zhivomirov (2020). Phase Difference Measurement with Matlab (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (17)


Sean Wood


Thanks a lot !

Paul Thomas

I have a baseline drift in my second signal and the determined phase shift is reasonable. Nice code!

Thank you for the function, it really save my ass.


Works great!


Works perfectly. Thank you.

Nice code. Working fine

really nice code. works perfectly.

guannan li



A new version of the code has been uploaded.

A new version of the code has been uploaded.

A new version of the code has been uploaded.

A new version of the code has been uploaded.

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