Frequency Algorithms

Some Frequency Estimation Algorithms
This site presents some Matlab (tm) code for estimation of the frequency of a single, constant tone in noise. While these methods may be extended to the multiharmonic and multi-tone cases, these programs do not include this extension. 

Currently no explanations for the algorithms are available in HTML form. The only on-line reference is or here (PDF). The reference list from this, with some linking of authors, is available here in HTML form.

Professor Barry Quinn has recently completed a book on this topic:

Quinn, B.G, Hannan, E.J. (2000) “The Estimation and Tracking of Frequency”  

Barry has made matlab code for the algorithms he describes in the book available here.

Algorithm Type Matlab Code Links  Complexity Statistically Efficient?
Maximum Likelihood (ML) & Approximate ML Maximum Likelihood > O(T log T) Yes
Periodogram Maximiser > O(T log T) Yes
Discrete-frequency Periodogram Maximizer  O(T log T) No
Fourier Coefficient Interpolation Techniques supplied by Eric Jacobsen, EF Data Corp (now Intel).

Some extra work done by Eric is available here (or mirrored here).

O(T log T) No
Signal Subspace Minimum Variance O(T3) No
Bartlett O(T3) No
Noise Subspace Pisarenko O(T) No
Phase Weighted Averagers

Lank-Reed-Pollon, Kay, Lovell-Williamson, Clarkson-Kootsookos-Quinn

O(T) Depends on technique. Most No.
Filtering Techniques Fernandes-Goodwin-de Souza O(T) Yes
Quinn-Fernandes O(T) Yes
Hannan-Huang ? ?
Nehorai-Porat ? ?
This code is Copyright (C) 1999 Peter J. Kootsookos unless otherwise stated. All code is provided under the terms of the GNU Public Licence Agreement.
Please send any bug reports or feature requests to Dr Peter J. Kootsookos.

Peter Kootsookos,
Jan 11, 2011, 12:50 PM