image thumbnail

Single-Tone Frequency Measurement with Matlab Implementation

version (1.76 KB) by Hristo Zhivomirov
Single-tone frequency measurement (estimation) via DFT, MLE and Weighted Averaging.


Updated 14 Aug 2018

View License

The present code is a Matlab function that provides a measurement of the single-tone signal frequency. The measurement is based on a Discrete Fourier Transform (DFT) of the signal and two-step estimation procedure involving classic Maximum Likelihood (ML) coarse estimation and author’s Weighted Averaging (WA) finer estimation of the frequency index that maximizes the modified signal periodogram. The method could be used for frequency estimation of any type of stationary periodic signals (e.g., sine wave, rectangular, triangular, etc.).

An example is given in order to clarify the usage of the function. For convenience, the input and output arguments are given in the beginning of the function.

The code is based on the theory described in:

[1] H. Zhivomirov, I. Nedelchev, R. Vasilev. A Method for Single-Tone Frequency Estimation. Romanian Journal of Acoustics and Vibration, ISSN: 1584-7284, Vol. XIII, No. 1, pp. 20-24, 2016. (

Cite As

Hristo Zhivomirov (2022). Single-Tone Frequency Measurement with Matlab Implementation (, MATLAB Central File Exchange. Retrieved .

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

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!