Retrieve reduced CED only once, don't do it if we already have the full ephemeris set

Update changelog
This commit is contained in:
Carles Fernandez 2021-10-04 22:02:47 +02:00
parent cc90b01cf5
commit 9982e18f6b
No known key found for this signature in database
GPG Key ID: 4C583C52B0C3877D
4 changed files with 14 additions and 2 deletions

View File

@ -22,15 +22,18 @@ All notable changes to GNSS-SDR will be documented in this file.
### Improvements in Interoperability:
- Fix setting of the signal source gain if the AGC is enabled when using the
- Fixed setting of the signal source gain if the AGC is enabled when using the
AD9361 front-end.
- Fixed the regeneration of Galileo ephemeris from the reduced clock and
ephemeris data (CED) defined in the Galileo E1B INAV message introduced in
Galileo OS SIS ICD Issue 2.0.
### Improvements in Maintainability:
- Rewritten Viterbi decoder for Galileo navigation messages: encapsulated in a
class instead of being implemented as free inline functions. This improves
memory management.
- Update GSL implementation to v0.39.0. See
- Updated GSL implementation to v0.39.0. See
https://github.com/gsl-lite/gsl-lite/releases/tag/v0.39.0
### Improvements in Reliability

View File

@ -85,6 +85,7 @@ galileo_telemetry_decoder_gs::galileo_telemetry_decoder_gs(
d_remove_dat = conf.remove_dat;
d_satellite = Gnss_Satellite(satellite.get_system(), satellite.get_PRN());
d_frame_type = frame_type;
d_enable_reed_solomon_inav = false;
// Viterbi decoder vars
const int32_t nn = 2; // Coding rate 1/n
@ -123,6 +124,7 @@ galileo_telemetry_decoder_gs::galileo_telemetry_decoder_gs(
d_max_symbols_without_valid_frame = GALILEO_INAV_PAGE_SYMBOLS * 30; // rise alarm 60 seconds without valid tlm
if (conf.enable_reed_solomon == true)
{
d_enable_reed_solomon_inav = true;
d_inav_nav.enable_reed_solomon();
}
break;
@ -609,6 +611,10 @@ void galileo_telemetry_decoder_gs::reset()
d_sent_tlm_failed_msg = false;
d_stat = 0;
d_viterbi->reset();
if (d_enable_reed_solomon_inav == true)
{
d_inav_nav.enable_reed_solomon();
}
DLOG(INFO) << "Telemetry decoder reset for satellite " << d_satellite;
}

View File

@ -143,6 +143,7 @@ private:
bool d_print_cnav_page;
bool d_enable_navdata_monitor;
bool d_dump_crc_stats;
bool d_enable_reed_solomon_inav;
};

View File

@ -248,6 +248,7 @@ bool Galileo_Inav_Message::have_new_ephemeris() // Check if we have a new ephem
flag_ephemeris_4 = false; // clear the flag
flag_all_ephemeris = true;
IOD_ephemeris = IOD_nav_1;
enable_rs = false; // Do not retrieve reduced CED if we already have the full ephemeris set
DLOG(INFO) << "Batch number: " << IOD_ephemeris;
return true;
}
@ -357,6 +358,7 @@ bool Galileo_Inav_Message::have_new_ephemeris() // Check if we have a new ephem
flag_ephemeris_4 = false; // clear the flag
flag_all_ephemeris = true;
IOD_ephemeris = IOD_nav_1;
enable_rs = false; // Retrieve reduced CED only once
DLOG(INFO) << "Batch number: " << IOD_ephemeris;
return true;
}