The linearized system around a nominal trajectory is given by (p standing for pertubations around the trajectory):
x˙p(t)=A(t)xp(t)+B(t)up(t),
where:
- A(t)=∂x∂f(x∗(t),u∗(t)) is the Jacobian of f with respect to x.
- B(t)=∂u∂f(x∗(t),u∗(t)) is the Jacobian of f with respect to u.
f is a vector that consists of multiple functions.
So now let’s look at the non-linear discrete time system.
State Transition (Process Model):
xk+1=f(xk,uk)+wk
Observation (Measurement Model):
yk=h(xk)+vk
Similar to the continuous method, we want to linearise this system by finding matrices A and C. We choose our nominal point to linearise around to be x^k∣k (and uk), which is the estimate of xk at time k given measurements up to k.
Notice we are linearising around an estimated state as we are trying to create a Kalman filter. Refer back to the original discrete Kalman filter to see how and where x^k∣k is used.
Define Jacobians for Dynamics:
Ak=∂x∂fx^k∣k,uk
This is the same as our standard linearisation process.
Start with the nonlinear measurement model (shifted by one):
yk+1=h(xk+1)+vk+1
Linearise h(xk+1) around the predicted state x^k+1∣k
We use the first-order Taylor expansion of h(x) about x^k+1∣k:
h(xk+1)≈h(x^k+1∣k)+∂x∂hx^k+1∣k(xk+1−x^k+1∣k)+higher order terms
This is the standard Taylor expansion, shown previously:
h(x)≈h(a)+h′(a)(x−a)+H.O.T.
In our case:
- x=xk+1
- a=x^k+1∣k
Now, here’s a trick.
We define the C Jacobian matrix as the following (since we shifted by one, we use k+1):
Ck+1=∂x∂hx^k+1∣k
So now we go from
yk+1=h(xk+1)+vk+1
to a linearised version (h is now evaluated so no longer a function, we also drop the v after),
⇒yk+1≈h(x^k+1∣k)+Ck+1(xk+1−x^k+1∣k)+vk+1
Using these ideas (not sure how), we get the following: