# How to account for multiple signals in the input to a Kalman filter

I am interested in using a Kalman filter to track an oscillating signal due to a physical oscillator in a signal which contains the signal from multiple such oscillators oscillating at different frequencies. The signal in this case is simply a voltage value changing with time.

I have thus-far been using sinusoidal Kalman filters for this, however they do not perform optimally as the oscillator is not a perfect sinusoid, it experiences amplitude changes, phase jumps and changes in frequency slowly over time, the first 2 it can correct for, but the last causes the Kalman filter to not be centred on the correct frequency anymore and perform poorly.

However it was suggested to me, that, as long as I use a high sample rate (~25 samples per oscillation) a simple kinematic filter (tracking position, velocity and acceleration) will track the signal, and then there is no problem if the frequency shifts as it is just tracking the position of the oscillator with no forced frequency assumed.

For this kinematic filter, would it require me to filter out the signal of the oscillator to be tracked from the other oscillators with a bandpass filter? Alternatively would tracking the motion of all the oscillators simultaneously work? Without some sort of technique I see no way that such a filter would know what the signal it was required to track was.

• I'm not quite sure what some things you mention are: sinusoidal Kalman filter and kinematic filter in particular. Can you write out what you mean by these or give references? How far apart are the different oscillating frequencies? If they're too close, a filter probably won't help much.
– Peter K.
Jun 20 '17 at 10:48
• Ah, I've found a previous question of yours that partially answers my questions.
– Peter K.
Jun 20 '17 at 10:50
• ahh yes, that's the sinusoidal Kalman filter I meant. By kinematic filter I mean one that simply considers the position, velocity and acceleration and uses the equation $\ddot{x} = - \dfrac{2\dot{x}}{\Delta t} + \dfrac{2x}{\Delta t^2}$ Jun 20 '17 at 11:36
• So the state vector would be [$x$, $\dot{x}$, $\ddot{x}$] and I'd have the system $$\begin{bmatrix} \dot{x} \\ \ddot{x} \\ \dddot{x} \\ \end{bmatrix} = \begin{bmatrix} 0 & 1 & 0 \\ \dfrac{2}{\Delta t^2} & \dfrac{-2}{\Delta t} & 0 \\ 0 & 0 & 0 \\ \end{bmatrix} . \begin{bmatrix} x \\ \dot{x} \\ \ddot{x} \\ \end{bmatrix}$$ Jun 20 '17 at 12:15
• Can't you add a frequency state to what you have and change a few things to make an EKF
– user28715
Jun 20 '17 at 12:33