Справочник по структуре GnssMeasurement
#include < gps.h >
Поля данных | |
размер_t | размер |
GnssMeasurementFlags | флаги |
int16_t | свид |
GnssConstellationType | созвездие |
двойной | time_offset_ns |
GnssMeasurementState | государство |
int64_t | получено_sv_time_in_ns |
int64_t | получено_sv_time_uncertainty_in_ns |
двойной | c_n0_dbhz |
двойной | псевдодиапазон_скорости_мпс |
двойной | псевдодиапазон_скорости_uncertainty_mps |
GnssAccumulatedDeltaRangeState | накопленный_дельта_диапазон_состояние |
двойной | накопленный_дельта_диапазон_м |
двойной | накопленный_дельта_диапазон_неопределенностей_м |
плавать | Несущая_частота_Гц |
int64_t | Carrier_cycles |
двойной | перевозчик_фаза |
двойной | Carrier_phase_uncertainty |
GnssMultipathIndicator | multipath_indicator |
двойной | snr_db |
Подробное описание
Представляет измерение GNSS, содержит необработанную и вычисленную информацию.
Независимость. Вся информация об измерении сигнала (например, sv_time, псевдодальность_скорости, индикатор многолучевости), сообщаемая в этой структуре, должна основываться только на измерениях сигнала GNSS. Вы не можете синтезировать измерения, вычисляя или сообщая об ожидаемых измерениях, основанных на известном или предполагаемом местоположении, скорости или времени.
Полевая документация
двойное накопленное_delta_range_m |
Накопленный дельта-диапазон с момента последнего сброса канала в метрах. Положительное значение указывает на то, что КА удаляется от приемника.
Знак «накопленного дельта-диапазона» и его отношение к знаку «фазы несущей» определяется уравнением: накопленный дельта-диапазон = -k * фаза несущей (где k — константа)
Это значение должно быть заполнено, если «накопленное состояние дельта-диапазона» != GPS_ADR_STATE_UNKNOWN. Однако ожидается, что данные будут точными только в том случае, если: «состояние накопленного дельта-диапазона» == GPS_ADR_STATE_VALID.
двойное накопленное_delta_range_uncertainty_m |
двойной c_n0_dbhz |
int64_t перевозчик_циклы |
Количество полных циклов несущей между спутником и приемником. Эталонная частота задается полем «carrier_frequency_hz». Индикации возможных проскальзываний и сбросов цикла при накоплении этого значения можно вывести из флагов accumulation_delta_range_state.
Если данные доступны, «флаги» должны содержать GNSS_MEASUREMENT_HAS_CARRIER_CYCLES.
поплавок несущей_частоты_hz |
двойная несущая_фаза |
Фаза РЧ, обнаруженная приемником, в диапазоне [0,0, 1,0]. Обычно это дробная часть полного измерения фазы несущей.
Эталонная частота задается полем «carrier_frequency_hz». Значение содержит «неопределенность фазы несущей».
Если данные доступны, «флаги» должны содержать GNSS_MEASUREMENT_HAS_CARRIER_PHASE.
двойная несущая_фаза_неопределенность |
Созвездие GnssConstellationType |
флаги GnssMeasurementFlags |
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 включает поправки на ошибки частоты часов приемника и спутника. Убедитесь, что это поле является независимым (см. комментарий вверху структуры GnssMeasurement ).
Обязательно указать «нескорректированную» «скорость псевдодальности», а также предоставить поле «дрейфа» GpsClock (при предоставлении нескорректированной скорости псевдодальности не применяйте исправления, описанные выше).
Значение включает в себя «неопределенность скорости псевдодиапазона». Положительное «нескорректированное» значение указывает на то, что спутник удаляется от приемника.
Знак «нескорректированной» «скорости псевдодальности» и ее отношение к знаку «доплеровского сдвига» определяется уравнением: скорость псевдодальности = -k * доплеровский сдвиг (где k — константа)
Это должна быть самая точная доступная скорость псевдодальности, основанная на свежих измерениях сигнала с этого канала.
Обязательно, чтобы это значение предоставлялось при типичном качестве PRR фазы несущей (неопределенность в несколько см/с в секунду или лучше) – когда сигналы достаточно сильные и стабильные, например, сигналы от симулятора GPS с частотой >= 35 дБ-Гц.
двойной псевдодиапазон_уровня_uncertainty_mps |
int64_t Received_sv_time_in_ns |
Полученное время недели GNSS во время измерения в наносекундах. Убедитесь, что это поле является независимым (см. комментарий вверху структуры GnssMeasurement ).
Для GPS и QZSS это: Полученное время недели GPS во время измерения в наносекундах. Значение относится к началу текущей недели GPS.
Учитывая наивысшее состояние синхронизации, которое может быть достигнуто для каждого спутника, допустимый диапазон для этого поля может быть: Поиск: [0]: GNSS_MEASUREMENT_STATE_UNKNOWN Кодовая блокировка C/A: [0 1 мс]: GNSS_MEASUREMENT_STATE_CODE_LOCK установлено Битовая синхронизация: [0 20 мс] : GNSS_MEASUREMENT_STATE_BIT_SYNC установлен Синхронизация подкадра : [0 6s] : GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC установлен TOW decoded : [0 1week ] : GNSS_MEASUREMENT_STATE_TOW_DECODED установлен
Обратите внимание: если есть какая-либо неоднозначность в целых миллисекундах, GNSS_MEASUREMENT_STATE_MSEC_AMBIGUOUS следует установить соответствующим образом в поле «состояние».
Это значение должно быть заполнено, если 'state' != GNSS_MEASUREMENT_STATE_UNKNOWN.
Для Глонасс это: полученное ГЛОНАСС время дня, в момент измерения в наносекундах.
Учитывая наивысшее состояние синхронизации, которое может быть достигнуто для каждого спутника, допустимый диапазон для этого поля может быть: Поиск: [0]: GNSS_MEASUREMENT_STATE_UNKNOWN Кодовая блокировка C/A: [0 1 мс]: GNSS_MEASUREMENT_STATE_CODE_LOCK установлено Синхронизация символов: [0 10 мс] : Установлено GNSS_MEASUREMENT_STATE_SYMBOL_SYNC Синхронизация битов : [ 0 20 мс ] : Установлено GNSS_MEASUREMENT_STATE_BIT_SYNC Синхронизация строк : [ 0 2 с ] : Установлено GNSS_MEASUREMENT_STATE_GLO_STRING_SYNC Время суток : [0 1day ] : Установлено GNSS_MEASUREMENT_STATE_GLOD_TOD
Для Beidou это: полученное Beidou время недели, время измерения в наносекундах.
Учитывая наивысшее состояние синхронизации, которое может быть достигнуто для каждого спутника, допустимый диапазон для этого поля может быть: Поиск: [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN Кодовая блокировка C/A: [ 0 1 мс ] : GNSS_MEASUREMENT_STATE_CODE_LOCK установлено Битовая синхронизация (D2): [ 0 2ms]: GNSS_MEASUREMENT_STATE_BDS_D2_BIT_SYNC - это SET BIT SYNC (D1): [0 20MS]: GNSS_MEASUREMENT_STATE_BIT_SYNC - это подфрам неделя: [0 1 неделя]: установлено GNSS_MEASUREMENT_STATE_TOW_DECODED
Для Galileo это: полученное Galileo время недели в момент измерения в наносекундах.
Кодовая блокировка E1BC: [0 4 мс]: GNSS_MEASUREMENT_STATE_GAL_E1BC_CODE_LOCK установлена E1C 2-я кодовая блокировка: [0 100 мс]: установлена 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 1 мс]: GNSS_MEASUREMENT_STATE_CODE_LOCK установлена Синхронизация символов: [0 2 мс] : GNSS_MEASUREMENT_STATE_SYMBOL_SYNC установлен Сообщение: [0 1s] : GNSS_MEASUREMENT_STATE_SBAS_SYNC установлен
int64_t Received_sv_time_uncertainty_in_ns |
двойной snr_db |
Состояние синхронизации со спутником. Он представляет текущее состояние синхронизации для соответствующего спутника. В зависимости от состояния синхронизации поле «полученный сигнал GPS» следует интерпретировать соответствующим образом.
Это обязательное значение.
int16_t свид |
Идентификационный номер спутникового транспортного средства, определенный в GnssSvInfo::svid Это обязательное значение.
двойной time_offset_ns |
Смещение времени, при котором было выполнено измерение, в наносекундах. Время эталонного приемника определяется GpsData::clock::time_ns и должно интерпретироваться так же, как указано GpsClock::type .
Знак time_offset_ns задается следующим уравнением: время измерения = GpsClock::time_ns + time_offset_ns
Он обеспечивает индивидуальную отметку времени для измерения и обеспечивает точность менее наносекунды. Это обязательное значение.
Документация для этой структуры была сгенерирована из следующего файла:
- оборудование/libhardware/include/оборудование/ gps.h