gnss-sdr/docs/protobuf/gnss_synchro.proto

46 lines
2.5 KiB
Protocol Buffer

// SPDX-License-Identifier: BSD-3-Clause
// SPDX-FileCopyrightText: 2018-2020 Carles Fernandez-Prades <carles.fernandez@cttc.es>
syntax = "proto3";
package gnss_sdr;
/* GnssSynchro represents the processing measurements at a given time taken by a given processing channel */
message GnssSynchro {
string system = 1; // GNSS constellation: "G" for GPS, "R" for Glonass, "S" for SBAS, "E" for Galileo and "C" for Beidou.
string signal = 2; // GNSS signal: "1C" for GPS L1 C/A, "1B" for Galileo E1b/c, "1G" for Glonass L1 C/A, "2S" for GPS L2 L2C(M), "2G" for Glonass L2 C/A, "L5" for GPS L5 and "5X" for Galileo E5a
uint32 prn = 3; // PRN number
int32 channel_id = 4; // Channel number
double acq_delay_samples = 5; // Coarse code delay estimation, in samples
double acq_doppler_hz = 6; // Coarse Doppler estimation in each channel, in Hz
uint64 acq_samplestamp_samples = 7; // Number of samples at signal SampleStamp
uint32 acq_doppler_step = 8; // Step of the frequency bin in the search grid, in Hz
bool flag_valid_acquisition = 9; // Acquisition status
int64 fs = 10; // Sampling frequency, in samples per second
double prompt_i = 11; // In-phase (real) component of the prompt correlator output
double prompt_q = 12; // Quadrature (imaginary) component of the prompt correlator output
double cn0_db_hz = 13; // Carrier-to-Noise density ratio, in dB-Hz
double carrier_doppler_hz = 14; // Doppler estimation, in [Hz].
double carrier_phase_rads = 15; // Carrier phase estimation, in rad
double code_phase_samples = 16; // Code phase in samples
uint64 tracking_sample_counter = 17; // Sample counter indicating the number of processed samples
bool flag_valid_symbol_output = 18; // Indicates the validity of signal tracking
int32 correlation_length_ms = 19; // Time duration of coherent correlation integration, in ms
bool flag_valid_word = 20; // Indicates the validity of the decoded navigation message word
uint32 tow_at_current_symbol_ms = 21; // Time of week of the current symbol, in ms
double pseudorange_m = 22; // Pseudorange computation, in m
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 */
message Observables {
repeated GnssSynchro observable = 1;
}