Show
Ignore:
Timestamp:
12/16/12 23:05:25 (11 years ago)
Author:
smidl
Message:

uprava generatoru

Files:
1 modified

Legend:

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

    r1466 r1468  
    581581         
    582582        class mp:public epdf{ 
    583                 LOG_LEVEL(mp,logth); 
     583                LOG_LEVEL(mp,logth,logom); 
    584584        public: 
    585                 mp():epdf(){set_dim(3);         log_level[logth]=true; 
     585                mp():epdf(){set_dim(3);         log_level[logth]=true;log_level[logom]=true; 
    586586} 
    587587                vec sample() const {return zeros(3);} 
     
    600600                                L.add_vector( log_level, logth, RV ( th_dim ), prefix ); 
    601601                        } 
     602                        if ( log_level[logom] ) { 
     603                                int th_dim = N; // dimension - dimension of cov 
     604                                L.add_vector( log_level, logom, RV ( th_dim ), prefix ); 
     605                        } 
    602606                } 
    603607                void log_write() const { 
     
    609613                                for(int i=0;i<N;i++){th(i)=Th[i];} 
    610614                                log_level.store( logth, th ); 
     615                        } 
     616                        if ( log_level[logom] ) { 
     617                                floatx Om[N]; 
     618                                mpf_om(Om); 
     619                                vec om(N);  
     620                                for(int i=0;i<N;i++){om(i)=Om[i];} 
     621                                log_level.store( logom, om ); 
    611622                        } 
    612623                } 
     
    730741                yy=prevod(val[1]/Iref,15); 
    731742                 
    732                 int16 detS, rem; 
    733                 ekfCh2(&E, ux,uy,yx,yy, &detS, &rem); 
    734                  
    735                 Est._mu()=vec_2(E.x_est[0]*Uref/32768., E.x_est[1]*Uref/32768.); 
    736                  
    737                 ll = -0.5*qlog(detS)-0.5*rem; 
     743                int32 detS; 
     744                int16 rem; 
     745                ekfCh2(&E, ux,uy,yx,yy, &detS, &rem); //detS,rem asssigned inside 
     746                 
     747                Est._mu()=vec_2(E.x_est[0]*Wref/32768., E.x_est[1]*Thetaref/32768.); 
     748                 
     749                ll = 0.99*ll+( -0.5*(double)rem/32767)*10000-0.0*log((double)detS); // detS in q(8+15+15)-(8+8). - multiplicative differece is not important 
    738750        } 
    739751        const epdf& posterior() const {return Est;}; 
     
    788800                yy=prevod(val[1]/Iref,15); 
    789801                 
    790                 int16 detS, rem; 
     802                int16  rem; 
     803                int32 detS; 
    791804                ekfCh2(&E, ux,uy,yx,yy, &detS, &rem); 
    792805