Вероятно, каждый прямо или косвенно пользовался GPS-приемниками. Они встречаются в большинстве смартфонов, многих новых автомобилях, применяются в коммерческих целях по всему миру. Эти крошечные устройства могут мгновенно и совершенно бесплатно определить точное местоположение и время почти в любой точке планеты. Все, что для этого нужно, – наличие самого GPS-приемника, а они с каждым днем становятся дешевле и меньше.
Однако не следует принимать эти небольшие и недорогие модули как должное. На то, чтобы всегда и везде иметь возможность точно определить местоположение, ушли десятилетия инженерных разработок. С конца 70-х запускались десятки GPS-спутников, каждый из которых оборудован прецизионными атомными часами, и они продолжают регулярно выводиться на околоземную орбиту. Они непрерывно посылают данные на Землю по выделенным радиочастотным каналам. Карманные GPS-приемники оборудованы крошечными антеннами и процессорами, которые непосредственно принимают сигнал, отправленный спутниками, и на лету вычисляют положение и время.
Как работает GPS?
Для определения положения и времени почти в любом месте Земли используется орбитальная группировка и наземные станции. На высоте более 19 тыс. км над Землей постоянно развернуто по меньшей мере 24 активных спутника. Их позиции рассчитаны таким образом, чтобы в небе над любой точкой планеты всегда находилась ровно половина из них. Основной целью спутников является передача информации на Землю на частотах в диапазоне 1,1–1,5 ГГц. С помощью этих данных и математических расчетов наземный приемник или модуль GPS могут вычислять свое местоположение и текущее время.
В 2010 г. была восстановлена альтернативная система глобального позиционирования ГЛОНАСС. Она также насчитывает 24 спутника и вещает на частотах 1,2–1,6 ГГц.
Каналы
Число каналов, с которыми работает GPS-модуль, влияет на время первого исправления (TTFF). Поскольку неизвестно, какие спутники находятся в поле зрения, чем больше частот можно проверить сразу, тем быстрее будет произведена коррекция. После установления связи или получения исправления некоторые модули отключают дополнительные каналы для экономии энергии. Если пользователь не против того, чтобы немного дольше подождать, 12 или 14 каналов достаточно для отличной работы приемника.
Трилатерация
Это математический метод, используемый для вычисления позиции с несколькими контрольными точками. Чтобы GPS-приемник мог вычислить точное положение и время, он должен установить связь по крайней мере с 4 спутниками. Для вычисления расстояния до объекта методом триангуляции нужны 2 точки. Но в случае GPS нужно определить 4 значения – широту, долготу, высоту и время.
Определение местоположения и времени
Данные, передаваемые на Землю с каждого спутника, содержат несколько разных фрагментов информации, которые позволяют GPS-приемнику точно рассчитать свое местоположение и время. Важным элементом оборудования на каждом из них являются чрезвычайно точные атомные часы. Данные о времени посылаются на Землю вместе с орбитальным положением и временем прибытия в разные точки орбиты. Другими словами, GPS-модуль получает временную метку от всех видимых спутников, а также информацию об их местонахождении. Из этих данных можно вычислить расстояние до каждого из них. Если антенна видит не менее 4 спутников, то можно точно рассчитать положение приемника.
Есть еще сторона глобальной системы позиционирования. Наряду с вышеперечисленными элементами существуют наземные станции, которые могут взаимодействовать со спутниковой сетью и некоторыми приемниками GPS. Такая система называется сегментом управления и повышает точность измерений. Ее примерами являются WAAS и DGPS. Первая используется большинством приемников и снижает ошибку до 5 м. Вторая требует наличия ресивера определенного типа и обеспечивает сантиметровую погрешность. Устройства данного типа дорогие и имеют тенденцию быть более крупными, поскольку требуют дополнительной антенны.
Точность геопозиционирования
Погрешность измерений приемника GPS или GLONASS зависит от ряда переменных, в первую очередь от отношения сигнал/шум, положения спутника, погодных условий и наличия препятствий, таких как здания и горы. Эти факторы могут создавать ошибки расчета местоположения пользователя. Шум обычно создает ошибку от 1 до 10 м. Горы, здания и другие предметы, которые могут препятствовать прохождению сигнала от спутника, могут вызывать в 3 раза большую ошибку. Для нормальной работы GPS-приемник должен иметь возможность принимать сигнал от 4 спутников. Связь с первым из них позволяет получить данные об альманахе и, следовательно, доступности остальных. Хотя и можно определить местонахождение и с меньшим, чем 4, числом спутников, погрешность измерений может быть довольно большой. Самое точное определение местоположения происходит, когда есть открытый обзор ясного неба, свободный от любых препятствий, c более чем 4 спутниками над головой. Для борьбы с этими ошибками создано несколько вспомогательных средств.
Assisted GPS
Одной из таких вспомогательных систем является Assisted GPS или AGPS. Этот метод использует беспроводные (наземные) сети для ретрансляции сигнала спутника, когда он слаб или его невозможно принять. AGPS помогает в двух вещах. Во-первых, предоставляет получателю данные альманаха и точное время. И во-вторых, использует более высокую вычислительную мощность и хороший спутниковый сигнал наземной базы для интерпретации получаемой фрагментированной информации, чтобы обеспечить более достоверное определение местоположения. AGPS в основном осуществляется внешними GPS-приемниками, установленными на вышках сотовой связи. Связь с ними позволяет быстрее настроиться на спутник, а также получить более точную информацию. Этот метод используется в GPS-приемниках для «Андроида» в мобильных телефонах. Вот почему смартфоны часто бывают точнее специализированных продуктов. AGPS присутствует в камерах, геодезических GPS-приемниках и некоторых автомобилях. Его использование наиболее выгодно в городах, где сигнал в лабиринте зданий иногда довольно трудно принять.
Дифференциальный GPS
Другим методом является дифференциальная система геопозиционирования DGPS. Данная система определения местоположения также использует наземные станции. Однако она отличается тем, что находит разницу между показаниями спутника и приемника. Станции могут находиться на расстоянии до 370 км от ресивера, и важно отметить, что по мере удаления от них точность измерений ухудшается. DGPS осуществляется наземной станцией, передающей сигнал, который диктует ошибку между фактической и измеренной псевдодальностью. Это значение рассчитывается путем умножения скорости света на время прохождения сигнала со спутника на приемник.
Примером одного из видов DGPS является система широкого радиуса действия WAAS. Первоначально она была разработана для помощи авиационным GPS-приемникам. В WAAS используется система специально построенных наземных станций. Предусмотрен набор стандартов точности, которым измерения должны отвечать. В горизонтальном и вертикальном направлениях в 95% случаев их погрешность не должна превышать 7,6 м. Наземные станции отправляют свои измерения на головные станции, которые посылают исправления на спутники WAAS каждые 5 секунд или чаще. Со спутника сигнал транслируется обратно на приемники на Земле, где скорректированные данные используются для повышения точности GPS. В некоторых местах WAAS может обеспечить погрешность до 1 м по горизонтали и 1,5 м по вертикали. Хотя WAAS присутствует только в Северной Америке, подобные системы существуют во многих других частях мира.
Форматы сообщений
Данные GPS отображаются в разных форматах через последовательный интерфейс. Существуют стандартные и нестандартные (проприетарные) форматы сообщений. Почти все GPS-приемники выводят данные NMEA. Это стандарт форматирования информации в виде строк, называемых предложениями. Каждое из них содержит различные данные, разделенные запятыми. Всего насчитывается 19 видов таких предложений. Вот пример NMEA-строки, полученной от приемника, установившего связь со спутником:
$GPGGA,235317.000,4003.9039,N,10512.5793,W,1,08,1.6,1577.9,M,-20.7,М,,0000*5F.
В предложении содержится следующая информация:
- время по Гринвичу: 23:53:17;
- широта: северная, 40,039039°;
- долгота: западная, 10,5125793°;
- количество спутников: 08;
- высота: 1577 м.
Данные разделяются запятыми, чтобы упростить чтение и анализ компьютерами и микроконтроллерами. Они отправляются на последовательный порт с интервалом, называемым скоростью обновления. Большинство ресиверов обновляют эту информацию один раз в секунду (т. е. с частотой 1 Гц), но лучшие GPS-приемники способны выполнять несколько обновлений в секунду. Для современных моделей это значение равно 5–20 Гц.
Чтение данных
Большинство модулей GPS оборудованы последовательным портом, который позволяет подключить их к микроконтроллеру или компьютеру.
После включения устройства данные NMEA (или сообщения в другом формате) отправляются из последовательного передающего разъема (TX) с определенной скоростью передачи и скоростью обновления, даже при отсутствии приема со спутника. Чтобы микроконтроллер считывал информацию, необходимо подключить вывод TX GPS ко входу RX. Чтобы настроить модуль, нужно подключить его вход RX к выходу TX устройства управления.
Микроконтроллер обычно анализирует данные NMEA. Разбор предложения производится путем простого выделения из него части информации.
Например, микроконтроллеру требуется прочитать только высоту GPS. Вместо того чтобы иметь дело со всем текстом, он анализирует предложение GPGGA и выбирает только высоту. Как только необходимая информация будет отобрана, ею можно манипулировать, чтобы выполнять другие действия.
Платформа Arduino также может легко анализировать данные NMEA с помощью библиотеки Tiny GPS.
Подключение к компьютеру
Простым способом непосредственного просмотра данных NMEA является использование GPS-приемника для ноутбука или компьютера. Для создания соединения необходимо лишь запитать устройство геопозиционирования и подключить вывод TX внешнего модуля ко входу RX компьютера.
Также возможно подключение GPS-приемника к USB-порту. При этом он может питаться как от собственного источника, так и через соединение с ПК. В первом случае освободившаяся линия используется для обнаружения наличия подключения USB-GPS-приемника к хосту. При соединении с компьютером питание поступает через универсальную последовательную шину, поэтому дополнительного источника не требуется.
Кроме того, Bluetooth-GPS-приемник обеспечивает беспроводную связь как с ПК, так и с совместимыми устройствами того же производителя. Это позволяет производить быстрый обмен общими данными, такими как маршруты и путевые точки.
После подключения необходимо открыть программу последовательного терминала, установив скорость передачи, равной скорости GPS-модуля. Даже если приемник не установил связь со спутником, на экране появится поток NMEA-предложений.
Настройка ресивера
Для настройки приемника GPS и ГЛОНАСС важно знать тип чипсета, который в нем установлен. Набор микросхем содержит мощный процессор, который отвечает за пользовательский интерфейс, все вычисления, а также аналоговые схемы антенны. Кроме того, чипсет позволяет принимать данные для настройки таких параметров, как скорость обновления, скорость передачи, выбор предложения и т. д.
Чтобы отправлять команды на приемник через последовательный порт, понадобится набор команд или справочное руководство. Но перед тем как погружаться в изучение команд для конкретного модуля, необходимо проверить наличие программного обеспечения, которое значительно облегчает работу с устройством и его настройку.
Некоторые чипсеты позволяют использовать альтернативные протоколы, такие как бинарный SiRF, UBX или собственные сообщения. Эти протоколы содержат аналогичную информацию, но обмениваются данными в виде двоичного (вместо ASCII) кода для более быстрой связи.
При коммуникации с GPS-приемником команды должны завершаться контрольной суммой. В большинстве случаев для этого для каждого предложения нужно выполнить команду XOR.
Антенна
Маленький GPS-модуль получает сигналы от спутников, удаленных на расстояние 19 тыс. км, которые расположены не только над головой, но и в любом месте на небе. Для лучшей производительности между антенной и спутниками нужна прямая видимость. Погода, облака, снежные бури не должны влиять на сигнал, но деревья, здания, горы, крыша над головой будут создавать нежелательные помехи, и точность GPS от этого пострадает.
Разработано много вариантов антенн. Одним из самых распространенных является керамическая патч-антенна. Она отличается низким профилем, дешевизной и компактностью, но, по сравнению с другими типами, принимает хуже. Чтобы получить хороший сигнал, она должна быть направлена вверх на открытое небо, т. е. когда усиление максимальное.
В некоторых GPS-модулях используются винтовые антенны. Они занимают больше места, но их форма позволяет получить лучший сигнал в любой ориентации за счет более низкого усиления.
В некоторых модулях применяются SMA-антенны. Это дает возможность монтировать их в местах, отличных от места расположения самого приемника, что пригодится в случаях, когда основная система не имеет доступа к открытому небу (например, в здании или автомобиле).