GPS помогает телефону определить своё положение по радиосигналам спутников. Каждый сигнал позволяет узнать, откуда и когда он был отправлен. Приёмник сравнивает время отправки и приёма, оценивает расстояния до нескольких спутников и вычисляет, где находится. В обычном самостоятельном расчёте нужны как минимум четыре спутника: вместе с положением приходится находить поправку к неточным часам телефона.
Евгений Буянов - автор статьи, основатель проекта, преподаватель МГУ имени М.В. Ломоносова.
Точка на карте часто появляется за несколько секунд, а внутри происходит измерение пути длиной в тысячи километров. После этой статьи будет понятно, зачем телефону несколько спутников, почему интернет и навигация могут работать по отдельности и отчего точка иногда прыгает на соседнюю улицу. Начать можно с листа бумаги: принцип поиска места по расстояниям виден даже без космической техники.
Представьте: вы вышли из метро, открыли карту и ждёте, когда появится точка. Телефон должен решить несколько разных задач. Получить сведения о своём положении, показать нужный участок карты и, если вы задали адрес, построить дорогу к нему. Эти действия кажутся одним процессом, потому что помещаются на одном экране.
Спутниковый приёмник занимается положением. В результате получаются координаты: числа, по которым можно отметить место на Земле. Широта показывает, насколько точка севернее или южнее экватора, долгота задаёт направление к востоку или западу от начального меридиана. Для полноценного положения в пространстве нужна ещё высота.
Карта связывает эти числа с улицей, двором и домом. А поиск маршрута выбирает проезды и повороты с учётом доступных дорог. Ошибочная метка дома относится к данным карты. Неверная точка вашего текущего положения относится к определению места. На экране эти ошибки могут выглядеть похоже, но исправлять их придётся по-разному.
В телефоне положение часто уточняется ещё и по сетям Wi-Fi, сотовым вышкам и датчикам движения. Поэтому точка может появиться до устойчивого спутникового расчёта. Надпись «местоположение» в приложении не означает, что каждое её обновление сделано исключительно по GPS.
Спутники передают время, телефон считает расстояние
GPS, Global Positioning System, буквально означает глобальную систему определения положения. Это американская спутниковая система. Её спутники непрерывно передают радиосигналы, которые подходящие приёмники могут услышать на Земле.
Для этого спутнику не нужно знать, кто стоит на улице. Навигационный сигнал идёт от спутника к приёмнику. Обычный телефон не отправляет ему запрос «где я?» и не ждёт персонального ответа. Одну передачу могут принимать множество устройств одновременно.
В сигнале есть заранее известный приёмнику рисунок радиокода. Сравнивая принятую последовательность со своей копией, он определяет её сдвиг во времени, то есть задержку. В навигационных данных передаются сведения об орбите и часах спутника. Зная орбиту и время, программа рассчитывает, где спутник находился при передаче. Он движется, поэтому подставлять его положение «где-нибудь над нами сейчас» было бы недостаточно.
В радиосигнале важна не громкость, а время распространения. В свободном пространстве он идёт со скоростью света: примерно 300 тысяч километров в секунду. Если известны скорость и время в пути, можно найти пройденное расстояние, как в обычной задаче про автомобиль. Только вместо часов здесь доли секунды.
Допустим, сигнал шёл 0,070 секунды, то есть 70 миллисекунд. Это условный пример, в котором часы уже согласованы, а дополнительные задержки пока не учитываются. Умножаем 299 792,458 км/с на 0,070 с и получаем примерно 20 985 км. Это длина пути от спутника к приёмнику, а не высота спутника над всей Землёй: к аппарату сбоку путь идёт наклонно.
Проверить исходное значение можно в конвертере скорости света: одна скорость света соответствует 299 792,458 км/с. Если в том же учебном расчёте время увеличить до 0,080 секунды, получится около 23 983 км. Разница всего в сотую секунды добавляет почти три тысячи километров. Теперь понятно, почему бытовые часы для такой задачи грубоваты.
Как найти точку по нескольким расстояниям
Оставим спутники на минуту и возьмём плоскую площадку. На ней стоят три известные метки: А, Б и В. Координаты меток уже нанесены на план. Вы знаете расстояния от своего места до каждой из них, но само место ещё не отмечено.
Начните с метки А. Если до неё ровно пять метров, вы можете находиться в любой точке окружности радиусом пять метров вокруг А. Одного измерения мало: оно оставляет целый круг возможностей.
Теперь известно расстояние до Б. Начертите вокруг неё вторую окружность нужного радиуса. Если окружности пересекаются в двух местах, остаются две возможные точки. Обе удовлетворяют двум измерениям: из каждой до А и Б ровно столько, сколько требуется.
Третья метка позволяет выбрать. Посмотрите, какая из двух точек находится на нужном расстоянии от В. Если расстановка удачная и измерения точные, останется одна. Это и есть поиск места по расстояниям. Его называют трилатерацией; измерять углы для нашего примера не потребовалось.
У опыта есть условие: метки не должны выстроиться так, что обе возможные точки окажутся от них на одинаковых расстояниях. Если поставить все ориентиры на одну прямую, симметричные места по разные стороны от неё различить труднее. Расположение ориентиров важно не меньше их количества.
В пространстве вместо окружности получается сфера: все точки на одном расстоянии от спутника. Приёмник ищет положение, которое согласуется с несколькими такими измерениями. Спутники не обязательно висят прямо над человеком, а Земля не плоская. Рисунок с окружностями объясняет принцип, но не является чертежом реальных орбит.
Плоская учебная модель с известными расстояниями. Точки 1 и 2 подходят по расстояниям до А и Б. Только точка 2 лежит ещё и на пунктирной окружности с центром В. В реальном GPS используются пространственные измерения и поправка часов.
Зачем нужен четвёртый спутник
В примере с площадкой мы считали расстояния известными. В GPS их сначала получают из времени, и здесь появляется ещё одна неизвестная величина. Часы в телефоне могут спешить или отставать относительно времени системы.
Представьте, что часы приёмника спешат на одну микросекунду, то есть на миллионную долю секунды. Он запишет приём немного позже, чем следует, и рассчитает слишком долгий путь. За эту микросекунду свет проходит примерно 300 метров. Ошибка времени прибавит почти 300 метров к вычисленной дальности каждого принятого сигнала.
Поэтому такие первоначальные дальности называют псевдодальностями. Слово звучит подозрительно, но означает понятную вещь: перед нами расстояния с общей добавкой от часов и с другими ошибками измерения. Их ещё нужно согласовать.
Обычный самостоятельный трёхмерный расчёт ищет четыре неизвестных: три числа для положения в пространстве и поправку часов приёмника. Измерения от четырёх подходящих спутников позволяют решать их вместе. Четвёртый спутник нужен не просто «для высоты»: положение и время уточняются совместно.
На деле приёмник обычно использует больше измерений, если они доступны. Из-за ошибок поверхности возможных положений не сходятся идеально, как окружности на школьном рисунке. Программа ищет решение, которое лучше согласуется со всем набором, учитывает качество сигналов и применяет поправки.
Здесь важно не превратить пример с микросекундой в готовый прогноз ошибки. Триста метров относятся к одной измеренной дальности при указанном смещении часов. Сдвиг итоговой точки зависит от расположения спутников, остальных ошибок и способа расчёта. Он не обязан составлять те же триста метров.
Почему обычный телефон обходится без атомных часов
На спутниках стоят высокоточные атомные часы. Наземные станции следят за их работой и орбитами, а нужные поправки передаются в навигационных данных. Телефону не приходится нести столь же сложный эталон времени: он оценивает собственную временную ошибку по нескольким сигналам.
Как из нескольких измерений узнать поправку, видно на упрощённом примере. Между двумя маяками ровно 100 метров, а человек стоит где-то на прямом отрезке между ними. Значит, два настоящих расстояния от него до маяков в сумме должны дать 100 метров. Допустим, измерение по сигналам показало 70 и 50 метров: получилось 120 вместо 100. Считаем, что единственная ошибка здесь вызвана часами и добавила одинаковую длину к обоим измерениям.
Лишние 20 метров пришлись на две одинаковые добавки. Убираем по 10 метров и получаем 60 и 40. Теперь известны и место человека, и поправка к измеренным дальностям. Если двигать только точку человека, сохраняя неверные 70 и 50, противоречие не исчезнет: человек между маяками не может быть в сумме дальше, чем сами маяки друг от друга.
В этом опыте неизвестны одна координата вдоль отрезка и одна общая добавка. В реальном GPS положение трёхмерное, геометрия сложнее и есть другие ошибки, поэтому такого сложения недостаточно. Но принцип тот же: совместно найти место и общую поправку, при которых измерения лучше всего согласуются.
Это не значит, что задержки исчезли. Сигналы проходят через атмосферу, а часы и орбиты известны с конечной точностью. Часть влияний описывается моделями и поправками. Более сложные приёмники используют дополнительные частоты и методы, чтобы уменьшать некоторые ошибки.
Даже эффекты теории относительности для спутникового времени существенны и учитываются при работе системы. Для понимания телефона не требуется решать уравнения Эйнштейна. Важнее общий вывод: измерение настолько чувствительно ко времени, что систему нельзя собрать из просто хороших наручных часов и карты.
Может ли GPS работать без интернета
Само спутниковое определение положения не требует мобильного интернета. Приёмник может получить сигналы непосредственно со спутников и вычислить координаты там, где сотового покрытия нет. Но что приложение сможет сделать с этими координатами, зависит от сохранённых данных и своих функций.
Если карта заранее загружена, точка может двигаться по ней без связи. Если нужного участка в памяти нет, приложение может показать пустой фон. Координаты при этом могут определяться исправно. Аналогично поиск адреса или перестроение маршрута иногда требуют сети, хотя спутниковый приём продолжается.
Интернет помогает и самому запуску навигации. По сети устройство может быстрее получить вспомогательные сведения о спутниках и времени, которые облегчают поиск сигналов. Такой подход называют assisted GPS, или A-GPS: навигация с дополнительной помощью. После долгого перерыва без этих сведений первый расчёт иногда занимает больше времени.
Я бы проверял готовность к поездке ещё дома: загрузить нужную область, убедиться, что приложение умеет работать с ней автономно, и попробовать построить маршрут без доступа к интернету, отключив мобильные данные и Wi-Fi. При этом на устройстве должна оставаться разрешённой геолокация. Переключатели режима полёта и поведения отдельных датчиков различаются, поэтому один этот режим не служит универсальной проверкой GPS.
И ещё одно разделение: вычислить своё место и сообщить его другому человеку являются разными задачами. Для отправки координат нужна связь, например интернет или SMS. Наличие точки на собственной офлайн-карте само по себе не отправляет её родственнику.
GPS, ГЛОНАСС и Galileo: что принимает смартфон
Словом GPS часто называют любую спутниковую навигацию. Строго говоря, кроме GPS существуют другие системы, в том числе российская ГЛОНАСС, европейская Galileo и китайская BeiDou. Общее название таких систем сокращают до GNSS.
Многие приёмники умеют работать сразу с несколькими системами. Это даёт больше доступных спутников, что особенно полезно при закрытой части неба. Но набор поддерживаемых систем и частот зависит от устройства. Одна надпись «GPS» в настройках не описывает все его возможности.
Больше спутников не означает автоматическую точность до сантиметра. Важны качество приёмника, антенна, условия и методы обработки. Специализированное оборудование с поправками может решать задачи, на которые обычный телефон не рассчитан. Ставить межевой знак по точке в приложении карт было бы плохим продолжением этой статьи.
Для бытовой навигации полезнее понять, что мешает приёму именно сейчас. Название системы редко объясняет, почему один и тот же телефон хорошо работает на площади и плохо во дворе между высокими стенами.
Почему точка прыгает между домами
На открытом месте сигналы приходят с разных направлений. У высокого здания часть неба закрыта. Некоторые прямые сигналы ослабевают или исчезают, а другие доходят после отражения от стены. Отражённый путь длиннее прямого, и измерение времени может дать неверную дальность. Эти причины ошибок описаны на официальном ресурсе GPS.gov.
Представьте доставку сообщения двумя дорогами. По прямой оно дошло бы быстрее, а после обхода квартала опоздало. Если судить о расстоянии только по опозданию и не знать об обходе, отправитель покажется дальше. Для радиосигнала роль обхода играет отражение. В реальном приёмнике несколько путей ещё и накладываются друг на друга.
Здесь помогает выход на место с лучшим обзором неба. Не нужно вставать посреди дороги: достаточно безопасного открытого участка подальше от стены. На нём телефону проще получить полезные сигналы с разных направлений. Несколько секунд ожидания иногда дают более устойчивое решение, но не устраняют любую помеху.
В тоннеле или глубоко внутри здания спутниковые сигналы могут быть недоступны. Навигатор при этом иногда продолжает двигать значок по ожидаемой дороге, используя предыдущую скорость, датчики и карту. Плавное движение на экране не доказывает, что свежие спутниковые измерения всё ещё есть.
Помехи радиоприёму или ложные навигационные сигналы тоже могут нарушать работу. По одному скриншоту с уехавшей точкой нельзя уверенно назвать причину. Полезнее сравнить несколько безопасных мест, условия обзора и работу приложения, чем сразу объявлять неисправным телефон.
Как проверить, что именно сбоит
Для простого наблюдения выберите знакомое открытое место. Включите геолокацию и откройте карту. Постойте спокойно, посмотрите на положение точки, затем пройдите короткий участок и остановитесь снова. Не делайте этот опыт за рулём и не выходите ради сигнала на проезжую часть.
Обратите внимание на три разные вещи. Есть ли сама карта? Соответствует ли точка вашему реальному месту? Следует ли линия маршрута существующим проходам? Если карта не загрузилась, проблема может быть в данных. Если карта верная, но точка оказалась в другом дворе, вопрос уже к определению положения. Если точка стоит правильно, а маршрут ведёт через закрытые ворота, дело в сведениях о проходе.
Теперь сравните приём у высокой стены и на открытом участке. Такой опыт показывает влияние условий на конкретное устройство, но не измеряет паспортную точность: для этого нужна независимо известная контрольная точка и продуманная процедура. Также нельзя по одной прогулке приписать результат только GPS, если телефон сочетает несколько способов определения места.
Если интересует уже не место, а записанный путь, пригодится отдельный разбор, почему GPS и одометр показывают разный пробег. Положение, скорость и сумма пройденных отрезков связаны, но ошибки в них проявляются по-разному. Сравнение GPS со спидометром отвечает на следующий вопрос, когда координаты уже превратились в показание скорости.
В следующий раз, когда точка окажется не там, сначала выясните, что не сходится: ваше положение, адресная метка или предложенный проход. Такой вопрос полезнее десятого перезапуска одного и того же приложения.
Есть что добавить?
Напишите своё мнение, комментарий или предложение.