Справочник по структурам GnssMeasurement
#include < gps.h >
Поля данных | |
size_t | размер |
GnssИзмерениеФлаги | флаги |
int16_t | свид |
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 | накопленный_delta_range_state |
двойной | накопленный_delta_range_m |
двойной | накопленная_дельта_диапазон_uncertainty_m |
плавать | несущая_частота_hz |
int64_t | перевозчик_циклы |
двойной | несущая_фаза |
двойной | несущая_фаза_неопределенность |
GnssMultipathИндикатор | multipath_indicator |
двойной | snr_db |
Подробное описание
Представляет измерение GNSS и содержит необработанную и рассчитанную информацию.
Независимость. Вся информация об измерении сигнала (например, sv_time, pseudorange_rate, multipath_indicator), сообщаемая в этой структуре, должна быть основана только на измерениях сигнала GNSS. Вы не можете синтезировать измерения, вычисляя или сообщая об ожидаемых измерениях на основе известного или предполагаемого положения, скорости или времени.
Полевая документация
двойной накопленный_delta_range_m |
Суммарная дельта-диапазон с момента последнего сброса канала в метрах. Положительное значение указывает на то, что КА удаляется от приемника.
Знак «накопленного дельта-диапазона» и его связь со знаком «фазы несущей» определяется уравнением: накопленный дельта-диапазон = -k * фаза несущей (где k — константа).
Это значение должно быть заполнено, если «состояние накопленного диапазона дельты» != GPS_ADR_STATE_UNKNOWN. Однако ожидается, что данные будут точными только в том случае, если: «состояние накопленного дельта-диапазона» == GPS_ADR_STATE_VALID.
двойной накопленный_delta_range_uncertainty_m |
двойной c_n0_dbhz |
int64_t Carrier_cycles |
Количество полных циклов несущей между спутником и приемником. Опорная частота задается полем несущей_частоты_hz. Индикации возможных сбоев цикла и сбросов при накоплении этого значения могут быть выведены из флагов накопленного_дельта_диапазона_состояния.
Если данные доступны, «флаги» должны содержать GNSS_MEASUREMENT_HAS_CARRIER_CYCLES.
плавающая несущая_частота_hz |
двойная фаза несущей |
Радиочастотная фаза, обнаруженная приемником, в диапазоне [0,0, 1,0]. Обычно это дробная часть полного измерения фазы несущей.
Опорная частота задается полем несущей_частоты_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 для тех сигналов, которые отслеживаются и не содержат многолучевого распространения.
двойной псевдодиапазон_rate_mps |
Скорость псевдодальности в метке времени в м/с. Коррекция заданного значения скорости псевдодальности включает в себя поправки на ошибки частоты часов приемника и спутника. Убедитесь, что это поле является независимым (см. комментарий вверху структуры GnssMeasurement ).
Обязательно необходимо предоставить «нескорректированную» «скорость псевдодальности», а также предоставить поле «дрейфа» GpsClock (при предоставлении нескорректированной скорости псевдодальности не применяйте исправления, описанные выше).
Это значение включает в себя «неопределенность скорости псевдодиапазона». Положительное «нескорректированное» значение указывает на то, что КА удаляется от приемника.
Знак «нескорректированной» «допплеровской скорости» и ее связь со знаком «доплеровского сдвига» определяется уравнением: скорость псевдодальности = -k * доплеровский сдвиг (где k — константа).
Это должна быть наиболее точная доступная скорость псевдодальности, основанная на измерениях свежего сигнала из этого канала.
Обязательно, чтобы это значение было предоставлено с типичным качеством PRR фазы несущей (несколько см/сек в секунду неопределенности или лучше) – когда сигналы достаточно сильны и стабильны, например, сигналы от симулятора GPS при >= 35 дБ-Гц.
двойной псевдодиапазон_rate_uncertainty_mps |
int64_t получено_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 декодирован : [0 1 неделя ] : 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 2s] : GNSS_MEASUREMENT_STATE_GLO_STRING_SYNC установлен Время суток: [0 1day] : GNSS_MEASURE MENT_STATE_GLO_TOD_DECODED установлен.
Для Beidou это: Полученное время недели Beidou во время измерения в наносекундах.
Учитывая максимальное состояние синхронизации, которое может быть достигнуто для каждого спутника, допустимый диапазон для этого поля может быть следующим: Поиск: [ 0 ] : GNSS_MEASUREMENT_STATE_UNKNOWN Блокировка кода C/A: [ 0 1 мс ] : GNSS_MEASUREMENT_STATE_CODE_LOCK установлен Битовая синхронизация (D2): [ 0 2 мс ] : GNSS_MEASUREMENT_STATE_BDS_D2_BIT_SYNC установлен Битовая синхронизация (D1): [ 0 20 мс ] : GNSS_MEASUREMENT_STATE_BIT_SYNC установлен Подкадр (D2): [ 0 0,6 с ] : GNSS_MEASUREMENT_STATE_BDS_D2_SUBFRAME_SYNC установлен Подкадр ( D1): [0 6s]: установлено GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC. Время неделя: [0 1 неделя]: GNSS_MEASUREMENT_STATE_TOW_DECODED установлен
Для Galileo это: Полученное время недели Galileo во время измерения в наносекундах.
Кодовая блокировка E1BC: [0 4 мс]: установлен GNSS_MEASUREMENT_STATE_GAL_E1BC_CODE_LOCK. Вторая кодовая блокировка E1C: [0 100 мс]: установлен GNSS_MEASUREMENT_STATE_GAL_E1C_2ND_CODE_LOCK.
Страница E1B: [0 2 с]: установлено GNSS_MEASUREMENT_STATE_GAL_E1B_PAGE_SYNC Время недели: [0 1 неделя]: установлено 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 получено_sv_time_uncertainty_in_ns |
двойной snr_db |
Состояние GnssMeasurementState |
Для каждого состояния синхронизации со спутником. Он представляет текущее состояние синхронизации для соответствующего спутника. В зависимости от состояния синхронизации поле «полученный 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/hardware/ gps.h