Справочник по структурам GnssMeasurement

Справочник по структурам 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. Вы не можете синтезировать измерения, вычисляя или сообщая об ожидаемых измерениях на основе известного или предполагаемого положения, скорости или времени.

Определение в строке 1656 файла gps.h.

Полевая документация

двойной накопленный_delta_range_m

Суммарная дельта-диапазон с момента последнего сброса канала в метрах. Положительное значение указывает на то, что КА удаляется от приемника.

Знак «накопленного дельта-диапазона» и его связь со знаком «фазы несущей» определяется уравнением: накопленный дельта-диапазон = -k * фаза несущей (где k — константа).

Это значение должно быть заполнено, если «состояние накопленного диапазона дельты» != GPS_ADR_STATE_UNKNOWN. Однако ожидается, что данные будут точными только в том случае, если: «состояние накопленного дельта-диапазона» == GPS_ADR_STATE_VALID.

Определение в строке 1835 файла gps.h.

Состояние накопленного дельта-диапазона. Он указывает, сброшен ли ADR или произошел сбой цикла (указывающий потерю блокировки).

Это обязательное значение.

Определение в строке 1821 файла gps.h.

двойной накопленный_delta_range_uncertainty_m

1-сигма неопределенность накопленного диапазона дельты в метрах. Это значение должно быть заполнено, если «состояние накопленного диапазона дельты» != GPS_ADR_STATE_UNKNOWN.

Определение в строке 1841 файла gps.h.

двойной c_n0_dbhz

Плотность несущей/шума в дБГц, обычно в диапазоне [0, 63]. Он содержит измеренное значение C/N0 для сигнала на порту антенны.

Это обязательное значение.

Определение в строке 1778 файла gps.h.

int64_t Carrier_cycles

Количество полных циклов несущей между спутником и приемником. Опорная частота задается полем несущей_частоты_hz. Индикации возможных сбоев цикла и сбросов при накоплении этого значения могут быть выведены из флагов накопленного_дельта_диапазона_состояния.

Если данные доступны, «флаги» должны содержать GNSS_MEASUREMENT_HAS_CARRIER_CYCLES.

Определение в строке 1861 файла gps.h.

плавающая несущая_частота_hz

Несущая частота, на которой модулируются коды и сообщения, может быть L1 или L2. Если поле не установлено, предполагается, что несущая частота равна L1.

Если данные доступны, «флаги» должны содержать GNSS_MEASUREMENT_HAS_CARRIER_FREQUENCY.

Определение в строке 1850 файла gps.h.

двойная фаза несущей

Радиочастотная фаза, обнаруженная приемником, в диапазоне [0,0, 1,0]. Обычно это дробная часть полного измерения фазы несущей.

Опорная частота задается полем несущей_частоты_hz. Значение содержит «неопределенность фазы несущей».

Если данные доступны, «флаги» должны содержать GNSS_MEASUREMENT_HAS_CARRIER_PHASE.

Определение в строке 1873 файла gps.h.

двойной несущей_фазы_неопределенности

1-сигма неопределенность фазы несущей. Если данные доступны, «флаги» должны содержать GNSS_MEASUREMENT_HAS_CARRIER_PHASE_UNCERTAINTY.

Определение в строке 1880 файла gps.h.

Созвездие GnssConstellationType

Определяет группировку данного КА. Значение должно быть одной из констант GNSS_CONSTELLATION_*.

Определение в строке 1673 файла gps.h.

Набор флагов, указывающих достоверность полей в этой структуре данных.

Определение в строке 1661 файла gps.h.

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 для тех сигналов, которые отслеживаются и не содержат многолучевого распространения.

Определение в строке 1901 файла gps.h.

двойной псевдодиапазон_rate_mps

Скорость псевдодальности в метке времени в м/с. Коррекция заданного значения скорости псевдодальности включает в себя поправки на ошибки частоты часов приемника и спутника. Убедитесь, что это поле является независимым (см. комментарий вверху структуры GnssMeasurement ).

Обязательно необходимо предоставить «нескорректированную» «скорость псевдодальности», а также предоставить поле «дрейфа» GpsClock (при предоставлении нескорректированной скорости псевдодальности не применяйте исправления, описанные выше).

Это значение включает в себя «неопределенность скорости псевдодиапазона». Положительное «нескорректированное» значение указывает на то, что КА удаляется от приемника.

Знак «нескорректированной» «допплеровской скорости» и ее связь со знаком «доплеровского сдвига» определяется уравнением: скорость псевдодальности = -k * доплеровский сдвиг (где k — константа).

Это должна быть наиболее точная доступная скорость псевдодальности, основанная на измерениях свежего сигнала из этого канала.

Обязательно, чтобы это значение было предоставлено с типичным качеством PRR фазы несущей (несколько см/сек в секунду неопределенности или лучше) – когда сигналы достаточно сильны и стабильны, например, сигналы от симулятора GPS при >= 35 дБ-Гц.

Определение в строке 1805 файла gps.h.

двойной псевдодиапазон_rate_uncertainty_mps

1-сигма неопределенность псевдодиапазона_rate_mps. Неопределенность представляется как абсолютная (односторонняя) величина.

Это обязательное значение.

Определение в строке 1813 файла gps.h.

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 установлено

Определение в строке 1763 файла gps.h.

int64_t получено_sv_time_uncertainty_in_ns

1-сигма неопределенность полученного времени недели GPS в наносекундах.

Это значение должно быть заполнено, если 'state' != GPS_MEASUREMENT_STATE_UNKNOWN.

Определение в строке 1770 файла gps.h.

размер size_t

установить sizeof(GpsMeasurement)

Определение в строке 1658 файла gps.h.

двойной snr_db

Отношение сигнал/шум на выходе коррелятора в дБ. Если данные доступны, «флаги» должны содержать GNSS_MEASUREMENT_HAS_SNR. Это отношение мощности «высоты пика корреляции выше наблюдаемого минимального уровня шума» к «среднеквадратическому значению шума».

Определение в строке 1909 файла gps.h.

Состояние GnssMeasurementState

Для каждого состояния синхронизации со спутником. Он представляет текущее состояние синхронизации для соответствующего спутника. В зависимости от состояния синхронизации поле «полученный GPS-буксир» должно интерпретироваться соответствующим образом.

Это обязательное значение.

Определение в строке 1694 файла gps.h.

int16_t свид

Идентификатор спутникового транспортного средства, определенный в GnssSvInfo::svid . Это обязательное значение.

Определение в строке 1667 файла gps.h.

двойной time_offset_ns

Смещение времени, при котором было выполнено измерение, в наносекундах. Время эталонного получателя указывается GpsData::clock::time_ns и должно интерпретироваться так же, как указано GpsClock::type .

Знак time_offset_ns определяется следующим уравнением: время измерения = GpsClock::time_ns + time_offset_ns.

Он обеспечивает индивидуальную временную отметку для измерения и обеспечивает точность до субнаносекунды. Это обязательное значение.

Определение в строке 1686 файла gps.h.


Документация для этой структуры была создана из следующего файла:
  • оборудование/libhardware/include/hardware/ gps.h