Show
Ignore:
Timestamp:
10/25/10 09:41:23 (14 years ago)
Author:
smidl
Message:

givens + new Q for UD

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • applications/pmsm/simulator_zdenek/ekf_example/ekf_obj.cpp

    r1229 r1230  
    445445        mmultAU(PSI,Uf,PSIU,4,4); 
    446446        //thorton(int *U, int *D, int *PSIU, int *Q, int *G, int *Dold, unsigned int dimx); 
    447         thorton(Uf,Df,PSIU,Q,G,Dfold,4); 
     447        thorton_fast(Uf,Df,PSIU,Q,G,Dfold,4); 
    448448         
    449449         { 
     
    469469        int dR[2];dR[0]=R[0];dR[1]=R[3]; 
    470470        //int xb[4]; xb[0]=x_est[0]<<2; xb[1]=x_est[1]<<2;  xb[2]=x_est[2]<<2;  xb[3]=x_est[3];   
    471         bierman(difz,x_est,Uf,Df,dR,2,4); 
     471        bierman_fast(difz,x_est,Uf,Df,dR,2,4); 
    472472        //x_est[0] = xb[0]>>2; x_est[1]=xb[1]>>2; x_est[2]=xb[2]>>2; x_est[3]=xb[3]; 
    473473         
     
    487487{ 
    488488        // Tuning of matrix Q 
    489         Q[0]=prevod(.0005,15);       // 0.05 
     489        Q[0]=prevod(.001,15);       // 0.05 
    490490        Q[5]=Q[0]; 
    491         Q[10]=prevod(0.0001,15);      // 1e-3 
     491        Q[10]=prevod(0.001,15);      // 1e-3 
    492492        Q[15]=prevod(0.0001,15);      // 1e-3 
    493493 
     
    585585        //thorton(int *U, int *D, int *PSIU, int *Q, int *G, int *Dold, unsigned int dimx); 
    586586        householder(PSICh,Q,4); 
     587        // COPY  
     588        for (int ii=0; ii<16; ii++){Chf[ii]=PSICh[ii];} 
    587589         
    588590        { 
     
    600602        int dR[2];dR[0]=R[0];dR[1]=R[3]; 
    601603        //int xb[4]; xb[0]=x_est[0]<<2; xb[1]=x_est[1]<<2;  xb[2]=x_est[2]<<2;  xb[3]=x_est[3];   
     604 
    602605        carlson(difz,x_est,Chf,dR,2,4); 
    603606        //x_est[0] = xb[0]>>2; x_est[1]=xb[1]>>2; x_est[2]=xb[2]>>2; x_est[3]=xb[3]; 
     
    618621{ 
    619622        // Tuning of matrix Q 
    620         Q[0]=prevod(.01,15);       // 0.05 
     623        Q[0]=prevod(.001,15);       // 0.05 
    621624        Q[5]=Q[0]; 
    622         Q[10]=prevod(0.0001,15);      // 1e-3 
     625        Q[10]=prevod(0.001,15);      // 1e-3 
    623626        Q[15]=prevod(0.0001,15);      // 1e-3 
    624627         
    625         Chf[0]=0x7FFF;// !       // 0.05 
     628        Chf[0]=0x3FFF;// !       // 0.05 
    626629        Chf[1]=Chf[2]=Chf[3]=Chf[4]=0; 
    627         Chf[5]=0x7FFF;//! 
     630        Chf[5]=0x3FFF;//! 
    628631        Chf[6]=Chf[6]=Chf[8]=Chf[9]=0; 
    629         Chf[10]=0x7FFF;//!      // 1e-3 
     632        Chf[10]=0x3FFF;//!      // 1e-3 
    630633        Chf[11]=Chf[12]=Chf[13]=Chf[4]=0; 
    631         Chf[15]=0x7FFF;      // 1e-3 
     634        Chf[15]=0x3FFF;      // 1e-3 
    632635                 
    633636        // Tuning of matrix R