1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2025-01-18 05:03:01 +00:00

Minor change

This commit is contained in:
Antonio Ramos 2018-04-03 12:45:03 +02:00
parent 843679f0ed
commit a421d2fc5a
3 changed files with 15 additions and 12 deletions

View File

@ -241,6 +241,7 @@ bool rtklib_solver::get_PVT(const std::map<int, Gnss_Synchro>& gnss_observables_
gps_ephemeris_iter = gps_ephemeris_map.find(gnss_observables_iter->second.PRN); gps_ephemeris_iter = gps_ephemeris_map.find(gnss_observables_iter->second.PRN);
if (gps_ephemeris_iter != gps_ephemeris_map.cend()) if (gps_ephemeris_iter != gps_ephemeris_map.cend())
{ {
/* By the moment, GPS L2 observables are not used in pseudorange computations if GPS L1 is available
// 2. If found, replace the existing GPS L1 ephemeris with the GPS L2 ephemeris // 2. If found, replace the existing GPS L1 ephemeris with the GPS L2 ephemeris
// (more precise!), and attach the L2 observation to the L1 observation in RTKLIB structure // (more precise!), and attach the L2 observation to the L1 observation in RTKLIB structure
for (int i = 0; i < valid_obs; i++) for (int i = 0; i < valid_obs; i++)
@ -248,18 +249,17 @@ bool rtklib_solver::get_PVT(const std::map<int, Gnss_Synchro>& gnss_observables_
if (eph_data[i].sat == static_cast<int>(gnss_observables_iter->second.PRN)) if (eph_data[i].sat == static_cast<int>(gnss_observables_iter->second.PRN))
{ {
eph_data[i] = eph_to_rtklib(gps_cnav_ephemeris_iter->second); eph_data[i] = eph_to_rtklib(gps_cnav_ephemeris_iter->second);
/* By the moment, GPS L2 observables are not used in pseudorange computations
obs_data[i + glo_valid_obs] = insert_obs_to_rtklib(obs_data[i + glo_valid_obs], obs_data[i + glo_valid_obs] = insert_obs_to_rtklib(obs_data[i + glo_valid_obs],
gnss_observables_iter->second, gnss_observables_iter->second,
eph_data[i].week, eph_data[i].week,
1); //Band 2 (L2) */ 1); //Band 2 (L2)
break; break;
} }
} }
*/
} }
else else
{ {
/* By the moment, GPS L2 observables are not used in pseudorange computations
// 3. If not found, insert the GPS L2 ephemeris and the observation // 3. If not found, insert the GPS L2 ephemeris and the observation
//convert ephemeris from GNSS-SDR class to RTKLIB structure //convert ephemeris from GNSS-SDR class to RTKLIB structure
eph_data[valid_obs] = eph_to_rtklib(gps_cnav_ephemeris_iter->second); eph_data[valid_obs] = eph_to_rtklib(gps_cnav_ephemeris_iter->second);
@ -273,7 +273,6 @@ bool rtklib_solver::get_PVT(const std::map<int, Gnss_Synchro>& gnss_observables_
gps_cnav_ephemeris_iter->second.i_GPS_week, gps_cnav_ephemeris_iter->second.i_GPS_week,
1); //Band 2 (L2) 1); //Band 2 (L2)
valid_obs++; valid_obs++;
*/
} }
} }
else // the ephemeris are not available for this SV else // the ephemeris are not available for this SV

View File

@ -191,7 +191,7 @@ double prange(const obsd_t *obs, const nav_t *nav, const double *azel,
} }
} }
/* fL1^2 / fL2(orL5)^2 . See IS-GPS-200, p. 103 and Galileo ICD p. 48 */ /* fL1^2 / fL2(orL5)^2 . See IS-GPS-200, p. 103 and Galileo ICD p. 48 */
if (sys == SYS_GPS or sys == SYS_GAL) if (sys == SYS_GPS or sys == SYS_GAL or sys == SYS_GLO)
{ {
gamma_ = std::pow(lam[j], 2.0) / std::pow(lam[i], 2.0); gamma_ = std::pow(lam[j], 2.0) / std::pow(lam[i], 2.0);
} }
@ -263,9 +263,10 @@ double prange(const obsd_t *obs, const nav_t *nav, const double *azel,
PC = P2 + P1_P2 - ISCl5i; PC = P2 + P1_P2 - ISCl5i;
} }
} }
else if (sys == SYS_GAL) // Gal. E5a single freq. else if (sys == SYS_GAL or sys == SYS_GLO) // Gal. E5a single freq.
{ {
//TODO P2 += P2_C2; /* C2->P2 */
PC = P2 - gamma_ * P1_P2 / (1.0 - gamma_);
} }
} }
/* dual-frequency */ /* dual-frequency */
@ -280,12 +281,17 @@ double prange(const obsd_t *obs, const nav_t *nav, const double *azel,
} }
else if (obs->code[j] == CODE_L5X) /* L1 + L5 */ else if (obs->code[j] == CODE_L5X) /* L1 + L5 */
{ {
//TODO //By the moment, GPS L5 pseudoranges are not used
//PC = (P2 + ISCl5i - gamma_ * (P1 + ISCl5i)) / (1.0 - gamma_) - P1_P2;
P1 += P1_C1; /* C1->P1 */
PC = P1 + P1_P2;
} }
} }
else if (sys == SYS_GAL) /* E1 + E5a */ else if (sys == SYS_GAL or sys == SYS_GLO) /* E1 + E5a */
{ {
//TODO P1 += P1_C1;
P2 += P2_C2;
PC = (gamma_ * P1 - P2) / (gamma_ - 1.0);
} }
} }
if (opt->sateph == EPHOPT_SBAS) if (opt->sateph == EPHOPT_SBAS)

View File

@ -671,7 +671,6 @@ private:
} }
else if (!ec and !read_msg_.decode_header()) else if (!ec and !read_msg_.decode_header())
{ {
/* TODO: The commented code throws an exception. Solve it!
client_says += read_msg_.data(); client_says += read_msg_.data();
bool first = true; bool first = true;
while (client_says.length() >= 80) while (client_says.length() >= 80)
@ -684,7 +683,6 @@ private:
std::cout << client_says.substr(0, 80) << std::endl; std::cout << client_says.substr(0, 80) << std::endl;
client_says = client_says.substr(80, client_says.length() - 80); client_says = client_says.substr(80, client_says.length() - 80);
} }
*/
do_read_message_header(); do_read_message_header();
} }
else else