# methods to estimate 2 sinusoids in noise

Are there some strategies to estimate a function which has the form

$y=A\sin(f_1x+O_1)+B\sin(f_2x+O_2)+\epsilon$

(where $\epsilon$ is small-variance Gaussian noise)

I have initial estimates of of the frequencies $f_1$ and $f_2$ and we know that $f_1$ is much slower than $f_2$ (5-10 times smaller).

Furthermore $B$ is small compared to $A$. Essentially $B\sin(f_2x+O_2)$+small Gaussian noise is trying to model a small oscillating noise term. This noise term is sitting on top of a sine wave.

I haven't found estimation like this on the internet, so I am open to using a more general framework such as a neural network, logistic regression etc, but what would be the recommended approach for this type of situation?

Assuming the noise is near-homoskedastic, and assuming $x$ is not observed with substantive error:
1. Given the initial $f$ values, obtain initial estimates of $A, B, O_1, O_2$ by writing each as a sum of sin and cosine terms to pull the phase offset terms out, fitting using ordinary regression, then backtransforming to the form in the question.
If 2. doesn't converge, consider alternating 1. and 2. but only estimating $f$ parameters at step 2. Failing that, trial a grid of $f$ values to get a better start on step 1.
• 1. To get back to your parameterization of the problem (i.e. so you get estimates of $A,B,O_1,O_2$). You could wait until after the end of step 2 to do that if you wish; indeed that might be advantageous. $\:$ 2. You can do step 2 if you can get good enough starting values.for the parameters.. which is the point of step 1 -- to get good starting values – Glen_b Jun 21 '16 at 10:07