% Generate noisy measurements num_steps = 50; measurements = zeros(1, num_steps); for k = 1:num_steps x_true = A * x_true; % true motion measurements(k) = H * x_true + sqrt(R)*randn; % noisy measurement end

% Run Kalman filter x_hat_log = zeros(2, num_steps); for k = 1:num_steps % Predict x_pred = A * x_hat; P_pred = A * P * A' + Q;

x_hat_log(:,k) = x_hat; end

% Noise covariances Q = [0.01 0; 0 0.01]; % process noise (small) R = 1; % measurement noise (variance)

The Kalman filter smooths the noisy measurements and gives a much cleaner position estimate. 6. MATLAB Example 2 – Understanding the Kalman Gain % Show how Kalman gain changes with measurement noise clear; clc; dt = 1; A = [1 dt; 0 1]; H = [1 0];

x_k = A * x_k-1 + B * u_k + w_k Measurement equation: z_k = H * x_k + v_k

close
Scroll to Top