Точность позиционирования – одна из ключевых характеристик навигатора в смартфоне. Чем она выше, тем корректнее отображаются координаты и высота над уровнем моря, определяется точка нахождения устройства, записываются треки и маршруты. Но очень часто точность, которая отображается в приложениях, имеет мало общего с реальностью. Особенно если речь идет о городских условиях, с плотной многоэтажной застройкой улиц и микрорайонов.
Читайте также: Почему мир разлюбил Силиконовую долину
Как работает GPS
Чтобы понять, почему идеальная точность навигации в городе – утопия, нужно понимать принцип работы навигационных спутниковых систем. В его основу положено вычисление расстояния от спутника до пользователя по времени прохождения сигнала. Сателлиты GPS (как и ГЛОНАСС, BeiDou) находятся в космосе, вращаясь вокруг Земли. Навигационная система «знает» точное положение каждого спутника в нужный момент времени и вычисляет координаты пользователя относительно этой точки.
Для вычисления расстояния спутники используют сигналы точного времени, посылаемые на Землю. Навигатор, принимая эти сигналы, регистрирует их, определяет длительность прохождения сигнала от сателлита по приемника, и на основе скорости света и радиоволны (она постоянна, около 300 тыс. км/с) вычисляет расстояние. Схожим образом работает, например, лазерный дальномер.
Зная расстояние к нескольким спутникам (для точной навигации надо минимум 3-4 сателлита), навигатор узнает расстояние до каждого из них. Сравнивая показатели каждого, а также зная его положение над поверхностью планеты, программа вычисляет, какой точке земной поверхности соответствуют эти величины.
Образно навигацию можно представить так: мы знаем, что до Владимира – 180 км, до Петербурга – 700 км, до Ростова – 1000 км, а до Калуги – 200 км. Единственным городом, для которого такие расстояния верны, является Москва, значит мы именно в ней.
Для GPS в роли городов выступают спутники, а расстояние измеряется не до километра, а намного точнее. За одну миллисекунду радиосигнал проходит около 300 000 метров, за микросекунду – 300 метров, за наносекунду – 30 сантиметров. Зная точное время до нано- или пикосекунд, можно вычислять расстояние с сантиметровой погрешностью. Но лишь в теории, или со специальным навигатором, а не смартфоном.
Почему на практике точность далека от идеала
На бумаге точность GPS выглядит прекрасно. Зная точное время даже до наносекунды, можно добиваться погрешности позиционирования в 30 см, что более чем достаточно для смартфона. Но на практике целый ряд факторов ухудшает работу навигатора в городе, и не только там.
Читайте также: Что такое Quad Bayer и TetraCell в камере: особенности, плюсы и минусы технологии
Точность хода часов
Первая проблема навигации – точность хода часов. Спутники оснащаются высокоточными атомными часами, работающими практически без погрешности. А вот смартфон оборудован обычным RTC на основе кварцевого генератора. Его точность тоже очень велика с точки зрения человека (никаким Rolex, Breguet или Tissot такая и не снилась), но для GPS даже пикосекунды важны. Из-за этого часы приемника нужно постоянно синхронизировать со спутником, что при дефиците сателлитов (минимальные 3 или 4) увеличивает погрешность.
Атмосферные условия
Скорость света постоянна в вакууме или однородной среде, но земная атмосфера не является ни тем, ни другим. А даже незначительное замедление сигнала при прохождении ионосферы, облаков, листвы деревьев и т. д., способно вносить серьезные искажения. Ни навигатор, ни спутник сами по себе не знают об этом, давая в итоге неправильное расстояние.
Для коррекции искажений и ошибок применяются различные технологии, такие как передача альманаха, внесение поправок на разнородность атмосферы, алгоритмы коррекции, использование дополнительных наземных станций позиционирования. Но полный комплекс этих мер доступен лишь профессиональному (военному, авиационному, геодезическому и т. д.) навигационному оборудованию. А в смартфонах и карманных навигаторах используется менее точные аппаратное и программное обеспечение.
Отражения и искажения
Вещание навигационных спутников ведется на волнах дециметрового диапазона, на частотах в районе 1-2 ГГц (1176, 1227 и 1575 МГц для GPS). Эти радиоволны свободно проникают через слои атмосферы, но имеют свойство отражаться от некоторых объектов, таких как земная поверхность, стены зданий, большие рукотворные конструкции.
Из-за отражений в условиях городской застройки (а также холмистой местности и т. д.) навигатор может принимать только отраженный сигнал. Сам он этого, естественно, не знает, и принимает его за правильный. Возможна и ситуация, когда принимается два сигнала: и правильный, и отраженный.
Приняв сигнал, отразившийся от стоящей в 100 метрах от вас многоэтажки, навигатор «думает», что вы находитесь не там, где на самом деле, а в 100 метрах по другую сторону дома. Если это противоречит данным, полученным по другим спутникам (а оно противоречит) – система указывает приблизительную точность, плюс-минус 200 метров.
Чтобы нивелировать роль отражений, помех и других искажений, в смартфонах используются различные вспомогательные инструменты, вроде A-GPS, данных цифрового компаса и акселерометра. Они учитывают положение пользователя относительно базовых станций операторов, общественных сетей Wi-Fi, скорости его движения, сравнивают позицию с данными карты.
К примеру, если навигационная программа видит, что приемник движется со скоростью около 100 км/ч – она «понимает», что пешком это невозможно, а значит, он на машине. В итоге навигатор корректирует положение, перенося точку на ближайшую дорогу. В итоге трек будет записан корректно, даже если по данным спутников (из-за помех и искажений) пользователь находится в поле, в 100 метрах от трассы.
Читайте также: Смартфон без разъемов: насколько это перспективно?
Сложности с определением местоположения в сложных условиях, влияние задержек сигнала и его отражений часто весьма велики. Это и приводит к тому, что сама система GPS никак не может дать точности, близкой к идеалу. Как следствие, не стоит верить данным программ, сообщающих о погрешности всего в 1, 5 или 10 метров. Это искусственное число, полученное не прямо по GPS, а за счет вспомогательных данных, и оно не всегда соответствует действительности. Даже 50 метров для мегаполиса является хорошим показателем, а меньшей погрешности достичь нелегко.
Воздействие помех делает абсолютно бессмысленными попытки определить местоположение, находясь в здании в центре микрорайона, или в тени многоэтажки. Многочисленные отражения от стен, земли, окружающих объектов, не позволяют добиться вменяемой точности средствами GPS или ГЛОНАСС. Поэтому, если ваш смартфон в таких условиях показывает большую погрешность, или не хочет корректно записывать трек утренней пробежки – это вовсе не значит, что в нем установлен плохой навигационный модуль.