mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-01-07 07:50:32 +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
|
double rx_time = 23; // Receiving time after the start of the week, in s
|
||||||
bool flag_valid_pseudorange = 24; // Pseudorange computation status
|
bool flag_valid_pseudorange = 24; // Pseudorange computation status
|
||||||
double interp_tow_ms = 25; // Interpolated time of week, in ms
|
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 */
|
/* 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
|
// correct the accumulated phase for the Costas loop phase shift, if required
|
||||||
current_symbol.Carrier_phase_rads += GNSS_PI;
|
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)
|
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
|
// correct the accumulated phase for the Costas loop phase shift, if required
|
||||||
current_symbol.Carrier_phase_rads += GNSS_PI;
|
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)
|
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
|
// correct the accumulated phase for the Costas loop phase shift, if required
|
||||||
current_synchro_data.Carrier_phase_rads += GNSS_PI;
|
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);
|
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
|
// correct the accumulated phase for the Costas loop phase shift, if required
|
||||||
current_synchro_data.Carrier_phase_rads += GNSS_PI;
|
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.TOW_at_current_symbol_ms = d_TOW_at_current_symbol_ms;
|
||||||
current_synchro_data.Flag_valid_word = d_flag_valid_word;
|
current_synchro_data.Flag_valid_word = d_flag_valid_word;
|
||||||
|
@ -112,6 +112,7 @@ public:
|
|||||||
obs->set_pseudorange_m(gs.Pseudorange_m);
|
obs->set_pseudorange_m(gs.Pseudorange_m);
|
||||||
obs->set_rx_time(gs.RX_time);
|
obs->set_rx_time(gs.RX_time);
|
||||||
obs->set_flag_valid_pseudorange(gs.Flag_valid_pseudorange);
|
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);
|
obs->set_interp_tow_ms(gs.interp_TOW_ms);
|
||||||
}
|
}
|
||||||
observables.SerializeToString(&data);
|
observables.SerializeToString(&data);
|
||||||
@ -156,6 +157,7 @@ public:
|
|||||||
gs.Pseudorange_m = gs_read.pseudorange_m();
|
gs.Pseudorange_m = gs_read.pseudorange_m();
|
||||||
gs.RX_time = gs_read.rx_time();
|
gs.RX_time = gs_read.rx_time();
|
||||||
gs.Flag_valid_pseudorange = gs_read.flag_valid_pseudorange();
|
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();
|
gs.interp_TOW_ms = gs_read.interp_tow_ms();
|
||||||
|
|
||||||
vgs.push_back(gs);
|
vgs.push_back(gs);
|
||||||
|
@ -74,10 +74,11 @@ public:
|
|||||||
double interp_TOW_ms{}; //!< Set by Observables processing block
|
double interp_TOW_ms{}; //!< Set by Observables processing block
|
||||||
|
|
||||||
// Flags
|
// Flags
|
||||||
bool Flag_valid_acquisition{}; //!< Set by Acquisition processing block
|
bool Flag_valid_acquisition{}; //!< Set by Acquisition processing block
|
||||||
bool Flag_valid_symbol_output{}; //!< Set by Tracking 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_word{}; //!< Set by Telemetry Decoder processing block
|
||||||
bool Flag_valid_pseudorange{}; //!< Set by Observables 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
|
/// Copy constructor
|
||||||
Gnss_Synchro(const Gnss_Synchro& other) noexcept
|
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_symbol_output = rhs.Flag_valid_symbol_output;
|
||||||
this->Flag_valid_word = rhs.Flag_valid_word;
|
this->Flag_valid_word = rhs.Flag_valid_word;
|
||||||
this->Flag_valid_pseudorange = rhs.Flag_valid_pseudorange;
|
this->Flag_valid_pseudorange = rhs.Flag_valid_pseudorange;
|
||||||
|
this->Flag_PLL_180_deg_phase_locked = rhs.Flag_PLL_180_deg_phase_locked;
|
||||||
}
|
}
|
||||||
return *this;
|
return *this;
|
||||||
};
|
};
|
||||||
@ -160,6 +162,7 @@ public:
|
|||||||
this->Flag_valid_symbol_output = other.Flag_valid_symbol_output;
|
this->Flag_valid_symbol_output = other.Flag_valid_symbol_output;
|
||||||
this->Flag_valid_word = other.Flag_valid_word;
|
this->Flag_valid_word = other.Flag_valid_word;
|
||||||
this->Flag_valid_pseudorange = other.Flag_valid_pseudorange;
|
this->Flag_valid_pseudorange = other.Flag_valid_pseudorange;
|
||||||
|
this->Flag_PLL_180_deg_phase_locked = other.Flag_PLL_180_deg_phase_locked;
|
||||||
}
|
}
|
||||||
return *this;
|
return *this;
|
||||||
};
|
};
|
||||||
@ -206,6 +209,7 @@ public:
|
|||||||
ar& BOOST_SERIALIZATION_NVP(Flag_valid_symbol_output);
|
ar& BOOST_SERIALIZATION_NVP(Flag_valid_symbol_output);
|
||||||
ar& BOOST_SERIALIZATION_NVP(Flag_valid_word);
|
ar& BOOST_SERIALIZATION_NVP(Flag_valid_word);
|
||||||
ar& BOOST_SERIALIZATION_NVP(Flag_valid_pseudorange);
|
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