Referência de estrutura GnssClock
#include < gps.h >
Campos de dados | |
tamanho_t | tamanho |
GnssClockFlags | bandeiras |
int16_t | salto_segundo |
int64_t | tempo_ns |
dobro | tempo_incerteza_ns |
int64_t | full_bias_ns |
dobro | preconceito_ns |
dobro | preconceito_incerteza_ns |
dobro | drift_nsps |
dobro | drift_uncertainty_nsps |
uint32_t | hw_clock_discontinuity_count |
Descrição detalhada
Documentação de campo
viés duplo_ns |
Viés de subnanossegundos. A estimativa de erro para a soma disso e full_bias_ns é bias_uncertainty_ns
Se os dados estiverem disponíveis, os 'sinalizadores' devem conter GNSS_CLOCK_HAS_BIAS. Se o GPS calculou uma posição fixa. Este valor é obrigatório se o receptor tiver tempo GPS estimado.
dupla polarização_incerteza_ns |
Incerteza 1-Sigma associada à estimativa local do tempo GPS (viés do relógio) em nanossegundos. A incerteza é representada como um valor absoluto (unilateral).
Se os dados estiverem disponíveis, os 'sinalizadores' devem conter GNSS_CLOCK_HAS_BIAS_UNCERTAINTY. Este valor é obrigatório se o receptor tiver tempo GPS estimado.
desvio duplo_nsps |
O desvio do relógio em nanossegundos (por segundo).
Um valor positivo significa que a frequência é maior que a frequência nominal e que (full_bias_ns + bias_ns) está ficando mais positivo ao longo do tempo.
O valor contém a 'incerteza do desvio'. Se os dados estiverem disponíveis, os 'sinalizadores' devem conter GNSS_CLOCK_HAS_DRIFT.
Este valor é obrigatório se o receptor tiver tempo GNSS estimado
desvio duplo_incerteza_nsps |
Incerteza 1-Sigma associada ao desvio do relógio em nanossegundos (por segundo). A incerteza é representada como um valor absoluto (unilateral).
Se os dados estiverem disponíveis, os '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.
Sinalizadores GnssClockFlags |
int64_t full_bias_ns |
A diferença entre o relógio do hardware (campo 'hora') dentro do receptor GPS e o tempo real 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 tiver tempo GPS estimado. Se o tempo calculado for para uma constelação não-GPS, o deslocamento de tempo dessa constelação para GPS deverá ser aplicado para preencher esse valor. A estimativa de erro para a soma disso e do bias_ns é o bias_uncertainty_ns, e o chamador é responsável por usar essa incerteza (ela pode ser muito grande antes que o tempo do GPS tenha sido 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 clock do 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 funcionamento livre (XO) geralmente não deve ter nenhuma descontinuidade e pode ser definido e deixado em 0.
Se, no entanto, o valor time_ns (relógio HW) for derivado de um composto de fontes, que não seja tão suave quanto um XO típico, ou seja interrompido e reiniciado de outra forma, então esse valor deverá ser incrementado cada vez que ocorrer uma descontinuidade. (Por exemplo, este valor pode começar em zero na inicialização do dispositivo e aumentar cada vez que houver uma mudança na continuidade do relógio. No caso improvável de este valor atingir a escala completa, o rollover (não a fixação) é necessário, 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 está sendo executado continuamente, por exemplo, derivado de um único relógio de alta qualidade (semelhante a XO ou melhor, que normalmente é usado durante a amostragem contínua de sinal GNSS. )
É esperado, esp. durante os períodos em que há poucos sinais GNSS disponíveis, que o relógio HW esteja livre de descontinuidades pelo maior tempo possível, pois isso evita a necessidade de usar (desperdiçar) uma medição GNSS para resolver completamente a polarização e o desvio do relógio GPS, quando usando as medições anexas, de relatórios GnssData consecutivos.
int16_t salto_segundo |
int64_t tempo_ns |
O valor do relógio interno do receptor GNSS. Este é o valor do relógio do hardware local.
Para o relógio de 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 tempo GPS do receptor pode ser derivada subtraindo a soma de full_bias_ns e bias_ns (quando disponível) deste valor.
Espera-se que este tempo GPS seja a melhor estimativa do tempo GPS atual que o receptor GNSS pode alcançar.
A precisão de subnanossegundos pode ser fornecida por meio do campo 'bias_ns'. O valor contém a 'incerteza do tempo'.
Este campo é obrigatório.
tempo duplo_incerteza_ns |
Incerteza 1-Sigma associada ao tempo do relógio em nanossegundos. A incerteza é representada como um valor absoluto (unilateral).
Se os dados estiverem disponíveis, os 'flags' 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 pode não ser fornecido, por sinalizador GNSS_CLOCK_HAS_TIME_UNCERTAINTY, ou fornecido e definido como 0.)
A documentação desta estrutura foi gerada a partir do seguinte arquivo:
- hardware/libhardware/include/hardware/ gps.h