Skip to main content

Kalman Filter: Mathematical Description and Example


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
Kalman Filter Channel Estimation Plot
Kalman Filter for Wireless Channel Estimation


Contact Us

Name

Email *

Message *

Popular Posts

MATLAB Code for BER performance of QPSK with BPSK, 4-QAM, 16-QAM, 64-QAM, 256-QAM, etc

📘 Overview 🧮 MATLAB Codes 🧮 Online Simulator for Calculating BER of M-ary PSK and QAM 🧮 QPSK vs BPSK and QAM: A Comparison of Modulation Schemes in Wireless Communication 🧮 Are QPSK and 4-PSK same? 📚 Further Reading   QPSK offers double the data rate of BPSK while maintaining a similar bit error rate at low SNR when Gray coding is used. It shares spectral efficiency with 4-QAM and can outperform 4-QAM or 16-QAM in very noisy channels. QPSK is widely used in practical wireless systems, often alongside QAM in adaptive modulation schemes [Read more...] What is the Gray Code? Gray Code: Gray code is a binary numeral system where two successive values differ in only one bit. This property is called the single-bit difference or unit distance code. It is also known as reflected binary code. Let's convert binary 111 to Gray code: Binary bits: B = 1 1 1 Apply the rule: G[0] = B[0] = 1...

FFT Butterfly Method Explained (with Simulations)

4-Point FFT Using Butterfly Method Given: x[n] = {0, 1, 2, 3} Step 1: Split into Even & Odd Even indices: x e = {x[0], x[2]} = {0, 2} Odd indices: x o = {x[1], x[3]} = {1, 3} Step 2: 2-point DFT For any {a, b}: DFT = {a + b, a - b} Even Part (E): {0+2, 0-2} = {2, -2} Odd Part (O): {1+3, 1-3} = {4, -2} Step 3: Combine Using Butterfly X[k] = E[k] + W 4 k O[k] X[k + 2] = E[k] - W 4 k O[k] Twiddle Factors (N=4): W 4 0 = 1, W 4 1 = -j Final Calculations: X[0] = E[0] + W 4 0 O[0] = 2 + (1)(4) = 6 X[2] = E[0] - W 4 0 O[0] = 2 - (1)(4) = -2 X[1] = E[1] + W 4 1 O[1] = -2 + (-j)(-2) = -2 + 2j X[3] = E[1] - W 4 1 O[1] = -2 - (-j)(-2) = -2 - 2j Final Answer: X[k] = {6, -2 + 2j, -2, -2 - 2j} 8-Point FFT Using Butterfly Method Given: x[n] = {0,1,2,3,4,5,6,7} Step 1: Split into Bit-Reversed Order To perform DIT-FFT, split the 8 points into pairs of two: Group A: {x[0], x[4]} = {0, 4}...

MATLAB Code for QPSK Modulation and Demodulation

📘 Overview 🧮 MATLAB Codes 🧮 Theory 🧮 BER performance of QPSK with BPSK, 4-QAM, 16-QAM, 64-QAM, 256-QAM, etc 📚 Further Reading QPSK Passband Signal Generation Spectral Efficiency in QPSK   Quadrature Phase Shift Keying (QPSK) is a digital modulation scheme that conveys two bits per symbol by changing the phase of the carrier signal. Each pair of bits is mapped to one of four possible phase shifts: 0°, 90°, 180°, or 270° 00  ===> 0 degree phase shift of carrier signal 01  ===> 90 degree 11  ===> 180 degree 10  ===> 270 degree   MATLAB Script clc; clear all; close all; clc; M = 4; data = randi([0 (M-1)], 1000, 1); Phase = 0; modData=pskmod(data,M,Phase); figure(1); scatterplot(modData); channelAWGN = 15; rxData2 = awgn(modData, channelAWGN); figure(2); scatterplot(rxData2); demodData = pskdemod(rxData2,M,Phase);   Result data 1 0 2 2 0 2 1 . . . modData -1.0...

UGC NET Electronic Science Previous Year Question Papers with Solutions

Home / Engineering & Other Exams / UGC NET 2026 PYQ ⬇️ Download Papers and Solutions 📋 Exam Pattern 💡 Preparation Tips ❓ FAQs 📊 Exam Highlights: Electronic Science (88) Feature Details Junior Research Fellowship (JRF) ₹37,000 + HRA per month Eligibility M.Sc/M.Tech in Electronics (55%) Validity of Certificate JRF (3 Years) | Lectureship (Lifetime) 📥 Download UGC NET Electronics PDFs Complete collection of previous year question papers, answer keys and explanations for Subject Code 88. Start Downloading 📂 View All Question Papers June 2025 - Question Paper Download PDF June 2025 - Solved Paper + Explanation ...

OFDM Symbols and Subcarriers Explained

This article explains how OFDM (Orthogonal Frequency Division Multiplexing) symbols and subcarriers work. It covers modulation, mapping symbols to subcarriers, subcarrier frequency spacing, IFFT synthesis, cyclic prefix, and transmission. Step 1: Modulation First, modulate the input bitstream. For example, with 16-QAM , each group of 4 bits maps to one QAM symbol. Suppose we generate a sequence of QAM symbols: s0, s1, s2, s3, s4, s5, …, s63 Step 2: Mapping Symbols to Subcarriers Assume N sub = 8 subcarriers. Each OFDM symbol in the frequency domain contains 8 QAM symbols (one per subcarrier): Mapping (example) OFDM symbol 1 → s0, s1, s2, s3, s4, s5, s6, s7 OFDM symbol 2 → s8, s9, s10, s11, s12, s13, s14, s15 … OFDM sym...

Online Simulator for ASK, FSK, and PSK Signal Generation

Interactive Digital Signal Processing (DSP) Tutorial and Simulator for ASK, FSK, and BPSK modulation techniques. Try our new Digital Signal Processing Simulator!   •   Interactive ASK, FSK, and BPSK tools updated for 2025. Start Now Digital Modulation Visualizer: ASK, FSK, & BPSK Simulator Learn and visualize binary modulation techniques (ASK, FSK, BPSK) in real-time with adjustable carrier and sampling parameters. Perfect for DSP students and engineers. 📡 ASK Simulator 📶 FSK Simulator 🎚️ BPSK Simulator 📚 More Topics ASK Modulator FSK Modulator BPSK Modulator More Topics 1. ASK (Amplitude Shift Keying) Simulat...

BER vs SNR for M-ary QAM, M-ary PSK, QPSK, BPSK, ...(MATLAB Code + Simulator)

Bit Error Rate (BER) & SNR Guide Analyze communication system performance with our interactive simulators and MATLAB tools. 📘 Theory 🧮 Simulators 💻 MATLAB Code 📚 Resources BER Definition SNR Formula BER Calculator MATLAB Comparison 📂 Explore M-ary QAM, PSK, and QPSK Topics ▼ 🧮 Constellation Simulator: M-ary QAM 🧮 Constellation Simulator: M-ary PSK 🧮 BER calculation for ASK, FSK, and PSK 🧮 Approaches to BER vs SNR Calculation What is Bit Error Rate (BER)? The BER indicates how many corrupted bits are received compared to the total number of bits sent. It is the primary figur...

DFTs-OFDM vs OFDM: Why DFT-Spread OFDM Reduces PAPR Effectively (with MATLAB Code)

Understanding PAPR in DFT-spread OFDM vs. Standard OFDM In modern wireless communications like 4G LTE and 5G NR, managing the Peak-to-Average Power Ratio (PAPR) is critical for hardware efficiency. While OFDM is the gold standard for high-speed data, its high PAPR poses significant challenges for mobile devices. This is where DFTs-OFDM (also known as SC-FDMA) comes in. DFT-spread OFDM (DFTs-OFDM) has lower Peak-to-Average Power Ratio (PAPR) because it "spreads" the data in the frequency domain before applying IFFT, making the time-domain signal behave more like a single-carrier signal rather than a multi-carrier one like OFDM. Deeper Explanation: Aspect OFDM DFTs-OFDM Signal Type Multi-carrier Single-carrier-like Process IFFT of QAM directly QAM → DFT → IFFT PAPR Level High (due to many...