# 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

Thank you for your answers.

• 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. Sep 5 '16 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... – lR8n6i Sep 5 '16 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. Sep 5 '16 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. – lR8n6i Sep 5 '16 at 18:38
• Hi Peter. If you wish, you may combine all your comments inside an official answer so that I can accept it. – lR8n6i Sep 6 '16 at 20:15

## 1 Answer

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.

Generally the more data, the better for all parameters. Provided you use an estimator without bias, it should do better with more data.

It depends on what you mean by "resolution".

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$.

See equations (3.41) of Kay's Fundamentals of Statistical Signal Processing, Volume 1: Estimation Theory.

• 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. – lR8n6i Sep 6 '16 at 20:50