Changeset 32 for matlab

Show
Ignore:
Timestamp:
03/03/08 13:00:32 (16 years ago)
Author:
smidl
Message:

test KF : estimation of R in KF is not possible! Likelihood of y_t is growing when R -> 0

Location:
matlab
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • matlab/testKF.m

    r22 r32  
    77        C=[1 0]; 
    88        D=[0]; 
    9         R=[0.1]; 
     9        R=[1]; 
    1010        Q=[0.2 0 ; 0 0.02];  
    1111 
     
    1717        P0 = 200*eye(2); 
    1818 
    19         u = ones(1,N); 
     19        u = zeros(1,N); 
    2020        x = zeros(2,N); 
    2121        y = zeros(1,N); 
    2222 
    2323        x(:,1) = [10;10]; 
     24        Et = sQ*randn(2,N); 
     25        Wt = sR*randn(1,N); 
    2426        for i=2:N; 
    25                 et(1:2,i) = sQ*randn(2,1); 
    26                 x(:,i) = A*x(:,i-1) + B*u(i) + et(:,i); 
    27                 y(:,i) = C*x(:,i) + D*u(i) + sR*randn(1,1); 
     27                x(:,i) = A*x(:,i-1) + B*u(i) + Et(:,i); 
     28                y(:,i) = C*x(:,i) + D*u(i) + Wt(:,1); 
    2829        end 
    2930 
     
    3940EP = [0;0]; 
    4041 
     42Oxt = mu0; 
     43OPt = P0; 
     44ll =0; 
     45Oxt2 = mu0; 
     46OPt2 = P0; 
     47ll2=0; 
     48 
     49 
    4150for t=2:N 
    4251        mu = A*mu + B*u(t); 
     
    5059        mu = mu + K*(y(t)-C*mu-D*u(t)); 
    5160        Mu(1:2,t)=mu; 
     61 
     62        [Oxt,OPt,ll(t)] = Kalman(Oxt,y(t),A,C,Q,R,OPt); 
     63        [Oxt2,OPt2,ll2(t)] = Kalman(Oxt2,y(t),A,C,Q,R/10000,OPt2); 
    5264end 
     65 
     66keyboard 
    5367 
    5468!cd ../;./tests/testKF