Kalman Filter: Mathematical Description
1. System Model (State-Space Representation)
State Equation
\[
\mathbf{x}_{k} = \mathbf{F}_{k-1}\mathbf{x}_{k-1} + \mathbf{B}_{k-1}\mathbf{u}_{k-1} + \mathbf{w}_{k-1}
\]
Measurement Equation
\[
\mathbf{z}_{k} = \mathbf{H}_{k}\mathbf{x}_{k} + \mathbf{v}_{k}
\]
where:
- \(\mathbf{x}_k\): system state vector
- \(\mathbf{u}_k\): control input
- \(\mathbf{z}_k\): measurement vector
- \(\mathbf{F}_k\): state transition matrix
- \(\mathbf{B}_k\): control input matrix
- \(\mathbf{H}_k\): observation matrix
- \(\mathbf{w}_k \sim \mathcal{N}(0,\mathbf{Q}_k)\): process noise
- \(\mathbf{v}_k \sim \mathcal{N}(0,\mathbf{R}_k)\): measurement noise
2. Kalman Filter Assumptions
- Linear system dynamics
- Gaussian, white, zero-mean noise
- Gaussian initial state
\[
\mathbf{x}_0 \sim \mathcal{N}(\hat{\mathbf{x}}_0, \mathbf{P}_0)
\]
3. Kalman Filter Algorithm
The Kalman filter consists of two recursive steps: Prediction and Update.
4. Prediction (Time Update)
State Prediction
\[
\hat{\mathbf{x}}_{k|k-1} =
\mathbf{F}_{k-1}\hat{\mathbf{x}}_{k-1|k-1} +
\mathbf{B}_{k-1}\mathbf{u}_{k-1}
\]
Error Covariance Prediction
\[
\mathbf{P}_{k|k-1} =
\mathbf{F}_{k-1}\mathbf{P}_{k-1|k-1}\mathbf{F}_{k-1}^T +
\mathbf{Q}_{k-1}
\]
5. Update (Measurement Correction)
Innovation (Residual)
\[
\mathbf{y}_k = \mathbf{z}_k - \mathbf{H}_k\hat{\mathbf{x}}_{k|k-1}
\]
Innovation Covariance
\[
\mathbf{S}_k =
\mathbf{H}_k\mathbf{P}_{k|k-1}\mathbf{H}_k^T +
\mathbf{R}_k
\]
Kalman Gain
\[
\mathbf{K}_k =
\mathbf{P}_{k|k-1}\mathbf{H}_k^T
\mathbf{S}_k^{-1}
\]
6. State Update
\[
\hat{\mathbf{x}}_{k|k} =
\hat{\mathbf{x}}_{k|k-1} +
\mathbf{K}_k \mathbf{y}_k
\]
7. Covariance Update
\[
\mathbf{P}_{k|k} =
(\mathbf{I} - \mathbf{K}_k\mathbf{H}_k)
\mathbf{P}_{k|k-1}
\]
Joseph stabilized form:
\[
\mathbf{P}_{k|k} =
(\mathbf{I}-\mathbf{K}_k\mathbf{H}_k)\mathbf{P}_{k|k-1}
(\mathbf{I}-\mathbf{K}_k\mathbf{H}_k)^T
+ \mathbf{K}_k\mathbf{R}_k\mathbf{K}_k^T
\]
8. Optimality Property
\[
\hat{\mathbf{x}}_k =
\mathbb{E}[\mathbf{x}_k \mid \mathbf{z}_{1:k}]
\]
The Kalman filter minimizes the mean square error:
\[
\mathbb{E}\left[
(\mathbf{x}_k - \hat{\mathbf{x}}_k)
(\mathbf{x}_k - \hat{\mathbf{x}}_k)^T
\right]
\]
9. Extensions
- Extended Kalman Filter (EKF)
- Unscented Kalman Filter (UKF)
- Ensemble Kalman Filter (EnKF)
Kalman Filter: Simple Numerical Example for Wireless Communication
1. Problem Setup (Wireless Channel Estimation)
We consider a slowly varying wireless channel gain \(h_k\) tracked at the receiver using noisy pilot measurements.
State (Channel) Model
\[
h_k = h_{k-1} + w_k
\]
Measurement Model
\[
y_k = h_k + v_k
\]
where \(w_k \sim \mathcal{N}(0,Q)\) represents channel variation and \(v_k \sim \mathcal{N}(0,R)\) represents receiver noise.
2. Numerical Data (Arrays)
True Channel (Unknown)
h_true = [1.0, 1.1, 0.9, 1.05, 1.0]
Noisy Pilot Measurements
y = [0.95, 1.20, 0.85, 1.10, 0.98]
Noise Statistics
Q = 0.01 (process noise variance)
R = 0.04 (measurement noise variance)
Initial Conditions
ĥ0 = 0.8
P0 = 0.1
3. Kalman Filter Equations (1D Case)
Prediction
\[
\hat{h}_{k|k-1} = \hat{h}_{k-1}
\]
\[
P_{k|k-1} = P_{k-1} + Q
\]
Update
\[
K_k = \frac{P_{k|k-1}}{P_{k|k-1} + R}
\]
\[
\hat{h}_k = \hat{h}_{k|k-1} + K_k (y_k - \hat{h}_{k|k-1})
\]
\[
P_k = (1 - K_k) P_{k|k-1}
\]
4. Step-by-Step Numerical Computation
Iteration 1
Prediction:
ĥ⁻ = 0.8
P⁻ = 0.11
Kalman Gain:
K = 0.11 / (0.11 + 0.04) = 0.733
Update:
ĥ1 = 0.8 + 0.733 × (0.95 − 0.8) = 0.91
P1 = 0.029
Iteration 2
ĥ⁻ = 0.91
P⁻ = 0.039
K = 0.494
ĥ2 = 1.05
P2 = 0.020
Iteration 3
ĥ⁻ = 1.05
P⁻ = 0.030
K = 0.43
ĥ3 = 0.96
P3 = 0.017
Iteration 4
ĥ⁻ = 0.96
P⁻ = 0.027
K = 0.40
ĥ4 = 1.02
P4 = 0.016
Iteration 5
ĥ⁻ = 1.02
P⁻ = 0.026
K = 0.39
ĥ5 = 1.00
P5 = 0.016
5. Final Results
True channel: [1.00, 1.10, 0.90, 1.05, 1.00]
Measured (noisy): [0.95, 1.20, 0.85, 1.10, 0.98]
Kalman estimate: [0.91, 1.05, 0.96, 1.02, 1.00]
The Kalman filter smooths measurement noise and accurately tracks the time-varying wireless channel.
6. Relevance to Wireless Communication
- Channel estimation using pilot symbols
- Doppler and mobility tracking
- SNR and RSSI estimation
- Adaptive modulation and coding