# Question regarding estimation of signal tone parameters (frequency, amplitude, and phase) using Macleods algorithm

I plan to use Macleods algorithm in order to estimate the parameters (frequency, amplitude, and phase) of one or more sinusoids from a block of N uniformly spaced samples.

Before applying the mentioned algorithm, I would like to know how to pre- or postprocess the captured signal. Can you recommend the following two actions in order to ensure that Macleods algorithm delivers best results?

• Capture more data points of the stationary signal to increase the resolution of the estimated parameters?
• Postprocess the captured signal with a (hanning) window before applying the algorithm

• I'm not sure about Macleod, but generally windowing is not good for that style of estimator. See this paper for details about similar estimators.
– Peter K.
Commented Sep 5, 2016 at 16:12
• That's interesting. Thanks for the link Peter. Seems that this already answers the part of the question regarding windowing. How is it regarding the amount of captured data (N). The more the better? I am only interested in the frequency domain (frequency, amplitude, and phase). Temporal resolution is not an issue... Commented Sep 5, 2016 at 16:31
• Yes, generally the more data, the better for all parameters. Provided you use an estimator without bias, it should do better with more data.
– Peter K.
Commented Sep 5, 2016 at 18:14
• I plan to use Macleods "Nearly Optimum Three-Sample Interpolator". If I understood correctly, that one produces very less bias if N is sufficiently large. Commented Sep 5, 2016 at 18:38
• Hi Peter. If you wish, you may combine all your comments inside an official answer so that I can accept it. Commented Sep 6, 2016 at 20:15

If you mean the standard deviation of the estimate, then that will be governed (at higher SNRs) by the Cramer-Rao lower bound for frequency estimate $\hat{f}_0$, which is: $${\rm var}(\hat{f}_0) \ge \frac{12}{(2\pi)^2 \eta N(N^2-1)}$$ where the signal model is $$x[n] = A \cos(2\pi f_0 n + \phi) + w[n]$$ the amplitude is $A$ and phase $\phi$ (which are also both unknown), the number of samples is $N$, $\eta = A^2/(2\sigma^2)$ is the SNR and $w[n]$ is white, Gaussian noise of variance $\sigma^2$.
• With frequency resolution I originally meant the distance in Hz between two adjacent data points in the DFT. There, the frequency resolution is defined by 1/t, where t is the time for which data points of the stationary signal have been captured at a sampling rate of Fs. So, if I capture data for 3s, I will have a frequency resolution of 1/3 Hz. Commented Sep 6, 2016 at 20:50