Как на самом деле работает GPS и почему многие GPS-устройства могут переставать работать правильно
Большинство людей не осознают вездесущность системы GPS, которая разрабатывалась в течение десятилетий. Она используется не только для навигации. Предельная точность отсчёта времени GPS (+/- 10 миллиардных долей секунды) позволяет бесчисленным предприятиям со всего мира применять её в различных целях, начиная от помощи в управлении энергосистемой и заканчивая регулированием фондового рынка и проведением банковских операций. GPS позволяет компаниям достигать уровня точности атомных часов, включая лёгкую синхронизацию времени по всему земному шару, без необходимости иметь атомные часы или придумывать собственные системы для глобальной синхронизации. Проблема в том, что, ввиду причудливых оригинальных спецификаций, многие GPS-устройства могут перестать работать правильно, если оперативно не обновить их прошивку. Итак, что происходит, каким образом работает система GPS и кто первым придумал её?
4 октября 1957 года Советский Союз запустил «Спутник». Как вы можете себе представить, за этим крошечным спутником следили учёные со всего мира. Наиболее подходящими для рассматриваемой сегодня темы были два физика из Университета Джона Хопкинса – Уильям Гийер и Джордж Вайффенбах.
Изучая орбиты и сигналы, исходящие от спутников, пара осознала, что, благодаря скорости движения и характеру передач, мы можем точно определить их положения, используя эффект Доплера.
Вскоре после этого некий Фрэнк Макклюр, также из Университета Джона Хопкинса, попросил пару определить, возможно ли сделать это наоборот. Вскоре они обнаружили, что, действительно, используя известную орбиту спутника и изучая сигнал, поступающий от него, наблюдатель на Земле способен в относительно короткий промежуток времени установить собственное местоположение.
С этого всё и началось.
Были предложены и в некоторых случаях разработаны различные системы. Наиболее заметной в конечной эволюции GPS стала Transit (Navy’s Navigation Satellite System), которая была запущена к 1964 году. Эта система теоретически могла сообщить членам экипажа подводной лодки или корабля, где они находились, хотя местоположение можно было обновлять только один раз в час, и это занимало около 10-15 минут. Более того, если корабль двигался, страдала точность.
Ещё одной важной системой стала Timation, которая первоначально использовала кварцевые часы, синхронизированные на земле и на спутниках, в качестве ключевого компонента того, как система определяла местоположение наблюдателя на Земле. Однако часы не отличались высокой точностью, поэтому первые испытания показали большую погрешность (точность составляла всего 0,3 морских мили); более того, получение данных заняло около 15 минут. Последующая модернизация Timation привела к некоторым улучшениям, даже тестированию атомных часов для повышения точности. Однако далее дело не сдвинулось.
К началу 1970-х годов была предложена система Navigation System Using Timing and Ranging (Navstar), которая, по сути, объединяла элементы Transit, Timation и прочих.
Перенесёмся в 1983 год. На тот момент в США не было полноценно функционирующей системы GPS, однако были запущены первые прототипы спутников, и система постепенно тестировалась и внедрялась. Именно в этот момент самолёт «Корейских авиалиний», совершавший рейс 007, вылетел из Нью-Йорка, совершил дозаправку в Анкоридже (Аляска) и направился в Сеул (Южная Корея).
Какое отношение это имеет к вездесущей системе GPS, какой мы её знаем сегодня?
Экипаж не заметил сбой в работе автопилота, в результате чего он непреднамеренно заблудился в советском воздушном пространстве.
Подумав, что пассажирский самолёт был шпионом, советские власти приказали поднять в небо Су-15, чтобы перехватить его.
Были сделаны предупредительные выстрелы, хотя пилот, который совершил это действие, позднее заявил во время интервью: «Я выпустил четыре очереди, более 200 патронов. А толку было никакого. В конце концов, я был заряжен бронебойными снарядами, а не зажигательными. Маловероятно, чтобы их кто-то заметил».
Вскоре после этого члены экипажа самолёта 007 связались с токийским центром управления и попросили разрешения увеличить высоту полёта с 330 (около 10000 метров) до 350 (примерно 10700 метров). Это привело к тому, что самолёт замедлился ниже скорости, с которой обычно работали отслеживающие высокоскоростные перехватчики. Это было воспринято как уклончивый манёвр, хотя в действительности это было сделано из соображений экономии топлива.
Среди советских руководителей разгорелся жаркий спор о том, стоит ли тратить время на опознание самолёта, который мог быть просто пассажирским авиалайнером. Но поскольку он направлялся в международные воды или, возможно, уже достиг их, было принято решение сначала стрелять, а потом задавать вопросы.
Пилот, отвечавший за атаку, описал то, что произошло дальше, следующим образом: «“Уничтожить цель…!” Легко сказать. Но как? Снарядами? Я уже потратил 243 патрона. Протаранить его? Я всегда считал это дурным вкусом. Таран – последнее, к чему стоит прибегать. На всякий случай я развернулся и начал опускаться сверху на него. Затем мне в голову пришла идея. Я опустился ниже его на 2000 метров… форсажный режим. Приготовил запуск ракет и резко поднял нос. Успех! Он на крючке».
Были выпущены две ракеты, которые взорвались возле Boeing, причинив существенный ущерб, хотя в доказательство того, насколько безопасны коммерческие самолёты, пилоты смогли восстановить контроль над авиалайнером и даже на время сохранить ровный и стабильный полёт. Однако, в конце концов, они оказались в медленной спирали, что привело к крушению и гибели 269 человек на борту.
В результате этой трагедии президент Рональд Рейган заявил 16 сентября 1983 года, что система GPS, которая ранее предназначалась только для военного использования, теперь будет доступна для всех, причём первоначальная идея заключалась в многочисленных преимуществах безопасности, которые такая система предоставляла гражданской авиации, по сравнению с использованием доступных на тот момент навигационных инструментов.
Это подводит нас к тому, как именно работает система GPS в первую очередь. Она является удивительно сложной на некоторых уровнях, однако в действительности основы относительно просты для понимания.
Для начала рассмотрим, что происходит, когда вы стоите в неизвестном месте и спрашиваете кого-то, где вы находитесь. Этот человек отвечает просто: «Вы находитесь в 340 километрах от Сиэтла, штат Вашингтон».
Теперь вы можете нарисовать круг на карте с радиусом 340 километров от Сиэтла. Предполагая, что человек, предоставивший вам эту информацию, прав, вы знаете, что находитесь в пределах этой круговой линии.
Теперь, предположим, кто-то другой сказал вам, что вы находитесь в 240 километрах от Ванкувера (Канада). Теперь вы, наверное, начинаете понимать. Когда вы нарисуете второй круг на карте, вы поймёте, что он пересекается с первым в двух точках. Вы находитесь в одной из них.
Затем вы спрашиваете третьего человека, который говорит вам: «Вы находитесь в 800 километрах от Бойсе (штат Айдахо)». Вы рисуете третий круг, и теперь вы точно знаете, где вы находитесь в двумерном пространстве. Недалеко от Камлупса (Канада), оказывается.
Примерно по такому же принципу работает GPS, за исключением того, что в данном случае вам нужно мыслить в терминах 3D-сфер, а не 2D-кругов. Система сообщает вам точное расстояние от контрольной точки посредством передачи точного местоположения спутников на орбите и точного времени, когда была осуществлена эта передача. Это время синхронизируется между различными спутниками в группе GPS.
Затем, после получения данных, приёмник вычитает текущее известное время из предоставленного, чтобы определить время, которое ушло на то, чтобы сигнал был передан туда, где он находится, со спутников.
Объединяя это с известными местоположениями спутников и известной скоростью света, с которой распространяется радиосигнал, приёмник может затем обработать числа, чтобы определить с поразительной точностью своё местоположение, с учётом погрешностей ввиду таких вещей, как ионосфера, мешающая распространению сигнала, и прочих факторов реального мира.
Даже с такими потенциальными проблемами, однако, последнее поколение GPS-систем теоретически может определить ваше местоположение с точностью до фута (или около 30 сантиметров).
Однако, возможно, вы заметили кое-что. В то время как спутники GPS используют чрезвычайно точные и синхронизированные атомные часы, в GPS-системе вашего автомобиля их нет. Итак, каким же образом она точно определяет то, сколько времени нужно сигналу, чтобы дойти к ней от спутника?
В процессе просто задействуется четыре (вместо трёх) спутника, что позволяет приёмнику получить дополнительные данные, необходимые для того, чтобы решить уравнение и получить соответствующую пропущенную переменную времени. Короче говоря, есть только одна точка во времени, которая будет соответствовать краю всех четырёх сфер, пересекающихся в одной точке на Земле. Таким образом, как только переменные получены, приёмник может отрегулировать собственное время, чтобы достичь идеальной синхронизации с гораздо более точными атомными часами. В некотором смысле это делает GPS чем-то вроде 4D-системы: с её помощью вы можете узнать своё точное положение не только в пространстве, но и во времени.
Постоянно обновляя собственные внутренние часы таким образом, приёмник на Земле становится почти таким же точным, как атомные часы, и является хронометражным устройством, которое затем почти идеально синхронизируется с другими приёмниками по всему миру. Всё это практически бесплатно для конечных пользователей, потому что правительство США оплачивает дорогостоящие счета за поддержку системы.
Говоря об обслуживании, другая проблема, которую вы, возможно, заметили, заключается в том, что под влиянием различных факторов GPS-спутники могут постоянно сдвигаться с первоначальных орбит. Как решается эта проблема?
Специальные станции на Земле постоянно отслеживают точные орбиты различных GPS-спутников. Данные используются для хранения информации о статусе и местоположении спутников. Они регулярно передаются приёмникам, благодаря чему они знают точное положение спутников, в первую очередь.
Сами спутники также могут при необходимости корректировать свои орбиты. В процессе спутник помечается как «нездоровый», чтобы приёмники могли игнорировать его. Затем он перемещается на новое положение, орбита отслеживается, после чего информация обновляется, и спутник снова помечается как «здоровый».
Вот как примерно работает навигатор на высоком уровне. Как насчёт того, что мы сказали, что многие GPS-устройства могут потенциально перестать работать, если их не обновлять?
На рубеже веков произошло то, чего прежде никогда не случалось в мире – «генеральная репетиция ошибки Y2K». Видите ли, существует такое понятие, как «Номер Недели» – буквально количество недель, прошедших с начала эпохи, 6 января 1980 года. Вместе с этим Номером Недели отправляется количество секунд, прошедших с предыдущего субботнего вечера, что позволяет GPS-приёмнику вычислять точную дату.
Так в чём же проблема? Оказывается, каждые 1024 недели (примерно каждые 19 лет и 8 месяцев) с начала эпохи число откатывается до 0 из-за того, что эта целочисленная информация находится в 10-битном формате.
Таким образом, когда это происходит, любой GPS-приёмник, не учитывающий этот фактор, перестаёт функционировать правильно, хотя характер неисправной работы варьируется от поставщика к поставщику. Всё зависит от того, ка поставщик реализовал свою систему.
В некоторых случаях неисправность может быть связана с неправильным определением даты, что может привести к разным последствиям, начиная от неправильной выдачи местоположения и заканчивая полным сбоем системы.
Если у вас всё хорошо с математикой, то наверняка вы пришли к выводу, что данная проблема впервые возникла в августе 1999 года, всего через четыре года после того, как GPS-система стала полностью функциональной.
На тот момент, конечно же, GPS не был столь вездесущим и популярным, как сегодня. Согласно отчёту Управления телекоммуникаций Министерства торговли США, по состоянию на 1999-й год, во всём мире насчитывалось всего 10-15 миллионов GPS-приёмников. Сегодня число устройств, естественно, исчисляется миллиардами.
Очередной сброс Номера Недель пришёлся на 6-е апреля 2019 года. И, к счастью, большинство компаний, которые полагаются на GPS в плане критических систем, такие как авиакомпании, банковские учреждения, сотовые сети, электросети и прочие, заранее приняли необходимые меры для решения этой проблемы.
Тем не менее, сброс Номера Недели больше всего касается потребительского уровня, поскольку большинство людей вообще не знают о проблеме.
Если вы недавно обновили прошивку своего GPS-устройства или просто являетесь владельцем GPS-устройства, приобретённого пару лет назад, то всё нормально.
Однако если вы владеете GPS-устройством, которому несколько лет, то существует проблема, и вам определённо нужно перейти на сайт производителя и загрузить соответствующие обновления.
Если вы сейчас задаётесь вопросом, почему нельзя просто изменить спецификацию, чтобы перестать зависеть от 10-битного Номера Недели, то вы не первый, кто об этом думает. В соответствии с последними спецификациями интерфейса GPS, теперь используется 13-битный Номер Недели. Это значит, что в новейших устройствах, поддерживающих его, проблема не возникнет в течение 150 лет точно.
Бонусные факты:
• Вы когда-нибудь замечали, что ваш мобильный телефон, в отличие от других GPS-устройств, имеет тенденцию максимально быстро определять ваше местоположение, даже если он был выключен в течение долгого времени? Оказывается, мобильные телефоны используют технологию Assisted GPS, которая получает информацию не от орбитальных спутников, а от центрального сервера. Конечно, Assisted GPS не работает, если отсутствует сигнал сотовой связи.
• Непосредственно перед войной в Персидском заливе военные ухудшили сигнал GPS для гражданского использования, чтобы сохранить полную точность системы в качестве военного преимущества США. Однако в мае 2000 года президент Билл Клинтон отменил эту политику, и гражданский GPS стал в десять раз точнее за ночь.