BLUEPRINT studioСтатьи

GPS и Эйнштейн: почему навигатор не врёт на километры

Спутники GPS не знают о вас ничего, телефон только слушает их сигнал. А чтобы этот сигнал превратился в точку на карте, инженерам пришлось встроить в часы спутников поправку из теории относительности.

GPS и Эйнштейн: почему навигатор не врёт на километры

Телефон слушает, а не докладывает

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

Так сделано не ради приватности, а ради масштаба. GPS работает как пассивная система: приёмнику нужно только принимать, поэтому пользователей может быть сколько угодно. Если бы каждый телефон отвечал спутнику, никакого радиоканала на всех бы не хватило.

Спутник GPS физически не может узнать, что вы его слушаете. Он вещает в одну сторону, как радиовышка.

Теперь честная часть. Ваше местоположение всё равно может уходить наружу, просто другим путём. Приложение, которому вы дали доступ к геолокации, получает готовые координаты от операционной системы и дальше вправе отправить их на свой сервер. Сотовая сеть знает, к какой вышке вы подключены.

Быстрый старт навигации (A-GPS) и определение по Wi-Fi устроены совсем не так, как приём со спутника. Телефон отправляет на сервер список видимых вышек и точек доступа, а получает обратно оценку места. То есть «за мной следят спутники» неправда, а «моё местоположение может стать чьими-то данными» правда. Смотреть надо на разрешения приложений, а не на небо.

Расстояние до спутника считают по времени

Спутник не измеряет расстояние до вас. Он сообщает время отправки сигнала, телефон смотрит, когда сигнал пришёл, и умножает задержку на скорость света. За одну микросекунду, то есть за миллионную долю секунды, свет проходит примерно 300 метров.

Отсюда вся строгость к часам. Ошиблись часы спутника на микросекунду, и расстояние до него посчитается с промахом в 300 метров. На десять микросекунд ошибка вырастет до трёх километров. Математика в приёмнике тут не спасёт: он получил неверное число и честно на нём посчитал.

Поэтому на спутниках стоят атомные часы, а в телефоне обычный кварцевый генератор, который на этом фоне выглядит как кухонный таймер рядом с эталоном.

Зачем нужны минимум четыре спутника

Кажется, что хватит трёх: три расстояния, и точка в пространстве найдена. Так и было бы, если бы часы телефона шли в такт с атомными. Но они не идут, и величина их сдвига становится четвёртой неизвестной.

Итого приёмнику надо найти четыре числа сразу:

  • широту,
  • долготу,
  • высоту,
  • собственную ошибку часов.

Каждый спутник даёт одно уравнение, а четыре неизвестных требуют минимум четырёх спутников. Приятный побочный эффект: решая эту задачу, приёмник заодно вычисляет очень точное время. На этом держится синхронизация в сотовых сетях, энергетике и банках, где GPS ценят вовсе не за координаты.

Две поправки Эйнштейна тянут часы в разные стороны

Спутники GPS летают на высоте около 20 200 километров и проходят орбиту со скоростью примерно 3,9 километра в секунду. На такой высоте и на такой скорости часы ведут себя не так, как на земле, и сразу по двум причинам.

Первая причина в скорости. По специальной теории относительности движущиеся часы идут медленнее. Для орбиты GPS отставание составляет около 7 микросекунд в сутки.

Вторая причина в гравитации. По общей теории относительности часы идут тем быстрее, чем слабее гравитация. В двадцати тысячах километров от Земли она заметно слабее, и часы убегают вперёд примерно на 45 микросекунд в сутки.

Эффекты вычитаются, но друг друга не гасят: 45 минус 7 даёт около 38 микросекунд в сутки в пользу орбиты. Звучит как мелочь. Но за 38 микросекунд свет пролетает больше 11 километров, и без поправки ошибка в координатах нарастала бы примерно на десять километров в день. Причём копиться она начинает сразу: по расчёту астронома Ричарда Погге из Университета штата Огайо, уже через две минуты посчитанные координаты перестали бы годиться для навигации.

Часы спутника замедляют ещё на заводе

Красота решения в том, что основную поправку никто не пересчитывает на лету. Часы спутника настраивают до запуска: вместо опорной частоты 10,23 МГц им задают 10,22999999543 МГц. Чуть медленнее, ровно настолько, чтобы на орбите, с учётом скорости и гравитации, для наблюдателя на Земле они тикали в нужном ритме. Мелкие переменные поправки, которые возникают из-за того, что орбита не идеально круглая, досчитывает уже приёмник.

Сомнения у инженеров были серьёзные. К середине семидесятых спорили и о величине поправки, и о её знаке, а кто-то вовсе не верил, что эффект придётся учитывать. Поэтому в спутник NTS-2, запущенный 23 июня 1977 года с первыми цезиевыми атомными часами на борту, синтезатор частоты поставили, но оставили выключенным. Около двадцати суток часы шли как есть, а их уход измеряли. Получили 442,5 триллионных доли против предсказанных теорией 446,5, то есть совпадение лучше процента. После этого синтезатор включили, и спор закончился.

Те же релятивистские поправки заложены сегодня в ГЛОНАСС и Galileo. Различается техника: где-то частоту подстраивают до запуска, где-то поправку считает приёмник по данным из навигационного сообщения. Работа с несколькими системами сразу выручает там, где видно мало спутников, но физику времени она не отменяет.

Что с этим делать бизнесу

Если у вас доставка, выездные мастера, курьеры или карта в приложении, из этой физики следуют довольно приземлённые вещи.

  1. Не обещайте точность до метра. Под открытым небом смартфон попадает в круг радиусом около 5 метров. Это честный ориентир и для ожиданий клиента, и для текста в интерфейсе.
  2. Заложите запас в городе. Между высокими домами сигнал часто приходит отражённым от стен, путь удлиняется, и промах доходит до десятков метров. Геозона «клиент прибыл» радиусом 20 метров в плотной застройке будет срабатывать то слишком рано, то вообще никогда.
  3. Не стройте жёсткую логику на одной точке. Штраф курьеру за «был не по адресу» по единственному замеру плохая идея. Смотрите на серию точек и на показатель точности, который система сообщает вместе с координатами.
  4. Подтверждение на месте надёжнее геозоны. Если для вас важен сам факт «курьер доехал до клиента», скан кода на месте или подпись в приложении дают больше, чем одна координата. Сделать такой код можно бесплатно в нашем генераторе QR.
  5. Помните про помещения. В торговом центре или на подземной парковке спутников не видно, телефон переключается на вышки и Wi-Fi, и точность там совсем другая. Приложение должно вести себя разумно, а не рисовать курьера в соседнем квартале.
  6. Объясняйте, зачем вам геолокация. Google советует просить доступ в тот момент, когда человек пользуется нужной функцией, и показывать выгоду словами. Apple без внятного текста с причиной просто не пропустит приложение в App Store.

Чего лучше избегать: доступа к геолокации в фоне, когда задача решается разрешением «во время использования». Такие приложения Google проверяет отдельно и требует доказать, что фоновая геолокация критична для главной функции.

Если карта в приложении не для красоты

Мы в BLUEPRINT делаем приложения, сайты и ботов, где карта рабочий инструмент: маршруты курьеров, геозоны, трекинг заказов. Работаем по договору. Если у вас такая задача, приходите обсудить проект. Разберём, какая точность реально нужна вашему процессу и во что обойдётся её получить.

Источники

Обсудим вашу задачу

Расскажите, что нужно сделать, — предложим решение, этапы и сроки. Если задача решается проще и дешевле, скажем об этом прямо.

Читайте ещё

ТехнологииНаука Почему интернет между континентами идёт по дну океана Данные между материками едут не через космос, а по кабелю толщиной с садовый шланг, который лежит на дне океана. Разберём, как он устроен, кто его рвёт и почему из-за этого ваш сайт может отвечать медленнее. Читать · 6 минут QR-кодыТехнологии Почему порванный QR-код всё равно читается телефоном QR-код можно надорвать, испачкать и закрыть логотипом, а телефон всё равно откроет ссылку. Разбираем, за счёт чего это работает и как напечатать код, который сканируется с первого раза. Читать · 7 минут ТехнологииСайты Дискета, катушки и трубка: музей технологий в телефоне Разбираем значки, которые пережили сами устройства: дискету, катушки магнитофона, телефонную трубку. И заодно показываем, какие устаревшие решения на сайтах и в приложениях сегодня стоят между вами и заявкой. Читать · 7 минут