I'm looking to apply an optimal LQR filter to a discrete signal of the form $$ x[n]=A\sin(\omega_0n+\phi)+v[n] $$ The amplitude $A$ and the phase $\phi$ are unknown variables I want to estimate using the filter, and $v[n]$ is an uncorrelated noise signal of variance $\sigma_v^2$.

I don't know how to build a state model to generate this sine wave, and proceed from there.

  • $\begingroup$ I did something similar in the past except we wanted to track the frequency. From what I recall we used 4 states states : Amplitude, derivate of x[n], frequency, frequency derivate $\endgroup$ – Ben May 27 '18 at 17:55
  • $\begingroup$ Is $\omega_0$ known? $\endgroup$ – Peter K. May 27 '18 at 21:18
  • $\begingroup$ Yes $\omega_0$ is known $\endgroup$ – Steve.G Ayeni May 28 '18 at 15:57
  • $\begingroup$ @Ben Please could you explain how you did that better? Any materials to help on this ? I am still confused. $\endgroup$ – Steve.G Ayeni May 28 '18 at 22:33

You could use a nonlinear Kalman filter, such as the extended Kalman filter (EKF), and track the phase and frequency as your state variables.

In this case, your Kalman filter is essentially acting like a phase-locked loop (PLL).

Example reference

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.