1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2025-10-23 03:27:39 +00:00

Added velocity and clock drift to PVT

Interestingly RTKLIB does not store the clock drift in its sol_t
datatype, so I added this to the unused element dtr[5]. This may not be
compatible with future versions of RTKLIB.

Here we store velocity in ENU coordinates and the clock drift in parts
per million (PPM)
This commit is contained in:
Cillian O'Driscoll
2017-08-29 11:27:13 +01:00
parent afb2eb16c6
commit 216e8dfa26
3 changed files with 43 additions and 1 deletions

View File

@@ -1071,6 +1071,23 @@ bool Rtklib_Solver::get_PVT(const std::map<int, Gnss_Synchro> &gnss_observables_
monitor_pvt.pdop = dop_[1];
monitor_pvt.hdop = dop_[2];
monitor_pvt.vdop = dop_[3];
double vel_enu[3];
double pos[3];
pos[0] = rx_position_and_time(0);
pos[1] = rx_position_and_time(1);
pos[2] = rx_position_and_time(2);
ecef2enu( pos, &pvt_sol.rr[3], vel_enu );
arma::vec rx_vel_enu(3);
rx_vel_enu(0) = vel_enu[ 0 ];
rx_vel_enu(1) = vel_enu[ 1 ];
rx_vel_enu(2) = vel_enu[ 2 ];
this->set_rx_vel( rx_vel_enu );
double clock_drift_ppm = pvt_sol.dtr[5] / GPS_C_m_s *1e6;
this->set_clock_drift_ppm( clock_drift_ppm );
// ######## LOG FILE #########
if (d_flag_dump_enabled == true)