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:
 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. (http://www.sra.ro/Arhiva/2016/nr1/Paper_4_page20-24.pdf)
Hristo Zhivomirov (2020). Single-Tone Frequency Measurement with Matlab Implementation (https://www.mathworks.com/matlabcentral/fileexchange/56471-single-tone-frequency-measurement-with-matlab-implementation), MATLAB Central File Exchange. Retrieved .
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!