of 19

• date post

21-Mar-2016
• Category

## Documents

• view

25

0

Embed Size (px)

description

Probability in EECS. Jean Walrand – EECS – UC Berkeley. Kalman Filter. Kalman Filter: Overview. Overview X(n+1) = AX(n) + V(n); Y(n) = CX(n) + W(n); noise ⊥ KF computes L[X(n ) | Y n ] Linear recursive filter, innovation gain K n , error covariance Σ n - PowerPoint PPT Presentation

### Transcript of Probability in EECS

Random Processes in Systems

Probability in EECSJean Walrand EECS UC BerkeleyKalman FilterKalman Filter: OverviewOverview

X(n+1) = AX(n) + V(n); Y(n) = CX(n) + W(n); noise KF computes L[X(n) | Yn]Linear recursive filter, innovation gain Kn, error covariance nIf (A, C) observable and 0 = 0, then n finite, Kn KIf, in addition, (A, Q = (V)1/2) reachable, then filter with Kn = K is asymptotically optimal (i.e., n ) Kalman Filter1. Kalman

Rudolf (Rudy) Emil Klmnb. 5/19/1930 in BudapestResearch Institute for Advanced Studies Baltimore, Maryland from 1958 until 1964.Stanford 64-71Gainesville, Florida 71-92

He is most noted for his co-invention and development of the Kalman Filter that is widely used in control systems, avionics, and outer space manned and unmanned vehicles.For this work, President Obama awarded him with the National Medal of Science on October 7, 2009.Kalman Filter2. ApplicationsTracking and Positioning: Apollo Program, GPS, Inertial Navigation,

Kalman Filter2. ApplicationsCommunications:MIMO

Kalman Filter2. ApplicationsCommunications:Video Motion Estimation

Kalman Filter2. ApplicationsBio-Medical:

Kalman Filter3. Big Picture

Kalman Filter3. Big Picture (continued)

Kalman Filter4. Formulas

Kalman Filter5. MATLAB for n = 1:N-1

V = normrnd(0,Q); W = normrnd(0,R);

X(n+1,:) = A*X(n,:) + V; Y = C*X(n+1,:) + W; S = A*H*A' + Q*Q; K = S*C'*(C*S*C'+R*R)^(-1); H = (1 - K*C)*S; Xh(n+1,:) = (A - K*C*A)*Xh(n,:) + K*Y; end

SystemKFKalman Filter5. MATLAB (complete) %FILTER S = A*H*A' + SV; %Gain calculation K = S*C'*(C*S*C'+SW)^(-1); H = (1 - K*C)*S; %Estimate update Xh(:,n+1) = (A - K*C*A)*Xh(:,n) + K*Y; end %PLOT P = [X(2,:); Xh(2,:)]'; plot(P)% KF: System X+ = AX + V, Y = CX + W (by X+ we mean X(n+1))% \Sigma_V = Q^2, \Sigma_W = R^2% we construct a gaussian noise V = normrnd(0, Q), W = normrnd(0, R)% where Z is iid N(0, 1)% The filter is Xh+ = (A - KCA)Xh + KY (Here Xh is the estimate)% K+ = SC'[CSC' + R^2)% S = AHA' + Q^2 (Here H = \Sigma = est. error cov.)% H+ = (1 - KC)S % CONSTANTSA = [1, 1; 0, 1];C = [1, 0]; Q = [1; 0];R = 0.5;SV = Q*Q';SW = R*R'; N = 20; %time steps M = length(A);

%SYSTEMX = zeros(M, N);Xh = X;H = zeros(M, M);K = H; X(:,1) = [0; 3]; %initial state for n = 1:N-1% These are the system equations V = normrnd(0,Q) W = normrnd(0,R;); X(:,n+1) = A*X(:,n) + V; Y = C*X(:,n+1) + W;

Kalman Filter6. Example 1: Random Walk A = 1 ;C = 1 ; Q = 0.2;R = 0.3;

A = 1 ;C = 1 ; Q = 0.2;R = 1;

Kalman Filter6. Example 1: Random Walk A = 1 ;C = 1 ; Q = 0.2;R = 0.3;

A = 1 ;C = 1 ; Q = 0.2;R = 1;

Kalman Filter6. Example 1: Random Walk

A = 1 ;C = 1 ; Q = 10;R = 10;

Kalman Filter7. Example 2: RW with unknown drift A = [1, 1; 0, 1];C = [1, 0]; Q = [1; 0];R = 0.5;

Kalman Filter8. Example 3: 1-D tracking, changing drift

A = [1, 1; 0, 1];C = [1, 0]; Q = [1; 0.1];R = 0.5;

Kalman Filter9. Example 4: Falling body

A = [1, 1; 0, 1];C = [1, 0]; Q = [10; 0];R = 40;