Referencia de estructura de medición Gnss
#include < gps.h >
Campos de información | |
tamaño_t | tamaño |
GnssMediciónBanderas | banderas |
int16_t | svid |
GnssConstelaciónTipo | constelación |
doble | time_offset_ns |
GnssMediciónEstado | estado |
int64_t | recibido_sv_time_in_ns |
int64_t | recibido_sv_time_uncertainty_in_ns |
doble | c_n0_dbhz |
doble | pseudorange_rate_mps |
doble | pseudorange_rate_uncertainty_mps |
Estado de rango Delta acumulado Gnss | estado_delta_rango_acumulado |
doble | rango_delta_acumulado_m |
doble | rango_delta_acumulado_incertidumbre_m |
flotar | frecuencia_portadora_hz |
int64_t | ciclos_portadores |
doble | fase_portadora |
doble | incertidumbre_fase_portadora |
Indicador GnssMultipath | indicador_multiruta |
doble | snr_db |
Descripción detallada
Representa una medición GNSS, contiene información bruta y calculada.
Independencia: toda la información de medición de señales (p. ej., sv_time, pseudorange_rate, multipath_indicator) informada en esta estructura debe basarse únicamente en mediciones de señales GNSS. No puede sintetizar mediciones calculando o informando las mediciones esperadas en función de la posición, la velocidad o el tiempo conocidos o estimados.
Documentación de campo
doble acumulado_delta_range_m |
Rango delta acumulado desde el último reinicio del canal en metros. Un valor positivo indica que el SV se está alejando del receptor.
El signo del 'rango delta acumulado' y su relación con el signo de la 'fase portadora' viene dado por la ecuación: rango delta acumulado = -k * fase portadora (donde k es una constante)
Este valor debe completarse si 'estado de rango delta acumulado'! = GPS_ADR_STATE_UNKNOWN. Sin embargo, se espera que los datos solo sean precisos cuando: 'estado de rango delta acumulado' == GPS_ADR_STATE_VALID.
GnssAccumulatedDeltaRangeState estado_delta_rango_acumulado |
doble acumulado_delta_range_uncertainty_m |
doble c_n0_dbhz |
int64_t portador_ciclos |
El número de ciclos de portadora completos entre el satélite y el receptor. La frecuencia de referencia viene dada por el campo 'carrier_frequency_hz'. Las indicaciones de posibles deslizamientos y reinicios del ciclo en la acumulación de este valor se pueden inferir de los indicadores acumulados_delta_range_state.
Si los datos están disponibles, las 'banderas' deben contener GNSS_MEASUREMENT_HAS_CARRIER_CYCLES.
flotador portador_frecuencia_hz |
Frecuencia portadora a la que se modulan códigos y mensajes, puede ser L1 o L2. Si el campo no está configurado, se supone que la frecuencia portadora es L1.
Si los datos están disponibles, las 'banderas' deben contener GNSS_MEASUREMENT_HAS_CARRIER_FREQUENCY.
doble fase_portadora |
La fase de RF detectada por el receptor, en el rango [0,0, 1,0]. Esta suele ser la parte fraccionaria de la medición completa de la fase portadora.
La frecuencia de referencia viene dada por el campo 'carrier_frequency_hz'. El valor contiene la 'incertidumbre de la fase de la portadora'.
Si los datos están disponibles, las 'banderas' deben contener GNSS_MEASUREMENT_HAS_CARRIER_PHASE.
doble incertidumbre_fase_portadora |
GnssConstellationTipo de constelación |
Banderas de medición Gnss |
GnssMultipathIndicator multipath_indicator |
Una enumeración que indica el estado de "rutas múltiples" del evento.
El indicador de rutas múltiples está destinado a informar la presencia de señales superpuestas que se manifiestan como picos de correlación distorsionados.
- si hay una forma de pico de correlación distorsionada, informe que la ruta múltiple es GNSS_MULTIPATH_INDICATOR_PRESENT.
- si no hay una forma de pico de correlación distorsionada, informe GNSS_MULTIPATH_INDICATOR_NOT_PRESENT
- si las señales son demasiado débiles para discernir esta información, informe GNSS_MULTIPATH_INDICATOR_UNKNOWN
Ejemplo: al realizar la prueba de rendimiento de rutas múltiples superpuestas estandarizada (3GPP TS 34.171), el indicador de rutas múltiples debe informar GNSS_MULTIPATH_INDICATOR_PRESENT para aquellas señales que son rastreadas y contienen rutas múltiples, y GNSS_MULTIPATH_INDICATOR_NOT_PRESENT para aquellas señales que son rastreadas y no contienen rutas múltiples.
doble pseudorange_rate_mps |
Velocidad de pseudodistancia en la marca de tiempo en m/s. La corrección de un valor de velocidad de pseudorango determinado incluye correcciones para errores de frecuencia de reloj del receptor y del satélite. Asegúrese de que este campo sea independiente (consulte el comentario en la parte superior de la estructura GnssMeasurement ).
Es obligatorio proporcionar la 'tasa de pseudorango' 'sin corregir' y proporcionar también el campo 'deriva' de GpsClock (al proporcionar la tasa de pseudorango sin corregir, no aplique las correcciones descritas anteriormente).
El valor incluye la 'incertidumbre de la tasa de pseudorango'. Un valor positivo 'sin corregir' indica que el SV se está alejando del receptor.
El signo de la 'tasa de pseudorango' 'no corregida' y su relación con el signo del 'desplazamiento Doppler' viene dado por la ecuación: tasa de pseudorango = -k * desplazamiento Doppler (donde k es una constante)
Esta debería ser la velocidad de pseudorango más precisa disponible, según las mediciones de señal recientes de este canal.
Es obligatorio que este valor se proporcione con la calidad típica de PRR de fase portadora (pocos cm/seg por segundo de incertidumbre, o mejor), cuando las señales son suficientemente fuertes y estables, por ejemplo, señales de un simulador de GPS a >= 35 dB-Hz.
doble pseudorange_rate_uncertainty_mps |
int64_t recibido_sv_time_in_ns |
La hora de la semana GNSS recibida en el momento de la medición, en nanosegundos. Asegúrese de que este campo sea independiente (consulte el comentario en la parte superior de la estructura GnssMeasurement ).
Para GPS y QZSS, esto es: Hora de la semana del GPS recibida en el momento de la medición, en nanosegundos. El valor es relativo al comienzo de la semana GPS actual.
Dado el estado de sincronización más alto que se puede lograr, por cada satélite, el rango válido para este campo puede ser: Buscando: [0]: GNSS_MEASUREMENT_STATE_UNKNOWN Bloqueo de código C/A: [0 1 ms]: GNSS_MEASUREMENT_STATE_CODE_LOCK está configurado Sincronización de bits: [0 20 ms] : GNSS_MEASUREMENT_STATE_BIT_SYNC está configurado Sincronización de subtrama : [ 0 6s ] : GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC está configurado TOW decodificado : [ 0 1week ] : GNSS_MEASUREMENT_STATE_TOW_DECODED está configurado
Tenga en cuenta bien: si hay alguna ambigüedad en milisegundos enteros, GNSS_MEASUREMENT_STATE_MSEC_AMBIGUOUS debe configurarse en consecuencia, en el campo 'estado'.
Este valor debe completarse si 'estado'! = GNSS_MEASUREMENT_STATE_UNKNOWN.
Para Glonass, esto es: Hora del día de Glonass recibida, en el momento de la medición en nanosegundos.
Dado el estado de sincronización más alto que se puede lograr, por cada satélite, el rango válido para este campo puede ser: Buscando: [0]: GNSS_MEASUREMENT_STATE_UNKNOWN Bloqueo de código C/A: [0 1 ms]: GNSS_MEASUREMENT_STATE_CODE_LOCK está configurado Sincronización de símbolos: [0 10 ms] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC está configurado Sincronización de bits : [ 0 20 ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC está configurado Sincronización de cadenas : [ 0 2 s ] : GNSS_MEASUREMENT_STATE_GLO_STRING_SYNC está configurado Hora del día : [ 0 1 día ] : GNSS_MEASUREMENT_STATE_GLO_TOD_DECOD La DE está configurada
Para Beidou, esto es: Hora de la semana de Beidou recibida, en el momento de la medición en nanosegundos.
Dado el estado de sincronización más alto que se puede lograr, por cada satélite, el rango válido para este campo puede ser: Buscando: [ 0 ]: GNSS_MEASUREMENT_STATE_UNKNOWN Bloqueo de código C/A: [ 0 1 ms ]: GNSS_MEASUREMENT_STATE_CODE_LOCK está configurado Sincronización de bits (D2): [ 0 2 ms ] : GNSS_MEASUREMENT_STATE_BDS_D2_BIT_SYNC está configurado Sincronización de bits (D1): [ 0 20 ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC está configurado Subtrama (D2): [ 0 0,6 s ] : GNSS_MEASUREMENT_STATE_BDS_D2_SUBFRAME_SYNC está configurado Subtrama (D1): [ 0 6s] : GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC está configurado Tiempo de semana: [0 1 semana]: GNSS_MEASUREMENT_STATE_TOW_DECODED está configurado
Para Galileo, esto es: Hora de la semana recibida por Galileo, en el momento de la medición en nanosegundos.
Bloqueo de código E1BC: [0 4 ms]: GNSS_MEASUREMENT_STATE_GAL_E1BC_CODE_LOCK está configurado E1C Bloqueo de segundo código: [0 100 ms]: GNSS_MEASUREMENT_STATE_GAL_E1C_2ND_CODE_LOCK está configurado
Página E1B: [0 2s]: GNSS_MEASUREMENT_STATE_GAL_E1B_PAGE_SYNC está configurado Hora de la semana: [0 1week]: GNSS_MEASUREMENT_STATE_TOW_DECODED está configurado
Para SBAS, esto es: Hora SBAS recibida, en el momento de la medición en nanosegundos.
Dado el estado de sincronización más alto que se puede lograr, por cada satélite, el rango válido para este campo puede ser: Buscando: [0]: GNSS_MEASUREMENT_STATE_UNKNOWN Bloqueo de código C/A: [0 1 ms]: GNSS_MEASUREMENT_STATE_CODE_LOCK está configurado Sincronización de símbolos: [0 2 ms] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC está configurado Mensaje : [ 0 1s ] : GNSS_MEASUREMENT_STATE_SBAS_SYNC está configurado
int64_t recibido_sv_time_uncertainty_in_ns |
tamaño_t tamaño |
doble snr_db |
Relación señal-ruido a la salida del correlador en dB. Si los datos están disponibles, las 'banderas' deben contener GNSS_MEASUREMENT_HAS_SNR. Ésta es la relación de potencia entre la "altura del pico de correlación por encima del ruido de fondo observado" y el "ruido RMS".
Estado de medición Gnss |
int16_t svid |
Número de identificación del vehículo satelital, tal como se define en GnssSvInfo::svid Este es un valor obligatorio.
doble time_offset_ns |
Desplazamiento de tiempo en el que se tomó la medición en nanosegundos. La hora del receptor de referencia se especifica mediante GpsData::clock::time_ns y debe interpretarse de la misma manera que lo indica GpsClock::type .
El signo de time_offset_ns viene dado por la siguiente ecuación: tiempo de medición = GpsClock::time_ns + time_offset_ns
Proporciona una marca de tiempo individual para la medición y permite una precisión inferior a un nanosegundo. Este es un valor obligatorio.
La documentación para esta estructura se generó a partir del siguiente archivo:
- hardware/libhardware/include/hardware/ gps.h