GnssClock 구조체 참조

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

상세 설명

GPS 시계 시간의 추정치를 나타냅니다.

gps.h 파일의 1455번째 줄에 정의되어 있습니다.

현장 문서

이중 편향_ns

나노초 미만의 편향. 이것과 full_bias_ns의 합에 대한 오류 추정치는bias_uncertainty_ns입니다.

데이터를 사용할 수 있는 경우 '플래그'에는 GNSS_CLOCK_HAS_BIAS가 포함되어야 합니다. GPS가 위치 수정을 계산한 경우. 수신기에 추정 GPS 시간이 있는 경우 이 값은 필수입니다.

gps.h 파일의 1534 행에 정의되어 있습니다.

이중 편향_불확실성_ns

나노초 단위의 GPS 시간(클럭 바이어스)의 로컬 추정과 관련된 1-시그마 불확실성입니다. 불확실성은 절대(단측) 값으로 표시됩니다.

데이터를 사용할 수 있는 경우 '플래그'에는 GNSS_CLOCK_HAS_BIAS_UNCERTAINTY가 포함되어야 합니다. 수신기에 추정 GPS 시간이 있는 경우 이 값은 필수입니다.

gps.h 파일의 1545번째 줄에 정의되어 있습니다.

더블 드리프트_nsps

시계의 드리프트는 나노초(초당) 단위입니다.

양수 값은 주파수가 공칭 주파수보다 높고 (full_bias_ns +bias_ns)가 시간이 지남에 따라 더 양수로 증가한다는 것을 의미합니다.

값에는 '드리프트 불확실성'이 포함되어 있습니다. 데이터를 사용할 수 있는 경우 '플래그'에는 GNSS_CLOCK_HAS_DRIFT가 포함되어야 합니다.

수신기에 예상 GNSS 시간이 있는 경우 이 값은 필수입니다.

gps.h 파일의 1559 행에 정의되어 있습니다.

이중 드리프트_불확실성_nsps

나노초(초당) 단위의 시계 드리프트와 관련된 1-시그마 불확실성입니다. 불확실성은 절대(단측) 값으로 표시됩니다.

데이터를 사용할 수 있는 경우 '플래그'에는 GNSS_CLOCK_HAS_DRIFT_UNCERTAINTY가 포함되어야 합니다. GPS가 위치 수정을 계산한 경우 이 필드는 필수이며 채워져야 합니다.

gps.h 파일의 1569 행에 정의되어 있습니다.

GnssClockFlags 플래그

이 데이터 구조에 있는 필드의 유효성을 나타내는 플래그 집합입니다.

gps.h 파일의 1463 행에 정의되어 있습니다.

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.

gps.h 파일의 1523 행에 정의되어 있습니다.

uint32_t hw_clock_discontinuity_count

HW 클럭에 불연속성이 있는 경우 이 필드는 필수입니다.

"불연속성"은 한 클럭 소스에서 다른 클럭 소스로 전환되는 경우를 의미합니다. 단일 자유 실행 수정 발진기(XO)는 일반적으로 불연속성이 없어야 하며 이를 0으로 설정하고 그대로 둘 수 있습니다.

그러나 time_ns 값(HW 클럭)이 일반적인 XO만큼 부드럽지 않은 소스 합성에서 파생되거나 중지 및 재시작되는 경우 이 값은 불연속이 발생할 때마다 증가해야 합니다. (예를 들어 이 값은 장치 부팅 시 0에서 시작하여 클록 연속성이 변경될 때마다 증가할 수 있습니다. 드물게 이 값이 전체 범위에 도달하는 경우 롤오버(클램핑 아님)가 필요하므로 이 값은 계속해서 후속 불연속 이벤트 중에 변경됩니다.)

이 숫자는 동일하게 유지되지만 GnssClock 보고서 간에는 time_ns 값이 지속적으로 실행되고 있다고 안전하게 가정할 수 있습니다. 예를 들어 연속 GNSS 신호 샘플링 중에 일반적으로 사용되는 단일 고품질 시계(XO 유사 이상)에서 파생된 것입니다. )

특히 예상됩니다. 사용 가능한 GNSS 신호가 거의 없는 기간 동안 HW 클록은 가능한 한 오랫동안 불연속성이 있어야 합니다. 이렇게 하면 GPS 클록 바이어스 및 드리프트를 완전히 해결하기 위해 GNSS 측정을 사용(낭비)할 필요가 없습니다. 연속적인 GnssData 보고서에서 수반되는 측정값을 사용합니다.

gps.h 파일의 1600번째 줄에 정의되어 있습니다.

int16_t 윤초

윤초 데이터. 값의 부호는 다음 방정식으로 정의됩니다. utc_time_ns = time_ns - (full_bias_ns +bias_ns) - leap_second * 1,000,000,000

데이터를 사용할 수 있는 경우 '플래그'에는 GNSS_CLOCK_HAS_LEAP_SECOND가 포함되어야 합니다.

gps.h 파일의 1473 행에 정의되어 있습니다.

size_t 사이즈

sizeof(GnssClock)로 설정

gps.h 파일의 1457 행에 정의되어 있습니다.

int64_t time_ns

GNSS 수신기 내부 시계 값입니다. 이는 로컬 하드웨어 시계 값입니다.

로컬 하드웨어 시계의 경우 이 값은 하드웨어 시계가 전원이 켜져 있는 동안 단조롭게 증가할 것으로 예상됩니다. (계속해서 켜지지 않는 HW 클럭의 경우 hw_clock_discontinuity_count 필드를 참조하세요.) 수신기의 GPS 시간 추정치는 이 값에서 full_bias_ns와bias_ns(사용 가능한 경우)의 합을 빼서 얻을 수 있습니다.

이 GPS 시간은 GNSS 수신기가 달성할 수 있는 현재 GPS 시간의 가장 좋은 추정치일 것으로 예상됩니다.

'bias_ns' 필드를 통해 나노초 미만의 정확도를 제공할 수 있습니다. 값에는 '시간 불확실성'이 포함되어 있습니다.

이 필드는 필수입니다.

gps.h 파일의 1494 행에 정의되어 있습니다.

두배의 시간_불확실성_ns

나노초 단위의 시계 시간과 관련된 1-시그마 불확실성입니다. 불확실성은 절대(단측) 값으로 표시됩니다.

데이터를 사용할 수 있는 경우 '플래그'에 GNSS_CLOCK_HAS_TIME_UNCERTAINTY가 포함되어야 합니다. 이 값은 사실상 0입니다(다른 모든 시간 및 시간 불확실성이 측정되는 기준 로컬 시계입니다.) (따라서 이 필드는 GNSS_CLOCK_HAS_TIME_UNCERTAINTY 플래그에 따라 제공되거나 제공되고 0으로 설정될 수 없습니다.)

gps.h 파일의 1506 행에 정의되어 있습니다.


이 구조체에 대한 문서는 다음 파일에서 생성되었습니다.
  • hardware/libhardware/include/hardware/ gps.h