GnssMeasurement 구조체 참조
#include < gps.h >
데이터 필드 | |
size_t | 크기 |
GnssMeasurementFlags | 깃발 |
int16_t | svid |
GnssConstellationType | 별자리 |
더블 | time_offset_ns |
Gnss측정 상태 | 상태 |
int64_t | 수신된_sv_time_in_ns |
int64_t | 수신된_sv_time_uncertainty_in_ns |
더블 | c_n0_dbhz |
더블 | pseudorange_rate_mps |
더블 | pseudorange_rate_uncertainty_mps |
GnssAccumulatedDeltaRangeState | 축적된_델타_범위_상태 |
더블 | 누적_델타_범위_m |
더블 | 축적된_델타_범위_불확실한_m |
뜨다 | 캐리어_주파수_hz |
int64_t | carrier_cycles |
더블 | 캐리어 위상 |
더블 | carrier_phase_uncertainty |
GnssMultipathIndicator | multipath_indicator |
더블 | snr_db |
상세 설명
원시 및 계산된 정보를 포함하는 GNSS 측정을 나타냅니다.
독립성 - 이 구조체에 보고된 모든 신호 측정 정보(예: sv_time, pseudorange_rate, multipath_indicator)는 GNSS 신호 측정에만 기반해야 합니다. 알려져 있거나 추정된 위치, 속도 또는 시간을 기반으로 예상 측정치를 계산하거나 보고하여 측정치를 합성할 수 없습니다.
현장 문서
이중 누적_델타_범위_m |
마지막 채널 재설정 이후 누적된 델타 범위(미터 단위). 양수 값은 SV가 수신기에서 멀어지고 있음을 나타냅니다.
'누적 델타 범위'의 부호와 '반송파 위상' 부호와의 관계는 다음 방정식으로 제공됩니다. 누적 델타 범위 = -k * 캐리어 위상(여기서 k는 상수)
이 값은 '누적 델타 범위 상태' != GPS_ADR_STATE_UNKNOWN인 경우 채워져야 합니다. 그러나 데이터는 '누적 델타 범위 상태' == GPS_ADR_STATE_VALID일 때만 정확할 것으로 예상됩니다.
이중 누적_델타_범위_불확실성_m |
더블 c_n0_dbhz |
int64_t carrier_cycles |
부동 캐리어_주파수_hz |
이중 캐리어_위상 |
이중 캐리어_phase_uncertainty |
GnssMultipathIndicator multipath_indicator |
이벤트의 '다중 경로' 상태를 나타내는 열거입니다.
다중 경로 표시기는 왜곡된 상관 피크로 나타나는 겹치는 신호의 존재를 보고하기 위한 것입니다.
- 왜곡된 상관 피크 모양이 있는 경우 다중 경로가 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를 보고해야 합니다.
이중 pseudorange_rate_mps |
타임스탬프의 의사 범위 비율(m/s)입니다. 주어진 Pseudorange Rate 값의 수정에는 수신기 및 위성 클록 주파수 오류에 대한 수정이 포함됩니다. 이 필드가 독립적인지 확인하십시오( GnssMeasurement 구조체 상단의 주석 참조).
'보정되지 않은' '의사 거리 비율'을 제공하는 것은 필수이며, GpsClock 의 '드리프트' 필드도 함께 제공해야 합니다(보정되지 않은 의사 범위 비율을 제공할 때 위에서 설명한 수정 사항을 적용하지 마십시오.)
값에는 '의사 범위 비율 불확실성'이 포함됩니다. 양의 '수정되지 않은' 값은 SV가 수신기에서 멀어지고 있음을 나타냅니다.
'수정되지 않은' '의사 범위 비율'의 부호와 '도플러 이동'의 부호에 대한 관계는 다음 방정식으로 제공됩니다. 의사 범위 비율 = -k * 도플러 이동(여기서 k는 상수)
이것은 이 채널의 새로운 신호 측정을 기반으로 사용 가능한 가장 정확한 의사 범위 속도여야 합니다.
이 값은 신호가 충분히 강력하고 안정적인 경우와 같이 >= 35dB-Hz에서 GPS 시뮬레이터의 신호와 같이 일반적인 반송파 위상 PRR 품질(초당 몇 cm/초 또는 그 이상)에서 제공되어야 합니다.
이중 pseudorange_rate_uncertainty_mps |
int64_t 수신_sv_time_in_ns |
측정 시간에 수신된 GNSS Time-of-Week(나노초)입니다. 이 필드가 독립적인지 확인하십시오( 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가 '상태' 필드에 적절하게 설정되어야 합니다.
'state' != 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_STATE_ 가 설정됨 시간 : [MEAS 0 CODETOD_가 설정됨
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 IS SET BIT SYNC (D1) : [0 20MS] : GNSS_MEASUREMENT_STATE_BIT_SYNC IS SETFRAME (D2) : [0 0.6S] : [0 0.6S] : GNSS_MEASUREMERENT_BDS_D2_SUBFRAME_SUCMFRAME _S SETSUMPRAME _S SETUNC IS 6S STONCFFRAME. 주 : [ 0 1주 ] : GNSS_MEASUREMENT_STATE_TOW_DECODED가 설정됨
Galileo의 경우 이것은 다음과 같습니다. 측정 시간(나노초)에서 수신된 Galileo 시간.
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 설정
int64_t 수신_sv_time_uncertainty_in_ns |
이중 snr_db |
int16_t svid |
GnssSvInfo::svid 에 정의된 위성 차량 ID 번호 필수 값입니다.
더블 time_offset_ns |
측정이 수행된 시간 오프셋(나노초)입니다. 참조 수신기의 시간은 GpsData::clock::time_ns에 의해 지정되며 GpsClock::type 이 나타내는 것과 동일한 방식으로 해석되어야 합니다.
time_offset_ns의 부호는 다음 방정식으로 제공됩니다. 측정 시간 = GpsClock::time_ns + time_offset_ns
측정을 위한 개별 타임스탬프를 제공하고 나노초 미만의 정확도를 허용합니다. 이것은 필수 값입니다.
이 구조체에 대한 문서는 다음 파일에서 생성되었습니다.