как работает gps и двухчастотный gps на смартфонах

Как работает навигация на смартфоне и что такое двухчастотный GPS

Оценка этой статьи по мнению читателей:
5
(25)

Эта статья должна была стать ответом на один из самых распространенных вопросов касательно новых смартфонов Xiaomi с их загадочной поддержкой двойного или двухчастотного (L1+L5) GPS. Но в процессе исследования вместо ясных ответов стали появляться лишь новые вопросы.

Как оказалось, многие производители также устанавливают на свои смартфоны самые современные GPS-приемники, способные в теории определять местоположение пользователя с точностью до 30 сантиметров. Однако эта возможность не только не афишируется, но даже скрывается!

Что же такое двухчастотный (двойной) GPS на смартфонах от Xiaomi и других брендов, почему эти смартфоны работают с точностью обычных смартфонов, как вообще работает GPS и что влияет на точность позиционирования — обо всем этом мы и поговорим дальше.

Как и все наши статьи из серии «Как это работает?», текущий материал будет написан максимально простым языком с рядом упрощений, чтобы даже самый неподготовленный читатель смог разобраться в теме.

Как работает GPS на любом смартфоне?

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

Естественно, делает он это благодаря сигналу от спутников, летающих в космосе на высоте примерно в 20,000 км от земли. Чтобы лучше осознать, где именно они находятся, посмотрите следующую иллюстрацию:

расстояние от земли до GPS-спутников и луны

GPS-модуль в смартфоне — это приемник, не способный передавать сигналы. Другими словами, с помощью GPS-модуля смартфон даже теоретически не может секретно отправлять ваши координаты в Google или другие заинтересованные организации. Делает он это через интернет.

Но каким образом это маленькое устройство может определить, где оно сейчас находится, только принимая радиосигнал?

Давайте рассмотрим простой пример. Представьте, что вам нужно определить координаты человека, зная только одну единственную информацию — он находится в 200 км от радиовышки А:

GPS-локация по одному сигналу

Это невыполнимая задача! Фактически, человек может быть где угодно в радиусе 200 км от вышки. Да, мы точно знаем, что он не дальше и не ближе, но от этого не легче, ведь количество вариантов очень большое. Мы можем просто начертить круг и наш человек может оказаться в любой точке этой окружности:

GPS-локация по одному сигналу

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

GPS-локация по двум сигналам

Если мы возьмем любую другую точку, кроме этих двух, она не будет отвечать главному требованию — чтобы человек одновременно находился в 200 км от радиовышки А и в 145 км от радиовышки Б.

Что же нам остается сделать, чтобы со 100%-ной точностью указать местоположение? В принципе, ничего! Вспомним, что речь идет о GPS-навигации и вместо радиовышек у нас GPS-спутники в космосе. И теперь задачу можно считать решенной. Дело в том, что только одна из этих двух точек пересечения имеет смысл, так как вторая будет находиться в неправдоподобном месте (высоко в космосе):

GPS-навигация по двум сигналам в космосе
Второе пересечение находится гораздо выше уровня земли

Просто мы рассматриваем двухмерный пример и в нем есть только 2 координаты: X (влево-право) и Y (вверх-вниз). Когда мы узнали координаты двух пересечений, у одного из них координата Y (вверх-вниз) оказалась слишком высокой, поэтому с уверенностью выбираем второе пересечение и рисуем на нашей двухмерной карте точную позицию человека.

Но так как мы живем в трехмерном мире, добавляется третья неизвестная координата Z (вперед-назад). Поэтому, нам нужно не два спутника, а уже три. Однако принцип остается тот же, только пересекаться будут 3 сферы, а не 2 круга. В итоге, такое пересечение 3 сфер также приведет нас только к двум точкам, одна из которых будет находиться в космосе.

Расстояние от смартфона до GPS-спутника

Только что мы рассмотрели упрощенную модель того, как смартфон определяет свое местоположение по 3 GPS-спутникам, зная расстояние до каждого из них. Вот только есть одна проблема: откуда смартфон знает расстояние до каждого спутника в любой точке мира? Ведь он лишь принимает сигнал, но откуда ему знать, на каком расстоянии находится тот или иной спутник?

В теории, узнать расстояние от смартфона до спутника — это задачка для детей 5 класса. Помните этот «автомобиль, который выехал из точки А в точку Б и двигался 2 часа…»? Если мы знаем скорость автомобиля и время в пути, тогда просто умножаем одно на другое и получаем расстояние: 100 км/час * 2 часа = 200 км.

В нашем случае, в качестве «автомобиля» выступает электромагнитная волна, излучаемая спутником и «перевозящая» определенную информацию. Точка А — это GPS-спутник, точка Б — смартфон. Скорость волны известна, ведь радиоволны распространяются со скоростью света или ~300,000 км/c:

GPS-сигнал со скоростью света

Получается, чтобы «нарисовать» окружности, как в рассмотренных примерах, нужно определить расстояние до нескольких спутников. А для этого мы умножаем скорость света на время, за которое сигнал дошел до смартфона и готово!

Но теперь появляется еще одна проблема — откуда мы можем знать, сколько времени летел сигнал от спутника до смартфона? Мы ведь точно знаем только скорость света, а расстояние и время — нет.

Предположим, что GPS-спутник непосредственно в сам сигнал записывает время, когда он был послан (как известно, с помощью радиоволн можно переносить любую информацию). Теперь принимаем на смартфоне этот сигнал и смотрим текущее время. По идее, оно должно немножко отличаться от закодированного времени. А эта разница и будет временем полета. То есть, если сигнал был отправлен в 12:00:00, а получен в 12:00:05, значит он летел 5 секунд.

И когда, казалось бы, все вопросы решены и осталось подставить числа в уравнение, появляется новая «неразрешимая» проблема — с чего мы взяли, что часы на смартфоне и часы на GPS-спутнике работают синхронно (всегда показывают идентичное время до микросекунд)?

Ведь если часы на смартфоне отстают или спешат от часов на спутнике всего на 1 секунду, тогда с учетом сумасшедшей скорости сигнала, наше местоположение будет определяться с погрешностью в ~300 тысяч километров. Другими словами, с такой погрешностью мы можем оказаться либо возле Эйфелевой башни, либо на луне.

разница в 1 секунду с GPS-сигналом

Что касается часов GPS-спутника, здесь проблем быть не должно, так как на спутнике используются самые точные в мире атомные часы, да еще и несколько штук сразу! Если быть более конкретным, точность таких часов составляет примерно +/- 1 секунда в 300 миллионов лет.

Минутка занимательной физики или причем здесь Эйнштейн?

Единственная проблема — такие часы идут не совсем «точно» по отношению к нам, людям на земле. Дело в том, что GPS-спутники летят по орбитам земли с огромной скоростью — около 14 тыс. км/час и за сутки облетают землю дважды. Согласно специальной теории относительности Эйнштейна, время является относительной величиной и оно замедляется при такой скорости. Соответственно, наши суперточные часы «отстают» на 7 микросекунд в сутки по сравнению с тем, как если бы они шли на земле.

Но еще есть и общая теория относительности Эйнштейна, согласно которой, чем слабее гравитация, тем быстрее идет время. А так как спутники находятся достаточно далеко от земли (то есть, гравитация намного слабее), то и время там идет на целых 45 микросекунд быстрее!

Если сложить эти неточности, получится, что атомные часы спешат на 38 микросекунд в сутки. Казалось бы, пустяки! Но с учетом скорости света, при такой неточности накапливалась бы погрешность навигации в +11 километров каждый день!

Решили эту проблему очень просто. Атомные часы на земле настроили так, чтобы они отставали на 38 микросекунд. И когда такие «немножко сломанные» часы отправятся на орбиту и наберут нужную скорость, то снова начнут спешить на те самые 38 микросекунд, исправив отставание.

Нам не нужно синхронизировать часы смартфона по GPS

Так что же делать со смартфоном? Использовать атомные часы — слишком дорогое удовольствие (цены на эти устройства начинаются от $50 тысяч), да и громоздкое очень.

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

Чтобы было проще понять, как дополнительный спутник решает эту проблему, вернемся в наш двухмерный пример с двумя спутниками. Для решения проблемы синхронизации часов, добавим третий спутник (его сигнал изображен красным цветом). И теперь посмотрим, как совпали все 3 сигнала в одной точке. Только давайте вместо расстояния запишем время, за которое долетает сигнал (в реальности, конечно же, это время гораздо короче):

третий GPS-спутник для корректировки времени

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

Но что будет, если часы на смартфоне спешат на 1 секунду относительно атомных часов на GPS-спутниках и даже не догадываются об этом? Тогда вместо трех, четырех и двух секунд мы получим 4, 5 и 3 секунды соответственно. В этом случае все круги уже не пересекутся в одной точке (светлым цветом показаны предыдущие правильные расстояния):

как влияет время на точность GPS-сигнала

Как видим, в красной точке пересеклись только две окружности, а третий сигнал ушел куда-то в сторону. Все из-за того, что время на смартфоне расходится на секунду со временем на спутниках. Соответственно, все 3 расстояния до спутников высчитаны с ошибкой. Такие неточные расстояния называются псевдодальностями.

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

РЕКЛАМА

Значит, проблема с часами — они идут на смартфоне не синхронно со спутниками. Дело осталось за малым — откорректировать время. К примеру, если мы прибавим ко всем измерениям еще по 1 секунде — ошибка лишь усугубится, то есть, третья окружность еще сильнее отдалится от пересечения двух других. Значит, нужно убрать по 1 секунде. Убираем и теперь всё сошлось идеально. Вот теперь смартфон знает точное время на спутниках!

Конечно, смартфон не перебирает миллионы разных значений, подставляя и проверяя каждое из них. Он просто решает 3 уравнения с тремя неизвестными: X и Y (координаты смартфона в двухмерном пространстве), а также t (погрешность часов смартфона). Но если бы спутников было 2, мы бы не смогли определить погрешность часов ни геометрически (рисуя только две окружности, которые бы всегда пересекались), ни математически (пытаясь как-то решить два уравнения с тремя неизвестными).

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

Краткий итог

Теперь, точно зная время, за которое долетает GPS-сигнал, мы можем определить расстояние от смартфона до каждого конкретного спутника. Для этого нашему смартфону нужно видеть минимум 4 спутника, иначе он не сможет сделать поправку на время.

Именно по этой причине, количество и расположение спутников по орбитам таково, что в каждый момент времени в любой точке мира будут видны минимум 4 спутника.

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

Кое-что осталось «за кадром»

Дабы не перегружать материал, мне пришлось умолчать о многих вещах. Для самых пытливых читателей, я лишь вскользь их упомяну, но без подробных объяснений.

К примеру, как быть с тем фактом, что GPS-спутники не висят на одном месте, а постоянно находятся в движении? Или почему GPS-антенна в смартфоне такая маленькая, но без проблем принимает слабый сигнал от спутника? Ведь для спутникового телевидения мы используем огромные «тарелки», а здесь всего пара сантиметров внутри корпуса?

Дело в том, что радиосигнал от спутников несет определенную информацию. В частности, помимо точного времени отправки сигнала, местоположения конкретного спутника и параметров орбит всех спутников (альманах), также передаются эфемериды.

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

Ответом на второй вопрос является псевдослучайный код. Но, к сожалению, эта тема для отдельного разговора.

Что такое двухчастотный (L1+L5) GPS?

Теперь мы подошли ко второму вопросу. Летом 2018 года компания Xiaomi с гордостью представила свой флагман Xiaomi Mi 8 с первым в мире двухчастотным GPS-модулем.

Все смартфоны до Xiaomi Mi 8 принимали сигнал от GPS-спутников только на одной частоте (1575 МГц), которая называется L1. Эту частоту поддерживают все до единого спутники: американские GPS, российские ГЛОНАСС, европейские Galileo и др.

Но в отличие от других смартфонов, Xiaomi Mi 8 умел принимать сразу два сигнала на разных частотах от одного и того же спутника.

Вторая частота (1176 МГц) получила название L5. Изначально она предназначалась для применения в ситуациях, от которых зависит жизнь человека, например, в авиации.

Такое одновременное использование двух частот позволяет устранить один из главных источников погрешности при определении координат — запаздывание сигнала, проходящего через ионосферу земли (атмосфера, ионизированная от облучения космическими лучами). Точно определить эту задержку невозможно. Но когда у нас появляется два сигнала разной частоты (а время запаздывания зависит от частоты), тогда определить влияние ионосферы нетрудно, исключив эту погрешность.

Кроме того, частота L5 на 3 дБ мощнее. То есть, этот сигнал мощнее в 2 раза сигнала L1, что упрощает его поиск и отслеживание. Также полоса пропускания частоты L5 в 10 раз шире частоты L1. И главное, этот сигнал менее подвержен искажениям от многолучевости (многочисленных отражений сигнала от зданий и других объектов, вызывающих искажения сигнала).

Все это позволяет действительно очень точно определять свои координаты. Однако по факту этого не происходит и многие пользователи Xiaomi Mi 8/9 на форумах жалуются на очень плохую работу GPS (даже хуже, чем в обычных устройствах).

В чем же дело?

Для точного позиционирования недостаточно лишь добавить поддержку второй частоты. Огромную роль играет качество самой антенны (и множества других электронных компонентов). И на Xiaomi Mi 8 оно оставляет желать лучшего. По этой ссылке можно почитать подробное исследование на эту тему, правда, текст на английском.

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

Российская система ГЛОНАСС вообще не поддерживает L5 (как и китайская BeiDou) и только планирует начать вещание на этой частоте после 2030 года.

Американская система NavStar (более известная под названием GPS) поддерживает частоту L5 только на 12 спутниках, но для полноценного покрытия всего земного шара их нужно минимум 24. Такое количество планируется запустить к 2021 году.

У европейской Galileo 22 рабочих GPS-спутника и все они поддерживают вещание на частоте L5a.

Японская система QZSS имеет всего 4 спутника, а к 2024 году их количество увеличится до 7 штук. Все они поддерживают L5 сигналы, но их количество ничтожно мало.

Кроме того, обработку двух сигналов должно поддерживать программное обеспечение. А с этим также не все понятно. К примеру, на момент старта продаж Google Pixel 4 на официальной странице продукта была указана поддержка двухчастотного GPS (L1+L5) с пометкой, что эта функция заработает позже с обновлением прошивки.

Более того, популярный флагманский чип Snapdragon 855 уже поставляется с двухчастотным GPS-модулем. То есть, технически все смартфоны, работающие на этом процессоре, поддерживают частоты L1 и L5, но во многих из них данная опция просто заблокирована программным путем.

То же касается и смартфонов от Samsung на платформе Exynos 9825. К примеру, Galaxy Note10 без проблем ловит спутники на частоте L5. Но об этой возможности производитель вообще нигде не упоминает. С флагманами от Huawei на базе Kirin такая же ситуация. Многие из них имеют поддержку двух частот.

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

Как определить, поддерживает ли мой смартфон двухчастотный GPS (L1+L5 частоты)?

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

пример частот в приложении GPS Test

После запуска приложения смартфон начнет поиск всех GPS-спутников в зоне видимости, отображая частоту сигнала. Если на скриншоте будут частоты L5 или E5a (аналог L5 на европейских спутниках Galileo), значит, ваше устройство поддерживает двухчастотный GPS. Но, как уже было сказано ранее, не спешите радоваться, так как на текущий день такие устройства не показывают точность, на порядок (в десять раз) превышающую точность обычных GPS-модулей.

На момент написания этих строк следующие устройства официально поддерживают двухчастотный GPS и должны отображать в указанном выше приложении частоты L1 и L5:

  • Xiaomi Mi 8/9/10
  • Samsung Galaxy Note 10/10+
  • Huawei P30 Pro
  • One Plus 7/7 Pro
  • Huawei Mate 20/20 X/20 Pro

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

измерение точности работы GPS в  приложении GPS Test

Тогда вам следует кое-что знать. Цифра 4 метра на скриншоте говорит лишь о следующем: если нарисовать круг, радиусом 4 метра, тогда ваше местоположение будет находиться где-то внутри этого круга с вероятностью 68%. То есть, существует 32% вероятность, что в действительности точность вашего GPS гораздо ниже. Поэтому, для проверки точности GPS-смартфона эта методика не лучшая.

Алексей, главный редактор Deep-Review (alexeysalo@gmail.com)

 

P.S. Мы открыли Telegram-канал и сейчас готовим для публикации очень интересные материалы! Подписывайтесь в Telegram на первый научно-популярный сайт о смартфонах и технологиях, чтобы ничего не пропустить!

 

Понравилась статья? Поделитесь с другими:
  • 149
  •  
  •  
  • 1
  •  
    150
    Поделились

Как бы вы оценили эту статью?

Нажмите на звездочку для оценки

Внизу страницы есть комментарии...

Напишите свое мнение там, чтобы его увидели все читатели!