Fix processing of Beidou satellites with PRN > 58

This commit is contained in:
Carles Fernandez
2026-06-05 15:53:55 +02:00
parent 4bd1145684
commit a50f3ec619
2 changed files with 3 additions and 3 deletions
@@ -242,7 +242,7 @@ void beidou_b3i_telemetry_decoder_gs::decode_subframe(float *frame_symbols, doub
d_nav_msg_packet.nav_message = data_bits;
}
if (d_satellite.get_PRN() > 0 && d_satellite.get_PRN() < 6)
if ((d_satellite.get_PRN() > 0 && d_satellite.get_PRN() < 6) || d_satellite.get_PRN() > 58)
{
d_nav.d2_subframe_decoder(data_bits);
}
@@ -791,11 +791,11 @@ void kf_tracking::start_tracking()
}
}
else if (d_systemName == "Beidou" and d_signal_type == "B3")
else if (d_systemName == "Beidou" && d_signal_type == "B3")
{
beidou_b3i_code_gen_float(d_tracking_code, d_acquisition_gnss_synchro->PRN, 0);
// Update secondary code settings for geo satellites
if (d_acquisition_gnss_synchro->PRN > 0 and d_acquisition_gnss_synchro->PRN < 6)
if ((d_acquisition_gnss_synchro->PRN > 0 && d_acquisition_gnss_synchro->PRN < 6) || d_acquisition_gnss_synchro->PRN > 58)
{
d_symbols_per_bit = BEIDOU_B3I_GEO_TELEMETRY_SYMBOLS_PER_BIT; // todo: enable after fixing beidou symbol synchronization
d_correlation_length_ms = 1;