Справочник по структурам GnssClock
#include < gps.h >
Поля данных | |
size_t | размер |
GnssЧасыФлаги | флаги |
int16_t | прыжковая_секунда |
int64_t | time_ns |
двойной | time_uncertainty_ns |
int64_t | full_bias_ns |
двойной | смещение_нс |
двойной | предвзятость_uncertainty_ns |
двойной | Drift_nsps |
двойной | дрифт_uncertainty_nsps |
uint32_t | hw_clock_discontinuity_count |
Подробное описание
Полевая документация
двойное смещение_ns |
Субнаносекундное смещение. Оценка ошибки для суммы этого значения и full_bias_ns равна смещению_uncertainty_ns.
Если данные доступны, «флаги» должны содержать GNSS_CLOCK_HAS_BIAS. Если GPS вычислил местоположение. Это значение является обязательным, если приемник рассчитал время GPS.
двойное смещение_uncertainty_ns |
Неопределенность 1-сигма, связанная с локальной оценкой времени GPS (смещение часов) в наносекундах. Неопределенность представляется как абсолютная (односторонняя) величина.
Если данные доступны, «флаги» должны содержать GNSS_CLOCK_HAS_BIAS_UNCERTAINTY. Это значение является обязательным, если приемник рассчитал время GPS.
двойной дрифт_nsps |
Смещение часов в наносекундах (в секунду).
Положительное значение означает, что частота выше номинальной частоты и что (full_bias_ns + Bias_ns) со временем становится все более положительным.
Значение содержит «неопределенность дрейфа». Если данные доступны, «флаги» должны содержать GNSS_CLOCK_HAS_DRIFT.
Это значение является обязательным, если приемник рассчитал время GNSS.
двойной дрифт_uncertainty_nsps |
Неопределенность 1-сигмы, связанная с отклонением часов в наносекундах (в секунду). Неопределенность представляется как абсолютная (односторонняя) величина.
Если данные доступны, «флаги» должны содержать GNSS_CLOCK_HAS_DRIFT_UNCERTAINTY. Если GPS вычислил координаты, это поле является обязательным и должно быть заполнено.
Флаги GnssClockFlags |
int64_t full_bias_ns |
Разница между аппаратными часами (поле «время») внутри GPS-приемника и истинным временем GPS с 00:00Z, 6 января 1980 года, в наносекундах.
Знак значения определяется следующим уравнением: локальная оценка времени GPS = time_ns - (full_bias_ns + Bias_ns).
Это значение является обязательным, если приемник рассчитал время GPS. Если вычисленное время относится к созвездию без GPS, для заполнения этого значения необходимо применить смещение времени этого созвездия к GPS. Оценка ошибки для суммы этого значения и смещения_ns равна смещению_uncertainty_ns, и вызывающая сторона несет ответственность за использование этой неопределенности (она может быть очень большой до того, как будет определено время GPS). Если данные доступны, «флаги» должны содержать GNSS_CLOCK_HAS_FULL_BIAS.
uint32_t hw_clock_discontinuity_count |
При наличии разрывов в тактовой частоте аппаратного обеспечения это поле является обязательным.
Под «прерывистостью» понимается случай переключения с одного источника синхронизации на другой. Одиночный автономный кварцевый генератор (XO), как правило, не должен иметь никаких разрывов, и его можно установить и оставить равным 0.
Однако если значение time_ns (аппаратные часы) получено из совокупности источников, которое не так гладко, как типичный XO, или иным образом остановлено и перезапущено, то это значение должно увеличиваться каждый раз, когда происходит разрыв. (Например, это значение может начинаться с нуля при загрузке устройства и увеличиваться каждый раз, когда происходит изменение непрерывности тактового сигнала. В том маловероятном случае, если это значение достигнет полной шкалы, требуется пролонгация (не ограничение), чтобы это значение продолжало изменения во время последующих событий разрыва.)
Хотя это число остается неизменным, между отчетами GnssClock можно с уверенностью предположить, что значение time_ns работало непрерывно, например, полученное из одного высококачественного тактового сигнала (подобного XO или лучше, который обычно используется во время непрерывной выборки сигнала GNSS). )
Это ожидаемо, особенно. в периоды, когда доступно мало сигналов GNSS, аппаратные часы должны быть без разрывов как можно дольше, поскольку это позволяет избежать необходимости использовать (тратить впустую) измерения GNSS для полного определения смещения и дрейфа часов GPS, когда используя сопутствующие измерения из последовательных отчетов GnssData .
int16_t jump_секунда |
int64_t time_ns |
Значение внутренних часов GNSS-приемника. Это значение локальных аппаратных часов.
Ожидается, что для локальных аппаратных часов это значение будет монотонно увеличиваться, пока аппаратные часы остаются включенными. (В случае аппаратных часов, которые не включены постоянно, см. поле hw_clock_discontinuity_count). Оценку времени GPS приемника можно получить путем вычитания суммы full_bias_ns и Bias_ns (если таковые имеются) из этого значения.
Ожидается, что это время GPS будет наилучшей оценкой текущего времени GPS, которую может получить приемник GNSS.
Субнаносекундная точность может быть обеспечена с помощью поля «bias_ns». Значение содержит в себе «неопределенность времени».
Это поле является обязательным.
двойной time_uncertainty_ns |
Неопределенность 1-сигмы, связанная со временем часов в наносекундах. Неопределенность представляется как абсолютная (односторонняя) величина.
Если данные доступны, «флаги» должны содержать GNSS_CLOCK_HAS_TIME_UNCERTAINTY. Это значение фактически равно нулю (это опорные местные часы, с помощью которых измеряются все остальные времена и неопределенности времени.) (И, таким образом, это поле может быть не указано в соответствии с флагом GNSS_CLOCK_HAS_TIME_UNCERTAINTY или предоставлено и установлено в 0.)
Документация для этой структуры была создана из следующего файла:
- оборудование/libhardware/include/hardware/ gps.h