Referência de estrutura GnssClock
#include < gps.h >
Campos de Dados | |
size_t | Tamanho |
GnssClockFlags | bandeiras |
int16_t | leap_second |
int64_t | time_ns |
Duplo | time_uncertainty_ns |
int64_t | full_bias_ns |
Duplo | bias_ns |
Duplo | bias_uncertainty_ns |
Duplo | drift_nsps |
Duplo | drift_uncertainty_nsps |
uint32_t | hw_clock_discontinuity_count |
Descrição detalhada
Documentação de Campo
double bias_ns |
Polarização de subnanosegundos. A estimativa de erro para a soma deste e full_bias_ns é bias_uncertainty_ns
Se os dados estiverem disponíveis, 'sinalizadores' devem conter GNSS_CLOCK_HAS_BIAS. Se o GPS tiver calculado uma posição fixa. Este valor é obrigatório se o receptor tiver um tempo estimado de GPS.
double bias_uncertainty_ns |
Incerteza 1-Sigma associada à estimativa local do tempo GPS (polarização do relógio) em nanossegundos. A incerteza é representada como um valor absoluto (lado único).
Se os dados estiverem disponíveis, 'sinalizadores' devem conter GNSS_CLOCK_HAS_BIAS_UNCERTAINTY. Este valor é obrigatório se o receptor estimou o tempo de GPS.
double drift_nsps |
A variação do relógio em nanossegundos (por segundo).
Um valor positivo significa que a frequência é mais alta do que a frequência nominal e que (full_bias_ns + bias_ns) está crescendo mais positivamente ao longo do tempo.
O valor contém a 'incerteza de deriva' nele. Se os dados estiverem disponíveis, 'sinalizadores' devem conter GNSS_CLOCK_HAS_DRIFT.
Este valor é obrigatório se o receptor estimou o tempo GNSS
double drift_uncertainty_nsps |
Incerteza de 1-Sigma associada à variação do relógio em nanossegundos (por segundo). A incerteza é representada como um valor absoluto (lado único).
Se os dados estiverem disponíveis, 'sinalizadores' devem conter GNSS_CLOCK_HAS_DRIFT_UNCERTAINTY. Se o GPS tiver calculado uma posição fixa, este campo é obrigatório e deve ser preenchido.
int64_t full_bias_ns |
A diferença entre o relógio do hardware (campo 'hora') dentro do receptor GPS e a hora verdadeira do GPS desde 0000Z, 6 de janeiro de 1980, em nanossegundos.
O sinal do valor é definido pela seguinte equação: estimativa local do tempo GPS = time_ns - (full_bias_ns + bias_ns)
Este valor é obrigatório se o receptor estimou o tempo de GPS. Se o tempo calculado for para uma constelação sem GPS, o deslocamento de tempo dessa constelação para o GPS deve ser aplicado para preencher este valor. A estimativa de erro para a soma disso e de bias_ns é bias_uncertainty_ns, e o chamador é responsável por usar essa incerteza (ela pode ser muito grande antes que o tempo de GPS seja resolvido.) Se os dados estiverem disponíveis, 'sinalizadores' devem conter GNSS_CLOCK_HAS_FULL_BIAS.
uint32_t hw_clock_discontinuity_count |
Quando houver alguma descontinuidade no relógio HW, este campo é obrigatório.
Uma "descontinuidade" destina-se a cobrir o caso de uma mudança de uma fonte de relógio para outra. Um único oscilador de cristal de execução livre (XO) geralmente não deve ter descontinuidades e pode ser definido e deixado em 0.
Se, no entanto, o valor time_ns (HW clock) é derivado de um composto de fontes, que não é tão suave como um XO típico, ou é interrompido e reiniciado, então este valor deve ser incrementado cada vez que ocorrer uma descontinuidade. (Por exemplo, este valor pode começar em zero na inicialização do dispositivo e incrementar cada vez que houver uma mudança na continuidade do relógio. No caso improvável de que este valor alcance a escala total, é necessário rollover (sem fixação), de modo que este valor continue a mudança, durante eventos de descontinuidade subsequentes.)
Embora esse número permaneça o mesmo, entre os relatórios GnssClock , pode-se presumir com segurança que o valor time_ns foi executado continuamente, por exemplo, derivado de um único relógio de alta qualidade (como XO, ou melhor, que é normalmente usado durante a amostragem contínua do sinal GNSS. )
É esperado, esp. durante os períodos em que há poucos sinais GNSS disponíveis, que o relógio HW seja livre de descontinuidade o maior tempo possível, pois isso evita a necessidade de usar (desperdiçar) uma medição GNSS para resolver totalmente a polarização e o desvio do relógio GPS, quando usando as medições que acompanham, de relatórios GnssData consecutivos.
int16_t leap_second |
int64_t time_ns |
O valor do relógio interno do receptor GNSS. Este é o valor do relógio do hardware local.
Para o relógio do hardware local, espera-se que esse valor aumente monotonicamente enquanto o relógio do hardware permanece ligado. (Para o caso de um relógio HW que não está continuamente ligado, consulte o campo hw_clock_discontinuity_count). A estimativa do receptor do tempo de GPS pode ser derivada subtraindo a soma de full_bias_ns e bias_ns (quando disponível) deste valor.
Espera-se que esse tempo GPS seja a melhor estimativa do tempo GPS atual que o receptor GNSS pode atingir.
A precisão de subnanosegundos pode ser fornecida por meio do campo 'bias_ns'. O valor contém a 'incerteza de tempo' nele.
Este campo é obrigatório.
double time_uncertainty_ns |
Incerteza 1-Sigma associada à hora do relógio em nanossegundos. A incerteza é representada como um valor absoluto (lado único).
Se os dados estiverem disponíveis, 'sinalizadores' devem conter GNSS_CLOCK_HAS_TIME_UNCERTAINTY. Este valor é efetivamente zero (é o relógio local de referência, pelo qual todos os outros tempos e incertezas de tempo são medidos.) (E, portanto, este campo não pode ser fornecido, por sinalizador GNSS_CLOCK_HAS_TIME_UNCERTAINTY, ou fornecido e definido como 0.)
A documentação para esta estrutura foi gerada a partir do seguinte arquivo:
- hardware / libhardware / include / hardware / gps.h