Tracking a Sine Wave with Kalman Filter - How to Account for Offset (DC Signal)?
Well, in continuous time, a sinusoid with a bias can be seen as the output of the linear system
\begin{align*}
 \begin{bmatrix}\dot x_1\\\dot x_2\\\dot x_3\end{bmatrix} &amp;= \begin{bmatrix}0 &amp; 1 &amp; 0\\-\omega^2&amp;0&amp;0\\0 &amp;0 &amp;0\end{bmatrix}\begin{bmatrix}x_1\\x_2\\x_3\end{bmatrix}\\
 y &amp;= \begin{bmatrix}1&amp;0&amp;1\end{bmatrix}
\begin{bmatrix}x_1\\x_2\\x_3\end{bmatrix}
\end{align*}
As the initial condition $(x_1(0),x_2(0),x_3(0))$ vary in $\mathbb R^3$, the system generates all the possible $y(t)$ of the form
$$
y(t) = a\cos(\omega t+\phi) + b
$$
The system is observable for all $\omega\ne 0$,therefore a Kalman Filter is possible. With $x:=col(x_1,x_2,x_3)$ and
$$
A=\begin{bmatrix}0 &amp; 1 &amp; 0\\-\omega^2&amp;0&amp;0\\0 &amp;0 &amp;0\end{bmatrix},\qquad C=\begin{bmatrix}1&amp;0&amp;1\end{bmatrix}
$$
The filter has the form
\begin{align*}
\dot{\hat x} = A\hat x -L(C\hat x-y)
\end{align*}
Where $L$ is chosen according to the Kalman theory, on the basis of the covariance matrices of the noises and the solution of the Riccati Equation. For discrete time systems the procedure is the same.
EDIT:-----
If you only use a model for the oscillator you are actually restricting the $A$ map to the $x_1$-$x_2$ subspace. That's equivalent to take $C=[1\;0\;0]$ in the above system. In this latter case you loose observability (actually you do not have neither detectability) and therefore you cannot observe the bias.