mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-11-13 21:34:57 +00:00
Fix RX time correction in Galileo-only or in mix GPS and Galileo configurations
This commit is contained in:
parent
c9822a435c
commit
e3be903b3c
@ -961,15 +961,18 @@ bool Rtklib_Solver::get_PVT(const std::map<int, Gnss_Synchro> &gnss_observables_
|
||||
rx_position_and_time(0) = pvt_sol.rr[0]; // [m]
|
||||
rx_position_and_time(1) = pvt_sol.rr[1]; // [m]
|
||||
rx_position_and_time(2) = pvt_sol.rr[2]; // [m]
|
||||
|
||||
//todo: fix this ambiguity in the RTKLIB units in receiver clock offset!
|
||||
if (rtk_.opt.mode == PMODE_SINGLE)
|
||||
{
|
||||
rx_position_and_time(3) = pvt_sol.dtr[0]; // if the RTKLIB solver is set to SINGLE, the dtr is already expressed in [s]
|
||||
// if the RTKLIB solver is set to SINGLE, the dtr is already expressed in [s]
|
||||
// add also the clock offset from gps to galileo (pvt_sol.dtr[2])
|
||||
rx_position_and_time(3) = pvt_sol.dtr[0] + pvt_sol.dtr[2];
|
||||
}
|
||||
else
|
||||
{
|
||||
rx_position_and_time(3) = pvt_sol.dtr[0] / GPS_C_M_S; // the receiver clock offset is expressed in [meters], so we convert it into [s]
|
||||
// the receiver clock offset is expressed in [meters], so we convert it into [s]
|
||||
// add also the clock offset from gps to galileo (pvt_sol.dtr[2])
|
||||
rx_position_and_time(3) = pvt_sol.dtr[2] + pvt_sol.dtr[0] / GPS_C_M_S;
|
||||
}
|
||||
this->set_rx_pos(rx_position_and_time.rows(0, 2)); // save ECEF position for the next iteration
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user