GnssClock 구조체 참조
#include < gps.h >
데이터 필드 | |
size_t | 크기 |
Gnss시계플래그 | 깃발 |
int16_t | 도약_초 |
int64_t | 시간_ns |
더블 | time_uncertainty_ns |
int64_t | full_bias_ns |
더블 | bias_ns |
더블 | bias_uncertainty_ns |
더블 | 드리프트_nsps |
더블 | Drift_uncertainty_nsps |
uint32_t | hw_clock_discontinuity_count |
상세 설명
현장 문서
이중 편향_ns |
이중 편향_불확실성_ns |
더블 드리프트_nsps |
이중 드리프트_불확실성_nsps |
GnssClockFlags 플래그 |
int64_t full_bias_ns |
GPS 수신기 내부의 하드웨어 시계('시간' 필드)와 1980년 1월 6일 0000Z 이후의 실제 GPS 시간(나노초) 간의 차이입니다.
값의 부호는 다음 방정식으로 정의됩니다. GPS 시간의 로컬 추정치 = time_ns - (full_bias_ns +bias_ns)
수신기에 추정 GPS 시간이 있는 경우 이 값은 필수입니다. 계산된 시간이 GPS가 아닌 별자리에 대한 것인 경우 GPS에 대한 해당 별자리의 시간 오프셋을 적용하여 이 값을 채워야 합니다. 이것과bias_ns의 합에 대한 오류 추정치는bias_uncertainty_ns이고 호출자는 이 불확실성을 사용할 책임이 있습니다(GPS 시간이 해결되기 전에는 매우 클 수 있습니다.). 데이터가 사용 가능한 경우 '플래그'에는 다음이 포함되어야 합니다. GNSS_CLOCK_HAS_FULL_BIAS.
uint32_t hw_clock_discontinuity_count |
HW 클럭에 불연속성이 있는 경우 이 필드는 필수입니다.
"불연속성"은 한 클럭 소스에서 다른 클럭 소스로 전환되는 경우를 의미합니다. 단일 자유 실행 수정 발진기(XO)는 일반적으로 불연속성이 없어야 하며 이를 0으로 설정하고 그대로 둘 수 있습니다.
그러나 time_ns 값(HW 클럭)이 일반적인 XO만큼 부드럽지 않은 소스 합성에서 파생되거나 중지 및 재시작되는 경우 이 값은 불연속이 발생할 때마다 증가해야 합니다. (예를 들어 이 값은 장치 부팅 시 0에서 시작하여 클록 연속성이 변경될 때마다 증가할 수 있습니다. 드물게 이 값이 전체 범위에 도달하는 경우 롤오버(클램핑 아님)가 필요하므로 이 값은 계속해서 후속 불연속 이벤트 중에 변경됩니다.)
이 숫자는 동일하게 유지되지만 GnssClock 보고서 간에는 time_ns 값이 지속적으로 실행되고 있다고 안전하게 가정할 수 있습니다. 예를 들어 연속 GNSS 신호 샘플링 중에 일반적으로 사용되는 단일 고품질 시계(XO 유사 이상)에서 파생된 것입니다. )
특히 예상됩니다. 사용 가능한 GNSS 신호가 거의 없는 기간 동안 HW 클록은 가능한 한 오랫동안 불연속성이 있어야 합니다. 이렇게 하면 GPS 클록 바이어스 및 드리프트를 완전히 해결하기 위해 GNSS 측정을 사용(낭비)할 필요가 없습니다. 연속적인 GnssData 보고서에서 수반되는 측정값을 사용합니다.
int16_t 윤초 |
int64_t time_ns |
GNSS 수신기 내부 시계 값입니다. 이는 로컬 하드웨어 시계 값입니다.
로컬 하드웨어 시계의 경우 이 값은 하드웨어 시계가 전원이 켜져 있는 동안 단조롭게 증가할 것으로 예상됩니다. (계속해서 켜지지 않는 HW 클럭의 경우 hw_clock_discontinuity_count 필드를 참조하세요.) 수신기의 GPS 시간 추정치는 이 값에서 full_bias_ns와bias_ns(사용 가능한 경우)의 합을 빼서 얻을 수 있습니다.
이 GPS 시간은 GNSS 수신기가 달성할 수 있는 현재 GPS 시간의 가장 좋은 추정치일 것으로 예상됩니다.
'bias_ns' 필드를 통해 나노초 미만의 정확도를 제공할 수 있습니다. 값에는 '시간 불확실성'이 포함되어 있습니다.
이 필드는 필수입니다.
두배의 시간_불확실성_ns |
이 구조체에 대한 문서는 다음 파일에서 생성되었습니다.
- hardware/libhardware/include/hardware/ gps.h