GnssClock 구조체 참조

GnssClock 구조체 참조

#include < gps.h >

데이터 필드

size_t  크기
 
GnssClockFlags   플래그
 
int16_t  leap_second
 
int64_t  time_ns
 
이중  time_uncertainty_ns
 
int64_t  full_bias_ns
 
이중  bias_ns
 
이중  bias_uncertainty_ns
 
이중  drift_nsps
 
이중  drift_uncertainty_nsps
 
uint32_t  hw_clock_discontinuity_count
 

상세 설명

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

gps.h 파일의 1455 라인에 정의되어 있습니다.

필드 문서

double bias_ns

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

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

gps.h 파일의 1534 라인에 정의가 있습니다.

double bias_uncertainty_ns

GPS 시간(클록 편향)의 로컬 추정치와 관련된 1시그마 불확실성(나노초)입니다. 불확실성은 절대 (단측) 값으로 표시됩니다.

데이터를 사용할 수 있는 경우 'flags'에 GNSS_CLOCK_HAS_BIAS_UNCERTAINTY가 포함되어야 합니다. 수신기에 예상 GPS 시간이 있는 경우 이 값이 필수입니다.

gps.h FILE의 1545 라인에 정의가 있습니다.

double drift_nsps

초당 나노초 단위의 시계 오류입니다.

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

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

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

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

double drift_uncertainty_nsps

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

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

gps.h 파일의 1569 라인에 정의가 있습니다.

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

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

int64_t full_bias_ns

GPS 수신기 내부의 하드웨어 시계('time' 필드)와 1980년 1월 6일 00:00Z 이후의 실제 GPS 시간 간의 차이(나노초)입니다.

값의 부호는 다음 방정식으로 정의됩니다. GPS 시간의 로컬 추정치 = time_ns - (full_bias_ns + bias_ns)

수신기에 예상 GPS 시간이 있는 경우 이 값이 필수입니다. 계산된 시간이 GPS가 아닌 컨스텔레이션의 경우 이 값을 채우려면 해당 컨스텔레이션의 GPS 시간 오프셋을 적용해야 합니다. 이 값과 bias_ns의 합계에 대한 오류 추정치는 bias_uncertainty_ns이며 호출자가 이 불확실성을 사용하는 것이 좋습니다 (GPS 시간이 해결되기 전에 매우 클 수 있음). 데이터를 사용할 수 있는 경우 'flags'에 GNSS_CLOCK_HAS_FULL_BIAS가 포함되어야 합니다.

gps.h FILE의 1523 줄에 정의되어 있습니다.

uint32_t hw_clock_discontinuity_count

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

'연속되지 않음'은 한 시계 소스에서 다른 시계 소스로 전환되는 경우를 다루기 위한 것입니다. 단일 자유 회전 크리스탈 발진기 (XO)는 일반적으로 불연속성이 없어야 하며 0으로 설정하고 그대로 둘 수 있습니다.

그러나 time_ns 값 (HW 시계)이 일반적인 XO만큼 원활하지 않거나 중지되었다가 다시 시작되는 소스 컴포지션에서 파생된 경우 불연속이 발생할 때마다 이 값이 증가합니다. 예를 들어 이 값은 기기 부팅 시 0으로 시작하여 시계 연속성이 변경될 때마다 증가할 수 있습니다. 이 값이 전체 크기에 도달하는 경우는 거의 없지만, 후속 비연속 이벤트 중에 이 값이 계속 변경되도록 롤오버 (클램핑 아님)가 필요합니다.

이 숫자는 GnssClock 보고서 간에 동일하게 유지되지만, time_ns 값이 단일 고품질 시계 (예: XO와 유사하거나 더 우수하며 일반적으로 연속 GNSS 신호 샘플링 중에 사용됨)에서 파생되어 연속적으로 실행되고 있다고 가정할 수 있습니다.

특히 사용 가능한 GNSS 신호가 거의 없는 기간에는 HW 시계가 최대한 오래 연속적으로 작동해야 합니다. 이렇게 하면 연속된 GnssData 보고서에서 함께 제공되는 측정값을 사용할 때 GPS 시계 편향 및 편차를 완전히 다시 해결하기 위해 GNSS 측정값을 사용 (낭비)할 필요가 없기 때문입니다.

gps.h 파일의 1600 행에 정의가 있습니다.

int16_t leap_second

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

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

gps.h 파일의 1473 라인에 정의가 있습니다.

size_t 크기

sizeof(GnssClock)로 설정

gps.h FILE의 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 라인에 정의가 있습니다.

double time_uncertainty_ns

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

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

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


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