NMEA рдбреЗрдЯрд╛ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рдХрд▓рдорди рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЗ рд╕рд╛рде рдЕрдиреБрднрд╡

рд▓реЗрдЦ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдХрд▓рдорди рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдирд╛ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ (рдХрдЪреНрдЪреЗ) рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рд╣реИред рдЬреЛ рд▓реЛрдЧ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдФрд░ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдореЗрд░реЗ рдХрд╛рдо рд╕реЗ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рдорджрдж рдорд┐рд▓реЗрдЧреА рдЬреЛ рд╕рдорд╛рди рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рде рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред


рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдбреЗрдЯрд╛ NMEA-0183 рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдХ рдЬреАрдкреАрдПрд╕ рд░рд┐рд╕реАрд╡рд░ рд╕реЗ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ GGA рдФрд░ VTG рд╕рдВрджреЗрд╢ред


рдЬреАрдкреАрдПрд╕ рдХреЗ рд╢реЛрд░ рдХреЗ рдХрд╛рд░рдг рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЬреАрдкреАрдПрд╕ рдбреЗрдЯрд╛ рдореЗрдВ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХреЗ рдХрд╛рд░рдг рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реИрдВред рдореБрдЦреНрдп рд╣реИрдВ:


  • рдорд╛рд╣реМрд▓ред
  • рд╕рдВрдХреЗрдд рдХреЗ рд▓рд┐рдП рдмрд╛рдзрд╛рдПрдВред
  • рдЬреАрдкреАрдПрд╕ рдХрдХреНрд╖рд╛ рдХреА рд╕реНрдерд┐рддрд┐ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬреАрдкреАрдПрд╕ рдХрдХреНрд╖рд╛рдУрдВ рдХреА рдХрдо рдЭреБрдХрд╛рд╡ (рд▓рдЧрднрдЧ 55 ┬░) рдкреГрдереНрд╡реА рдХреЗ рдЪрдХреНрдХрд░рджрд╛рд░ рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рд╕рдЯреАрдХрддрд╛ рд╕реЗ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдмрд╛рдзрд╛ рдбрд╛рд▓рддреА рд╣реИред

рдпрд╣ рд╕рдм рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рд╕реНрдерд┐рддрд┐, рдкрд╛рдареНрдпрдХреНрд░рдо рдФрд░ рдЕрдиреНрдп рдкрд░реЗрд╢рд╛рдирд┐рдпреЛрдВ рдореЗрдВ рдХреВрджрддрд╛ рд╣реИред рдФрд░ рдХрд╛рдо рдореЗрдВ, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореБрдЭреЗ рдлрд╝рд┐рд▓реНрдЯрд░реНрдб рдЧрддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред


рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЙрдкрдХрд░рдг рджреНрд╡рд╛рд░рд╛ рдорд╛рдкреА рдЧрдИ рдЧрддрд┐ рдФрд░ рд╡реАрдЯреАрдЬреА рд╕рдВрджреЗрд╢ рдореЗрдВ рдкреНрд░реЗрд╖рд┐рдд рдиреЗ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдкрдардиреАрдп (рдХреВрджрддрд╛ рд╣реИ, рдЖрджрд┐) рджрд┐рдП, рдЬреЛ рдирд┐рдпрдВрддреНрд░рдг рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рдХрд░рддреЗ рд╣реИрдВред
рдЗрд╕рд▓рд┐рдП, рдСрдХреНрдЯреЗрд╡ рдореЗрдВ рдПрдХ рдлрд┐рд▓реНрдЯрд░ рдореЙрдбрд▓ рдмрдирд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдЬреАрдЬреАрдП рд╕рдВрджреЗрд╢ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдП рдЧрдП рдЬреАрдкреАрдПрд╕ рдбреЗрдЯрд╛ рдХреЗ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗ рд░реВрдк рдореЗрдВ рдЧрддрд┐ рдкреНрд░рд╛рдкреНрдд рдХреА рдереА, рд╡реАрдЯреАрдЬреА рд╕рдВрджреЗрд╢ рд╕реЗ рдореВрд▓ рдЧрддрд┐ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░реЗрдВред


рддреБрд▓рдирд╛ рдореЗрдВ рдЖрд╕рд╛рдиреА рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рдЧреНрд░рд╛рдл рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред


рдХрд▓рдорди рдлрд╝рд┐рд▓реНрдЯрд░ рдбреЗрдЯрд╛ рдФрд░ рдЗрд╕рдХреЗ рдбреЗрд░рд┐рд╡реЗрдЯрд┐рд╡ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред


┬л┬╗.


тАФ . ( ) : - - . , Predict, Update, Invariant :


https://habr.com/ru/post/140274/
https://habr.com/ru/post/166693/
https://ru.wikipedia.org/wiki/%D0%A4%D0%B8%D0%BB%D1%8C%D1%82%D1%80_%D0%9A%D0%B0%D0%BB%D0%BC%D0%B0%D0%BD%D0%B0


Octave (open-source Matlab Linux). F . ( ):



, .
тАФ (PAC ) C++.


тАФ Octave .


++ , , Octave тАФ .


GGA :


VTG :

┬л--┬╗ тАФ , . Latitude Longitude.


.


, .

:
Fk тАФ //, state-transition model.
Hk тАФ /, observation model.
Qk тАФ , covariance of the process noise;.
Rk тАФ , covariance of the observation noise.
K тАФ .
Xp тАФ () .
Xk тАФ .
X(k-1) тАФ .
Pp тАФ , .
P тАФ .
P(k-1) тАФ () .
z- () .


:
Xp = Fk X(k-1); .
Pp = Fk
P(k-1) * F'k + Q; .


:
K = Pp H' inv(H Pp H' + R); .
Xk = Xp + K(z тАФ HXp); z.
P = Pp тАФ KHPp; .


.


KalmanX KalmanY .


X Y , , Q, R, F reset ( Q R, ).


(habrGGA.m) , , .


Q, R . ( Q, R). , .


, :



( ) , Q. R = 0,2.


, :



тАФ X Y (Latitude Longitude) , :




:



( VTG) , .


Q R, (habrGGA.m):


 if j==1   Q = [ 0.01 0;
                  0   0.01];
            Q1=Q;     
            R=0.2; R1=R;
  elseif j==2   Q = [ 0.05 0;
                      0   0.05]; 
                      Q2=Q;
            R=0.2; R1=R;
  elseif j==3    Q = [1 0;
                       0  1];
                       Q3=Q;
            R=0.2; R1=R;
  end

рдореЗрд░реЗ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдФрд╕рдд рдХреНрдпреВ рдорд╛рди (0.05) рдЕрдм рдЗрд╕ NMEA рдХрд┐рдЯ рдкрд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдкрд╕рдВрджреАрджрд╛ рд▓рдЧрддрд╛ рд╣реИред рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рдФрд░ рд╕рдВрднрд╡рддрдГ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЧреБрдгрд╛рдВрдХ рдХреЗ рдЪрд░ рдЪрдпрди рдХреЛ рдореВрд░рд┐рдВрдЧ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдбреАрдмрдЧрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред


рд╕рдВрд▓рдЧреНрди рдлрд╛рдЗрд▓ред
habrGGA.m - рдореБрдЦреНрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдбреЗрдЯрд╛ рдкрдврд╝рдирд╛, рдлрд┐рд▓реНрдЯрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛, рдЧреНрд░рд╛рдлрд╝ рдХреЛ рдкреНрд▓реЙрдЯ рдХрд░рдирд╛)
KalmanX.m - Kalman рдлрд╝рд┐рд▓реНрдЯрд░ (рдЕрдХреНрд╖рд╛рдВрд╢)
KalmanY.m - Kalman рдлрд╝рд┐рд▓реНрдЯрд░ (рджреЗрд╢рд╛рдВрддрд░)


All Articles