Как GPS-приемник синхронизирует свои кварцевые часы с GPS-спутниками?

Я прочитал много учебников и статей о Как работает GPS и обнаружил, что он работает по принципу 3d Trilateration. GPS-приемники обычно имеют обычные кварцевые часы, а GPS-спутники имеют очень дорогостоящие атомные часы, которые имеют очень высокую точность.

В одной статье было упомянуто, что, поскольку обычные кварцевые часы в GPS-приемниках имеют очень меньшую точность, но они периодически reset имеют часы с GPS-спутниками. И если синхронизация часов GPS-приемника и GPS-спутников синхронизируется, то только GPS-приемник может рассчитать точное расстояние от спутника GPS.

Как GPS-приемник синхронизирует свои часы с GPS-спутниками? Это я попытался выяснить из многих статей и многих расчетов, но я не мог найти решения. Может ли кто-нибудь объяснить, как обычные кварцевые часы в приемнике GPS синхронизируются с GPS-спутниками?

Ответы

Ответ 1

Сам кристалл - это не часы - кристалл и счетчик реализуют часы. Счетчик может представлять время с 32-битами в секундах и 32 бит для долей секунды.

Каждый такт цикла счетчик увеличивается с другим значением, которое представляет доли секунды, которые проходят за такт.

Таким образом, часы можно ускорять/замедлять, увеличивая/уменьшая количество времени, которое добавляется к счетчику каждый такт.

Относительно некоторых основных часов ваши часы будут иметь частоту и разницу фаз - обычно у вас есть некоторая логика в небольшом микропроцессоре, который измеряет эти различия и медленно изменяет ваши часы в соответствии с основными часами - с использованием добавленной стоимости на счетчик каждый такт.

Подводя итог ответу: часы в вашем GPS-приемнике (кристалл + счетчик) синхронизируются с спутником GPS с использованием алгоритмов, называемых циклами с фазовой автоподстройкой (PLL) и петлями с частотной задержкой (FLL).

Несоответствие фаз

Фазовая синхронизация требуется, потому что вы можете иметь два такта, которые работают с одинаковой скоростью, но один впереди другого. например, часы A считывают 31337,000000001 секунд, а часы B считывают 31337,000000002 секунды. Спустя секунду секунда A считывает 31338.000000001, а часы B читают 31338.000000002 - оба такта прогрессировали на одну секунду, но один такт все еще впереди на 1 наносекунду. т.е. часы В составляют 2 * pi * 10 ^ (- 9) радиан/сек вне фазы относительно часов A

Несоответствие частоты

Частотная синхронизация требуется, потому что один такт может работать быстрее, чем другой. например, часы A считывают 31337 секунд, а часы B считывают 31337 секунд, но через одну секунду часы A считывают 31338 секунд, а часы B читают 31338.000000001 секунд - часы B работают быстрее, чем часы A на 1 наносекунду/секунду.

На практике

На практике вам приходится учитывать обе эти проблемы, чтобы синхронизировать один такт с ведущим тактовым генератором, потому что осцилляторы не являются полностью точными и стабильными. Таким образом, то, что GPS делает, дает часовую долгосрочную дисциплину с использованием алгоритмов FLL и PLL - кварцевый генератор в GPS по-прежнему относительно нестабилен по сравнению с TCXO или атомным генератором, но по крайней мере его можно дисциплинировать как долгосрочный точный.

Ответ 2

Обычный способ синхронизации часов по скрытым сетям (вы можете рассмотреть спутниковую ссылку "скрытая сеть" ) - это Network Time Protocol. Протокол был разработан для очень сходной цели - синхронизации менее стабильных часов с атомными часами.

NTP, вероятно, будет решать больше проблем, чем GPS, но изучение дизайна NTP может дать вам полное представление о том, как синхронизировать два такта, когда вы не можете определить латентность с точностью 100%. То есть когда вы не можете просто измерить длину провода, латентность электронных компонентов и количество циклов системы, участвующих в этом процессе.