Referencia de estructura GnssClock
#include < gps.h >
Campos de información | |
tamaño_t | tamaño |
GnssRelojBanderas | banderas |
int16_t | segundo_salto |
int64_t | tiempo_ns |
doble | incertidumbre_tiempo_ns |
int64_t | full_bias_ns |
doble | sesgo_ns |
doble | sesgo_incertidumbre_ns |
doble | deriva_nsps |
doble | deriva_incertidumbre_nsps |
uint32_t | hw_clock_discontinuity_count |
Descripción detallada
Documentación de campo
doble sesgo_ns |
Sesgo de menos de nanosegundos. La estimación del error para la suma de esto y full_bias_ns es el sesgo_uncertainty_ns
Si los datos están disponibles, las 'banderas' deben contener GNSS_CLOCK_HAS_BIAS. Si el GPS ha calculado una posición fija. Este valor es obligatorio si el receptor ha estimado el tiempo GPS.
doble sesgo_incertidumbre_ns |
Incertidumbre 1-Sigma asociada con la estimación local del tiempo GPS (sesgo de reloj) en nanosegundos. La incertidumbre se representa como un valor absoluto (unilateral).
Si los datos están disponibles, las 'banderas' deben contener GNSS_CLOCK_HAS_BIAS_UNCERTAINTY. Este valor es obligatorio si el receptor ha estimado el tiempo GPS.
doble deriva_nsps |
La deriva del reloj en nanosegundos (por segundo).
Un valor positivo significa que la frecuencia es mayor que la frecuencia nominal y que (full_bias_ns + sesgo_ns) se vuelve más positivo con el tiempo.
El valor contiene la "incertidumbre de deriva". Si los datos están disponibles, las 'banderas' deben contener GNSS_CLOCK_HAS_DRIFT.
Este valor es obligatorio si el receptor ha estimado el tiempo GNSS
doble deriva_incertidumbre_nsps |
Incertidumbre 1-Sigma asociada con la deriva del reloj en nanosegundos (por segundo). La incertidumbre se representa como un valor absoluto (unilateral).
Si los datos están disponibles, las 'banderas' deben contener GNSS_CLOCK_HAS_DRIFT_UNCERTAINTY. Si el GPS ha calculado una posición fija, este campo es obligatorio y debe completarse.
Banderas GnssClockFlags |
int64_t full_bias_ns |
La diferencia entre el reloj del hardware (campo 'hora') dentro del receptor GPS y la hora verdadera del GPS desde las 00:00 Z del 6 de enero de 1980, en nanosegundos.
El signo del valor se define mediante la siguiente ecuación: estimación local del tiempo GPS = time_ns - (full_bias_ns + sesgo_ns)
Este valor es obligatorio si el receptor ha estimado el tiempo GPS. Si el tiempo calculado es para una constelación que no es GPS, se debe aplicar el desplazamiento de tiempo de esa constelación al GPS para completar este valor. La estimación del error para la suma de esto y el sesgo_ns es el sesgo_uncertainty_ns, y la persona que llama es responsable de usar esta incertidumbre (puede ser muy grande antes de que se haya resuelto el tiempo del GPS). Si los datos están disponibles, las 'banderas' deben contener GNSS_CLOCK_HAS_FULL_BIAS.
uint32_t hw_clock_discontinuity_count |
Cuando existen discontinuidades en el reloj del HW, este campo es obligatorio.
Una "discontinuidad" pretende cubrir el caso de un cambio de una fuente de reloj a otra. Un único oscilador de cristal (XO) de funcionamiento libre generalmente no debería tener discontinuidades, y esto se puede configurar y dejar en 0.
Sin embargo, si el valor time_ns (reloj HW) se deriva de una combinación de fuentes, que no es tan fluido como un XO típico, o se detiene y reinicia de otro modo, entonces este valor se incrementará cada vez que se produzca una discontinuidad. (Por ejemplo, este valor puede comenzar en cero durante el arranque del dispositivo e incrementarse cada vez que hay un cambio en la continuidad del reloj. En el improbable caso de que este valor alcance la escala completa, se requiere un rollover (no un bloqueo), de modo que este valor continúe cambio, durante eventos de discontinuidad posteriores.)
Si bien este número permanece igual, entre los informes de GnssClock , se puede asumir con seguridad que el valor time_ns se ha estado ejecutando continuamente, por ejemplo, derivado de un único reloj de alta calidad (tipo XO, o mejor, que normalmente se usa durante el muestreo continuo de señales GNSS. )
Se espera, especialmente. Durante los períodos en los que hay pocas señales GNSS disponibles, que el reloj HW esté libre de discontinuidades el mayor tiempo posible, ya que esto evita la necesidad de usar (desperdiciar) una medición GNSS para resolver completamente el sesgo y la deriva del reloj GPS, cuando utilizando las mediciones adjuntas, de informes GnssData consecutivos.
int16_t salto_segundo |
Datos del segundo intercalar. El signo del valor se define mediante la siguiente ecuación: utc_time_ns = time_ns - (full_bias_ns + sesgo_ns) - salto_segundo * 1.000.000.000
Si los datos están disponibles, las 'banderas' deben contener GNSS_CLOCK_HAS_LEAP_SECOND.
int64_t tiempo_ns |
El valor del reloj interno del receptor GNSS. Este es el valor del reloj del hardware local.
Para el reloj de hardware local, se espera que este valor aumente monótonamente mientras el reloj de hardware permanece encendido. (Para el caso de un reloj HW que no está continuamente encendido, consulte el campo hw_clock_discontinuity_count). La estimación del tiempo GPS del receptor se puede derivar restando la suma de full_bias_ns y sesgo_ns (cuando estén disponibles) de este valor.
Se espera que este tiempo GPS sea la mejor estimación del tiempo GPS actual que puede lograr el receptor GNSS.
La precisión inferior a nanosegundos se puede proporcionar mediante el campo 'bias_ns'. El valor contiene la 'incertidumbre temporal'.
Este campo es obligatorio.
doble tiempo_incertidumbre_ns |
Incertidumbre 1-Sigma asociada al tiempo del reloj en nanosegundos. La incertidumbre se representa como un valor absoluto (unilateral).
Si los datos están disponibles, las 'banderas' deben contener GNSS_CLOCK_HAS_TIME_UNCERTAINTY. Este valor es efectivamente cero (es el reloj local de referencia, mediante el cual se miden todos los demás tiempos e incertidumbres de tiempo). (Y, por lo tanto, este campo no se puede proporcionar, según el indicador GNSS_CLOCK_HAS_TIME_UNCERTAINTY, o se puede proporcionar y establecer en 0).
La documentación para esta estructura se generó a partir del siguiente archivo:
- hardware/libhardware/include/hardware/ gps.h