Referencia de estructura de medición Gnss
#include < gps.h >
Campos de información | |
talla_t | Talla |
GnssMediciónBanderas | banderas |
int16_t | svid |
GnssConstelaciónTipo | constelación |
doble | time_offset_ns |
GnssMeasurementState | estado |
int64_t | recibido_sv_tiempo_en_ns |
int64_t | recibido_sv_tiempo_incertidumbre_en_ns |
doble | c_n0_dbhz |
doble | pseudorange_rate_mps |
doble | pseudorange_rate_uncertainty_mps |
GnssAccumulatedDeltaRangeState | estado_de_rango_delta_acumulado |
doble | rango_delta_acumulado_m |
doble | rango_delta_acumulado_incertidumbre_m |
flotar | portadora_frecuencia_hz |
int64_t | transportista_ciclos |
doble | fase_portadora |
doble | portador_fase_incertidumbre |
GnssMultipathIndicator | multipath_indicator |
doble | snr_db |
Descripción detallada
Representa una medición GNSS, contiene información sin procesar y computada.
Independencia: toda la información de medición de señales (p. ej., sv_time, pseudorange_rate, multipath_indicator) notificada en esta estructura debe basarse únicamente en mediciones de señales GNSS. No puede sintetizar medidas calculando o informando medidas esperadas en función de la posición, la velocidad o el tiempo conocidos o estimados.
Documentación de campo
doble rango_delta_acumulado_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 de la portadora' viene dado por la ecuación: rango delta acumulado = -k * fase de la 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 acumulado_delta_range_state |
doble acumulado_delta_rango_incertidumbre_m |
doble c_n0_dbhz |
int64_t carrier_cycles |
El número de ciclos completos de portadora entre el satélite y el receptor. La frecuencia de referencia viene dada por el campo 'carrier_frequency_hz'. Las indicaciones de posibles desfases y reinicios de ciclo en la acumulación de este valor se pueden inferir de las banderas de estado_de_rango_delta_acumulado.
Si los datos están disponibles, las 'banderas' deben contener GNSS_MEASUREMENT_HAS_CARRIER_CYCLES.
float carrier_frequency_hz |
Frecuencia portadora a la que se modulan los 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.
fase_portadora doble |
La fase 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 portador_fase_incertidumbre |
GnssConstellationType constelación |
GnssMeasurementFlags banderas |
GnssMultipathIndicator multipath_indicator |
Una enumeración que indica el estado 'múltiple' del evento.
El indicador de trayectos múltiples tiene por objeto 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, reporte GNSS_MULTIPATH_INDICATOR_UNKNOWN
Ejemplo: al realizar la prueba de rendimiento de rutas múltiples superpuestas estandarizadas (3GPP TS 34.171), el indicador de rutas múltiples debe informar GNSS_MULTIPATH_INDICATOR_PRESENT para aquellas señales que se rastrean y contienen rutas múltiples, y GNSS_MULTIPATH_INDICATOR_NOT_PRESENT para aquellas señales que se rastrean y no contienen rutas múltiples.
doble pseudorange_rate_mps |
Tasa de pseudodistancia en la marca de tiempo en m/s. La corrección de un valor de Tasa de Pseudorango dado 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 'velocidad de pseudodistancia' 'no corregida' y proporcionar también el campo 'deriva' de GpsClock (al proporcionar la frecuencia de pseudodistancia no corregida, no aplique las correcciones descritas anteriormente).
El valor incluye la 'incertidumbre de tasa de pseudodistancia'. Un valor positivo 'sin corregir' indica que el SV se está alejando del receptor.
El signo de la 'tasa de pseudodistancia' 'no corregida' y su relación con el signo del 'desplazamiento Doppler' viene dado por la ecuación: Tasa de pseudodistancia = -k * desplazamiento Doppler (donde k es una constante)
Esta debería ser la tasa de seudodistancia más precisa disponible, basada en mediciones de señales recientes de este canal.
Es obligatorio que este valor se proporcione con la calidad PRR típica de la fase de la portadora (pocos cm/s por segundo de incertidumbre, o mejor), cuando las señales son lo suficientemente fuertes y estables, por ejemplo, señales de un simulador de GPS a >= 35 dB-Hz.
doble pseudorango_tasa_incertidumbre_mps |
int64_t recibido_sv_tiempo_en_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: Tiempo de la semana de GPS recibido 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 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK está configurado Bit sync : [ 0 20ms ] : 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: si hay alguna ambigüedad en el milisegundo entero, GNSS_MEASUREMENT_STATE_MSEC_AMBIGUOUS debe establecerse en consecuencia, en el campo 'estado'.
Este valor debe completarse si 'estado' != GNSS_MEASUREMENT_STATE_UNKNOWN.
Para Glonass, esto es: Hora del día recibida de Glonass, 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 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK está establecido Sincronización de símbolo : [ 0 10ms ] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC está configurado Bit sync : [ 0 20ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC está configurado String sync : [ 0 2s ] : GNSS_MEASUREMENT_STATE_GLO_STRING_SYNC está configurado Hora del día : [ 0 1day ] : GNSS_MEASUREMENT_STATE_GLO_TOD_DECODE está configurado
Para Beidou, esto es: Tiempo Beidou recibido de la semana, en el tiempo de 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 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK está establecido Bit sync (D2): [ 0 2ms ] : GNSS_MEASUREMENT_STATE_BDS_D2_BIT_SYNC is set Bit sync (D1): [ 0 20ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC is set Subframe (D2): [ 0 0.6s ] : GNSS_MEASUREMENT_STATE_BDS_D2_SUBFRAME_SYNC is set Subframe (D1): [ 0 6s ] : GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC is set Time of semana: [0 1 semana]: se establece GNSS_MEASUREMENT_STATE_TOW_DECODED
Para Galileo, esto es: Tiempo de la semana de Galileo recibido, en el tiempo de medición en nanosegundos.
Bloqueo de código E1BC: [ 0 4ms ] : GNSS_MEASUREMENT_STATE_GAL_E1BC_CODE_LOCK está configurado Bloqueo de código 2nd E1C: [ 0 100ms ] : 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: Tiempo SBAS recibido, en el tiempo de 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 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK está configurado Sincronización de símbolo: [ 0 2ms ] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC está establecido Mensaje : [ 0 1s ] : GNSS_MEASUREMENT_STATE_SBAS_SYNC está establecido
int64_t recibido_sv_tiempo_incertidumbre_en_ns |
doble snr_db |
Relación señal/ruido en la salida del correlador en dB. Si los datos están disponibles, las 'banderas' deben contener GNSS_MEASUREMENT_HAS_SNR. Esta es la relación de potencia de la "altura del pico de correlación por encima del piso de ruido observado" al "RMS de ruido".
GnssMeasurementState estado |
int16_t svid |
Número de identificación del vehículo satelital, como se define en GnssSvInfo::svid Este es un valor obligatorio.
doble time_offset_ns |
Compensación de tiempo en la que se tomó la medición en nanosegundos. La hora del receptor de referencia está especificada por 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 de sub-nanosegundos. Este es un valor obligatorio.
La documentación para esta estructura se generó a partir del siguiente archivo:
- hardware/libhardware/include/hardware/ gps.h