mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-12-15 04:30:33 +00:00
Fix Galileo telemetry
This commit is contained in:
parent
4b325ed56a
commit
17297ee18f
@ -88,7 +88,7 @@ galileo_telemetry_decoder_cc::galileo_telemetry_decoder_cc(
|
|||||||
{
|
{
|
||||||
case 1: // INAV
|
case 1: // INAV
|
||||||
{
|
{
|
||||||
d_PRN_code_period_ms = static_cast<uint32_t>(GALILEO_E5A_CODE_PERIOD_MS);
|
d_PRN_code_period_ms = static_cast<uint32_t>(GALILEO_E1_CODE_PERIOD_MS);
|
||||||
d_samples_per_symbol = GALILEO_E1_B_SAMPLES_PER_SYMBOL;
|
d_samples_per_symbol = GALILEO_E1_B_SAMPLES_PER_SYMBOL;
|
||||||
d_bits_per_preamble = GALILEO_INAV_PREAMBLE_LENGTH_BITS;
|
d_bits_per_preamble = GALILEO_INAV_PREAMBLE_LENGTH_BITS;
|
||||||
// set the preamble
|
// set the preamble
|
||||||
@ -634,7 +634,7 @@ int galileo_telemetry_decoder_cc::general_work(int noutput_items __attribute__((
|
|||||||
{
|
{
|
||||||
// TOW_5 refers to the even preamble, but when we decode it we are in the odd part, so 1 second later plus the decoding delay
|
// TOW_5 refers to the even preamble, but when we decode it we are in the odd part, so 1 second later plus the decoding delay
|
||||||
d_TOW_at_Preamble_ms = static_cast<uint32_t>(d_inav_nav.TOW_5 * 1000.0);
|
d_TOW_at_Preamble_ms = static_cast<uint32_t>(d_inav_nav.TOW_5 * 1000.0);
|
||||||
d_TOW_at_current_symbol_ms = d_TOW_at_Preamble_ms + static_cast<uint32_t>(GALILEO_INAV_PAGE_PART_MS + (d_required_symbols + 1) * GALILEO_E5A_CODE_PERIOD_MS);
|
d_TOW_at_current_symbol_ms = d_TOW_at_Preamble_ms + static_cast<uint32_t>(GALILEO_INAV_PAGE_PART_MS + (d_required_symbols + 1) * GALILEO_E1_CODE_PERIOD_MS);
|
||||||
d_inav_nav.flag_TOW_5 = false;
|
d_inav_nav.flag_TOW_5 = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -642,13 +642,13 @@ int galileo_telemetry_decoder_cc::general_work(int noutput_items __attribute__((
|
|||||||
{
|
{
|
||||||
// TOW_6 refers to the even preamble, but when we decode it we are in the odd part, so 1 second later plus the decoding delay
|
// TOW_6 refers to the even preamble, but when we decode it we are in the odd part, so 1 second later plus the decoding delay
|
||||||
d_TOW_at_Preamble_ms = static_cast<uint32_t>(d_inav_nav.TOW_6 * 1000.0);
|
d_TOW_at_Preamble_ms = static_cast<uint32_t>(d_inav_nav.TOW_6 * 1000.0);
|
||||||
d_TOW_at_current_symbol_ms = d_TOW_at_Preamble_ms + static_cast<uint32_t>(GALILEO_INAV_PAGE_PART_MS + (d_required_symbols + 1) * GALILEO_E5A_CODE_PERIOD_MS);
|
d_TOW_at_current_symbol_ms = d_TOW_at_Preamble_ms + static_cast<uint32_t>(GALILEO_INAV_PAGE_PART_MS + (d_required_symbols + 1) * GALILEO_E1_CODE_PERIOD_MS);
|
||||||
d_inav_nav.flag_TOW_6 = false;
|
d_inav_nav.flag_TOW_6 = false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// this page has no timing information
|
// this page has no timing information
|
||||||
d_TOW_at_current_symbol_ms += static_cast<uint32_t>(GALILEO_E5A_CODE_PERIOD_MS); // + GALILEO_INAV_PAGE_PART_SYMBOLS*GALILEO_E1_CODE_PERIOD;
|
d_TOW_at_current_symbol_ms += static_cast<uint32_t>(GALILEO_E1_CODE_PERIOD_MS); // + GALILEO_INAV_PAGE_PART_SYMBOLS*GALILEO_E1_CODE_PERIOD;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -80,7 +80,7 @@ private:
|
|||||||
|
|
||||||
void deinterleaver(int32_t rows, int32_t cols, const double *in, double *out);
|
void deinterleaver(int32_t rows, int32_t cols, const double *in, double *out);
|
||||||
|
|
||||||
void decode_INAV_word(double *symbols, int32_t frame_length);
|
void decode_INAV_word(double *page_part_symbols, int32_t frame_length);
|
||||||
void decode_FNAV_word(double *page_symbols, int32_t frame_length);
|
void decode_FNAV_word(double *page_symbols, int32_t frame_length);
|
||||||
|
|
||||||
int d_frame_type;
|
int d_frame_type;
|
||||||
|
Loading…
Reference in New Issue
Block a user