GnssMeasurement 구조체 참조

GnssMeasurement 구조체 참조

#include < gps.h >

데이터 필드

size_t 크기
Gnss측정플래그 깃발
int16_t svid
Gnss별자리 유형 별자리
더블 time_offset_ns
Gnss측정상태 상태
int64_t received_sv_time_in_ns
int64_t received_sv_time_uncertainty_in_ns
더블 c_n0_dbhz
더블 의사거리_속도_mps
더블 의사범위_속도_불확실_mps
GnssAccumulatedDeltaRangeState 누적_델타_범위_상태
더블 누적_델타_범위_m
더블 누적_델타_범위_불확실_m
뜨다 반송파_주파수_hz
int64_t 캐리어_사이클
더블 캐리어_위상
더블 Carrier_Phase_불확실성
Gnss다중 경로 표시기 다중 경로_표시기
더블 snr_db

상세 설명

GNSS 측정을 나타내며 원시 및 계산된 정보를 포함합니다.

독립성 - 이 구조체에 보고된 모든 신호 측정 정보(예: sv_time, pseudorange_rate, multipath_indicator)는 GNSS 신호 측정에만 기반해야 합니다. 알려진 또는 추정된 위치, 속도 또는 시간을 기반으로 예상 측정값을 계산하거나 보고하여 측정값을 종합할 수 없습니다.

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

현장 문서

이중 누적_델타_범위_m

마지막 채널 재설정 이후 누적된 델타 범위(미터)입니다. 양수 값은 SV가 수신기에서 멀어지고 있음을 나타냅니다.

'누적 델타 범위'의 부호와 '캐리어 위상' 부호와의 관계는 다음 방정식으로 제공됩니다. 누적 델타 범위 = -k * 캐리어 위상(여기서 k는 상수)

'누적 델타 범위 상태' != GPS_ADR_STATE_UNKNOWN인 경우 이 값을 채워야 합니다. 그러나 데이터는 '누적 델타 범위 상태' == GPS_ADR_STATE_VALID인 경우에만 정확할 것으로 예상됩니다.

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

GnssAccumulatedDeltaRangeState Accumulated_delta_range_state

누적된 델타 범위의 상태입니다. 이는 ADR이 재설정되었는지 또는 사이클 슬립(잠금 손실을 나타냄)이 있는지 여부를 나타냅니다.

이는 필수 값입니다.

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

이중 누적_델타_범위_불확실_m

미터 단위의 누적 델타 범위에 대한 1-시그마 불확실성. '누적 델타 범위 상태' != GPS_ADR_STATE_UNKNOWN인 경우 이 값을 채워야 합니다.

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

더블 c_n0_dbhz

반송파 대 잡음 밀도(dB-Hz), 일반적으로 범위는 [0, 63]입니다. 여기에는 안테나 포트의 신호에 대해 측정된 C/N0 값이 포함됩니다.

이는 필수 값입니다.

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

int64_t Carrier_cycles

위성과 수신기 사이의 전체 반송파 주기 수입니다. 기준 주파수는 'carrier_주파수_hz' 필드에 의해 제공됩니다. 이 값이 누적될 때 발생할 수 있는 사이클 슬립 및 재설정에 대한 표시는 누적_델타_범위_상태 플래그에서 추론할 수 있습니다.

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

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

플로트 캐리어_주파수_hz

코드와 메시지가 변조되는 반송파 주파수는 L1 또는 L2일 수 있습니다. 필드가 설정되지 않은 경우 반송파 주파수는 L1로 간주됩니다.

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

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

이중 캐리어_위상

수신기가 감지한 RF 위상(범위 [0.0, 1.0])입니다. 이는 일반적으로 전체 캐리어 위상 측정의 분수 부분입니다.

기준 주파수는 'carrier_주파수_hz' 필드에 의해 제공됩니다. 값에는 '캐리어 위상 불확실성'이 포함되어 있습니다.

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

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

이중 캐리어_위상_불확실성

반송파 위상의 1-시그마 불확실성. 데이터를 사용할 수 있는 경우 '플래그'에는 GNSS_MEASUREMENT_HAS_CARRIER_PHASE_UNCERTAINTY가 포함되어야 합니다.

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

주어진 SV의 별자리를 정의합니다. 값은 GNSS_CONSTELLATION_* 상수 중 하나여야 합니다.

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

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

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

이벤트의 '다중 경로' 상태를 나타내는 열거형입니다.

다중 경로 표시기는 왜곡된 상관 피크로 나타나는 중첩 신호의 존재를 보고하기 위한 것입니다.

  • 왜곡된 상관 피크 모양이 있는 경우 다중 경로가 GNSS_MULTIPATH_INDICATOR_PRESENT라고 보고합니다.
  • 왜곡된 상관 피크 모양이 없으면 GNSS_MULTIPATH_INDICATOR_NOT_PRESENT를 보고합니다.
  • 신호가 너무 약해서 이 정보를 식별할 수 없는 경우 GNSS_MULTIPATH_INDICATOR_UNKNOWN을 보고하세요.

예: 표준화된 중첩 다중 경로 성능 테스트(3GPP TS 34.171)를 수행할 때 다중 경로 표시기는 추적되고 다중 경로를 포함하는 신호에 대해 GNSS_MULTIPATH_INDICATOR_PRESENT를 보고해야 하며, 추적되고 다중 경로를 포함하지 않는 신호에 대해 GNSS_MULTIPATH_INDICATOR_NOT_PRESENT를 보고해야 합니다.

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

이중 의사 거리_속도_mps

타임스탬프의 의사 범위 속도(m/s)입니다. 주어진 의사 거리 비율 값의 수정에는 수신기 및 위성 클럭 주파수 오류에 대한 수정이 포함됩니다. 이 필드가 독립적인지 확인하세요( GnssMeasurement 구조 상단의 설명 참조).

'수정되지 않은' '의사 거리 비율'을 제공해야 하며, GpsClock 의 '드리프트' 필드도 제공해야 합니다. (수정되지 않은 의사 거리 비율을 제공할 경우 위에서 설명한 보정을 적용하지 마세요.)

값에는 '의사 범위 비율 불확실성'이 포함됩니다. 양수 '수정되지 않음' 값은 SV가 수신기에서 멀어지고 있음을 나타냅니다.

'보정되지 않은' '의사 거리 비율'의 부호와 '도플러 편이' 부호와의 관계는 다음 방정식으로 제공됩니다. 의사 거리 비율 = -k * 도플러 편이(여기서 k는 상수)

이는 이 채널의 새로운 신호 측정을 기반으로 하는 가장 정확한 의사 거리 비율이어야 합니다.

이 값은 신호가 충분히 강력하고 안정적인 경우(예: GPS 시뮬레이터의 신호 >= 35dB-Hz) 일반적인 반송파 위상 PRR 품질(불확도가 초당 몇 cm/초 이상)로 제공되어야 합니다.

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

이중 의사 범위_속도_불확실성_mps

pseudorange_rate_mps의 1-시그마 불확실성. 불확실성은 절대(단측) 값으로 표시됩니다.

이는 필수 값입니다.

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

int64_t received_sv_time_in_ns

측정 시간에 수신된 GNSS 주간 시간(나노초)입니다. 이 필드가 독립적인지 확인하세요( GnssMeasurement 구조 상단의 설명 참조).

GPS 및 QZSS의 경우 측정 시간에 수신된 GPS 시간(나노초)입니다. 값은 현재 GPS 주의 시작을 기준으로 합니다.

각 위성별로 달성할 수 있는 가장 높은 동기화 상태를 고려할 때 이 필드의 유효한 범위는 다음과 같습니다. 검색 중: [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN C/A 코드 잠금: [ 0 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK이 설정됨 비트 동기화: [ 0 20ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC가 설정됨 서브프레임 동기화: [ 0 6s ] : GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC가 설정됨 TOW 디코딩됨 : [ 0 1주 ] : GNSS_MEASUREMENT_STATE_TOW_DECODED가 설정됨

참고: 정수 밀리초 단위에 모호성이 있는 경우 '상태' 필드에 GNSS_MEASUREMENT_STATE_MSEC_AMBIGUOUS를 그에 따라 설정해야 합니다.

'상태' != GNSS_MEASUREMENT_STATE_UNKNOWN인 경우 이 값을 채워야 합니다.

Glonass의 경우 이는 다음과 같습니다. 나노초 단위의 측정 시간에 수신된 Glonass 시간입니다.

각 위성별로 달성할 수 있는 가장 높은 동기화 상태를 고려할 때 이 필드의 유효한 범위는 다음과 같습니다. 검색 중: [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN C/A 코드 잠금: [ 0 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK이 설정됨 기호 동기화: [ 0 10ms ] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC가 설정됨 비트 동기화: [ 0 20ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC가 설정됨 문자열 동기화 : [ 0 2s ] : GNSS_MEASUREMENT_STATE_GLO_STRING_SYNC가 설정됨 시간 : [ 0 1day ] : GNSS_MEASUREMENT_STATE_GLO_TOD_DECODED 가 설정됨 세트

Beidou의 경우 이는 다음과 같습니다. 측정 시간(나노초)에 Beidou 시간을 수신했습니다.

각 위성별로 달성할 수 있는 가장 높은 동기화 상태를 고려할 때 이 필드의 유효한 범위는 다음과 같습니다. 검색 중: [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN C/A 코드 잠금: [ 0 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK이 설정됨 비트 동기화(D2): [ 0 2ms ] : GNSS_MEASUREMENT_STATE_BDS_D2_BIT_SYNC가 설정됨 비트 동기화(D1): [ 0 20ms ] : GNSS_MEASUREMENT_STATE_BIT_SYNC가 설정됨 서브프레임(D2): [ 0 0.6s ] : GNSS_MEASUREMENT_STATE_BDS_D2_SUBFRAME_SYNC가 설정됨 서브프레임(D1): [ 0 6s ] : GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC가 설정됩니다. 주 : [ 0 1주 ] : GNSS_MEASUREMENT_STATE_TOW_DECODED가 설정되었습니다.

갈릴레오의 경우 다음과 같습니다. 측정 시간(나노초)에 갈릴레오 시간을 수신합니다.

E1BC 코드 잠금: [ 0 4ms ] : GNSS_MEASUREMENT_STATE_GAL_E1BC_CODE_LOCK이 설정됨 E1C 2차 코드 잠금: [ 0 100ms ] : GNSS_MEASUREMENT_STATE_GAL_E1C_2ND_CODE_LOCK이 설정됨

E1B 페이지: [ 0 2s ] : GNSS_MEASUREMENT_STATE_GAL_E1B_PAGE_SYNC가 설정됨 요일: [ 0 1week ] : GNSS_MEASUREMENT_STATE_TOW_DECODED가 설정됨

SBAS의 경우 이는 나노초 단위의 측정 시간에 수신된 SBAS 시간입니다.

각 위성별로 달성할 수 있는 가장 높은 동기화 상태를 고려할 때 이 필드의 유효한 범위는 다음과 같습니다. 검색 중: [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN C/A 코드 잠금: [ 0 1ms ] : GNSS_MEASUREMENT_STATE_CODE_LOCK이 설정됨 기호 동기화: [ 0 2ms ] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC가 설정되었습니다. 메시지: [ 0 1s ] : GNSS_MEASUREMENT_STATE_SBAS_SYNC가 설정되었습니다.

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

int64_t received_sv_time_uncertainty_in_ns

수신된 GPS 주간 시간(나노초)의 1-시그마 불확실성.

'상태' != GPS_MEASUREMENT_STATE_UNKNOWN인 경우 이 값을 채워야 합니다.

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

size_t 사이즈

sizeof(GpsMeasurement)로 설정

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

더블 snr_db

상관기 출력의 신호 대 잡음비(dB)입니다. 데이터를 사용할 수 있는 경우 '플래그'에 GNSS_MEASUREMENT_HAS_SNR이 포함되어야 합니다. 이는 "관찰된 노이즈 플로어 위의 상관 피크 높이"와 "노이즈 RMS"의 전력 비율입니다.

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

위성 동기화 상태별. 연결된 위성의 현재 동기화 상태를 나타냅니다. 동기화 상태에 따라 '수신된 GPS 견인' 필드가 그에 따라 해석되어야 합니다.

이는 필수 값입니다.

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

int16_t svid

GnssSvInfo::svid 에 정의된 위성 차량 ID 번호입니다. 이는 필수 값입니다.

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

이중 time_offset_ns

측정이 수행된 시간 오프셋(나노초)입니다. 참조 수신기의 시간은 GpsData::clock::time_ns에 의해 지정되며 GpsClock::type 에 표시된 것과 동일한 방식으로 해석되어야 합니다.

time_offset_ns의 부호는 다음 방정식으로 제공됩니다. 측정 시간 = GpsClock::time_ns + time_offset_ns

이는 측정을 위한 개별 타임스탬프를 제공하고 나노초 미만의 정확도를 허용합니다. 이는 필수 값입니다.

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


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