1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2025-04-14 14:53:18 +00:00

Avoid potential division by zero

This commit is contained in:
Carles Fernandez 2025-01-27 14:31:46 +01:00
parent 8109588220
commit 8adc2b26c2
No known key found for this signature in database
GPG Key ID: 4C583C52B0C3877D

View File

@ -6006,32 +6006,37 @@ int32_t Rtcm::set_DF401(const Gnss_Synchro& gnss_synchro)
{
lambda = SPEED_OF_LIGHT_M_S / GPS_L1_FREQ_HZ;
}
if ((sig == "2S") && (sys == "G"))
else if ((sig == "2S") && (sys == "G"))
{
lambda = SPEED_OF_LIGHT_M_S / GPS_L2_FREQ_HZ;
}
if ((sig == "5X") && (sys == "E"))
else if ((sig == "5X") && (sys == "E"))
{
lambda = SPEED_OF_LIGHT_M_S / GALILEO_E5A_FREQ_HZ;
}
if ((sig == "1B") && (sys == "E"))
else if ((sig == "1B") && (sys == "E"))
{
lambda = SPEED_OF_LIGHT_M_S / GALILEO_E1_FREQ_HZ;
}
if ((sig == "7X") && (sys == "E"))
else if ((sig == "7X") && (sys == "E"))
{
lambda = SPEED_OF_LIGHT_M_S / GALILEO_E5B_FREQ_HZ;
}
if ((sig == "1C") && (sys == "R"))
else if ((sig == "1C") && (sys == "R"))
{
lambda = SPEED_OF_LIGHT_M_S / ((GLONASS_L1_CA_FREQ_HZ + (GLONASS_L1_CA_DFREQ_HZ * GLONASS_PRN.at(gnss_synchro.PRN))));
}
if ((sig == "2C") && (sys == "R"))
else if ((sig == "2C") && (sys == "R"))
{
// TODO Need to add slot number and freq number to gnss_syncro
lambda = SPEED_OF_LIGHT_M_S / (GLONASS_L2_CA_FREQ_HZ);
}
else
{
// should not happen
LOG(WARNING) << "Unknown signal in the generation of RTCM message DF401";
lambda = SPEED_OF_LIGHT_M_S / GPS_L1_FREQ_HZ;
}
double phrng_m = (gnss_synchro.Carrier_phase_rads / TWO_PI) * lambda - rough_range_m;
/* Subtract phase - pseudorange integer cycle offset */
@ -6182,31 +6187,37 @@ int32_t Rtcm::set_DF406(const Gnss_Synchro& gnss_synchro)
{
lambda = SPEED_OF_LIGHT_M_S / GPS_L1_FREQ_HZ;
}
if ((sig_ == "2S") && (sys_ == "G"))
else if ((sig_ == "2S") && (sys_ == "G"))
{
lambda = SPEED_OF_LIGHT_M_S / GPS_L2_FREQ_HZ;
}
if ((sig_ == "5X") && (sys_ == "E"))
else if ((sig_ == "5X") && (sys_ == "E"))
{
lambda = SPEED_OF_LIGHT_M_S / GALILEO_E5A_FREQ_HZ;
}
if ((sig_ == "1B") && (sys_ == "E"))
else if ((sig_ == "1B") && (sys_ == "E"))
{
lambda = SPEED_OF_LIGHT_M_S / GALILEO_E1_FREQ_HZ;
}
if ((sig_ == "7X") && (sys_ == "E"))
else if ((sig_ == "7X") && (sys_ == "E"))
{
lambda = SPEED_OF_LIGHT_M_S / GALILEO_E5B_FREQ_HZ;
}
if ((sig_ == "1C") && (sys_ == "R"))
else if ((sig_ == "1C") && (sys_ == "R"))
{
lambda = SPEED_OF_LIGHT_M_S / (GLONASS_L1_CA_FREQ_HZ + (GLONASS_L1_CA_DFREQ_HZ * GLONASS_PRN.at(gnss_synchro.PRN)));
}
if ((sig_ == "2C") && (sys_ == "R"))
else if ((sig_ == "2C") && (sys_ == "R"))
{
// TODO Need to add slot number and freq number to gnss syncro
lambda = SPEED_OF_LIGHT_M_S / (GLONASS_L2_CA_FREQ_HZ);
}
else
{
// should not happen
LOG(WARNING) << "Unknown signal in the generation of RTCM message DF406";
lambda = SPEED_OF_LIGHT_M_S / GPS_L1_FREQ_HZ;
}
phrng_m = (gnss_synchro.Carrier_phase_rads / TWO_PI) * lambda - rough_range_m;
/* Subtract phase - pseudorange integer cycle offset */