mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-01-05 15:00:33 +00:00
added 180 deg. inverted carrier phase PLL lock flag in gnss_synchro
This commit is contained in:
parent
bd62e33dc6
commit
03566b1fbf
@ -36,6 +36,7 @@ message GnssSynchro {
|
||||
double rx_time = 23; // Receiving time after the start of the week, in s
|
||||
bool flag_valid_pseudorange = 24; // Pseudorange computation status
|
||||
double interp_tow_ms = 25; // Interpolated time of week, in ms
|
||||
bool flag_PLL_180_deg_phase_locked = 26; // PLL lock at 180º
|
||||
}
|
||||
|
||||
/* Observables represents a collection of GnssSynchro annotations */
|
||||
|
@ -1040,6 +1040,11 @@ int galileo_telemetry_decoder_gs::general_work(int noutput_items __attribute__((
|
||||
{
|
||||
// correct the accumulated phase for the Costas loop phase shift, if required
|
||||
current_symbol.Carrier_phase_rads += GNSS_PI;
|
||||
current_symbol.Flag_PLL_180_deg_phase_locked = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
current_symbol.Flag_PLL_180_deg_phase_locked = false;
|
||||
}
|
||||
|
||||
if (d_dump == true)
|
||||
|
@ -564,6 +564,11 @@ int gps_l1_ca_telemetry_decoder_gs::general_work(int noutput_items __attribute__
|
||||
{
|
||||
// correct the accumulated phase for the Costas loop phase shift, if required
|
||||
current_symbol.Carrier_phase_rads += GNSS_PI;
|
||||
current_symbol.Flag_PLL_180_deg_phase_locked = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
current_symbol.Flag_PLL_180_deg_phase_locked = false;
|
||||
}
|
||||
|
||||
if (d_dump == true)
|
||||
|
@ -311,6 +311,11 @@ int gps_l2c_telemetry_decoder_gs::general_work(int noutput_items __attribute__((
|
||||
{
|
||||
// correct the accumulated phase for the Costas loop phase shift, if required
|
||||
current_synchro_data.Carrier_phase_rads += GNSS_PI;
|
||||
current_synchro_data.Flag_PLL_180_deg_phase_locked = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
current_synchro_data.Flag_PLL_180_deg_phase_locked = false;
|
||||
}
|
||||
|
||||
current_synchro_data.TOW_at_current_symbol_ms = round(d_TOW_at_current_symbol * 1000.0);
|
||||
|
@ -325,6 +325,11 @@ int gps_l5_telemetry_decoder_gs::general_work(int noutput_items __attribute__((u
|
||||
{
|
||||
// correct the accumulated phase for the Costas loop phase shift, if required
|
||||
current_synchro_data.Carrier_phase_rads += GNSS_PI;
|
||||
current_synchro_data.Flag_PLL_180_deg_phase_locked = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
current_synchro_data.Flag_PLL_180_deg_phase_locked = false;
|
||||
}
|
||||
current_synchro_data.TOW_at_current_symbol_ms = d_TOW_at_current_symbol_ms;
|
||||
current_synchro_data.Flag_valid_word = d_flag_valid_word;
|
||||
|
@ -112,6 +112,7 @@ public:
|
||||
obs->set_pseudorange_m(gs.Pseudorange_m);
|
||||
obs->set_rx_time(gs.RX_time);
|
||||
obs->set_flag_valid_pseudorange(gs.Flag_valid_pseudorange);
|
||||
obs->set_flag_pll_180_deg_phase_locked(gs.Flag_PLL_180_deg_phase_locked);
|
||||
obs->set_interp_tow_ms(gs.interp_TOW_ms);
|
||||
}
|
||||
observables.SerializeToString(&data);
|
||||
@ -156,6 +157,7 @@ public:
|
||||
gs.Pseudorange_m = gs_read.pseudorange_m();
|
||||
gs.RX_time = gs_read.rx_time();
|
||||
gs.Flag_valid_pseudorange = gs_read.flag_valid_pseudorange();
|
||||
gs.Flag_PLL_180_deg_phase_locked = gs_read.flag_pll_180_deg_phase_locked();
|
||||
gs.interp_TOW_ms = gs_read.interp_tow_ms();
|
||||
|
||||
vgs.push_back(gs);
|
||||
|
@ -74,10 +74,11 @@ public:
|
||||
double interp_TOW_ms{}; //!< Set by Observables processing block
|
||||
|
||||
// Flags
|
||||
bool Flag_valid_acquisition{}; //!< Set by Acquisition processing block
|
||||
bool Flag_valid_symbol_output{}; //!< Set by Tracking processing block
|
||||
bool Flag_valid_word{}; //!< Set by Telemetry Decoder processing block
|
||||
bool Flag_valid_pseudorange{}; //!< Set by Observables processing block
|
||||
bool Flag_valid_acquisition{}; //!< Set by Acquisition processing block
|
||||
bool Flag_valid_symbol_output{}; //!< Set by Tracking processing block
|
||||
bool Flag_valid_word{}; //!< Set by Telemetry Decoder processing block
|
||||
bool Flag_valid_pseudorange{}; //!< Set by Observables processing block
|
||||
bool Flag_PLL_180_deg_phase_locked{}; //!< Set by Telemetry Decoder processing block
|
||||
|
||||
/// Copy constructor
|
||||
Gnss_Synchro(const Gnss_Synchro& other) noexcept
|
||||
@ -118,6 +119,7 @@ public:
|
||||
this->Flag_valid_symbol_output = rhs.Flag_valid_symbol_output;
|
||||
this->Flag_valid_word = rhs.Flag_valid_word;
|
||||
this->Flag_valid_pseudorange = rhs.Flag_valid_pseudorange;
|
||||
this->Flag_PLL_180_deg_phase_locked = rhs.Flag_PLL_180_deg_phase_locked;
|
||||
}
|
||||
return *this;
|
||||
};
|
||||
@ -160,6 +162,7 @@ public:
|
||||
this->Flag_valid_symbol_output = other.Flag_valid_symbol_output;
|
||||
this->Flag_valid_word = other.Flag_valid_word;
|
||||
this->Flag_valid_pseudorange = other.Flag_valid_pseudorange;
|
||||
this->Flag_PLL_180_deg_phase_locked = other.Flag_PLL_180_deg_phase_locked;
|
||||
}
|
||||
return *this;
|
||||
};
|
||||
@ -206,6 +209,7 @@ public:
|
||||
ar& BOOST_SERIALIZATION_NVP(Flag_valid_symbol_output);
|
||||
ar& BOOST_SERIALIZATION_NVP(Flag_valid_word);
|
||||
ar& BOOST_SERIALIZATION_NVP(Flag_valid_pseudorange);
|
||||
ar& BOOST_SERIALIZATION_NVP(Flag_PLL_180_deg_phase_locked);
|
||||
}
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user