Справочник по структуре GnssClock
#include < gps.h >
Поля данных | |
size_t | размер |
GnssClockFlags | флаги |
int16_t | leap_second |
int64_t | time_ns |
двойной | time_un surety_ns |
int64_t | full_bias_ns |
двойной | bias_ns |
двойной | bias_un surety_ns |
двойной | drift_nsps |
двойной | drift_un surety_nsps |
uint32_t | hw_clock_discontinuity_count |
Подробное описание
Полевая документация
двойной bias_ns |
double bias_un surety_ns |
Неопределенность 1-сигма, связанная с локальной оценкой времени GPS (смещение часов) в наносекундах. Неопределенность представлена как абсолютное (одностороннее) значение.
Если данные доступны, «флаги» должны содержать GNSS_CLOCK_HAS_BIAS_UNCERTAINTY. Это значение обязательно, если приемник рассчитал время GPS.
двойной drift_nsps |
Дрейф часов в наносекундах (в секунду).
Положительное значение означает, что частота выше номинальной частоты и что (full_bias_ns + bias_ns) со временем становится более положительным.
Значение содержит в себе «неопределенность дрейфа». Если данные доступны, «флаги» должны содержать GNSS_CLOCK_HAS_DRIFT.
Это значение обязательно, если приемник оценил время GNSS.
двойной дрейф_неопределенность_nsps |
Неопределенность 1 сигма, связанная с дрейфом часов в наносекундах (в секунду). Неопределенность представлена как абсолютное (одностороннее) значение.
Если данные доступны, «флаги» должны содержать GNSS_CLOCK_HAS_DRIFT_UNCERTAINTY. Если GPS вычислил местоположение, это поле является обязательным и должно быть заполнено.
Флаги GnssClockFlags |
int64_t full_bias_ns |
Разница между аппаратными часами (поле «время») внутри GPS-приемника и истинным временем GPS с 0000Z 6 января 1980 года в наносекундах.
Знак значения определяется следующим уравнением: локальная оценка времени GPS = time_ns - (full_bias_ns + bias_ns)
Это значение обязательно, если приемник рассчитал время GPS. Если вычисленное время относится к созвездию без GPS, для заполнения этого значения необходимо применить временной сдвиг этого созвездия к GPS. Оценка ошибки для суммы этого и bias_ns - это bias_un surety_ns, и вызывающая сторона несет ответственность за использование этой неопределенности (она может быть очень большой до того, как будет определено время GPS). Если данные доступны, «флаги» должны содержать GNSS_CLOCK_HAS_FULL_BIAS.
uint32_t hw_clock_discontinuity_count |
Если в HW-часах есть какие-либо разрывы, это поле является обязательным.
Под «разрывом» подразумевается случай переключения с одного источника часов на другой. Один автономный кварцевый генератор (XO), как правило, не должен иметь разрывов, и его можно установить и оставить на 0.
Однако, если значение time_ns (HW clock) получено из совокупности источников, которая не такая гладкая, как типичный XO, или иным образом остановлена и перезапущена, то это значение должно увеличиваться каждый раз, когда возникает разрыв. (Например, это значение может начинаться с нуля при загрузке устройства и увеличиваться каждый раз, когда происходит изменение непрерывности часов. В маловероятном случае, когда это значение достигает полной шкалы, требуется одновременное нажатие клавиш (не фиксация), чтобы это значение продолжало изменения во время последующих событий прерывания.)
Хотя это число остается неизменным между отчетами GnssClock , можно с уверенностью предположить, что значение time_ns работает непрерывно, например, полученное из одного высококачественного тактового сигнала (типа XO или лучше, который обычно используется во время непрерывной выборки сигнала GNSS. )
Ожидается, особенно. в периоды, когда доступно небольшое количество сигналов GNSS, чтобы часы HW были без прерываний как можно дольше, так как это позволяет избежать необходимости использовать (тратить впустую) измерения GNSS для полного повторного решения смещения и дрейфа часов GPS, когда используя сопутствующие измерения из последовательных отчетов GnssData .
int16_t leap_second |
int64_t time_ns |
Значение внутренних часов приемника GNSS. Это значение локальных аппаратных часов.
Ожидается, что для локальных аппаратных часов это значение будет монотонно увеличиваться, пока аппаратные часы остаются включенными. (В случае, если часы HW не горят постоянно, см. Поле hw_clock_discontinuity_count). Оценка времени GPS приемником может быть получена путем вычитания суммы full_bias_ns и bias_ns (если доступно) из этого значения.
Ожидается, что это время GPS будет наилучшей оценкой текущего времени GPS, которую может получить приемник GNSS.
Субнаносекундную точность можно обеспечить с помощью поля bias_ns. Значение содержит в себе "неопределенность времени".
Это поле является обязательным.
двойное время_неопределённости_нс |
Неопределенность 1-сигма, связанная с временем часов в наносекундах. Неопределенность представлена как абсолютное (одностороннее) значение.
Если данные доступны, «флаги» должны содержать GNSS_CLOCK_HAS_TIME_UNCERTAINTY. Это значение фактически равно нулю (это опорные локальные часы, по которым измеряются все остальные времена и погрешности времени.) (И, таким образом, это поле может быть не предоставлено для флага GNSS_CLOCK_HAS_TIME_UNCERTAINTY или предоставлено и установлено в 0.)
Документация для этой структуры была создана из следующего файла:
- оборудование / libhardware / включают / оборудование / gps.h