Referencia de la estructura GnssClock

Referencia de la estructura GnssClock

#include < gps.h >

Campos de datos

size_t  tamaño
 
GnssClockFlags   marcas
 
int16_t  leap_second
 
int64_t  time_ns
 
doble  time_uncertainty_ns
 
int64_t  full_bias_ns
 
doble  bias_ns
 
doble  bias_uncertainty_ns
 
doble  drift_nsps
 
doble  drift_uncertainty_nsps
 
uint32_t  hw_clock_discontinuity_count
 

Descripción detallada

Representa una estimación de la hora del reloj del GPS.

Definición en la línea 1455 del archivo gps.h .

Documentación de campos

doble bias_ns

Sesgo de subnanosegundos. La estimación del error para la suma de esto y full_bias_ns es bias_uncertainty_ns.

Si los datos están disponibles, "flags" debe contener GNSS_CLOCK_HAS_BIAS. Si el GPS calculó una corrección de posición. Este valor es obligatorio si el receptor tiene una hora GPS estimada.

Definición en la línea 1534 del archivo gps.h .

double bias_uncertainty_ns

Incertidumbre de 1 sigma asociada con la estimación local de la hora del GPS (error de reloj) en nanosegundos. La incertidumbre se representa como un valor absoluto (unilateral).

Si los datos están disponibles, las "marcas" deben contener GNSS_CLOCK_HAS_BIAS_UNCERTAINTY. Este valor es obligatorio si el receptor tiene una hora GPS estimada.

Definición en la línea 1545 del archivo gps.h .

doble drift_nsps

Es la deriva del reloj en nanosegundos (por segundo).

Un valor positivo significa que la frecuencia es mayor que la nominal y que (full_bias_ns + bias_ns) se vuelve más positivo con el tiempo.

El valor contiene la "incertidumbre de deriva". Si los datos están disponibles, "flags" debe contener GNSS_CLOCK_HAS_DRIFT.

Este valor es obligatorio si el receptor tiene una hora estimada de GNSS.

Definición en la línea 1559 del archivo gps.h .

double drift_uncertainty_nsps

Incertidumbre de 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 "marcas" deben contener GNSS_CLOCK_HAS_DRIFT_UNCERTAINTY. Si el GPS calculó una corrección de posición, este campo es obligatorio y debe propagarse.

Definición en la línea 1569 del archivo gps.h .

Es un conjunto de marcas que indican la validez de los campos en esta estructura de datos.

Definición en la línea 1463 del archivo gps.h .

int64_t full_bias_ns

Es la diferencia entre el reloj de hardware (campo "time") dentro del receptor GPS y la hora real del GPS desde la hora 0000Z del 6 de enero de 1980, en nanosegundos.

El signo del valor se define con la siguiente ecuación: estimación local de la hora del GPS = time_ns - (full_bias_ns + bias_ns)

Este valor es obligatorio si el receptor tiene una hora GPS estimada. Si la hora calculada es para una constelación que no es GPS, se debe aplicar la compensación de tiempo de esa constelación al GPS para completar este valor. La estimación del error para la suma de esto y bias_ns es bias_uncertainty_ns, y el llamador es responsable de usar esta incertidumbre (puede ser muy grande antes de que se resuelva la hora del GPS). Si los datos están disponibles, "flags" debe contener GNSS_CLOCK_HAS_FULL_BIAS.

Definición en la línea 1523 del archivo gps.h .

uint32_t hw_clock_discontinuity_count

Cuando hay discontinuidades en el reloj de hardware, este campo es obligatorio.

Una "discontinuidad" abarca el caso de un cambio de una fuente de reloj a otra. Por lo general, un solo oscilador de cristal libre (XO) no debe tener discontinuidades, y se puede configurar y dejar en 0.

Sin embargo, si el valor de time_ns (reloj HW) se deriva de un compuesto de fuentes que no es tan fluido como un XO típico o se detiene y se reinicia, este valor se debe incrementar cada vez que se produce una discontinuidad. (p.ej., este valor puede comenzar en cero cuando se inicia el dispositivo y aumentar cada vez que hay un cambio en la continuidad del reloj). En el caso improbable de que este valor alcance la escala completa, se requiere un cambio de rol (no un límite) para que este valor siga cambiando durante los eventos de discontinuidad posteriores.

Si bien este número se mantiene igual, entre los informes de GNSSClock , se puede suponer con seguridad que el valor de time_ns se ejecuta de forma continua, p.ej., derivado de un solo reloj de alta calidad (como XO o mejor, que se suele usar durante el muestreo continuo de la señal del GNSS).

Se espera, en especial durante los períodos en los que hay pocos indicadores de GNSS disponibles, que el reloj de hardware no tenga discontinuidades durante el mayor tiempo posible, ya que esto evita la necesidad de usar (desperdiciar) una medición de GNSS para volver a resolver por completo la deriva y el sesgo del reloj del GPS cuando se usan las mediciones adjuntas de informes de GNSSData consecutivos.

Definición en la línea 1600 del archivo gps.h .

int16_t leap_second

Datos de segundos intercalares El signo del valor se define con la siguiente ecuación: utc_time_ns = time_ns - (full_bias_ns + bias_ns) - leap_second * 1,000,000,000

Si los datos están disponibles, "flags" debe contener GNSS_CLOCK_HAS_LEAP_SECOND.

Definición en la línea 1473 del archivo gps.h .

tamaño de size_t

se establece en sizeof(GnssClock).

Definición en la línea 1457 del archivo gps.h .

int64_t time_ns

Es el valor del reloj interno del receptor del GNSS. Este es el valor del reloj de hardware local.

En el caso del reloj de hardware local, se espera que este valor aumente de forma monótona mientras el reloj de hardware permanezca encendido. (en el caso de un reloj HW que no está encendido de forma continua, consulta el campo hw_clock_discontinuity_count). La estimación del receptor de la hora del GPS se puede obtener si se resta la suma de full_bias_ns y bias_ns (cuando esté disponible) de este valor.

Se espera que esta hora del GPS sea la mejor estimación de la hora actual del GPS que puede lograr el receptor GNSS.

Se puede proporcionar una precisión inferior a nanosegundos mediante el campo "bias_ns". El valor contiene la "incertidumbre del tiempo".

Este campo es obligatorio.

Definición en la línea 1494 del archivo gps.h .

double time_uncertainty_ns

Incertidumbre de 1 sigma asociada con la hora del reloj en nanosegundos. La incertidumbre se representa como un valor absoluto (unilateral).

Si los datos están disponibles, "flags" debe contener GNSS_CLOCK_HAS_TIME_UNCERTAINTY. Este valor es cero (es el reloj local de referencia, con el que se miden todas las demás incertidumbres de tiempo y tiempo). (Por lo tanto, este campo no se puede proporcionar, según la marca GNSS_CLOCK_HAS_TIME_UNCERTAINTY, o se puede proporcionar y establecer en 0).

Definición en la línea 1506 del archivo gps.h .


La documentación de esta struct se generó a partir del siguiente archivo:
  • hardware/libhardware/include/hardware/ gps.h